diff --git a/data/testlake_outflows.dat b/data/testlake_outflow.dat
similarity index 100%
rename from data/testlake_outflows.dat
rename to data/testlake_outflow.dat
diff --git a/docs/users_guide.log b/docs/users_guide.log
index 5075cff2231a1dde3717deda20105628d6d6382a..b7ab52e6db71beed556067ca52f736047a776961 100644
--- a/docs/users_guide.log
+++ b/docs/users_guide.log
@@ -1,4 +1,4 @@
-This is pdfTeX, Version 3.14159265-2.6-1.40.20 (TeX Live 2019) (preloaded format=pdflatex 2019.11.28)  12 AUG 2022 18:39
+This is pdfTeX, Version 3.14159265-2.6-1.40.20 (TeX Live 2019) (preloaded format=pdflatex 2019.11.28)  27 AUG 2022 18:06
 entering extended mode
  \write18 enabled.
  file:line:error style messages enabled.
@@ -380,7 +380,7 @@ sl10.pfb></usr/local/texlive/2019/texmf-dist/fonts/type1/public/amsfonts/cm/cms
 y10.pfb></usr/local/texlive/2019/texmf-dist/fonts/type1/public/amsfonts/cm/cmsy
 7.pfb></usr/local/texlive/2019/texmf-dist/fonts/type1/public/amsfonts/cm/cmti10
 .pfb>
-Output written on users_guide.pdf (9 pages, 164648 bytes).
+Output written on users_guide.pdf (9 pages, 164923 bytes).
 PDF statistics:
  74 PDF objects out of 1000 (max. 8388607)
  52 compressed objects within 1 object stream
diff --git a/docs/users_guide.pdf b/docs/users_guide.pdf
index c54a8c6d85917686c8d61e6d0e935a4569c146d8..5228b137b745c226391c9198e593adda85fa0c12 100644
Binary files a/docs/users_guide.pdf and b/docs/users_guide.pdf differ
diff --git a/docs/users_guide.synctex.gz b/docs/users_guide.synctex.gz
index 209442091cf2109bf293290e187763c12b84ab51..3cfd81c67d356425c50ee8f2e334df6145002487 100644
Binary files a/docs/users_guide.synctex.gz and b/docs/users_guide.synctex.gz differ
diff --git a/docs/users_guide.tex b/docs/users_guide.tex
index e8038232d7679494df1cd2d163fd519287d325e5..3c538e072ef0093ca03fb9af0565a1d7a7ae99c8 100644
--- a/docs/users_guide.tex
+++ b/docs/users_guide.tex
@@ -422,7 +422,7 @@ give significant speedup \\
 
 \multicolumn{2}{|c|}{\large{Tributaries and effluents}} \\
 \hline
-\emph{tribheat} & The switch for thermal effect of tributaries and effluents: 0 -- off, 1 -- on, constant inflow vertical profiles, 2 -- on, time-dependent inflow vertical profiles, 3 -- on, time-dependent vertically-mixed inflow \\
+\emph{tribheat} & The switch for thermal effect of tributaries and effluents: 0 -- off, 1 -- on, constant inflow vertical profiles, 2 -- on, time-dependent inflow vertical profiles from input ASCII files, 3 -- on, time-dependent vertically-mixed inflow from input ASCII files, 4 -- on, time-dependent vertically-mixed inflow from  the driver (when coupled to land surface model) \\
 \hline
 \emph{N\_tribin} & The number of tributaries, the next line should be a sequence of \emph{N\_tribin} numbers, from 1 to 4, describing the location of each tributary \\
 \hline
diff --git a/source/Makefile b/source/Makefile
index 6d3c42bc8a4ac11dba41f261d7cb986e3d6a40c7..d156c1354d0326635b608851a20f621e4cd66504 100644
--- a/source/Makefile
+++ b/source/Makefile
@@ -1,9 +1,9 @@
 # Compiling source files of LAKE model
 
 
- #FC=ifort
- FC=gfortran
- #FC=mpiifort
+ #FC = ifort
+ FC = gfortran
+ #FC = mpiifort
  #FC = mpif90
  #EXEC = lake.out
 
@@ -19,17 +19,20 @@
  mpi_def =  #-Dmpi
 
  ifeq ($(FC),ifort)
-   PREPROCESS_KEY = -fpp
+   fcompiler = 1 #ifort
+   PREPROCESS_KEY = -fpp -DFCOMPILER=$(fcompiler)
    opt_keys = -qopenmp -O3 #-fp-model source
    check_keys = -traceback #-g -check all -fpe-all=0
  endif
  ifeq ($(FC),mpiifort)
-   PREPROCESS_KEY = -fpp
+   fcompiler = 1 #ifort
+   PREPROCESS_KEY = -fpp -DFCOMPILER=$(fcompiler)
    opt_keys =  -O1 #-openmp #-fp-model source
    check_keys = #-g -traceback# -check all -fpe-all=0
  endif
  ifeq ($(FC),mpif90) #mpif90-Intel
-   PREPROCESS_KEY = -fpp
+   fcompiler = 1 #ifort
+   PREPROCESS_KEY = -fpp -DFCOMPILER=$(fcompiler)
    opt_keys =  -O3 #-openmp #-fp-model source
    check_keys =  -traceback #-g -check all -fpe-all=0
  endif
