From 37970fe2b0b79504a0511f3fad2224ad76597d1a Mon Sep 17 00:00:00 2001 From: zhangsp8 <21294631@qq.com> Date: Tue, 19 Nov 2024 17:28:18 +0800 Subject: [PATCH 1/8] Code optimization --- include/Makeoptions | 2 +- include/Makeoptions.CMA-HPC | 0 include/Makeoptions.SYSU-BaiduBoat.gnu | 39 +++++++ include/Makeoptions.SYSU-BaiduBoat.intel | 46 ++++++++ ...keoptions.SYSU-BaiduBoat_Parallel_with_zip | 0 .../{Makeoptions.gnu => Makeoptions.land.gnu} | 8 +- ...keoptions.intel => Makeoptions.land.intel} | 0 main/CoLM.F90 | 6 +- mkinidata/MOD_IniTimeVariable.F90 | 74 +++++++----- mksrfdata/Aggregation_PercentagesPFT.F90 | 10 +- mksrfdata/MOD_LandCrop.F90 | 2 + mksrfdata/MOD_LandPFT.F90 | 4 +- mksrfdata/MOD_SingleSrfdata.F90 | 2 +- run/{ => CaMa}/cama_flood.nml | 48 ++++---- run/{ => CaMa}/cama_flood_10km.nml | 0 run/{ => CaMa}/cama_flood_US_30km.nml | 0 .../CRA40_Grid_30km_IGBP_VG.nml | 0 .../China_Grid_50km_IGBP_VG.nml | 0 .../Global_Grid_2x2_PFT_VG_BGC.nml | 0 .../Global_Grid_30km_IGBP_VG_CaMa.nml | 0 .../Global_Grid_50km_IGBP_CB_URBAN.nml | 0 .../Global_unstructured_T639_IGBP_CB.nml | 67 +++++++++++ .../GreaterBay_Grid_10km_IGBP_VG.nml} | 51 ++++---- .../Heihe_Grid_12p5km_IGBP_VG.nml} | 34 ++---- .../PearlRiver_Catch_100km_IGBP_VG.nml | 0 .../PoyangLake_Grid_5km_IGBP_VG.nml | 18 +-- .../RegChina_Grid_50km_IGBP_CB_LULCC.nml | 0 run/examples/SiteGGF_IGBP_VG.nml | 57 +++++++++ run/{ => examples}/SiteSYSUAtmos_IGBP_VG.nml | 0 .../US_Grid_10km_IGBP_VG_CaMa.nml | 0 .../YangtzeRiver_Catch_250km2_IGBP_VG.nml | 55 +++++++++ run/examples/history.nml | 110 ++++++++++++++++++ run/hist_dynamic_lake.nml | 10 -- run/{ => scripts}/copy_code | 0 run/{ => scripts}/create_clone | 0 run/{ => scripts}/create_header | 0 run/{ => scripts}/create_namelist | 0 run/{ => scripts}/create_newcase | 0 run/{ => scripts}/create_scripts | 0 share/MOD_Utils.F90 | 5 +- 40 files changed, 511 insertions(+), 137 deletions(-) mode change 100644 => 100755 include/Makeoptions.CMA-HPC create mode 100755 include/Makeoptions.SYSU-BaiduBoat.gnu create mode 100755 include/Makeoptions.SYSU-BaiduBoat.intel mode change 100644 => 100755 include/Makeoptions.SYSU-BaiduBoat_Parallel_with_zip rename include/{Makeoptions.gnu => Makeoptions.land.gnu} (89%) mode change 100644 => 100755 rename include/{Makeoptions.intel => Makeoptions.land.intel} (100%) rename run/{ => CaMa}/cama_flood.nml (69%) mode change 100755 => 100644 rename run/{ => CaMa}/cama_flood_10km.nml (100%) rename run/{ => CaMa}/cama_flood_US_30km.nml (100%) rename run/{ => examples}/CRA40_Grid_30km_IGBP_VG.nml (100%) mode change 100755 => 100644 rename run/{ => examples}/China_Grid_50km_IGBP_VG.nml (100%) rename run/{ => examples}/Global_Grid_2x2_PFT_VG_BGC.nml (100%) rename run/{ => examples}/Global_Grid_30km_IGBP_VG_CaMa.nml (100%) mode change 100755 => 100644 rename run/{ => examples}/Global_Grid_50km_IGBP_CB_URBAN.nml (100%) create mode 100644 run/examples/Global_unstructured_T639_IGBP_CB.nml rename run/{CRA40_Grid_50km_IGBP_VG.nml => examples/GreaterBay_Grid_10km_IGBP_VG.nml} (53%) rename run/{GreaterBay_Grid_10km_IGBP_VG.nml => examples/Heihe_Grid_12p5km_IGBP_VG.nml} (70%) rename run/{ => examples}/PearlRiver_Catch_100km_IGBP_VG.nml (100%) rename run/{ => examples}/PoyangLake_Grid_5km_IGBP_VG.nml (81%) rename run/{ => examples}/RegChina_Grid_50km_IGBP_CB_LULCC.nml (100%) create mode 100644 run/examples/SiteGGF_IGBP_VG.nml rename run/{ => examples}/SiteSYSUAtmos_IGBP_VG.nml (100%) rename run/{ => examples}/US_Grid_10km_IGBP_VG_CaMa.nml (100%) create mode 100644 run/examples/YangtzeRiver_Catch_250km2_IGBP_VG.nml create mode 100644 run/examples/history.nml delete mode 100644 run/hist_dynamic_lake.nml rename run/{ => scripts}/copy_code (100%) rename run/{ => scripts}/create_clone (100%) rename run/{ => scripts}/create_header (100%) rename run/{ => scripts}/create_namelist (100%) rename run/{ => scripts}/create_newcase (100%) rename run/{ => scripts}/create_scripts (100%) diff --git a/include/Makeoptions b/include/Makeoptions index 02b334d2..7bcde79f 120000 --- a/include/Makeoptions +++ b/include/Makeoptions @@ -1 +1 @@ -Makeoptions.gnu \ No newline at end of file +Makeoptions.land.gnu \ No newline at end of file diff --git a/include/Makeoptions.CMA-HPC b/include/Makeoptions.CMA-HPC old mode 100644 new mode 100755 diff --git a/include/Makeoptions.SYSU-BaiduBoat.gnu b/include/Makeoptions.SYSU-BaiduBoat.gnu new file mode 100755 index 00000000..649811bd --- /dev/null +++ b/include/Makeoptions.SYSU-BaiduBoat.gnu @@ -0,0 +1,39 @@ +# ========================================================== +# mpif90 - gnu + +# please "source /share/home/dq089/soft/gnu-env" first. + +FF = mpif90 + +NETCDF_LIB = /share/home/dq089/soft/netcdf-fortran-4.6.1-gnu/lib +NETCDF_INC = /share/home/dq089/soft/netcdf-fortran-4.6.1-gnu/include + +MOD_CMD = -J + +FOPTS = -fdefault-real-8 -ffree-form -C -g -u -xcheck=stkovf \ + -ffpe-trap=invalid,zero,overflow -fbounds-check \ + -mcmodel=medium -fbacktrace -fdump-core -cpp \ + -ffree-line-length-0 + +INCLUDE_DIR = -I../include -I../share -I../mksrfdata -I../mkinidata -I../main -I$(NETCDF_INC) +LDFLAGS = -L${NETCDF_LIB} -lnetcdff -llapack -L/share/home/dq089/soft/lib -lblas.gnu + +#============================================================ +# CaMa-Flood Mkinclude (for Linux, gfortran) + +RM = /bin/rm -f +CP = /bin/cp +#---- +# Pre-Prosessing options +# DMPI=-DUseMPI: activate when MPI parallelization is used +# DCDF=-DUseCDF: activate when using netCDF, comment out when not needed +# DATM=-DNoAtom: activate when OMP ATOMIC calculation should be avoided (bit identical simulation) +#---- +#DMPI=-DUseMPI +DCDF=-DUseCDF +#DATM=-DNoAtom +CFLAGS=$(DMPI) $(DCDF) $(DATM) +#---- +FCMP = gfortran -fopenmp +FC = gfortran +FFLAGS = -O3 -Wall -cpp -free -fimplicit-none -fbounds-check -fbacktrace diff --git a/include/Makeoptions.SYSU-BaiduBoat.intel b/include/Makeoptions.SYSU-BaiduBoat.intel new file mode 100755 index 00000000..56e03464 --- /dev/null +++ b/include/Makeoptions.SYSU-BaiduBoat.intel @@ -0,0 +1,46 @@ +# ======================================================= +# mpif90 - intel + +# please "source /share/home/dq089/soft/intel-env" first. + +FF = mpif90 + +NETCDF_LIB = /share/home/dq089/soft/netcdf-fortran-4.6.1-intel/lib +NETCDF_INC = /share/home/dq089/soft/netcdf-fortran-4.6.1-intel/include + +MOD_CMD = -module + +#<<<<<<< HEAD +#FOPTS = -qopenmp -g -traceback -r8 -free -check uninit + # -r8 -free -O0 -check uninit -check bounds -check pointers \ + # -traceback -assume byterecl -pthread -heap-arrays #-nogen-interface + +#INCLUDE_DIR = -I../include -I../share -I../mksrfdata \ +# -I../mkinidata -I../main -I../hydro -I${NETCDF_INC} +#LDFLAGS = -L${NETCDF_LIB} -lnetcdff + + + FOPTS = -qopenmp -O2 -traceback -r8 -free -check uninit -check bounds + + LDFLAGS = -L${NETCDF_LIB} -lnetcdff -llapack -L/share/home/dq089/soft/lib -lgfortran -lblas.intel + +#============================================================ +# CaMa-Flood Mkinclude (for Linux, gfortran) + +RM = /bin/rm -f +CP = /bin/cp +#---- +# Pre-Prosessing options +# DMPI=-DUseMPI: activate when MPI parallelization is used +# DCDF=-DUseCDF: activate when using netCDF, comment out when not needed +# DATM=-DNoAtom: activate when OMP ATOMIC calculation should be avoided (bit identical simulation) +#---- +#DMPI=-DUseMPI +DCDF=-DUseCDF +#DATM=-DNoAtom +CFLAGS=$(DMPI) $(DCDF) $(DATM) +#---- +FCMP = ifort -qopenmp +FC = ifort +LFLAGS = +FFLAGS = -O3 -warn all -fpp -free -assume byterecl -heap-arrays -nogen-interface -lpthread -static-intel diff --git a/include/Makeoptions.SYSU-BaiduBoat_Parallel_with_zip b/include/Makeoptions.SYSU-BaiduBoat_Parallel_with_zip old mode 100644 new mode 100755 diff --git a/include/Makeoptions.gnu b/include/Makeoptions.land.gnu old mode 100644 new mode 100755 similarity index 89% rename from include/Makeoptions.gnu rename to include/Makeoptions.land.gnu index 75b08623..da29540b --- a/include/Makeoptions.gnu +++ b/include/Makeoptions.land.gnu @@ -4,11 +4,11 @@ FF = mpif90 -fopenmp -NETCDF_LIB = /usr/lib/x86_64-linux-gnu -NETCDF_INC = /usr/include +# NETCDF_LIB = /usr/lib/x86_64-linux-gnu +# NETCDF_INC = /usr/include -# NETCDF_LIB = /opt/netcdf-c-4.9.2-fortran-4.6.0-gnu/lib -# NETCDF_INC = /opt/netcdf-c-4.9.2-fortran-4.6.0-gnu/include +NETCDF_LIB = /opt/netcdf-c-4.9.2-fortran-4.6.0-gnu/lib +NETCDF_INC = /opt/netcdf-c-4.9.2-fortran-4.6.0-gnu/include MOD_CMD = -J diff --git a/include/Makeoptions.intel b/include/Makeoptions.land.intel similarity index 100% rename from include/Makeoptions.intel rename to include/Makeoptions.land.intel diff --git a/main/CoLM.F90 b/main/CoLM.F90 index 6251e9d8..9e21b429 100644 --- a/main/CoLM.F90 +++ b/main/CoLM.F90 @@ -278,8 +278,10 @@ PROGRAM CoLM CALL READ_TimeVariables (jdate, lc_year, casename, dir_restart) ! Read in SNICAR optical and aging parameters - CALL SnowOptics_init( DEF_file_snowoptics ) ! SNICAR optical parameters - CALL SnowAge_init( DEF_file_snowaging ) ! SNICAR aging parameters + IF (DEF_USE_SNICAR) THEN + CALL SnowOptics_init( DEF_file_snowoptics ) ! SNICAR optical parameters + CALL SnowAge_init( DEF_file_snowaging ) ! SNICAR aging parameters + ENDIF ! ---------------------------------------------------------------------- doalb = .true. diff --git a/mkinidata/MOD_IniTimeVariable.F90 b/mkinidata/MOD_IniTimeVariable.F90 index b379e262..40a4877a 100644 --- a/mkinidata/MOD_IniTimeVariable.F90 +++ b/mkinidata/MOD_IniTimeVariable.F90 @@ -333,9 +333,9 @@ SUBROUTINE IniTimeVar(ipatch, patchtype& IF(patchtype <= 5)THEN ! land grid ! (1) SOIL temperature, water and SNOW - ! Variables: t_soisno, wliq_soisno, wice_soisno - ! snowdp, sag, scv, fsno, snl, z_soisno, dz_soisno + ! Variables: t_soisno, wliq_soisno, wice_soisno, wa, zwt IF (use_soilini) THEN + ! (1.1) all temperature, water and zwt from data. zi_soi_a(:) = (/0., zi_soi/) @@ -408,9 +408,36 @@ SUBROUTINE IniTimeVar(ipatch, patchtype& wa = wa + 5000. ENDIF + ELSEIF (use_wtd) THEN + ! (1.2) only zwt is from data. + + DO j = 1, nl_soil + IF(patchtype==3)THEN !land ice + t_soisno(j) = 253. + wliq_soisno(j) = 0. + wice_soisno(j) = dz_soisno(j)*denice + ELSE + t_soisno(j) = 283. + wliq_soisno(j) = dz_soisno(j)*porsl(j)*denh2o + wice_soisno(j) = 0. + ENDIF + ENDDO + + IF (patchtype <= 1) THEN + CALL get_water_equilibrium_state (zwtmm, nl_soil, wliq_soisno(1:nl_soil), smp, hk, wa, & + zc_soimm, zi_soimm, porsl, vliq_r, psi0, hksati, nprms, prms) + ELSE + wa = 0. + zwt = 0. + ENDIF + + IF (.not. DEF_USE_VariablySaturatedFlow) THEN + wa = wa + 5000. + ENDIF + ELSE + ! (1.3) cold start - ! soil temperature, water content DO j = 1, nl_soil IF(patchtype==3)THEN !land ice t_soisno(j) = 253. @@ -423,8 +450,21 @@ SUBROUTINE IniTimeVar(ipatch, patchtype& ENDIF ENDDO + IF (DEF_USE_VariablySaturatedFlow) THEN + wa = 0. + zwt = zi_soimm(nl_soil)/1000. + ELSE + ! water table depth (initially at 1.0 m below the model bottom; wa when zwt + ! is below the model bottom zi(nl_soil) + wa = 4800. !assuming aquifer capacity is 5000 mm + zwt = (25. + z_soisno(nl_soil))+dz_soisno(nl_soil)/2. - wa/1000./0.2 !to result in zwt = zi(nl_soil) + 1.0 m + ENDIF + ENDIF + + ! (2) snow initialization + ! variables: snowdp, sag, scv, fsno, snl, z_soisno, dz_soisno z0m = htop * z0mr #if (defined LULC_IGBP_PFT || defined LULC_IGBP_PC) IF(patchtype==0)THEN @@ -500,34 +540,6 @@ SUBROUTINE IniTimeVar(ipatch, patchtype& ENDIF - ! (2) SOIL aquifer and water table - ! Variables: wa, zwt - IF (.not. use_wtd) THEN - - IF (.not. use_soilini) THEN - IF (DEF_USE_VariablySaturatedFlow) THEN - wa = 0. - zwt = zi_soimm(nl_soil)/1000. - ELSE - ! water table depth (initially at 1.0 m below the model bottom; wa when zwt - ! is below the model bottom zi(nl_soil) - wa = 4800. !assuming aquifer capacity is 5000 mm - zwt = (25. + z_soisno(nl_soil))+dz_soisno(nl_soil)/2. - wa/1000./0.2 !to result in zwt = zi(nl_soil) + 1.0 m - ENDIF - ENDIF - ELSE - IF (patchtype <= 1) THEN - CALL get_water_equilibrium_state (zwtmm, nl_soil, wliq_soisno(1:nl_soil), smp, hk, wa, & - zc_soimm, zi_soimm, porsl, vliq_r, psi0, hksati, nprms, prms) - ELSE - wa = 0. - zwt = 0. - ENDIF - - IF (.not. DEF_USE_VariablySaturatedFlow) THEN - wa = wa + 5000. - ENDIF - ENDIF ! (3) soil matrix potential hydraulic conductivity ! Variables: smp, hk diff --git a/mksrfdata/Aggregation_PercentagesPFT.F90 b/mksrfdata/Aggregation_PercentagesPFT.F90 index 781df19e..d24f2fc9 100644 --- a/mksrfdata/Aggregation_PercentagesPFT.F90 +++ b/mksrfdata/Aggregation_PercentagesPFT.F90 @@ -203,10 +203,12 @@ SUBROUTINE Aggregation_PercentagesPFT (gland, dir_rawdata, dir_model_landdata, l -1.0e36_r8, lndname, 'pct_crop_patch', compress = 1, write_mode = 'one') #endif #else - allocate (SITE_croptyp(numpatch)) - allocate (SITE_pctcrop(numpatch)) - SITE_croptyp = cropclass - SITE_pctcrop = pctshrpch + IF (.not. USE_SITE_pctcrop) THEN + allocate (SITE_croptyp(numpatch)) + allocate (SITE_pctcrop(numpatch)) + SITE_croptyp = cropclass + SITE_pctcrop = pctshrpch + ENDIF #endif #endif diff --git a/mksrfdata/MOD_LandCrop.F90 b/mksrfdata/MOD_LandCrop.F90 index 771e3ad3..7a874815 100644 --- a/mksrfdata/MOD_LandCrop.F90 +++ b/mksrfdata/MOD_LandCrop.F90 @@ -150,6 +150,8 @@ SUBROUTINE landcrop_build (lc_year) CALL pixelsetshared_build (landpatch, gcrop, cropdata, N_CFT, cropfilter, & pctshrpch, cropclass, fracin = pctshared) + + cropclass = cropclass + N_PFT - 1 numpatch = landpatch%nset diff --git a/mksrfdata/MOD_LandPFT.F90 b/mksrfdata/MOD_LandPFT.F90 index 61f83de3..bc267c19 100644 --- a/mksrfdata/MOD_LandPFT.F90 +++ b/mksrfdata/MOD_LandPFT.F90 @@ -126,7 +126,7 @@ SUBROUTINE landpft_build (lc_year) #ifdef CROP ELSEIF (landpatch%settyp(1) == CROPLAND) THEN DO ipft = 1, numpft - landpft%settyp(ipft) = cropclass(ipft) + N_PFT - 1 + landpft%settyp(ipft) = cropclass(ipft) pft2patch (ipft) = ipft patch_pft_s (ipft) = ipft patch_pft_e (ipft) = ipft @@ -273,7 +273,7 @@ SUBROUTINE landpft_build (lc_year) landpft%eindex(npft) = landpatch%eindex(ipatch) landpft%ipxstt(npft) = landpatch%ipxstt(ipatch) landpft%ipxend(npft) = landpatch%ipxend(ipatch) - landpft%settyp(npft) = cropclass(ipatch) + N_PFT - 1 + landpft%settyp(npft) = cropclass(ipatch) landpft%pctshared(npft) = landpatch%pctshared(ipatch) diff --git a/mksrfdata/MOD_SingleSrfdata.F90 b/mksrfdata/MOD_SingleSrfdata.F90 index a4acd985..998b7ffb 100644 --- a/mksrfdata/MOD_SingleSrfdata.F90 +++ b/mksrfdata/MOD_SingleSrfdata.F90 @@ -24,7 +24,7 @@ MODULE MOD_SingleSrfdata #endif #ifdef CROP - real(r8), allocatable :: SITE_croptyp (:) + integer, allocatable :: SITE_croptyp (:) real(r8), allocatable :: SITE_pctcrop (:) #endif diff --git a/run/cama_flood.nml b/run/CaMa/cama_flood.nml old mode 100755 new mode 100644 similarity index 69% rename from run/cama_flood.nml rename to run/CaMa/cama_flood.nml index b465e101..5e95e2af --- a/run/cama_flood.nml +++ b/run/CaMa/cama_flood.nml @@ -1,16 +1,16 @@ &NRUNVER -LADPSTP = .FALSE. ! true: use adaptive time step +LADPSTP = .TRUE. ! true: use adaptive time step LFPLAIN = .TRUE. ! true: consider floodplain (false: only river channel) LKINE = .FALSE. ! true: use kinematic wave LFLDOUT = .TRUE. ! true: floodplain flow (high-water channel flow) active LPTHOUT = .TRUE. ! true: activate bifurcation scheme -LDAMOUT = .FALSE. ! true: activate dam operation (under development) +LDAMOUT = .FALSE. ! true: activate dam operation LLEVEE = .FALSE. ! true: activate levee scheme (under development) LROSPLIT = .FALSE. ! true: input if surface (Qs) and sub-surface (Qsb) runoff -LWEVAP = .TRUE. ! true: input water evaporation to extract from floodplain -LWEVAPFIX = .TRUE. ! true: water balance closure extracting water from evap when available +LWEVAP = .FALSE. ! true: input water evaporation to extract from floodplain +LWEVAPFIX = .FALSE. ! true: water balance closure extracting water from evap when available LWINFILT = .FALSE. ! true: input water infiltration to extract from floodplain LWINFILTFIX = .FALSE. ! true: water balance closure extracting water from Infiltration when available LWEXTRACTRIV = .FALSE. ! true: also extract water from rivers @@ -35,7 +35,7 @@ LMAPEND = .FALSE. ! true: for map data endian conv LSTG_ES = .FALSE. ! true: for Vector Processor optimization (CMF_OPT_FLDSTG_ES) / &NDIMTIME -CDIMINFO = "../CaMa/map/CaMaMap4CoLM_glb_0.25in_0.25out/glb_0.25in_0.25out-diminfo.txt" ! text file for dimention information +CDIMINFO = "/tera13/zhangsp/work/CoLM2024_simtop/CaMa/map/US_0.1/diminfo_US.txt" ! text file for dimention information DT = 21600 ! time step length (sec) IFRQ_INP = 6 ! input forcing update frequency (hour) / @@ -47,8 +47,8 @@ PDSTMTH = 10000.D0 ! downstream distance at river mouth [m] PCADP = 0.7 ! CFL coefficient PMINSLP = 1.D-5 ! minimum slope (kinematic wave) IMIS = -9999 ! missing value for integer -RMIS = 1.E36 ! missing value for real*4 -DMIS = 1.E36 ! missing value for real*8 +RMIS = -1.0e+36 ! missing value for real*4 +DMIS = -1.0e+36 ! missing value for real*8 CSUFBIN = '.bin' ! file suffix for plain binary 2D map CSUFVEC = '.vec' ! file suffix for plain binary 1D vector CSUFPTH = '.pth' ! file suffix for plain binary bifurcation channel @@ -66,22 +66,22 @@ EHOUR = 00 ! hour : will not gonna used in here / &NMAP LMAPCDF = .FALSE. ! * true for netCDF map input -CNEXTXY = "../CaMa/map/CaMaMap4CoLM_glb_0.25in_0.25out/nextxy.bin" ! river network nextxy -CGRAREA = "../CaMa/map/CaMaMap4CoLM_glb_0.25in_0.25out/ctmare.bin" ! catchment area -CELEVTN = "../CaMa/map/CaMaMap4CoLM_glb_0.25in_0.25out/elevtn.bin" ! bank top elevation -CNXTDST = "../CaMa/map/CaMaMap4CoLM_glb_0.25in_0.25out/nxtdst.bin" ! distance to next outlet -CRIVLEN = "../CaMa/map/CaMaMap4CoLM_glb_0.25in_0.25out/rivlen.bin" ! river channel length -CFLDHGT = "../CaMa/map/CaMaMap4CoLM_glb_0.25in_0.25out/fldhgt.bin" ! floodplain elevation profile -CRIVWTH = "../CaMa/map/CaMaMap4CoLM_glb_0.25in_0.25out/rivwth_gwdlr.bin" ! channel width -CRIVHGT = "../CaMa/map/CaMaMap4CoLM_glb_0.25in_0.25out/rivhgt.bin" ! channel depth -CRIVMAN = "../CaMa/map/CaMaMap4CoLM_glb_0.25in_0.25out/rivman.bin" ! river manning coefficient -CPTHOUT = "../CaMa/map/CaMaMap4CoLM_glb_0.25in_0.25out/bifprm.txt" ! bifurcation channel table +CNEXTXY = "/tera13/zhangsp/work/CoLM2024_simtop/CaMa/map/US_0.1/nextxy.bin" ! river network nextxy +CGRAREA = "/tera13/zhangsp/work/CoLM2024_simtop/CaMa/map/US_0.1/ctmare.bin" ! catchment area +CELEVTN = "/tera13/zhangsp/work/CoLM2024_simtop/CaMa/map/US_0.1/elevtn.bin" ! bank top elevation +CNXTDST = "/tera13/zhangsp/work/CoLM2024_simtop/CaMa/map/US_0.1/nxtdst.bin" ! distance to next outlet +CRIVLEN = "/tera13/zhangsp/work/CoLM2024_simtop/CaMa/map/US_0.1/rivlen.bin" ! river channel length +CFLDHGT = "/tera13/zhangsp/work/CoLM2024_simtop/CaMa/map/US_0.1/fldhgt.bin" ! floodplain elevation profile +CRIVWTH = "/tera13/zhangsp/work/CoLM2024_simtop/CaMa/map/US_0.1/rivwth_gwdlr.bin" ! channel width +CRIVHGT = "/tera13/zhangsp/work/CoLM2024_simtop/CaMa/map/US_0.1/rivhgt.bin" ! channel depth +CRIVMAN = "/tera13/zhangsp/work/CoLM2024_simtop/CaMa/map/US_0.1/rivman.bin" ! river manning coefficient +CPTHOUT = "/tera13/zhangsp/work/CoLM2024_simtop/CaMa/map/US_0.1/bifprm.txt" ! bifurcation channel table CGDWDLY = "" ! Groundwater Delay Parameter CMEANSL = "" ! mean sea level CRIVCLINC = "" ! * river map netcdf CRIVPARNC = "" ! * river parameter netcdf (width, height, manning, ground water delay) CMEANSLNC = "" ! * mean sea level netCDF -!CMPIREG = "../CaMa/map/CaMaMap4CoLM_glb_0.25in_0.25out/mpireg-2.bin" +!CMPIREG = "/share/home/dq094/baif/CoLM202X-20240514_test1/CaMa/map/US_0.1/mpireg-2.bin" / &NRESTART CRESTSTO = "" ! restart file @@ -94,15 +94,15 @@ IFRQ_RST = 0 ! restart write frequency (1-24: hour, 0:end of run LINTERP = .TRUE. ! true for runoff interpolation using input matrix LINPEND = .TRUE. ! true for runoff endian conversion LITRPCDF = .FALSE. ! * true for netCDF input matrix -CINPMAT = "../CaMa/map/CaMaMap4CoLM_glb_0.25in_0.25out/glb_0.25in_0.25out-inpmat.bin" ! input matrix file name +CINPMAT = "/tera13/zhangsp/work/CoLM2024_simtop/CaMa/map/US_0.1/inpmat_US.bin" ! input matrix file name DROFUNIT = 1.0 ! runoff unit conversion / &NOUTPUT COUTDIR = "../../cases/" ! OUTPUT DIRECTORY !CVARSOUT="wevap,winfilt,rivout,rivsto,rivdph,rivvel,fldout,fldsto,flddph,fldfrc,fldare,sfcelv,outflw,storge,pthflw,pthout,maxsto,maxflw,maxdph" # list output variable (comma separated) -CVARSOUT = "wevap,outflw,fldout,flddph,fldfrc,fldare,runoff" ! Comma-separated list of output variables to save -COUTTAG = "test"! Output Tag Name for each experiment -LOUTVEC = .FALSE. ! TRUE FOR VECTORIAL OUTPUT, FALSE FOR NX,NY OUTPUT +CVARSOUT = "outflw,fldout,flddph,fldfrc,fldare,runoff" ! Comma-separated list of output variables to save +COUTTAG = "test" ! Output Tag Name for each experiment +LOUTVEC = .FALSE ! TRUE FOR VECTORIAL OUTPUT, FALSE FOR NX,NY OUTPUT LOUTCDF = .TRUE. ! * true for netcdf outptu false for binary NDLEVEL = 1 ! * NETCDF DEFLATION LEVEL IFRQ_OUT = 1 ! output data write frequency (hour) @@ -111,10 +111,6 @@ IFRQ_OUT = 1 ! output data write frequency (hour) CDAMFILE = "../CaMa/map/dam_params_glb_15min/" ! dam paramter file LDAMOPT = "V13" ! LIS H22 H06 V13 LDAMTXT = .TRUE. ! true: dam inflow-outflw txt output -LDAMH22 = .FALSE. ! True to use Hanazaki 2022 dam scheme. (False for Yamazaki&Funato scheme) -LDAMYBY = .FALSE. ! .TRUE. to use Year-By-Year dam activation scheme. .False. for All-reservoirs-in scheme -LiVnorm = .FALSE. ! .TRUE. to use Noemal Volume as initial reservoir storage. False for zero-additional storage. - / diff --git a/run/cama_flood_10km.nml b/run/CaMa/cama_flood_10km.nml similarity index 100% rename from run/cama_flood_10km.nml rename to run/CaMa/cama_flood_10km.nml diff --git a/run/cama_flood_US_30km.nml b/run/CaMa/cama_flood_US_30km.nml similarity index 100% rename from run/cama_flood_US_30km.nml rename to run/CaMa/cama_flood_US_30km.nml diff --git a/run/CRA40_Grid_30km_IGBP_VG.nml b/run/examples/CRA40_Grid_30km_IGBP_VG.nml old mode 100755 new mode 100644 similarity index 100% rename from run/CRA40_Grid_30km_IGBP_VG.nml rename to run/examples/CRA40_Grid_30km_IGBP_VG.nml diff --git a/run/China_Grid_50km_IGBP_VG.nml b/run/examples/China_Grid_50km_IGBP_VG.nml similarity index 100% rename from run/China_Grid_50km_IGBP_VG.nml rename to run/examples/China_Grid_50km_IGBP_VG.nml diff --git a/run/Global_Grid_2x2_PFT_VG_BGC.nml b/run/examples/Global_Grid_2x2_PFT_VG_BGC.nml similarity index 100% rename from run/Global_Grid_2x2_PFT_VG_BGC.nml rename to run/examples/Global_Grid_2x2_PFT_VG_BGC.nml diff --git a/run/Global_Grid_30km_IGBP_VG_CaMa.nml b/run/examples/Global_Grid_30km_IGBP_VG_CaMa.nml old mode 100755 new mode 100644 similarity index 100% rename from run/Global_Grid_30km_IGBP_VG_CaMa.nml rename to run/examples/Global_Grid_30km_IGBP_VG_CaMa.nml diff --git a/run/Global_Grid_50km_IGBP_CB_URBAN.nml b/run/examples/Global_Grid_50km_IGBP_CB_URBAN.nml similarity index 100% rename from run/Global_Grid_50km_IGBP_CB_URBAN.nml rename to run/examples/Global_Grid_50km_IGBP_CB_URBAN.nml diff --git a/run/examples/Global_unstructured_T639_IGBP_CB.nml b/run/examples/Global_unstructured_T639_IGBP_CB.nml new file mode 100644 index 00000000..53724198 --- /dev/null +++ b/run/examples/Global_unstructured_T639_IGBP_CB.nml @@ -0,0 +1,67 @@ +&nl_colm + + DEF_CASE_NAME = 'unstructured_gfkd' + + DEF_domain%edges = -90.0 + DEF_domain%edgen = 90.0 + DEF_domain%edgew = -180.0 + DEF_domain%edgee = 180.0 + + DEF_nx_blocks = 72 + DEF_ny_blocks = 36 + DEF_PIO_groupsize = 12 + + DEF_simulation_time%greenwich = .TRUE. + DEF_simulation_time%start_year = 2000 + DEF_simulation_time%start_month = 1 + DEF_simulation_time%start_day = 1 + DEF_simulation_time%start_sec = 0 + DEF_simulation_time%end_year = 2003 + DEF_simulation_time%end_month = 12 + DEF_simulation_time%end_day = 31 + DEF_simulation_time%end_sec = 86400 + DEF_simulation_time%spinup_year = 2000 + DEF_simulation_time%spinup_month = 12 + DEF_simulation_time%spinup_day = 31 + DEF_simulation_time%spinup_sec = 86400 + DEF_simulation_time%timestep = 1800. + + DEF_simulation_time%spinup_repeat = 2 + + DEF_dir_rawdata = '/tera07/CLMrawdata/' + DEF_dir_runtime = '/tera07/CoLMruntime/' + DEF_dir_output = '/tera05/zhangsp/cases/' + + ! for GRIDBASED + DEF_file_mesh = '/home/wein/Guass/mesh_639.nc' + + ! LAI setting + DEF_LAI_MONTHLY = .true. + DEF_LAI_CHANGE_YEARLY = .false. + + ! Model settings + DEF_LANDONLY = .true. + DEF_USE_DOMINANT_PATCHTYPE = .false. + DEF_USE_VARIABLY_SATURATED_FLOW = .true. + + ! Canopy DEF Interception scheme selection + DEF_Interception_scheme=1 !1:CoLM2014;2:CLM4.5; 3:CLM5; 4:Noah-MP; 5:MATSIRO; 6:VIC + + ! ----- forcing ----- + DEF_forcing_namelist = '/tera03/wein/CoLM2023/run/forcing/GSWP3.nml' + + ! ----- history ----- + DEF_HISTORY_IN_VECTOR = .false. + DEF_hist_grid_as_forcing = .true. + + DEF_WRST_FREQ = 'MONTHLY' ! write restart file frequency: HOURLY/DAILY/MONTHLY/YEARLY + DEF_HIST_FREQ = 'MONTHLY' ! write history file frequency: HOURLY/DAILY/MONTHLY/YEARLY + DEF_HIST_groupby = 'MONTH' ! history in one file: DAY/MONTH/YEAR + DEF_HIST_mode = 'one' ! history in one or block + DEF_REST_CompressLevel = 1 + DEF_HIST_CompressLevel = 1 + + DEF_hist_vars_out_default = .true. + DEF_hist_vars_namelist = '/tera04/zhangsp/CoLM202X/run/history.nml' + +/ diff --git a/run/CRA40_Grid_50km_IGBP_VG.nml b/run/examples/GreaterBay_Grid_10km_IGBP_VG.nml similarity index 53% rename from run/CRA40_Grid_50km_IGBP_VG.nml rename to run/examples/GreaterBay_Grid_10km_IGBP_VG.nml index a4883f44..3f17d7eb 100644 --- a/run/CRA40_Grid_50km_IGBP_VG.nml +++ b/run/examples/GreaterBay_Grid_10km_IGBP_VG.nml @@ -3,8 +3,7 @@ ! Author: Shupeng Zhang ! Description : include soil state init from data. - DEF_CASE_NAME = 'CRA40' - + DEF_CASE_NAME = 'GreaterBay_Grid_10km_IGBP_VG' DEF_domain%edges = 20.0 DEF_domain%edgen = 25.0 @@ -15,56 +14,60 @@ DEF_simulation_time%start_year = 1980 DEF_simulation_time%start_month = 1 DEF_simulation_time%start_day = 1 - DEF_simulation_time%start_sec = 21600 - DEF_simulation_time%end_year = 2015 - DEF_simulation_time%end_month = 12 + DEF_simulation_time%start_sec = 0 + DEF_simulation_time%end_year = 2010 + DEF_simulation_time%end_month = 1 DEF_simulation_time%end_day = 31 DEF_simulation_time%end_sec = 86400 - DEF_simulation_time%spinup_year = 0 - DEF_simulation_time%spinup_month = 1 - DEF_simulation_time%spinup_day = 365 + DEF_simulation_time%spinup_year = 1999 + DEF_simulation_time%spinup_month = 12 + DEF_simulation_time%spinup_day = 31 DEF_simulation_time%spinup_sec = 86400 - DEF_simulation_time%spinup_repeat = 0 + DEF_simulation_time%spinup_repeat = 2 DEF_simulation_time%timestep = 1800. - DEF_dir_rawdata = '/share/home/dq013/zhwei/colm/data/CoLMrawdata/' - DEF_dir_runtime = '/share/home/dq013/zhwei/colm/data/CoLMruntime/' - DEF_dir_output = '/share/home/dq013/zhwei/colm/cases/' - + DEF_dir_rawdata = '/shr03/CoLMrawdata/' + DEF_dir_runtime = '/shr03/CoLMruntime/' + DEF_dir_output = '/tera13/zhangsp/cases' ! ----- land units and land sets ----- ! for GRIDBASED - DEF_GRIDBASED_lon_res = 0.5 - DEF_GRIDBASED_lat_res = 0.5 - + DEF_GRIDBASED_lon_res = 0.25 + DEF_GRIDBASED_lat_res = 0.25 + DEF_file_mesh_filter = '/tera13/zhangsp/landdata/filter/greaterbay_1km_filter.nc' ! soil state init DEF_USE_SoilInit = .true. - DEF_file_SoilInit = '/share/home/dq013/zhwei/colm/data/soilstate/soilstate.nc' + DEF_file_SoilInit = '/tera13/zhangsp/landdata/soilstate/soilstate.nc' ! LAI setting DEF_LAI_MONTHLY = .true. DEF_LAI_CHANGE_YEARLY = .false. - DEF_USE_PLANTHYDRAULICS = .false. + DEF_USE_BEDROCK = .true. + + DEF_Runoff_SCHEME = 0 ! ----- forcing ----- ! Options : - ! PRINCETON | GSWP3 | QIAN | CRUNCEPV4 | CRUNCEPV7 | ERA5LAND | ERA5 | MSWX - ! WFDE5 | CRUJRA | WFDEI | JRA55 | GDAS | CMFD | POINT | JRA3Q - DEF_forcing_namelist = '/share/home/dq013/zhwei/colm/CoLM202X-CRA40/CoLM202X/run/forcing/CRA40.nml' + ! PRINCETON | GSWP3 | QIAN | CRUNCEPV4 | CRUNCEPV7 | ERA5LAND | ERA5 | MSWX + ! WFDE5 | CRUJRA | WFDEI | JRA55 | GDAS | CMFD | POINT | JRA3Q + DEF_forcing_namelist = '/tera13/zhangsp/work/CoLM2024/run/forcing/WFDE5.nml' + + DEF_Forcing_Interp_Method = 'bilinear' ! 'arealweight' (default) or 'bilinear' ! ----- history ----- - DEF_hist_grid_as_forcing = .true. + DEF_HIST_lon_res = 0.25 + DEF_HIST_lat_res = 0.25 DEF_WRST_FREQ = 'YEARLY' ! write restart file frequency: HOURLY/DAILY/MONTHLY/YEARLY DEF_HIST_FREQ = 'MONTHLY' ! write history file frequency: HOURLY/DAILY/MONTHLY/YEARLY - DEF_HIST_groupby = 'MONTH' ! history in one file: DAY/MONTH/YEAR + DEF_HIST_groupby = 'YEAR' ! history in one file: DAY/MONTH/YEAR DEF_HIST_mode = 'one' ! history in one or block DEF_REST_CompressLevel = 1 DEF_HIST_CompressLevel = 1 - DEF_HIST_WriteBack = .true. + DEF_HIST_WriteBack = .false. DEF_hist_vars_out_default = .true. diff --git a/run/GreaterBay_Grid_10km_IGBP_VG.nml b/run/examples/Heihe_Grid_12p5km_IGBP_VG.nml similarity index 70% rename from run/GreaterBay_Grid_10km_IGBP_VG.nml rename to run/examples/Heihe_Grid_12p5km_IGBP_VG.nml index 89814249..64fb7447 100644 --- a/run/GreaterBay_Grid_10km_IGBP_VG.nml +++ b/run/examples/Heihe_Grid_12p5km_IGBP_VG.nml @@ -3,12 +3,12 @@ ! Author: Shupeng Zhang ! Description : include soil state init from data. - DEF_CASE_NAME = 'GreaterBay_Grid_10km_IGBP_VG' + DEF_CASE_NAME = 'Heihe_Grid_12p5km_IGBP_VG' - DEF_domain%edges = 20.0 - DEF_domain%edgen = 25.0 - DEF_domain%edgew = 109.0 - DEF_domain%edgee = 118.0 + DEF_domain%edges = 37.0 + DEF_domain%edgen = 39.0 + DEF_domain%edgew = 100.0 + DEF_domain%edgee = 102.0 DEF_simulation_time%greenwich = .TRUE. DEF_simulation_time%start_year = 2010 @@ -33,33 +33,23 @@ ! ----- land units and land sets ----- ! for GRIDBASED - DEF_GRIDBASED_lon_res = 0.05 - DEF_GRIDBASED_lat_res = 0.05 - DEF_file_mesh_filter = '/tera13/zhangsp/landdata/filter/greaterbay_1km_filter.nc' - - ! soil state init - DEF_USE_SoilInit = .true. - DEF_file_SoilInit = '/tera13/zhangsp/landdata/soilstate/soilstate.nc' - - ! LAI setting - DEF_LAI_MONTHLY = .true. - DEF_LAI_CHANGE_YEARLY = .false. - - DEF_USE_BEDROCK = .true. + DEF_GRIDBASED_lon_res = 0.125 + DEF_GRIDBASED_lat_res = 0.125 ! ----- forcing ----- ! Options : ! PRINCETON | GSWP3 | QIAN | CRUNCEPV4 | CRUNCEPV7 | ERA5LAND | ERA5 | MSWX ! WFDE5 | CRUJRA | WFDEI | JRA55 | GDAS | CMFD | POINT | JRA3Q - DEF_forcing_namelist = '/tera13/zhangsp/work/CoLM2024/run/forcing/ERA5LAND.nml' + DEF_forcing_namelist = '/tera13/zhangsp/work/CoLM2024/run/forcing/ERA5.nml' + DEF_USE_Forcing_Downscaling =.false. DEF_Forcing_Interp_Method = 'arealweight' ! 'arealweight' (default) or 'bilinear' ! ----- history ----- - DEF_HIST_lon_res = 0.05 - DEF_HIST_lat_res = 0.05 + DEF_HIST_lon_res = 0.125 + DEF_HIST_lat_res = 0.125 DEF_WRST_FREQ = 'MONTHLY' ! write restart file frequency: HOURLY/DAILY/MONTHLY/YEARLY - DEF_HIST_FREQ = 'DAILY' ! write history file frequency: HOURLY/DAILY/MONTHLY/YEARLY + DEF_HIST_FREQ = 'MONTHLY' ! write history file frequency: HOURLY/DAILY/MONTHLY/YEARLY DEF_HIST_groupby = 'MONTH' ! history in one file: DAY/MONTH/YEAR DEF_HIST_mode = 'one' ! history in one or block DEF_REST_CompressLevel = 1 diff --git a/run/PearlRiver_Catch_100km_IGBP_VG.nml b/run/examples/PearlRiver_Catch_100km_IGBP_VG.nml similarity index 100% rename from run/PearlRiver_Catch_100km_IGBP_VG.nml rename to run/examples/PearlRiver_Catch_100km_IGBP_VG.nml diff --git a/run/PoyangLake_Grid_5km_IGBP_VG.nml b/run/examples/PoyangLake_Grid_5km_IGBP_VG.nml similarity index 81% rename from run/PoyangLake_Grid_5km_IGBP_VG.nml rename to run/examples/PoyangLake_Grid_5km_IGBP_VG.nml index 266fe367..941bf2a8 100644 --- a/run/PoyangLake_Grid_5km_IGBP_VG.nml +++ b/run/examples/PoyangLake_Grid_5km_IGBP_VG.nml @@ -3,19 +3,19 @@ ! Author: Shupeng Zhang ! Description : an example to use dynamic lake. - DEF_CASE_NAME = 'PoyangLake_Grid_5km_IGBP_VG' + DEF_CASE_NAME = 'Lake_Grid_5km_IGBP_VG' ! 'PoyangLake_Grid_5km_IGBP_VG' - DEF_domain%edges = 28.0 - DEF_domain%edgen = 30.0 - DEF_domain%edgew = 115.0 - DEF_domain%edgee = 117.0 + DEF_domain%edges = 29.0 ! 28.0 + DEF_domain%edgen = 30.0 ! 30.0 + DEF_domain%edgew = 98.0 ! 115.0 + DEF_domain%edgee = 100.0! 117.0 DEF_simulation_time%greenwich = .TRUE. - DEF_simulation_time%start_year = 2010 + DEF_simulation_time%start_year = 1980 DEF_simulation_time%start_month = 1 DEF_simulation_time%start_day = 1 DEF_simulation_time%start_sec = 0 - DEF_simulation_time%end_year = 2020 + DEF_simulation_time%end_year = 1982 DEF_simulation_time%end_month = 12 DEF_simulation_time%end_day = 31 DEF_simulation_time%end_sec = 86400 @@ -59,7 +59,7 @@ DEF_HIST_FREQ = 'DAILY' ! write history file frequency: HOURLY/DAILY/MONTHLY/YEARLY DEF_HIST_groupby = 'MONTH' ! history in one file: DAY/MONTH/YEAR - DEF_hist_vars_out_default = .false. - DEF_HIST_vars_namelist = 'run/hist_dynamic_lake.nml' + DEF_hist_vars_out_default = .true. + ! DEF_HIST_vars_namelist = 'run/hist_dynamic_lake.nml' / diff --git a/run/RegChina_Grid_50km_IGBP_CB_LULCC.nml b/run/examples/RegChina_Grid_50km_IGBP_CB_LULCC.nml similarity index 100% rename from run/RegChina_Grid_50km_IGBP_CB_LULCC.nml rename to run/examples/RegChina_Grid_50km_IGBP_CB_LULCC.nml diff --git a/run/examples/SiteGGF_IGBP_VG.nml b/run/examples/SiteGGF_IGBP_VG.nml new file mode 100644 index 00000000..f2947ef9 --- /dev/null +++ b/run/examples/SiteGGF_IGBP_VG.nml @@ -0,0 +1,57 @@ +&nl_colm + + DEF_CASE_NAME = 'SiteGGF_IGBP_VG' + + SITE_lon_location = 101.983333 + SITE_lat_location = 29.566667 + + USE_SITE_landtype = .false. + USE_SITE_htop = .false. + USE_SITE_LAI = .false. + USE_SITE_lakedepth = .false. + USE_SITE_soilreflectance = .false. + USE_SITE_soilparameters = .false. + USE_SITE_dbedrock = .false. + USE_SITE_topography = .false. + USE_SITE_topostd = .false. + USE_SITE_BVIC = .false. + + DEF_simulation_time%greenwich = .TRUE. + DEF_simulation_time%start_year = 1951 + DEF_simulation_time%start_month = 1 + DEF_simulation_time%start_day = 1 + DEF_simulation_time%start_sec = 0 + DEF_simulation_time%end_year = 2020 + DEF_simulation_time%end_month = 12 + DEF_simulation_time%end_day = 31 + DEF_simulation_time%end_sec = 86400 + DEF_simulation_time%spinup_year = 1999 + DEF_simulation_time%spinup_month = 12 + DEF_simulation_time%spinup_day = 31 + DEF_simulation_time%spinup_sec = 86400 + DEF_simulation_time%spinup_repeat = 1 + + DEF_simulation_time%timestep = 1800. + + DEF_dir_rawdata = '/shr03/CoLMrawdata/' + DEF_dir_runtime = '/shr03/CoLMruntime/' + DEF_dir_output = '/tera13/zhangsp/cases' + + ! LAI setting + DEF_LAI_MONTHLY = .true. + DEF_LAI_CHANGE_YEARLY = .false. + + ! ----- forcing ----- + ! Options : + ! PRINCETON | GSWP3 | QIAN | CRUNCEPV4 | CRUNCEPV7 | ERA5LAND | ERA5 | MSWX + ! WFDE5 | CRUJRA | WFDEI | JRA55 | GDAS | CMFD | POINT | JRA3Q + DEF_forcing_namelist = '/tera13/zhangsp/work/CoLM2024/run/forcing/CRUJRA.nml' + + ! ----- history ----- + DEF_WRST_FREQ = 'MONTHLY' ! write restart file frequency: HOURLY/DAILY/MONTHLY/YEARLY + DEF_HIST_FREQ = 'MONTHLY' ! write history file frequency: HOURLY/DAILY/MONTHLY/YEARLY + DEF_HIST_groupby = 'MONTH' ! history in one file: DAY/MONTH/YEAR + + DEF_hist_vars_out_default = .true. + +/ diff --git a/run/SiteSYSUAtmos_IGBP_VG.nml b/run/examples/SiteSYSUAtmos_IGBP_VG.nml similarity index 100% rename from run/SiteSYSUAtmos_IGBP_VG.nml rename to run/examples/SiteSYSUAtmos_IGBP_VG.nml diff --git a/run/US_Grid_10km_IGBP_VG_CaMa.nml b/run/examples/US_Grid_10km_IGBP_VG_CaMa.nml similarity index 100% rename from run/US_Grid_10km_IGBP_VG_CaMa.nml rename to run/examples/US_Grid_10km_IGBP_VG_CaMa.nml diff --git a/run/examples/YangtzeRiver_Catch_250km2_IGBP_VG.nml b/run/examples/YangtzeRiver_Catch_250km2_IGBP_VG.nml new file mode 100644 index 00000000..dee1dece --- /dev/null +++ b/run/examples/YangtzeRiver_Catch_250km2_IGBP_VG.nml @@ -0,0 +1,55 @@ +&nl_colm + +! Author: Shupeng Zhang +! Description : An example for CATCHMENT grid. + + DEF_CASE_NAME = 'YangtzeRiver_Catch_250km2_IGBP_VG' + + DEF_domain%edges = 24.0 + DEF_domain%edgen = 36.0 + DEF_domain%edgew = 90.0 + DEF_domain%edgee = 122.0 + + DEF_simulation_time%greenwich = .TRUE. + DEF_simulation_time%start_year = 2016 + DEF_simulation_time%start_month = 2 + DEF_simulation_time%start_day = 1 + DEF_simulation_time%start_sec = 0 + DEF_simulation_time%end_year = 2020 + DEF_simulation_time%end_month = 12 + DEF_simulation_time%end_day = 31 + DEF_simulation_time%end_sec = 86400 + DEF_simulation_time%spinup_year = 0 + DEF_simulation_time%spinup_month = 1 + DEF_simulation_time%spinup_day = 365 + DEF_simulation_time%spinup_sec = 86400 + DEF_simulation_time%spinup_repeat = 0 + + DEF_simulation_time%timestep = 1800. + + DEF_dir_rawdata = '/shr03/CoLMrawdata/' + DEF_dir_runtime = '/shr03/CoLMruntime/' + DEF_dir_output = '/tera13/zhangsp/cases' + + DEF_CatchmentMesh_data = '/tera13/zhangsp/work/hillslope/output/yangtze_250km2.nc' + DEF_ElementNeighbour_file = '/tera13/zhangsp/work/hillslope/output/yangtze_250km2.nc' + + DEF_LAI_CHANGE_YEARLY = .false. + DEF_USE_Dynamic_Lake = .true. + + ! ----- forcing ----- + ! Options : + ! PRINCETON | GSWP3 | QIAN | CRUNCEPV4 | CRUNCEPV7 | ERA5LAND | ERA5 | MSWX + ! WFDE5 | CRUJRA | WFDEI | JRA55 | GDAS | CMFD | POINT | JRA3Q + DEF_forcing_namelist = '/tera13/zhangsp/work/CoLM2024/run/forcing/CRUJRA.nml' + + ! ----- history ----- + DEF_HIST_lon_res = 0.05 + DEF_HIST_lat_res = 0.05 + DEF_WRST_FREQ = 'MONTHLY' ! write restart file frequency: HOURLY/DAILY/MONTHLY/YEARLY + DEF_HIST_FREQ = 'DAILY' ! write history file frequency: HOURLY/DAILY/MONTHLY/YEARLY + DEF_HIST_groupby = 'MONTH' ! history in one file: DAY/MONTH/YEAR + + DEF_hist_vars_out_default = .true. + +/ diff --git a/run/examples/history.nml b/run/examples/history.nml new file mode 100644 index 00000000..ff3e12f7 --- /dev/null +++ b/run/examples/history.nml @@ -0,0 +1,110 @@ +&nl_colm_history + + ! ----- history ----- + DEF_hist_vars%xy_us = .false. + DEF_hist_vars%xy_vs = .false. + DEF_hist_vars%xy_t = .true. + DEF_hist_vars%xy_q = .false. + DEF_hist_vars%xy_prc = .true. + DEF_hist_vars%xy_prl = .true. + DEF_hist_vars%xy_pbot = .true. + DEF_hist_vars%xy_frl = .true. + DEF_hist_vars%xy_solarin = .true. + DEF_hist_vars%xy_rain = .false. + DEF_hist_vars%xy_snow = .false. + DEF_hist_vars%xy_hpbl = .false. + + DEF_hist_vars%taux = .false. + DEF_hist_vars%tauy = .false. + DEF_hist_vars%fsena = .false. + DEF_hist_vars%lfevpa = .false. + DEF_hist_vars%fevpa = .false. + DEF_hist_vars%fsenl = .false. + DEF_hist_vars%fevpl = .false. + DEF_hist_vars%etr = .false. + DEF_hist_vars%fseng = .false. + DEF_hist_vars%fevpg = .false. + DEF_hist_vars%fgrnd = .false. + DEF_hist_vars%sabvsun = .false. + DEF_hist_vars%sabvsha = .false. + DEF_hist_vars%sabg = .false. + DEF_hist_vars%olrg = .false. + DEF_hist_vars%rnet = .false. + DEF_hist_vars%xerr = .false. + DEF_hist_vars%zerr = .false. + DEF_hist_vars%rsur = .false. + DEF_hist_vars%rnof = .false. + DEF_hist_vars%qintr = .false. + DEF_hist_vars%qinfl = .false. + DEF_hist_vars%qdrip = .false. + DEF_hist_vars%wat = .false. + DEF_hist_vars%assim = .false. + DEF_hist_vars%respc = .false. + DEF_hist_vars%qcharge = .false. + + DEF_hist_vars%t_grnd = .true. + + DEF_hist_vars%tleaf = .false. + DEF_hist_vars%ldew = .false. + DEF_hist_vars%scv = .false. + DEF_hist_vars%snowdp = .false. + DEF_hist_vars%fsno = .false. + DEF_hist_vars%sigf = .false. + DEF_hist_vars%green = .false. + DEF_hist_vars%lai = .false. + DEF_hist_vars%laisun = .false. + DEF_hist_vars%laisha = .false. + DEF_hist_vars%sai = .false. + DEF_hist_vars%alb = .true. + DEF_hist_vars%emis = .false. + DEF_hist_vars%z0m = .false. + DEF_hist_vars%trad = .false. + DEF_hist_vars%rss = .false. + DEF_hist_vars%tref = .false. + DEF_hist_vars%qref = .false. + + DEF_hist_vars%t_soisno = .false. + DEF_hist_vars%wliq_soisno = .true. + DEF_hist_vars%wice_soisno = .false. + + DEF_hist_vars%h2osoi = .false. + DEF_hist_vars%rstfacsun = .false. + DEF_hist_vars%rstfacsha = .false. + DEF_hist_vars%rootr = .false. + DEF_hist_vars%vegwp = .false. + DEF_hist_vars%zwt = .false. + DEF_hist_vars%wa = .false. + + DEF_hist_vars%t_lake = .false. + DEF_hist_vars%lake_icefrac = .false. + + DEF_hist_vars%ustar = .false. + DEF_hist_vars%tstar = .false. + DEF_hist_vars%qstar = .false. + DEF_hist_vars%zol = .false. + DEF_hist_vars%rib = .false. + DEF_hist_vars%fm = .false. + DEF_hist_vars%fh = .false. + DEF_hist_vars%fq = .false. + DEF_hist_vars%us10m = .false. + DEF_hist_vars%vs10m = .false. + DEF_hist_vars%fm10m = .false. + DEF_hist_vars%sr = .false. + DEF_hist_vars%solvd = .false. + DEF_hist_vars%solvi = .false. + DEF_hist_vars%solnd = .false. + DEF_hist_vars%solni = .false. + DEF_hist_vars%srvd = .false. + DEF_hist_vars%srvi = .false. + DEF_hist_vars%srnd = .false. + DEF_hist_vars%srni = .false. + DEF_hist_vars%solvdln = .false. + DEF_hist_vars%solviln = .false. + DEF_hist_vars%solndln = .false. + DEF_hist_vars%solniln = .false. + DEF_hist_vars%srvdln = .false. + DEF_hist_vars%srviln = .false. + DEF_hist_vars%srndln = .false. + DEF_hist_vars%srniln = .false. +/ + diff --git a/run/hist_dynamic_lake.nml b/run/hist_dynamic_lake.nml deleted file mode 100644 index e489d8ba..00000000 --- a/run/hist_dynamic_lake.nml +++ /dev/null @@ -1,10 +0,0 @@ -&nl_colm_history - - ! ----- history ----- - DEF_hist_vars%wdsrf = .true. - DEF_hist_vars%scv = .true. - DEF_hist_vars%dz_lake = .true. - DEF_hist_vars%t_lake = .true. - DEF_hist_vars%lake_icefrac = .true. -/ - diff --git a/run/copy_code b/run/scripts/copy_code similarity index 100% rename from run/copy_code rename to run/scripts/copy_code diff --git a/run/create_clone b/run/scripts/create_clone similarity index 100% rename from run/create_clone rename to run/scripts/create_clone diff --git a/run/create_header b/run/scripts/create_header similarity index 100% rename from run/create_header rename to run/scripts/create_header diff --git a/run/create_namelist b/run/scripts/create_namelist similarity index 100% rename from run/create_namelist rename to run/scripts/create_namelist diff --git a/run/create_newcase b/run/scripts/create_newcase similarity index 100% rename from run/create_newcase rename to run/scripts/create_newcase diff --git a/run/create_scripts b/run/scripts/create_scripts similarity index 100% rename from run/create_scripts rename to run/scripts/create_scripts diff --git a/share/MOD_Utils.F90 b/share/MOD_Utils.F90 index 5e4ee91f..a6de72c1 100644 --- a/share/MOD_Utils.F90 +++ b/share/MOD_Utils.F90 @@ -1074,8 +1074,11 @@ FUNCTION arclen (lat1, lon1, lat2, lon2) real(r8), intent(in) :: lat1, lon1, lat2, lon2 real(r8), parameter :: re = 6.37122e3 ! kilometer + real(r8) :: tmp - arclen = re * acos (sin(lat1)*sin(lat2) + cos(lat1)*cos(lat2) * cos(lon1-lon2)) + tmp = sin(lat1)*sin(lat2) + cos(lat1)*cos(lat2) * cos(lon1-lon2) + tmp = min(max(tmp, -1.), 1.) + arclen = re * acos(tmp) END FUNCTION arclen From bf98eebc3ee5a558bd32e34d84a5f835dd6bf676 Mon Sep 17 00:00:00 2001 From: zhangsp8 <21294631@qq.com> Date: Tue, 19 Nov 2024 17:39:48 +0800 Subject: [PATCH 2/8] Makeoptions --- include/Makeoptions | 2 +- include/Makeoptions.github | 52 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 53 insertions(+), 1 deletion(-) create mode 100755 include/Makeoptions.github diff --git a/include/Makeoptions b/include/Makeoptions index 7bcde79f..e3dde8fa 120000 --- a/include/Makeoptions +++ b/include/Makeoptions @@ -1 +1 @@ -Makeoptions.land.gnu \ No newline at end of file +Makeoptions.github \ No newline at end of file diff --git a/include/Makeoptions.github b/include/Makeoptions.github new file mode 100755 index 00000000..16b35621 --- /dev/null +++ b/include/Makeoptions.github @@ -0,0 +1,52 @@ +# ======================================================= +# mpif90 - gfortran +# + + FF = mpif90 -fopenmp + + NETCDF_LIB = /usr/lib/x86_64-linux-gnu + NETCDF_INC = /usr/include + + MOD_CMD = -J + +# determine the gfortran version + GCC_VERSION := "`gcc -dumpversion`" + IS_GCC_ABOVE_10 := $(shell expr "$(GCC_VERSION)" ">=" "10") + ifeq "$(IS_GCC_ABOVE_10)" "1" + FOPTS = -fdefault-real-8 -ffree-form -C -g -u -xcheck=stkovf \ + -ffpe-trap=invalid,zero,overflow -fbounds-check \ + -mcmodel=medium -fbacktrace -fdump-core -cpp \ + -ffree-line-length-0 -fallow-argument-mismatch + else + FOPTS = -fdefault-real-8 -ffree-form -C -g -u -xcheck=stkovf \ + -ffpe-trap=invalid,zero,overflow -fbounds-check \ + -mcmodel=medium -fbacktrace -fdump-core -cpp \ + -ffree-line-length-0 + endif + + INCLUDE_DIR = -I../include -I../share -I../mksrfdata -I../mkinidata -I../main -I$(NETCDF_INC) + LDFLAGS = -L$(NETCDF_LIB) -lnetcdff -lnetcdf -llapack -lblas + + + +#============================================================ +# CaMa-Flood Mkinclude (for Linux, gfortran) + +RM = /bin/rm -f +CP = /bin/cp +#---- +# Pre-Prosessing options +# DMPI=-DUseMPI: activate when MPI parallelization is used +# DCDF=-DUseCDF: activate when using netCDF, comment out when not needed +# DATM=-DNoAtom: activate when OMP ATOMIC calculation should be avoided (bit identical simulation) +#---- +#DMPI=-DUseMPI +DCDF=-DUseCDF -DUseCDF_CMF +#DATM=-DNoAtom +CFLAGS=$(DMPI) $(DCDF) $(DATM) +#---- +FCMP = /usr/bin/gfortran -fopenmp +FC = /usr/bin/gfortran + +LFLAGS = +FFLAGS = -O3 -Wall -cpp -free -fimplicit-none -fbounds-check -fbacktrace From 8962eb7e597c132eda15273f7eb46915bd57ad0f Mon Sep 17 00:00:00 2001 From: zhangsp8 <21294631@qq.com> Date: Tue, 19 Nov 2024 18:16:45 +0800 Subject: [PATCH 3/8] restore some files. --- run/examples/GreaterBay_Grid_10km_IGBP_VG.nml | 37 +++--- run/examples/PoyangLake_Grid_5km_IGBP_VG.nml | 18 +-- run/examples/cama_flood.nml | 120 ++++++++++++++++++ 3 files changed, 147 insertions(+), 28 deletions(-) create mode 100644 run/examples/cama_flood.nml diff --git a/run/examples/GreaterBay_Grid_10km_IGBP_VG.nml b/run/examples/GreaterBay_Grid_10km_IGBP_VG.nml index 3f17d7eb..89814249 100644 --- a/run/examples/GreaterBay_Grid_10km_IGBP_VG.nml +++ b/run/examples/GreaterBay_Grid_10km_IGBP_VG.nml @@ -11,7 +11,7 @@ DEF_domain%edgee = 118.0 DEF_simulation_time%greenwich = .TRUE. - DEF_simulation_time%start_year = 1980 + DEF_simulation_time%start_year = 2010 DEF_simulation_time%start_month = 1 DEF_simulation_time%start_day = 1 DEF_simulation_time%start_sec = 0 @@ -19,22 +19,22 @@ DEF_simulation_time%end_month = 1 DEF_simulation_time%end_day = 31 DEF_simulation_time%end_sec = 86400 - DEF_simulation_time%spinup_year = 1999 - DEF_simulation_time%spinup_month = 12 - DEF_simulation_time%spinup_day = 31 + DEF_simulation_time%spinup_year = 0 + DEF_simulation_time%spinup_month = 1 + DEF_simulation_time%spinup_day = 365 DEF_simulation_time%spinup_sec = 86400 - DEF_simulation_time%spinup_repeat = 2 + DEF_simulation_time%spinup_repeat = 0 DEF_simulation_time%timestep = 1800. - DEF_dir_rawdata = '/shr03/CoLMrawdata/' - DEF_dir_runtime = '/shr03/CoLMruntime/' + DEF_dir_rawdata = '/tera07/CoLMrawdata/' + DEF_dir_runtime = '/tera07/CoLMruntime/' DEF_dir_output = '/tera13/zhangsp/cases' ! ----- land units and land sets ----- ! for GRIDBASED - DEF_GRIDBASED_lon_res = 0.25 - DEF_GRIDBASED_lat_res = 0.25 + DEF_GRIDBASED_lon_res = 0.05 + DEF_GRIDBASED_lat_res = 0.05 DEF_file_mesh_filter = '/tera13/zhangsp/landdata/filter/greaterbay_1km_filter.nc' ! soil state init @@ -46,29 +46,28 @@ DEF_LAI_CHANGE_YEARLY = .false. DEF_USE_BEDROCK = .true. - - DEF_Runoff_SCHEME = 0 ! ----- forcing ----- ! Options : ! PRINCETON | GSWP3 | QIAN | CRUNCEPV4 | CRUNCEPV7 | ERA5LAND | ERA5 | MSWX ! WFDE5 | CRUJRA | WFDEI | JRA55 | GDAS | CMFD | POINT | JRA3Q - DEF_forcing_namelist = '/tera13/zhangsp/work/CoLM2024/run/forcing/WFDE5.nml' + DEF_forcing_namelist = '/tera13/zhangsp/work/CoLM2024/run/forcing/ERA5LAND.nml' - DEF_Forcing_Interp_Method = 'bilinear' ! 'arealweight' (default) or 'bilinear' + DEF_Forcing_Interp_Method = 'arealweight' ! 'arealweight' (default) or 'bilinear' ! ----- history ----- - DEF_HIST_lon_res = 0.25 - DEF_HIST_lat_res = 0.25 - DEF_WRST_FREQ = 'YEARLY' ! write restart file frequency: HOURLY/DAILY/MONTHLY/YEARLY - DEF_HIST_FREQ = 'MONTHLY' ! write history file frequency: HOURLY/DAILY/MONTHLY/YEARLY - DEF_HIST_groupby = 'YEAR' ! history in one file: DAY/MONTH/YEAR + DEF_HIST_lon_res = 0.05 + DEF_HIST_lat_res = 0.05 + DEF_WRST_FREQ = 'MONTHLY' ! write restart file frequency: HOURLY/DAILY/MONTHLY/YEARLY + DEF_HIST_FREQ = 'DAILY' ! write history file frequency: HOURLY/DAILY/MONTHLY/YEARLY + DEF_HIST_groupby = 'MONTH' ! history in one file: DAY/MONTH/YEAR DEF_HIST_mode = 'one' ! history in one or block DEF_REST_CompressLevel = 1 DEF_HIST_CompressLevel = 1 DEF_HIST_WriteBack = .false. - DEF_hist_vars_out_default = .true. + DEF_hist_vars_out_default = .false. + DEF_hist_vars_namelist = '/tera13/zhangsp/work/CoLM2024/run/history.nml' / diff --git a/run/examples/PoyangLake_Grid_5km_IGBP_VG.nml b/run/examples/PoyangLake_Grid_5km_IGBP_VG.nml index 941bf2a8..266fe367 100644 --- a/run/examples/PoyangLake_Grid_5km_IGBP_VG.nml +++ b/run/examples/PoyangLake_Grid_5km_IGBP_VG.nml @@ -3,19 +3,19 @@ ! Author: Shupeng Zhang ! Description : an example to use dynamic lake. - DEF_CASE_NAME = 'Lake_Grid_5km_IGBP_VG' ! 'PoyangLake_Grid_5km_IGBP_VG' + DEF_CASE_NAME = 'PoyangLake_Grid_5km_IGBP_VG' - DEF_domain%edges = 29.0 ! 28.0 - DEF_domain%edgen = 30.0 ! 30.0 - DEF_domain%edgew = 98.0 ! 115.0 - DEF_domain%edgee = 100.0! 117.0 + DEF_domain%edges = 28.0 + DEF_domain%edgen = 30.0 + DEF_domain%edgew = 115.0 + DEF_domain%edgee = 117.0 DEF_simulation_time%greenwich = .TRUE. - DEF_simulation_time%start_year = 1980 + DEF_simulation_time%start_year = 2010 DEF_simulation_time%start_month = 1 DEF_simulation_time%start_day = 1 DEF_simulation_time%start_sec = 0 - DEF_simulation_time%end_year = 1982 + DEF_simulation_time%end_year = 2020 DEF_simulation_time%end_month = 12 DEF_simulation_time%end_day = 31 DEF_simulation_time%end_sec = 86400 @@ -59,7 +59,7 @@ DEF_HIST_FREQ = 'DAILY' ! write history file frequency: HOURLY/DAILY/MONTHLY/YEARLY DEF_HIST_groupby = 'MONTH' ! history in one file: DAY/MONTH/YEAR - DEF_hist_vars_out_default = .true. - ! DEF_HIST_vars_namelist = 'run/hist_dynamic_lake.nml' + DEF_hist_vars_out_default = .false. + DEF_HIST_vars_namelist = 'run/hist_dynamic_lake.nml' / diff --git a/run/examples/cama_flood.nml b/run/examples/cama_flood.nml new file mode 100644 index 00000000..b465e101 --- /dev/null +++ b/run/examples/cama_flood.nml @@ -0,0 +1,120 @@ +&NRUNVER +LADPSTP = .FALSE. ! true: use adaptive time step +LFPLAIN = .TRUE. ! true: consider floodplain (false: only river channel) +LKINE = .FALSE. ! true: use kinematic wave +LFLDOUT = .TRUE. ! true: floodplain flow (high-water channel flow) active +LPTHOUT = .TRUE. ! true: activate bifurcation scheme +LDAMOUT = .FALSE. ! true: activate dam operation (under development) +LLEVEE = .FALSE. ! true: activate levee scheme (under development) + + +LROSPLIT = .FALSE. ! true: input if surface (Qs) and sub-surface (Qsb) runoff +LWEVAP = .TRUE. ! true: input water evaporation to extract from floodplain +LWEVAPFIX = .TRUE. ! true: water balance closure extracting water from evap when available +LWINFILT = .FALSE. ! true: input water infiltration to extract from floodplain +LWINFILTFIX = .FALSE. ! true: water balance closure extracting water from Infiltration when available +LWEXTRACTRIV = .FALSE. ! true: also extract water from rivers +LSLOPEMOUTH = .FALSE. ! true: prescribe water level slope == elevation slope on river month + +LGDWDLY = .FALSE. ! true: Activate ground water reservoir and delay +LSLPMIX = .FALSE. ! true: activate mixed kinematic and local inertia based on slope + +LMEANSL = .FALSE. ! true: boundary condition for mean sea level +LSEALEV = .FALSE. ! true: boundary condition for variable sea level +!LOUTINS = .FALSE. ! true: diagnose instantaneous discharge + +LRESTART = .FALSE. ! true: initial condition from restart file +LSTOONLY = .FALSE. ! true: storage only restart (mainly for data assimilation) +LOUTPUT = .TRUE. ! true: use standard output (to file) +LOUTINI = .FALSE. ! true: output initial storage (netCDF only) + +LGRIDMAP = .TRUE. ! true: for standard XY gridded 2D map +LLEAPYR = .TRUE. ! true: neglect leap year (Feb29 skipped) + +LMAPEND = .FALSE. ! true: for map data endian conversion +LSTG_ES = .FALSE. ! true: for Vector Processor optimization (CMF_OPT_FLDSTG_ES) +/ +&NDIMTIME +CDIMINFO = "../CaMa/map/CaMaMap4CoLM_glb_0.25in_0.25out/glb_0.25in_0.25out-diminfo.txt" ! text file for dimention information +DT = 21600 ! time step length (sec) +IFRQ_INP = 6 ! input forcing update frequency (hour) +/ +&NPARAM +PMANRIV = 0.03D0 ! manning coefficient river +PMANFLD = 0.10D0 ! manning coefficient floodplain +PGRV = 9.8D0 ! gravity accerelation +PDSTMTH = 10000.D0 ! downstream distance at river mouth [m] +PCADP = 0.7 ! CFL coefficient +PMINSLP = 1.D-5 ! minimum slope (kinematic wave) +IMIS = -9999 ! missing value for integer +RMIS = 1.E36 ! missing value for real*4 +DMIS = 1.E36 ! missing value for real*8 +CSUFBIN = '.bin' ! file suffix for plain binary 2D map +CSUFVEC = '.vec' ! file suffix for plain binary 1D vector +CSUFPTH = '.pth' ! file suffix for plain binary bifurcation channel +CSUFCDF = '.nc' ! file suffix for netCDF +/ +&NSIMTIME +SYEAR = 1900 ! start year : will not gonna used in here +SMON = 01 ! month : will not gonna used in here +SDAY = 01 ! day : will not gonna used in here +SHOUR = 00 ! hour : will not gonna used in here +EYEAR = 2024 ! end year : will not gonna used in here +EMON = 01 ! month : will not gonna used in here +EDAY = 01 ! day : will not gonna used in here +EHOUR = 00 ! hour : will not gonna used in here +/ +&NMAP +LMAPCDF = .FALSE. ! * true for netCDF map input +CNEXTXY = "../CaMa/map/CaMaMap4CoLM_glb_0.25in_0.25out/nextxy.bin" ! river network nextxy +CGRAREA = "../CaMa/map/CaMaMap4CoLM_glb_0.25in_0.25out/ctmare.bin" ! catchment area +CELEVTN = "../CaMa/map/CaMaMap4CoLM_glb_0.25in_0.25out/elevtn.bin" ! bank top elevation +CNXTDST = "../CaMa/map/CaMaMap4CoLM_glb_0.25in_0.25out/nxtdst.bin" ! distance to next outlet +CRIVLEN = "../CaMa/map/CaMaMap4CoLM_glb_0.25in_0.25out/rivlen.bin" ! river channel length +CFLDHGT = "../CaMa/map/CaMaMap4CoLM_glb_0.25in_0.25out/fldhgt.bin" ! floodplain elevation profile +CRIVWTH = "../CaMa/map/CaMaMap4CoLM_glb_0.25in_0.25out/rivwth_gwdlr.bin" ! channel width +CRIVHGT = "../CaMa/map/CaMaMap4CoLM_glb_0.25in_0.25out/rivhgt.bin" ! channel depth +CRIVMAN = "../CaMa/map/CaMaMap4CoLM_glb_0.25in_0.25out/rivman.bin" ! river manning coefficient +CPTHOUT = "../CaMa/map/CaMaMap4CoLM_glb_0.25in_0.25out/bifprm.txt" ! bifurcation channel table +CGDWDLY = "" ! Groundwater Delay Parameter +CMEANSL = "" ! mean sea level +CRIVCLINC = "" ! * river map netcdf +CRIVPARNC = "" ! * river parameter netcdf (width, height, manning, ground water delay) +CMEANSLNC = "" ! * mean sea level netCDF +!CMPIREG = "../CaMa/map/CaMaMap4CoLM_glb_0.25in_0.25out/mpireg-2.bin" +/ +&NRESTART +CRESTSTO = "" ! restart file +CRESTDIR = "./" ! restart directory +CVNREST = "restart" ! restart variable name +LRESTCDF = .FALSE. ! * true for netCDF restart file +IFRQ_RST = 0 ! restart write frequency (1-24: hour, 0:end of run) +/ +&NFORCE +LINTERP = .TRUE. ! true for runoff interpolation using input matrix +LINPEND = .TRUE. ! true for runoff endian conversion +LITRPCDF = .FALSE. ! * true for netCDF input matrix +CINPMAT = "../CaMa/map/CaMaMap4CoLM_glb_0.25in_0.25out/glb_0.25in_0.25out-inpmat.bin" ! input matrix file name +DROFUNIT = 1.0 ! runoff unit conversion +/ +&NOUTPUT +COUTDIR = "../../cases/" ! OUTPUT DIRECTORY +!CVARSOUT="wevap,winfilt,rivout,rivsto,rivdph,rivvel,fldout,fldsto,flddph,fldfrc,fldare,sfcelv,outflw,storge,pthflw,pthout,maxsto,maxflw,maxdph" # list output variable (comma separated) +CVARSOUT = "wevap,outflw,fldout,flddph,fldfrc,fldare,runoff" ! Comma-separated list of output variables to save +COUTTAG = "test"! Output Tag Name for each experiment +LOUTVEC = .FALSE. ! TRUE FOR VECTORIAL OUTPUT, FALSE FOR NX,NY OUTPUT +LOUTCDF = .TRUE. ! * true for netcdf outptu false for binary +NDLEVEL = 1 ! * NETCDF DEFLATION LEVEL +IFRQ_OUT = 1 ! output data write frequency (hour) +/ +&NDAMOUT +CDAMFILE = "../CaMa/map/dam_params_glb_15min/" ! dam paramter file +LDAMOPT = "V13" ! LIS H22 H06 V13 +LDAMTXT = .TRUE. ! true: dam inflow-outflw txt output +LDAMH22 = .FALSE. ! True to use Hanazaki 2022 dam scheme. (False for Yamazaki&Funato scheme) +LDAMYBY = .FALSE. ! .TRUE. to use Year-By-Year dam activation scheme. .False. for All-reservoirs-in scheme +LiVnorm = .FALSE. ! .TRUE. to use Noemal Volume as initial reservoir storage. False for zero-additional storage. + +/ + + From 177c523bfeb0ad3b31c7b41faadccd7f7fe19a3f Mon Sep 17 00:00:00 2001 From: zhangsp8 <21294631@qq.com> Date: Tue, 19 Nov 2024 18:21:35 +0800 Subject: [PATCH 4/8] restore some files 2. --- run/CaMa/cama_flood.nml | 48 ++++++++------- run/examples/cama_flood.nml | 120 ------------------------------------ 2 files changed, 26 insertions(+), 142 deletions(-) delete mode 100644 run/examples/cama_flood.nml diff --git a/run/CaMa/cama_flood.nml b/run/CaMa/cama_flood.nml index 5e95e2af..b465e101 100644 --- a/run/CaMa/cama_flood.nml +++ b/run/CaMa/cama_flood.nml @@ -1,16 +1,16 @@ &NRUNVER -LADPSTP = .TRUE. ! true: use adaptive time step +LADPSTP = .FALSE. ! true: use adaptive time step LFPLAIN = .TRUE. ! true: consider floodplain (false: only river channel) LKINE = .FALSE. ! true: use kinematic wave LFLDOUT = .TRUE. ! true: floodplain flow (high-water channel flow) active LPTHOUT = .TRUE. ! true: activate bifurcation scheme -LDAMOUT = .FALSE. ! true: activate dam operation +LDAMOUT = .FALSE. ! true: activate dam operation (under development) LLEVEE = .FALSE. ! true: activate levee scheme (under development) LROSPLIT = .FALSE. ! true: input if surface (Qs) and sub-surface (Qsb) runoff -LWEVAP = .FALSE. ! true: input water evaporation to extract from floodplain -LWEVAPFIX = .FALSE. ! true: water balance closure extracting water from evap when available +LWEVAP = .TRUE. ! true: input water evaporation to extract from floodplain +LWEVAPFIX = .TRUE. ! true: water balance closure extracting water from evap when available LWINFILT = .FALSE. ! true: input water infiltration to extract from floodplain LWINFILTFIX = .FALSE. ! true: water balance closure extracting water from Infiltration when available LWEXTRACTRIV = .FALSE. ! true: also extract water from rivers @@ -35,7 +35,7 @@ LMAPEND = .FALSE. ! true: for map data endian conv LSTG_ES = .FALSE. ! true: for Vector Processor optimization (CMF_OPT_FLDSTG_ES) / &NDIMTIME -CDIMINFO = "/tera13/zhangsp/work/CoLM2024_simtop/CaMa/map/US_0.1/diminfo_US.txt" ! text file for dimention information +CDIMINFO = "../CaMa/map/CaMaMap4CoLM_glb_0.25in_0.25out/glb_0.25in_0.25out-diminfo.txt" ! text file for dimention information DT = 21600 ! time step length (sec) IFRQ_INP = 6 ! input forcing update frequency (hour) / @@ -47,8 +47,8 @@ PDSTMTH = 10000.D0 ! downstream distance at river mouth [m] PCADP = 0.7 ! CFL coefficient PMINSLP = 1.D-5 ! minimum slope (kinematic wave) IMIS = -9999 ! missing value for integer -RMIS = -1.0e+36 ! missing value for real*4 -DMIS = -1.0e+36 ! missing value for real*8 +RMIS = 1.E36 ! missing value for real*4 +DMIS = 1.E36 ! missing value for real*8 CSUFBIN = '.bin' ! file suffix for plain binary 2D map CSUFVEC = '.vec' ! file suffix for plain binary 1D vector CSUFPTH = '.pth' ! file suffix for plain binary bifurcation channel @@ -66,22 +66,22 @@ EHOUR = 00 ! hour : will not gonna used in here / &NMAP LMAPCDF = .FALSE. ! * true for netCDF map input -CNEXTXY = "/tera13/zhangsp/work/CoLM2024_simtop/CaMa/map/US_0.1/nextxy.bin" ! river network nextxy -CGRAREA = "/tera13/zhangsp/work/CoLM2024_simtop/CaMa/map/US_0.1/ctmare.bin" ! catchment area -CELEVTN = "/tera13/zhangsp/work/CoLM2024_simtop/CaMa/map/US_0.1/elevtn.bin" ! bank top elevation -CNXTDST = "/tera13/zhangsp/work/CoLM2024_simtop/CaMa/map/US_0.1/nxtdst.bin" ! distance to next outlet -CRIVLEN = "/tera13/zhangsp/work/CoLM2024_simtop/CaMa/map/US_0.1/rivlen.bin" ! river channel length -CFLDHGT = "/tera13/zhangsp/work/CoLM2024_simtop/CaMa/map/US_0.1/fldhgt.bin" ! floodplain elevation profile -CRIVWTH = "/tera13/zhangsp/work/CoLM2024_simtop/CaMa/map/US_0.1/rivwth_gwdlr.bin" ! channel width -CRIVHGT = "/tera13/zhangsp/work/CoLM2024_simtop/CaMa/map/US_0.1/rivhgt.bin" ! channel depth -CRIVMAN = "/tera13/zhangsp/work/CoLM2024_simtop/CaMa/map/US_0.1/rivman.bin" ! river manning coefficient -CPTHOUT = "/tera13/zhangsp/work/CoLM2024_simtop/CaMa/map/US_0.1/bifprm.txt" ! bifurcation channel table +CNEXTXY = "../CaMa/map/CaMaMap4CoLM_glb_0.25in_0.25out/nextxy.bin" ! river network nextxy +CGRAREA = "../CaMa/map/CaMaMap4CoLM_glb_0.25in_0.25out/ctmare.bin" ! catchment area +CELEVTN = "../CaMa/map/CaMaMap4CoLM_glb_0.25in_0.25out/elevtn.bin" ! bank top elevation +CNXTDST = "../CaMa/map/CaMaMap4CoLM_glb_0.25in_0.25out/nxtdst.bin" ! distance to next outlet +CRIVLEN = "../CaMa/map/CaMaMap4CoLM_glb_0.25in_0.25out/rivlen.bin" ! river channel length +CFLDHGT = "../CaMa/map/CaMaMap4CoLM_glb_0.25in_0.25out/fldhgt.bin" ! floodplain elevation profile +CRIVWTH = "../CaMa/map/CaMaMap4CoLM_glb_0.25in_0.25out/rivwth_gwdlr.bin" ! channel width +CRIVHGT = "../CaMa/map/CaMaMap4CoLM_glb_0.25in_0.25out/rivhgt.bin" ! channel depth +CRIVMAN = "../CaMa/map/CaMaMap4CoLM_glb_0.25in_0.25out/rivman.bin" ! river manning coefficient +CPTHOUT = "../CaMa/map/CaMaMap4CoLM_glb_0.25in_0.25out/bifprm.txt" ! bifurcation channel table CGDWDLY = "" ! Groundwater Delay Parameter CMEANSL = "" ! mean sea level CRIVCLINC = "" ! * river map netcdf CRIVPARNC = "" ! * river parameter netcdf (width, height, manning, ground water delay) CMEANSLNC = "" ! * mean sea level netCDF -!CMPIREG = "/share/home/dq094/baif/CoLM202X-20240514_test1/CaMa/map/US_0.1/mpireg-2.bin" +!CMPIREG = "../CaMa/map/CaMaMap4CoLM_glb_0.25in_0.25out/mpireg-2.bin" / &NRESTART CRESTSTO = "" ! restart file @@ -94,15 +94,15 @@ IFRQ_RST = 0 ! restart write frequency (1-24: hour, 0:end of run LINTERP = .TRUE. ! true for runoff interpolation using input matrix LINPEND = .TRUE. ! true for runoff endian conversion LITRPCDF = .FALSE. ! * true for netCDF input matrix -CINPMAT = "/tera13/zhangsp/work/CoLM2024_simtop/CaMa/map/US_0.1/inpmat_US.bin" ! input matrix file name +CINPMAT = "../CaMa/map/CaMaMap4CoLM_glb_0.25in_0.25out/glb_0.25in_0.25out-inpmat.bin" ! input matrix file name DROFUNIT = 1.0 ! runoff unit conversion / &NOUTPUT COUTDIR = "../../cases/" ! OUTPUT DIRECTORY !CVARSOUT="wevap,winfilt,rivout,rivsto,rivdph,rivvel,fldout,fldsto,flddph,fldfrc,fldare,sfcelv,outflw,storge,pthflw,pthout,maxsto,maxflw,maxdph" # list output variable (comma separated) -CVARSOUT = "outflw,fldout,flddph,fldfrc,fldare,runoff" ! Comma-separated list of output variables to save -COUTTAG = "test" ! Output Tag Name for each experiment -LOUTVEC = .FALSE ! TRUE FOR VECTORIAL OUTPUT, FALSE FOR NX,NY OUTPUT +CVARSOUT = "wevap,outflw,fldout,flddph,fldfrc,fldare,runoff" ! Comma-separated list of output variables to save +COUTTAG = "test"! Output Tag Name for each experiment +LOUTVEC = .FALSE. ! TRUE FOR VECTORIAL OUTPUT, FALSE FOR NX,NY OUTPUT LOUTCDF = .TRUE. ! * true for netcdf outptu false for binary NDLEVEL = 1 ! * NETCDF DEFLATION LEVEL IFRQ_OUT = 1 ! output data write frequency (hour) @@ -111,6 +111,10 @@ IFRQ_OUT = 1 ! output data write frequency (hour) CDAMFILE = "../CaMa/map/dam_params_glb_15min/" ! dam paramter file LDAMOPT = "V13" ! LIS H22 H06 V13 LDAMTXT = .TRUE. ! true: dam inflow-outflw txt output +LDAMH22 = .FALSE. ! True to use Hanazaki 2022 dam scheme. (False for Yamazaki&Funato scheme) +LDAMYBY = .FALSE. ! .TRUE. to use Year-By-Year dam activation scheme. .False. for All-reservoirs-in scheme +LiVnorm = .FALSE. ! .TRUE. to use Noemal Volume as initial reservoir storage. False for zero-additional storage. + / diff --git a/run/examples/cama_flood.nml b/run/examples/cama_flood.nml deleted file mode 100644 index b465e101..00000000 --- a/run/examples/cama_flood.nml +++ /dev/null @@ -1,120 +0,0 @@ -&NRUNVER -LADPSTP = .FALSE. ! true: use adaptive time step -LFPLAIN = .TRUE. ! true: consider floodplain (false: only river channel) -LKINE = .FALSE. ! true: use kinematic wave -LFLDOUT = .TRUE. ! true: floodplain flow (high-water channel flow) active -LPTHOUT = .TRUE. ! true: activate bifurcation scheme -LDAMOUT = .FALSE. ! true: activate dam operation (under development) -LLEVEE = .FALSE. ! true: activate levee scheme (under development) - - -LROSPLIT = .FALSE. ! true: input if surface (Qs) and sub-surface (Qsb) runoff -LWEVAP = .TRUE. ! true: input water evaporation to extract from floodplain -LWEVAPFIX = .TRUE. ! true: water balance closure extracting water from evap when available -LWINFILT = .FALSE. ! true: input water infiltration to extract from floodplain -LWINFILTFIX = .FALSE. ! true: water balance closure extracting water from Infiltration when available -LWEXTRACTRIV = .FALSE. ! true: also extract water from rivers -LSLOPEMOUTH = .FALSE. ! true: prescribe water level slope == elevation slope on river month - -LGDWDLY = .FALSE. ! true: Activate ground water reservoir and delay -LSLPMIX = .FALSE. ! true: activate mixed kinematic and local inertia based on slope - -LMEANSL = .FALSE. ! true: boundary condition for mean sea level -LSEALEV = .FALSE. ! true: boundary condition for variable sea level -!LOUTINS = .FALSE. ! true: diagnose instantaneous discharge - -LRESTART = .FALSE. ! true: initial condition from restart file -LSTOONLY = .FALSE. ! true: storage only restart (mainly for data assimilation) -LOUTPUT = .TRUE. ! true: use standard output (to file) -LOUTINI = .FALSE. ! true: output initial storage (netCDF only) - -LGRIDMAP = .TRUE. ! true: for standard XY gridded 2D map -LLEAPYR = .TRUE. ! true: neglect leap year (Feb29 skipped) - -LMAPEND = .FALSE. ! true: for map data endian conversion -LSTG_ES = .FALSE. ! true: for Vector Processor optimization (CMF_OPT_FLDSTG_ES) -/ -&NDIMTIME -CDIMINFO = "../CaMa/map/CaMaMap4CoLM_glb_0.25in_0.25out/glb_0.25in_0.25out-diminfo.txt" ! text file for dimention information -DT = 21600 ! time step length (sec) -IFRQ_INP = 6 ! input forcing update frequency (hour) -/ -&NPARAM -PMANRIV = 0.03D0 ! manning coefficient river -PMANFLD = 0.10D0 ! manning coefficient floodplain -PGRV = 9.8D0 ! gravity accerelation -PDSTMTH = 10000.D0 ! downstream distance at river mouth [m] -PCADP = 0.7 ! CFL coefficient -PMINSLP = 1.D-5 ! minimum slope (kinematic wave) -IMIS = -9999 ! missing value for integer -RMIS = 1.E36 ! missing value for real*4 -DMIS = 1.E36 ! missing value for real*8 -CSUFBIN = '.bin' ! file suffix for plain binary 2D map -CSUFVEC = '.vec' ! file suffix for plain binary 1D vector -CSUFPTH = '.pth' ! file suffix for plain binary bifurcation channel -CSUFCDF = '.nc' ! file suffix for netCDF -/ -&NSIMTIME -SYEAR = 1900 ! start year : will not gonna used in here -SMON = 01 ! month : will not gonna used in here -SDAY = 01 ! day : will not gonna used in here -SHOUR = 00 ! hour : will not gonna used in here -EYEAR = 2024 ! end year : will not gonna used in here -EMON = 01 ! month : will not gonna used in here -EDAY = 01 ! day : will not gonna used in here -EHOUR = 00 ! hour : will not gonna used in here -/ -&NMAP -LMAPCDF = .FALSE. ! * true for netCDF map input -CNEXTXY = "../CaMa/map/CaMaMap4CoLM_glb_0.25in_0.25out/nextxy.bin" ! river network nextxy -CGRAREA = "../CaMa/map/CaMaMap4CoLM_glb_0.25in_0.25out/ctmare.bin" ! catchment area -CELEVTN = "../CaMa/map/CaMaMap4CoLM_glb_0.25in_0.25out/elevtn.bin" ! bank top elevation -CNXTDST = "../CaMa/map/CaMaMap4CoLM_glb_0.25in_0.25out/nxtdst.bin" ! distance to next outlet -CRIVLEN = "../CaMa/map/CaMaMap4CoLM_glb_0.25in_0.25out/rivlen.bin" ! river channel length -CFLDHGT = "../CaMa/map/CaMaMap4CoLM_glb_0.25in_0.25out/fldhgt.bin" ! floodplain elevation profile -CRIVWTH = "../CaMa/map/CaMaMap4CoLM_glb_0.25in_0.25out/rivwth_gwdlr.bin" ! channel width -CRIVHGT = "../CaMa/map/CaMaMap4CoLM_glb_0.25in_0.25out/rivhgt.bin" ! channel depth -CRIVMAN = "../CaMa/map/CaMaMap4CoLM_glb_0.25in_0.25out/rivman.bin" ! river manning coefficient -CPTHOUT = "../CaMa/map/CaMaMap4CoLM_glb_0.25in_0.25out/bifprm.txt" ! bifurcation channel table -CGDWDLY = "" ! Groundwater Delay Parameter -CMEANSL = "" ! mean sea level -CRIVCLINC = "" ! * river map netcdf -CRIVPARNC = "" ! * river parameter netcdf (width, height, manning, ground water delay) -CMEANSLNC = "" ! * mean sea level netCDF -!CMPIREG = "../CaMa/map/CaMaMap4CoLM_glb_0.25in_0.25out/mpireg-2.bin" -/ -&NRESTART -CRESTSTO = "" ! restart file -CRESTDIR = "./" ! restart directory -CVNREST = "restart" ! restart variable name -LRESTCDF = .FALSE. ! * true for netCDF restart file -IFRQ_RST = 0 ! restart write frequency (1-24: hour, 0:end of run) -/ -&NFORCE -LINTERP = .TRUE. ! true for runoff interpolation using input matrix -LINPEND = .TRUE. ! true for runoff endian conversion -LITRPCDF = .FALSE. ! * true for netCDF input matrix -CINPMAT = "../CaMa/map/CaMaMap4CoLM_glb_0.25in_0.25out/glb_0.25in_0.25out-inpmat.bin" ! input matrix file name -DROFUNIT = 1.0 ! runoff unit conversion -/ -&NOUTPUT -COUTDIR = "../../cases/" ! OUTPUT DIRECTORY -!CVARSOUT="wevap,winfilt,rivout,rivsto,rivdph,rivvel,fldout,fldsto,flddph,fldfrc,fldare,sfcelv,outflw,storge,pthflw,pthout,maxsto,maxflw,maxdph" # list output variable (comma separated) -CVARSOUT = "wevap,outflw,fldout,flddph,fldfrc,fldare,runoff" ! Comma-separated list of output variables to save -COUTTAG = "test"! Output Tag Name for each experiment -LOUTVEC = .FALSE. ! TRUE FOR VECTORIAL OUTPUT, FALSE FOR NX,NY OUTPUT -LOUTCDF = .TRUE. ! * true for netcdf outptu false for binary -NDLEVEL = 1 ! * NETCDF DEFLATION LEVEL -IFRQ_OUT = 1 ! output data write frequency (hour) -/ -&NDAMOUT -CDAMFILE = "../CaMa/map/dam_params_glb_15min/" ! dam paramter file -LDAMOPT = "V13" ! LIS H22 H06 V13 -LDAMTXT = .TRUE. ! true: dam inflow-outflw txt output -LDAMH22 = .FALSE. ! True to use Hanazaki 2022 dam scheme. (False for Yamazaki&Funato scheme) -LDAMYBY = .FALSE. ! .TRUE. to use Year-By-Year dam activation scheme. .False. for All-reservoirs-in scheme -LiVnorm = .FALSE. ! .TRUE. to use Noemal Volume as initial reservoir storage. False for zero-additional storage. - -/ - - From 24c7b8b7d5532792e97e8f35cf074b2cb6369ffc Mon Sep 17 00:00:00 2001 From: zhangsp8 <21294631@qq.com> Date: Tue, 19 Nov 2024 18:24:47 +0800 Subject: [PATCH 5/8] restore some files 3. --- .../Global_unstructured_T639_IGBP_CB.nml | 67 ------------------- run/examples/Heihe_Grid_12p5km_IGBP_VG.nml | 63 ----------------- run/examples/SiteGGF_IGBP_VG.nml | 57 ---------------- .../YangtzeRiver_Catch_250km2_IGBP_VG.nml | 55 --------------- 4 files changed, 242 deletions(-) delete mode 100644 run/examples/Global_unstructured_T639_IGBP_CB.nml delete mode 100644 run/examples/Heihe_Grid_12p5km_IGBP_VG.nml delete mode 100644 run/examples/SiteGGF_IGBP_VG.nml delete mode 100644 run/examples/YangtzeRiver_Catch_250km2_IGBP_VG.nml diff --git a/run/examples/Global_unstructured_T639_IGBP_CB.nml b/run/examples/Global_unstructured_T639_IGBP_CB.nml deleted file mode 100644 index 53724198..00000000 --- a/run/examples/Global_unstructured_T639_IGBP_CB.nml +++ /dev/null @@ -1,67 +0,0 @@ -&nl_colm - - DEF_CASE_NAME = 'unstructured_gfkd' - - DEF_domain%edges = -90.0 - DEF_domain%edgen = 90.0 - DEF_domain%edgew = -180.0 - DEF_domain%edgee = 180.0 - - DEF_nx_blocks = 72 - DEF_ny_blocks = 36 - DEF_PIO_groupsize = 12 - - DEF_simulation_time%greenwich = .TRUE. - DEF_simulation_time%start_year = 2000 - DEF_simulation_time%start_month = 1 - DEF_simulation_time%start_day = 1 - DEF_simulation_time%start_sec = 0 - DEF_simulation_time%end_year = 2003 - DEF_simulation_time%end_month = 12 - DEF_simulation_time%end_day = 31 - DEF_simulation_time%end_sec = 86400 - DEF_simulation_time%spinup_year = 2000 - DEF_simulation_time%spinup_month = 12 - DEF_simulation_time%spinup_day = 31 - DEF_simulation_time%spinup_sec = 86400 - DEF_simulation_time%timestep = 1800. - - DEF_simulation_time%spinup_repeat = 2 - - DEF_dir_rawdata = '/tera07/CLMrawdata/' - DEF_dir_runtime = '/tera07/CoLMruntime/' - DEF_dir_output = '/tera05/zhangsp/cases/' - - ! for GRIDBASED - DEF_file_mesh = '/home/wein/Guass/mesh_639.nc' - - ! LAI setting - DEF_LAI_MONTHLY = .true. - DEF_LAI_CHANGE_YEARLY = .false. - - ! Model settings - DEF_LANDONLY = .true. - DEF_USE_DOMINANT_PATCHTYPE = .false. - DEF_USE_VARIABLY_SATURATED_FLOW = .true. - - ! Canopy DEF Interception scheme selection - DEF_Interception_scheme=1 !1:CoLM2014;2:CLM4.5; 3:CLM5; 4:Noah-MP; 5:MATSIRO; 6:VIC - - ! ----- forcing ----- - DEF_forcing_namelist = '/tera03/wein/CoLM2023/run/forcing/GSWP3.nml' - - ! ----- history ----- - DEF_HISTORY_IN_VECTOR = .false. - DEF_hist_grid_as_forcing = .true. - - DEF_WRST_FREQ = 'MONTHLY' ! write restart file frequency: HOURLY/DAILY/MONTHLY/YEARLY - DEF_HIST_FREQ = 'MONTHLY' ! write history file frequency: HOURLY/DAILY/MONTHLY/YEARLY - DEF_HIST_groupby = 'MONTH' ! history in one file: DAY/MONTH/YEAR - DEF_HIST_mode = 'one' ! history in one or block - DEF_REST_CompressLevel = 1 - DEF_HIST_CompressLevel = 1 - - DEF_hist_vars_out_default = .true. - DEF_hist_vars_namelist = '/tera04/zhangsp/CoLM202X/run/history.nml' - -/ diff --git a/run/examples/Heihe_Grid_12p5km_IGBP_VG.nml b/run/examples/Heihe_Grid_12p5km_IGBP_VG.nml deleted file mode 100644 index 64fb7447..00000000 --- a/run/examples/Heihe_Grid_12p5km_IGBP_VG.nml +++ /dev/null @@ -1,63 +0,0 @@ -&nl_colm - -! Author: Shupeng Zhang -! Description : include soil state init from data. - - DEF_CASE_NAME = 'Heihe_Grid_12p5km_IGBP_VG' - - DEF_domain%edges = 37.0 - DEF_domain%edgen = 39.0 - DEF_domain%edgew = 100.0 - DEF_domain%edgee = 102.0 - - DEF_simulation_time%greenwich = .TRUE. - DEF_simulation_time%start_year = 2010 - DEF_simulation_time%start_month = 1 - DEF_simulation_time%start_day = 1 - DEF_simulation_time%start_sec = 0 - DEF_simulation_time%end_year = 2010 - DEF_simulation_time%end_month = 1 - DEF_simulation_time%end_day = 31 - DEF_simulation_time%end_sec = 86400 - DEF_simulation_time%spinup_year = 0 - DEF_simulation_time%spinup_month = 1 - DEF_simulation_time%spinup_day = 365 - DEF_simulation_time%spinup_sec = 86400 - DEF_simulation_time%spinup_repeat = 0 - - DEF_simulation_time%timestep = 1800. - - DEF_dir_rawdata = '/tera07/CoLMrawdata/' - DEF_dir_runtime = '/tera07/CoLMruntime/' - DEF_dir_output = '/tera13/zhangsp/cases' - - ! ----- land units and land sets ----- - ! for GRIDBASED - DEF_GRIDBASED_lon_res = 0.125 - DEF_GRIDBASED_lat_res = 0.125 - - ! ----- forcing ----- - ! Options : - ! PRINCETON | GSWP3 | QIAN | CRUNCEPV4 | CRUNCEPV7 | ERA5LAND | ERA5 | MSWX - ! WFDE5 | CRUJRA | WFDEI | JRA55 | GDAS | CMFD | POINT | JRA3Q - DEF_forcing_namelist = '/tera13/zhangsp/work/CoLM2024/run/forcing/ERA5.nml' - - DEF_USE_Forcing_Downscaling =.false. - DEF_Forcing_Interp_Method = 'arealweight' ! 'arealweight' (default) or 'bilinear' - - ! ----- history ----- - DEF_HIST_lon_res = 0.125 - DEF_HIST_lat_res = 0.125 - DEF_WRST_FREQ = 'MONTHLY' ! write restart file frequency: HOURLY/DAILY/MONTHLY/YEARLY - DEF_HIST_FREQ = 'MONTHLY' ! write history file frequency: HOURLY/DAILY/MONTHLY/YEARLY - DEF_HIST_groupby = 'MONTH' ! history in one file: DAY/MONTH/YEAR - DEF_HIST_mode = 'one' ! history in one or block - DEF_REST_CompressLevel = 1 - DEF_HIST_CompressLevel = 1 - - DEF_HIST_WriteBack = .false. - - DEF_hist_vars_out_default = .false. - DEF_hist_vars_namelist = '/tera13/zhangsp/work/CoLM2024/run/history.nml' - -/ diff --git a/run/examples/SiteGGF_IGBP_VG.nml b/run/examples/SiteGGF_IGBP_VG.nml deleted file mode 100644 index f2947ef9..00000000 --- a/run/examples/SiteGGF_IGBP_VG.nml +++ /dev/null @@ -1,57 +0,0 @@ -&nl_colm - - DEF_CASE_NAME = 'SiteGGF_IGBP_VG' - - SITE_lon_location = 101.983333 - SITE_lat_location = 29.566667 - - USE_SITE_landtype = .false. - USE_SITE_htop = .false. - USE_SITE_LAI = .false. - USE_SITE_lakedepth = .false. - USE_SITE_soilreflectance = .false. - USE_SITE_soilparameters = .false. - USE_SITE_dbedrock = .false. - USE_SITE_topography = .false. - USE_SITE_topostd = .false. - USE_SITE_BVIC = .false. - - DEF_simulation_time%greenwich = .TRUE. - DEF_simulation_time%start_year = 1951 - DEF_simulation_time%start_month = 1 - DEF_simulation_time%start_day = 1 - DEF_simulation_time%start_sec = 0 - DEF_simulation_time%end_year = 2020 - DEF_simulation_time%end_month = 12 - DEF_simulation_time%end_day = 31 - DEF_simulation_time%end_sec = 86400 - DEF_simulation_time%spinup_year = 1999 - DEF_simulation_time%spinup_month = 12 - DEF_simulation_time%spinup_day = 31 - DEF_simulation_time%spinup_sec = 86400 - DEF_simulation_time%spinup_repeat = 1 - - DEF_simulation_time%timestep = 1800. - - DEF_dir_rawdata = '/shr03/CoLMrawdata/' - DEF_dir_runtime = '/shr03/CoLMruntime/' - DEF_dir_output = '/tera13/zhangsp/cases' - - ! LAI setting - DEF_LAI_MONTHLY = .true. - DEF_LAI_CHANGE_YEARLY = .false. - - ! ----- forcing ----- - ! Options : - ! PRINCETON | GSWP3 | QIAN | CRUNCEPV4 | CRUNCEPV7 | ERA5LAND | ERA5 | MSWX - ! WFDE5 | CRUJRA | WFDEI | JRA55 | GDAS | CMFD | POINT | JRA3Q - DEF_forcing_namelist = '/tera13/zhangsp/work/CoLM2024/run/forcing/CRUJRA.nml' - - ! ----- history ----- - DEF_WRST_FREQ = 'MONTHLY' ! write restart file frequency: HOURLY/DAILY/MONTHLY/YEARLY - DEF_HIST_FREQ = 'MONTHLY' ! write history file frequency: HOURLY/DAILY/MONTHLY/YEARLY - DEF_HIST_groupby = 'MONTH' ! history in one file: DAY/MONTH/YEAR - - DEF_hist_vars_out_default = .true. - -/ diff --git a/run/examples/YangtzeRiver_Catch_250km2_IGBP_VG.nml b/run/examples/YangtzeRiver_Catch_250km2_IGBP_VG.nml deleted file mode 100644 index dee1dece..00000000 --- a/run/examples/YangtzeRiver_Catch_250km2_IGBP_VG.nml +++ /dev/null @@ -1,55 +0,0 @@ -&nl_colm - -! Author: Shupeng Zhang -! Description : An example for CATCHMENT grid. - - DEF_CASE_NAME = 'YangtzeRiver_Catch_250km2_IGBP_VG' - - DEF_domain%edges = 24.0 - DEF_domain%edgen = 36.0 - DEF_domain%edgew = 90.0 - DEF_domain%edgee = 122.0 - - DEF_simulation_time%greenwich = .TRUE. - DEF_simulation_time%start_year = 2016 - DEF_simulation_time%start_month = 2 - DEF_simulation_time%start_day = 1 - DEF_simulation_time%start_sec = 0 - DEF_simulation_time%end_year = 2020 - DEF_simulation_time%end_month = 12 - DEF_simulation_time%end_day = 31 - DEF_simulation_time%end_sec = 86400 - DEF_simulation_time%spinup_year = 0 - DEF_simulation_time%spinup_month = 1 - DEF_simulation_time%spinup_day = 365 - DEF_simulation_time%spinup_sec = 86400 - DEF_simulation_time%spinup_repeat = 0 - - DEF_simulation_time%timestep = 1800. - - DEF_dir_rawdata = '/shr03/CoLMrawdata/' - DEF_dir_runtime = '/shr03/CoLMruntime/' - DEF_dir_output = '/tera13/zhangsp/cases' - - DEF_CatchmentMesh_data = '/tera13/zhangsp/work/hillslope/output/yangtze_250km2.nc' - DEF_ElementNeighbour_file = '/tera13/zhangsp/work/hillslope/output/yangtze_250km2.nc' - - DEF_LAI_CHANGE_YEARLY = .false. - DEF_USE_Dynamic_Lake = .true. - - ! ----- forcing ----- - ! Options : - ! PRINCETON | GSWP3 | QIAN | CRUNCEPV4 | CRUNCEPV7 | ERA5LAND | ERA5 | MSWX - ! WFDE5 | CRUJRA | WFDEI | JRA55 | GDAS | CMFD | POINT | JRA3Q - DEF_forcing_namelist = '/tera13/zhangsp/work/CoLM2024/run/forcing/CRUJRA.nml' - - ! ----- history ----- - DEF_HIST_lon_res = 0.05 - DEF_HIST_lat_res = 0.05 - DEF_WRST_FREQ = 'MONTHLY' ! write restart file frequency: HOURLY/DAILY/MONTHLY/YEARLY - DEF_HIST_FREQ = 'DAILY' ! write history file frequency: HOURLY/DAILY/MONTHLY/YEARLY - DEF_HIST_groupby = 'MONTH' ! history in one file: DAY/MONTH/YEAR - - DEF_hist_vars_out_default = .true. - -/ From c43b310e2fe593d94e4172697fdb8e6dd65fce57 Mon Sep 17 00:00:00 2001 From: zhangsp8 <21294631@qq.com> Date: Tue, 19 Nov 2024 21:15:56 +0800 Subject: [PATCH 6/8] full history list. --- include/Makeoptions.land.gnu | 7 +- run/examples/full_history_variables.nml | 353 ++++++++++++++++++++++++ run/examples/history.nml | 110 -------- 3 files changed, 355 insertions(+), 115 deletions(-) create mode 100644 run/examples/full_history_variables.nml delete mode 100644 run/examples/history.nml diff --git a/include/Makeoptions.land.gnu b/include/Makeoptions.land.gnu index da29540b..98131332 100755 --- a/include/Makeoptions.land.gnu +++ b/include/Makeoptions.land.gnu @@ -4,11 +4,8 @@ FF = mpif90 -fopenmp -# NETCDF_LIB = /usr/lib/x86_64-linux-gnu -# NETCDF_INC = /usr/include - -NETCDF_LIB = /opt/netcdf-c-4.9.2-fortran-4.6.0-gnu/lib -NETCDF_INC = /opt/netcdf-c-4.9.2-fortran-4.6.0-gnu/include + NETCDF_LIB = /opt/netcdf-c-4.9.2-fortran-4.6.0-gnu/lib + NETCDF_INC = /opt/netcdf-c-4.9.2-fortran-4.6.0-gnu/include MOD_CMD = -J diff --git a/run/examples/full_history_variables.nml b/run/examples/full_history_variables.nml new file mode 100644 index 00000000..8eabbf9c --- /dev/null +++ b/run/examples/full_history_variables.nml @@ -0,0 +1,353 @@ +&nl_colm_history + + ! ----------- history ------------ + ! A full list of output variables. + + DEF_hist_vars%xy_us = .true. + DEF_hist_vars%xy_vs = .true. + DEF_hist_vars%xy_t = .true. + DEF_hist_vars%xy_q = .true. + DEF_hist_vars%xy_prc = .true. + DEF_hist_vars%xy_prl = .true. + DEF_hist_vars%xy_pbot = .true. + DEF_hist_vars%xy_frl = .true. + DEF_hist_vars%xy_solarin = .true. + DEF_hist_vars%xy_rain = .true. + DEF_hist_vars%xy_snow = .true. + DEF_hist_vars%xy_ozone = .true. + DEF_hist_vars%xy_hpbl = .true. + + DEF_hist_vars%taux = .true. + DEF_hist_vars%tauy = .true. + DEF_hist_vars%fsena = .true. + DEF_hist_vars%lfevpa = .true. + DEF_hist_vars%fevpa = .true. + DEF_hist_vars%fsenl = .true. + DEF_hist_vars%fevpl = .true. + DEF_hist_vars%etr = .true. + DEF_hist_vars%fseng = .true. + DEF_hist_vars%fevpg = .true. + DEF_hist_vars%fgrnd = .true. + DEF_hist_vars%sabvsun = .true. + DEF_hist_vars%sabvsha = .true. + DEF_hist_vars%sabg = .true. + DEF_hist_vars%olrg = .true. + DEF_hist_vars%rnet = .true. + DEF_hist_vars%xerr = .true. + DEF_hist_vars%zerr = .true. + DEF_hist_vars%rsur = .true. + DEF_hist_vars%rsur_se = .true. + DEF_hist_vars%rsur_ie = .true. + DEF_hist_vars%rsub = .true. + DEF_hist_vars%rnof = .true. + DEF_hist_vars%xwsur = .true. + DEF_hist_vars%xwsub = .true. + DEF_hist_vars%qintr = .true. + DEF_hist_vars%qinfl = .true. + DEF_hist_vars%qdrip = .true. + DEF_hist_vars%wat = .true. + DEF_hist_vars%wat_inst = .true. + DEF_hist_vars%wetwat = .true. + DEF_hist_vars%wetwat_inst = .true. + DEF_hist_vars%assim = .true. + DEF_hist_vars%respc = .true. + DEF_hist_vars%qcharge = .true. + DEF_hist_vars%t_grnd = .true. + DEF_hist_vars%tleaf = .true. + DEF_hist_vars%ldew = .true. + DEF_hist_vars%scv = .true. + DEF_hist_vars%snowdp = .true. + DEF_hist_vars%fsno = .true. + DEF_hist_vars%sigf = .true. + DEF_hist_vars%green = .true. + DEF_hist_vars%lai = .true. + DEF_hist_vars%laisun = .true. + DEF_hist_vars%laisha = .true. + DEF_hist_vars%sai = .true. + DEF_hist_vars%alb = .true. + DEF_hist_vars%emis = .true. + DEF_hist_vars%z0m = .true. + DEF_hist_vars%trad = .true. + DEF_hist_vars%rss = .true. + DEF_hist_vars%tref = .true. + DEF_hist_vars%qref = .true. + + DEF_hist_vars%fsen_roof = .true. + DEF_hist_vars%fsen_wsun = .true. + DEF_hist_vars%fsen_wsha = .true. + DEF_hist_vars%fsen_gimp = .true. + DEF_hist_vars%fsen_gper = .true. + DEF_hist_vars%fsen_urbl = .true. + DEF_hist_vars%lfevp_roof = .true. + DEF_hist_vars%lfevp_gimp = .true. + DEF_hist_vars%lfevp_gper = .true. + DEF_hist_vars%lfevp_urbl = .true. + DEF_hist_vars%fhac = .true. + DEF_hist_vars%fwst = .true. + DEF_hist_vars%fach = .true. + DEF_hist_vars%fhah = .true. + DEF_hist_vars%meta = .true. + DEF_hist_vars%vehc = .true. + DEF_hist_vars%t_room = .true. + DEF_hist_vars%tafu = .true. + DEF_hist_vars%t_roof = .true. + DEF_hist_vars%t_wall = .true. + + DEF_hist_vars%assimsun = .true. + DEF_hist_vars%assimsha = .true. + DEF_hist_vars%etrsun = .true. + DEF_hist_vars%etrsha = .true. + + DEF_hist_vars%leafc = .true. + DEF_hist_vars%leafc_storage = .true. + DEF_hist_vars%leafc_xfer = .true. + DEF_hist_vars%frootc = .true. + DEF_hist_vars%frootc_storage = .true. + DEF_hist_vars%frootc_xfer = .true. + DEF_hist_vars%livestemc = .true. + DEF_hist_vars%livestemc_storage = .true. + DEF_hist_vars%livestemc_xfer = .true. + DEF_hist_vars%deadstemc = .true. + DEF_hist_vars%deadstemc_storage = .true. + DEF_hist_vars%deadstemc_xfer = .true. + DEF_hist_vars%livecrootc = .true. + DEF_hist_vars%livecrootc_storage = .true. + DEF_hist_vars%livecrootc_xfer = .true. + DEF_hist_vars%deadcrootc = .true. + DEF_hist_vars%deadcrootc_storage = .true. + DEF_hist_vars%deadcrootc_xfer = .true. + DEF_hist_vars%grainc = .true. + DEF_hist_vars%grainc_storage = .true. + DEF_hist_vars%grainc_xfer = .true. + DEF_hist_vars%leafn = .true. + DEF_hist_vars%leafn_storage = .true. + DEF_hist_vars%leafn_xfer = .true. + DEF_hist_vars%frootn = .true. + DEF_hist_vars%frootn_storage = .true. + DEF_hist_vars%frootn_xfer = .true. + DEF_hist_vars%livestemn = .true. + DEF_hist_vars%livestemn_storage = .true. + DEF_hist_vars%livestemn_xfer = .true. + DEF_hist_vars%deadstemn = .true. + DEF_hist_vars%deadstemn_storage = .true. + DEF_hist_vars%deadstemn_xfer = .true. + DEF_hist_vars%livecrootn = .true. + DEF_hist_vars%livecrootn_storage = .true. + DEF_hist_vars%livecrootn_xfer = .true. + DEF_hist_vars%deadcrootn = .true. + DEF_hist_vars%deadcrootn_storage = .true. + DEF_hist_vars%deadcrootn_xfer = .true. + DEF_hist_vars%grainn = .true. + DEF_hist_vars%grainn_storage = .true. + DEF_hist_vars%grainn_xfer = .true. + DEF_hist_vars%retrasn = .true. + DEF_hist_vars%gpp = .true. + DEF_hist_vars%downreg = .true. + DEF_hist_vars%ar = .true. + DEF_hist_vars%cwdprod = .true. + DEF_hist_vars%cwddecomp = .true. + DEF_hist_vars%hr = .true. + DEF_hist_vars%fpg = .true. + DEF_hist_vars%fpi = .true. + DEF_hist_vars%gpp_enftemp = .false. !1 + DEF_hist_vars%gpp_enfboreal = .false. !2 + DEF_hist_vars%gpp_dnfboreal = .false. !3 + DEF_hist_vars%gpp_ebftrop = .false. !4 + DEF_hist_vars%gpp_ebftemp = .false. !5 + DEF_hist_vars%gpp_dbftrop = .false. !6 + DEF_hist_vars%gpp_dbftemp = .false. !7 + DEF_hist_vars%gpp_dbfboreal = .false. !8 + DEF_hist_vars%gpp_ebstemp = .false. !9 + DEF_hist_vars%gpp_dbstemp = .false. !10 + DEF_hist_vars%gpp_dbsboreal = .false. !11 + DEF_hist_vars%gpp_c3arcgrass = .false. !12 + DEF_hist_vars%gpp_c3grass = .false. !13 + DEF_hist_vars%gpp_c4grass = .false. !14 + DEF_hist_vars%leafc_enftemp = .false. !1 + DEF_hist_vars%leafc_enfboreal = .false. !2 + DEF_hist_vars%leafc_dnfboreal = .false. !3 + DEF_hist_vars%leafc_ebftrop = .false. !4 + DEF_hist_vars%leafc_ebftemp = .false. !5 + DEF_hist_vars%leafc_dbftrop = .false. !6 + DEF_hist_vars%leafc_dbftemp = .false. !7 + DEF_hist_vars%leafc_dbfboreal = .false. !8 + DEF_hist_vars%leafc_ebstemp = .false. !9 + DEF_hist_vars%leafc_dbstemp = .false. !10 + DEF_hist_vars%leafc_dbsboreal = .false. !11 + DEF_hist_vars%leafc_c3arcgrass = .false. !12 + DEF_hist_vars%leafc_c3grass = .false. !13 + DEF_hist_vars%leafc_c4grass = .false. !14 + + DEF_hist_vars%cphase = .true. + DEF_hist_vars%gddmaturity = .true. + DEF_hist_vars%gddplant = .true. + DEF_hist_vars%vf = .true. + DEF_hist_vars%hui = .true. + DEF_hist_vars%cropprod1c = .true. + DEF_hist_vars%cropprod1c_loss = .true. + DEF_hist_vars%cropseedc_deficit = .true. + DEF_hist_vars%grainc_to_cropprodc = .true. + DEF_hist_vars%plantdate_rainfed_temp_corn = .true. + DEF_hist_vars%plantdate_irrigated_temp_corn = .true. + DEF_hist_vars%plantdate_rainfed_spwheat = .true. + DEF_hist_vars%plantdate_irrigated_spwheat = .true. + DEF_hist_vars%plantdate_rainfed_wtwheat = .true. + DEF_hist_vars%plantdate_irrigated_wtwheat = .true. + DEF_hist_vars%plantdate_rainfed_temp_soybean = .true. + DEF_hist_vars%plantdate_irrigated_temp_soybean = .true. + DEF_hist_vars%plantdate_rainfed_cotton = .true. + DEF_hist_vars%plantdate_irrigated_cotton = .true. + DEF_hist_vars%plantdate_rainfed_rice = .true. + DEF_hist_vars%plantdate_irrigated_rice = .true. + DEF_hist_vars%plantdate_rainfed_sugarcane = .true. + DEF_hist_vars%plantdate_irrigated_sugarcane = .true. + DEF_hist_vars%plantdate_rainfed_trop_corn = .true. + DEF_hist_vars%plantdate_irrigated_trop_corn = .true. + DEF_hist_vars%plantdate_rainfed_trop_soybean = .true. + DEF_hist_vars%plantdate_irrigated_trop_soybean = .true. + DEF_hist_vars%plantdate_unmanagedcrop = .true. + DEF_hist_vars%cropprodc_rainfed_temp_corn = .true. + DEF_hist_vars%cropprodc_irrigated_temp_corn = .true. + DEF_hist_vars%cropprodc_rainfed_spwheat = .true. + DEF_hist_vars%cropprodc_irrigated_spwheat = .true. + DEF_hist_vars%cropprodc_rainfed_wtwheat = .true. + DEF_hist_vars%cropprodc_irrigated_wtwheat = .true. + DEF_hist_vars%cropprodc_rainfed_temp_soybean = .true. + DEF_hist_vars%cropprodc_irrigated_temp_soybean = .true. + DEF_hist_vars%cropprodc_rainfed_cotton = .true. + DEF_hist_vars%cropprodc_irrigated_cotton = .true. + DEF_hist_vars%cropprodc_rainfed_rice = .true. + DEF_hist_vars%cropprodc_irrigated_rice = .true. + DEF_hist_vars%cropprodc_rainfed_sugarcane = .true. + DEF_hist_vars%cropprodc_irrigated_sugarcane = .true. + DEF_hist_vars%cropprodc_rainfed_trop_corn = .true. + DEF_hist_vars%cropprodc_irrigated_trop_corn = .true. + DEF_hist_vars%cropprodc_rainfed_trop_soybean = .true. + DEF_hist_vars%cropprodc_irrigated_trop_soybean = .true. + DEF_hist_vars%cropprodc_unmanagedcrop = .true. + + DEF_hist_vars%grainc_to_seed = .true. + DEF_hist_vars%fert_to_sminn = .true. + + DEF_hist_vars%huiswheat = .true. + DEF_hist_vars%pdcorn = .true. + DEF_hist_vars%pdswheat = .true. + DEF_hist_vars%pdwwheat = .true. + DEF_hist_vars%pdsoybean = .true. + DEF_hist_vars%pdcotton = .true. + DEF_hist_vars%pdrice1 = .true. + DEF_hist_vars%pdrice2 = .true. + DEF_hist_vars%pdsugarcane = .true. + DEF_hist_vars%fertnitro_corn = .true. + DEF_hist_vars%fertnitro_swheat = .true. + DEF_hist_vars%fertnitro_wwheat = .true. + DEF_hist_vars%fertnitro_soybean = .true. + DEF_hist_vars%fertnitro_cotton = .true. + DEF_hist_vars%fertnitro_rice1 = .true. + DEF_hist_vars%fertnitro_rice2 = .true. + DEF_hist_vars%fertnitro_sugarcane = .true. + DEF_hist_vars%irrig_method_corn = .true. + DEF_hist_vars%irrig_method_swheat = .true. + DEF_hist_vars%irrig_method_wwheat = .true. + DEF_hist_vars%irrig_method_soybean = .true. + DEF_hist_vars%irrig_method_cotton = .true. + DEF_hist_vars%irrig_method_rice1 = .true. + DEF_hist_vars%irrig_method_rice2 = .true. + DEF_hist_vars%irrig_method_sugarcane = .true. + + DEF_hist_vars%irrig_rate = .true. + DEF_hist_vars%deficit_irrig = .true. + DEF_hist_vars%sum_irrig = .true. + DEF_hist_vars%sum_irrig_count = .true. + + DEF_hist_vars%ndep_to_sminn = .true. + DEF_hist_vars%CONC_O2_UNSAT = .true. + DEF_hist_vars%O2_DECOMP_DEPTH_UNSAT = .true. + DEF_hist_vars%abm = .true. + DEF_hist_vars%gdp = .true. + DEF_hist_vars%peatf = .true. + DEF_hist_vars%hdm = .true. + DEF_hist_vars%lnfm = .true. + + DEF_hist_vars%t_soisno = .true. + DEF_hist_vars%wliq_soisno = .true. + DEF_hist_vars%wice_soisno = .true. + + DEF_hist_vars%h2osoi = .true. + DEF_hist_vars%rstfacsun = .true. + DEF_hist_vars%rstfacsha = .true. + DEF_hist_vars%gssun = .true. + DEF_hist_vars%gssha = .true. + DEF_hist_vars%rootr = .true. + DEF_hist_vars%vegwp = .true. + DEF_hist_vars%BD_all = .true. + DEF_hist_vars%wfc = .true. + DEF_hist_vars%OM_density = .true. + DEF_hist_vars%wdsrf = .true. + DEF_hist_vars%wdsrf_inst = .true. + DEF_hist_vars%zwt = .true. + DEF_hist_vars%wa = .true. + DEF_hist_vars%wa_inst = .true. + + DEF_hist_vars%dz_lake = .true. + DEF_hist_vars%t_lake = .true. + DEF_hist_vars%lake_icefrac = .true. + + DEF_hist_vars%litr1c_vr = .true. + DEF_hist_vars%litr2c_vr = .true. + DEF_hist_vars%litr3c_vr = .true. + DEF_hist_vars%soil1c_vr = .true. + DEF_hist_vars%soil2c_vr = .true. + DEF_hist_vars%soil3c_vr = .true. + DEF_hist_vars%cwdc_vr = .true. + DEF_hist_vars%litr1n_vr = .true. + DEF_hist_vars%litr2n_vr = .true. + DEF_hist_vars%litr3n_vr = .true. + DEF_hist_vars%soil1n_vr = .true. + DEF_hist_vars%soil2n_vr = .true. + DEF_hist_vars%soil3n_vr = .true. + DEF_hist_vars%cwdn_vr = .true. + DEF_hist_vars%sminn_vr = .true. + + DEF_hist_vars%ustar = .true. + DEF_hist_vars%ustar2 = .true. + DEF_hist_vars%tstar = .true. + DEF_hist_vars%qstar = .true. + DEF_hist_vars%zol = .true. + DEF_hist_vars%rib = .true. + DEF_hist_vars%fm = .true. + DEF_hist_vars%fh = .true. + DEF_hist_vars%fq = .true. + DEF_hist_vars%us10m = .true. + DEF_hist_vars%vs10m = .true. + DEF_hist_vars%fm10m = .true. + DEF_hist_vars%sr = .true. + DEF_hist_vars%solvd = .true. + DEF_hist_vars%solvi = .true. + DEF_hist_vars%solnd = .true. + DEF_hist_vars%solni = .true. + DEF_hist_vars%srvd = .true. + DEF_hist_vars%srvi = .true. + DEF_hist_vars%srnd = .true. + DEF_hist_vars%srni = .true. + + DEF_hist_vars%solvdln = .true. + DEF_hist_vars%solviln = .true. + DEF_hist_vars%solndln = .true. + DEF_hist_vars%solniln = .true. + DEF_hist_vars%srvdln = .true. + DEF_hist_vars%srviln = .true. + DEF_hist_vars%srndln = .true. + DEF_hist_vars%srniln = .true. + + DEF_hist_vars%xsubs_bsn = .true. + DEF_hist_vars%xsubs_hru = .true. + DEF_hist_vars%riv_height = .true. + DEF_hist_vars%riv_veloct = .true. + DEF_hist_vars%discharge = .true. + DEF_hist_vars%wdsrf_hru = .true. + DEF_hist_vars%veloc_hru = .true. + + DEF_hist_vars%sensors = .true. +/ + diff --git a/run/examples/history.nml b/run/examples/history.nml deleted file mode 100644 index ff3e12f7..00000000 --- a/run/examples/history.nml +++ /dev/null @@ -1,110 +0,0 @@ -&nl_colm_history - - ! ----- history ----- - DEF_hist_vars%xy_us = .false. - DEF_hist_vars%xy_vs = .false. - DEF_hist_vars%xy_t = .true. - DEF_hist_vars%xy_q = .false. - DEF_hist_vars%xy_prc = .true. - DEF_hist_vars%xy_prl = .true. - DEF_hist_vars%xy_pbot = .true. - DEF_hist_vars%xy_frl = .true. - DEF_hist_vars%xy_solarin = .true. - DEF_hist_vars%xy_rain = .false. - DEF_hist_vars%xy_snow = .false. - DEF_hist_vars%xy_hpbl = .false. - - DEF_hist_vars%taux = .false. - DEF_hist_vars%tauy = .false. - DEF_hist_vars%fsena = .false. - DEF_hist_vars%lfevpa = .false. - DEF_hist_vars%fevpa = .false. - DEF_hist_vars%fsenl = .false. - DEF_hist_vars%fevpl = .false. - DEF_hist_vars%etr = .false. - DEF_hist_vars%fseng = .false. - DEF_hist_vars%fevpg = .false. - DEF_hist_vars%fgrnd = .false. - DEF_hist_vars%sabvsun = .false. - DEF_hist_vars%sabvsha = .false. - DEF_hist_vars%sabg = .false. - DEF_hist_vars%olrg = .false. - DEF_hist_vars%rnet = .false. - DEF_hist_vars%xerr = .false. - DEF_hist_vars%zerr = .false. - DEF_hist_vars%rsur = .false. - DEF_hist_vars%rnof = .false. - DEF_hist_vars%qintr = .false. - DEF_hist_vars%qinfl = .false. - DEF_hist_vars%qdrip = .false. - DEF_hist_vars%wat = .false. - DEF_hist_vars%assim = .false. - DEF_hist_vars%respc = .false. - DEF_hist_vars%qcharge = .false. - - DEF_hist_vars%t_grnd = .true. - - DEF_hist_vars%tleaf = .false. - DEF_hist_vars%ldew = .false. - DEF_hist_vars%scv = .false. - DEF_hist_vars%snowdp = .false. - DEF_hist_vars%fsno = .false. - DEF_hist_vars%sigf = .false. - DEF_hist_vars%green = .false. - DEF_hist_vars%lai = .false. - DEF_hist_vars%laisun = .false. - DEF_hist_vars%laisha = .false. - DEF_hist_vars%sai = .false. - DEF_hist_vars%alb = .true. - DEF_hist_vars%emis = .false. - DEF_hist_vars%z0m = .false. - DEF_hist_vars%trad = .false. - DEF_hist_vars%rss = .false. - DEF_hist_vars%tref = .false. - DEF_hist_vars%qref = .false. - - DEF_hist_vars%t_soisno = .false. - DEF_hist_vars%wliq_soisno = .true. - DEF_hist_vars%wice_soisno = .false. - - DEF_hist_vars%h2osoi = .false. - DEF_hist_vars%rstfacsun = .false. - DEF_hist_vars%rstfacsha = .false. - DEF_hist_vars%rootr = .false. - DEF_hist_vars%vegwp = .false. - DEF_hist_vars%zwt = .false. - DEF_hist_vars%wa = .false. - - DEF_hist_vars%t_lake = .false. - DEF_hist_vars%lake_icefrac = .false. - - DEF_hist_vars%ustar = .false. - DEF_hist_vars%tstar = .false. - DEF_hist_vars%qstar = .false. - DEF_hist_vars%zol = .false. - DEF_hist_vars%rib = .false. - DEF_hist_vars%fm = .false. - DEF_hist_vars%fh = .false. - DEF_hist_vars%fq = .false. - DEF_hist_vars%us10m = .false. - DEF_hist_vars%vs10m = .false. - DEF_hist_vars%fm10m = .false. - DEF_hist_vars%sr = .false. - DEF_hist_vars%solvd = .false. - DEF_hist_vars%solvi = .false. - DEF_hist_vars%solnd = .false. - DEF_hist_vars%solni = .false. - DEF_hist_vars%srvd = .false. - DEF_hist_vars%srvi = .false. - DEF_hist_vars%srnd = .false. - DEF_hist_vars%srni = .false. - DEF_hist_vars%solvdln = .false. - DEF_hist_vars%solviln = .false. - DEF_hist_vars%solndln = .false. - DEF_hist_vars%solniln = .false. - DEF_hist_vars%srvdln = .false. - DEF_hist_vars%srviln = .false. - DEF_hist_vars%srndln = .false. - DEF_hist_vars%srniln = .false. -/ - From 485750806e4dee928209c7fa41915a8d6d548a23 Mon Sep 17 00:00:00 2001 From: zhangsp8 <21294631@qq.com> Date: Wed, 20 Nov 2024 23:43:55 +0800 Subject: [PATCH 7/8] restore colm.F90 --- main/CoLM.F90 | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/main/CoLM.F90 b/main/CoLM.F90 index 9e21b429..6251e9d8 100644 --- a/main/CoLM.F90 +++ b/main/CoLM.F90 @@ -278,10 +278,8 @@ PROGRAM CoLM CALL READ_TimeVariables (jdate, lc_year, casename, dir_restart) ! Read in SNICAR optical and aging parameters - IF (DEF_USE_SNICAR) THEN - CALL SnowOptics_init( DEF_file_snowoptics ) ! SNICAR optical parameters - CALL SnowAge_init( DEF_file_snowaging ) ! SNICAR aging parameters - ENDIF + CALL SnowOptics_init( DEF_file_snowoptics ) ! SNICAR optical parameters + CALL SnowAge_init( DEF_file_snowaging ) ! SNICAR aging parameters ! ---------------------------------------------------------------------- doalb = .true. From 89ca937d4d38eec54d1a52569325e7272525b876 Mon Sep 17 00:00:00 2001 From: zhangsp8 <21294631@qq.com> Date: Thu, 21 Nov 2024 15:03:31 +0800 Subject: [PATCH 8/8] bug fixed in reading LAI of water body. --- main/MOD_LAIReadin.F90 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/main/MOD_LAIReadin.F90 b/main/MOD_LAIReadin.F90 index a3ab76dd..03fa1f72 100644 --- a/main/MOD_LAIReadin.F90 +++ b/main/MOD_LAIReadin.F90 @@ -114,7 +114,7 @@ SUBROUTINE LAI_readin (year, time, dir_landdata) #ifdef URBAN_MODEL IF(m == URBAN) CYCLE #endif - IF( m == 0 )THEN + IF(m == 0 .or. m == WATERBODY)THEN fveg(npatch) = 0. tlai(npatch) = 0. tsai(npatch) = 0.