@@ -39,12 +42,13 @@
  #  check_keys =  -fbacktrace #-traceback#-g -check all -fpe-all=0
  #endif
  ifeq ($(FC),gfortran)
-   PREPROCESS_KEY = -cpp
+   fcompiler = 2 #gfortran
+   PREPROCESS_KEY = -cpp -DFCOMPILER=$(fcompiler)
    #opt_keys = -fopenmp -O3 #-fp-model source
    #check_keys = -g -Wall -Warray-temporaries -Wconversion  -fbacktrace -ffree-line-length-0 -fcheck=all -ffpe-trap=invalid,zero,overflow,underflow -finit-real=nan
    #check_keys = -g -ffpe-trap=invalid,zero,overflow,denormal -fcheck=all -fbacktrace
-   #check_keys = -g -ffpe-trap=invalid,zero,overflow -fcheck=all -fbacktrace
-   #check_keys = -g  -fcheck=all -fbacktrace
+   #check_keys = -g -fopenmp -ffpe-trap=invalid,zero,overflow -fcheck=all -fbacktrace
+   #check_keys = -g  -fopenmp -fcheck=all -fbacktrace
    check_keys = -fopenmp -O3 -fbacktrace
  endif
 
diff --git a/source/model/lake.f90 b/source/model/lake.f90
index b2045cf1e6ed2925035845c98410730987658fc6..01cb6d0783e6b0ce4a92309b99efc3f87c8e8e89 100644
--- a/source/model/lake.f90
+++ b/source/model/lake.f90
@@ -172,12 +172,19 @@ SUBROUTINE LAKE &
 & (tempair1,humair1,pressure1,uwind1,vwind1, &
 & longwave1,netrad1,shortwave1,precip1,Sflux01, &
 & ch4_pres_atm, co2_pres_atm, o2_pres_atm, zref1, dtl, &
-& h10, l10, ls10, hs10, Ts0, Tb0, Tbb0, h_ML0, extwat, extice, &
-& kor_in, trib_inflow, Sals0, Salb0, fetch, phi, lam, us0, vs0, &
-& Tm, alphax, alphay, a_veg, c_veg, h_veg, area_lake, cellipt, depth_area, &
-& tsw,hw1,xlew1,cdmw1,surfrad1,cloud1,SurfTemp1,ftot,fdiff_lake_surf1,h2_out, &
-& ix,iy,nx0,ny0,nx,ny,nx_max,ny_max,ndatamax,year,month,day,hour,init_T,flag_assim,flag_print, &
-& outpath1,spinup_done,dataread,lakeform,comm3d,rank_comm3d,coords,parallel,icp,step_final,LakePhysISIMIP)
+& h10, l10, ls10, hs10, Ts0, &
+& Tb0, Tbb0, h_ML0, extwat, extice, &
+& kor_in, trib_inflow, Sals0, Salb0, fetch, &
+& phi, lam, us0, vs0, Tm, &
+& alphax, alphay, a_veg, c_veg, h_veg, &
+& area_lake, cellipt, depth_area, tsw, hw1, &
+& xlew1, cdmw1, surfrad1, cloud1, SurfTemp1, &
+& ftot, fdiff_lake_surf1, h2_out, ix, iy, &
+& nx0, ny0, nx, ny, nx_max, ny_max, &
+& ndatamax, year, month, day, hour, &
+& init_T, flag_assim, flag_print, outpath1, spinup_done, &
+& dataread, lakeform, comm3d, rank_comm3d, coords, &
+& parallel, icp, step_final, LakePhysISIMIP)
 
 !OUTPUT VARIABLES:   
 !tsw--- surface temperature of a lake, K;
@@ -647,7 +654,7 @@ if (tempair > 60. .or. tempair < -90. .or. (.not. VALUE_IS_FINITE(tempair) )) th
 elseif (abs(humair) > 1. .or. (.not. VALUE_IS_FINITE(humair) )) then
   print*, 'The air humidity ', humair, 'is illegal: STOP'
   flag = .true.
-elseif (pressure > 110000 .or. pressure < 80000. .or. (.not. VALUE_IS_FINITE(pressure) )) then
+elseif (pressure > 110000 .or. pressure < 20000. .or. (.not. VALUE_IS_FINITE(pressure) )) then
   print*, 'The air pressure ', pressure, 'is illegal: STOP'
   flag = .true.
 elseif (abs(uwind) > 200. .or. (.not. VALUE_IS_FINITE(uwind) )) then
diff --git a/source/model/lake_datatypes_mod.f90 b/source/model/lake_datatypes_mod.f90
index e329818b708ebc3d68c082a537175b8857afaa05..c567dd5c996751835f8f79b2700f07edddbecf23 100644
--- a/source/model/lake_datatypes_mod.f90
+++ b/source/model/lake_datatypes_mod.f90
@@ -6,7 +6,11 @@ integer, parameter :: iintegers = 4
 integer, parameter :: ireals = 8
 
 !Compilation options
-integer, parameter :: ibyterecl = 4 !> the length of one record in binary files: 1 for ifort, 4 for gfortran
+#if FCOMPILER==1
+integer, parameter :: ibyterecl = 1 !> the length of one record in binary files: 1 for ifort
+#elif FCOMPILER==2
+integer, parameter :: ibyterecl = 4 !> the length of one record in binary files: 4 for gfortran
+#endif
 
 END MODULE LAKE_DATATYPES