From cc34bd25d0918494143e82fecac52121021e937b Mon Sep 17 00:00:00 2001 From: rgknox Date: Tue, 13 Mar 2018 10:34:01 -0700 Subject: [PATCH 001/101] FATES: Modified fates test group, updated default fates parameter file to have a freezing tolerance. --- .../namelist_defaults_clm4_5.xml | 2 +- cime_config/testdefs/testlist_clm.xml | 36 +++++++++++++------ 2 files changed, 27 insertions(+), 11 deletions(-) diff --git a/bld/namelist_files/namelist_defaults_clm4_5.xml b/bld/namelist_files/namelist_defaults_clm4_5.xml index f78b54ef5c..ef7afd8844 100644 --- a/bld/namelist_files/namelist_defaults_clm4_5.xml +++ b/bld/namelist_files/namelist_defaults_clm4_5.xml @@ -355,7 +355,7 @@ attributes from the config_cache.xml file (with keys converted to upper-case). -lnd/clm2/paramdata/fates_params_2troppftclones.c171018.nc +lnd/clm2/paramdata/fates_params_2troppftclones_f0.c180220.nc diff --git a/cime_config/testdefs/testlist_clm.xml b/cime_config/testdefs/testlist_clm.xml index 8933e9f884..ba8127a869 100644 --- a/cime_config/testdefs/testlist_clm.xml +++ b/cime_config/testdefs/testlist_clm.xml @@ -1780,9 +1780,10 @@ - + + @@ -1791,6 +1792,7 @@ + @@ -1799,6 +1801,7 @@ + @@ -1808,6 +1811,7 @@ + @@ -1817,22 +1821,25 @@ + - + + - + + @@ -1842,6 +1849,7 @@ + @@ -1850,64 +1858,72 @@ + - + + - + + - + + - + + - + + - + + - + + From fc7d5c269d86f052c0722aff3873748b2b1fdfdc Mon Sep 17 00:00:00 2001 From: rgknox Date: Tue, 13 Mar 2018 14:33:07 -0700 Subject: [PATCH 002/101] fates: changed all fates tests in aux_clm to use FatesColdDef. --- cime_config/testdefs/testlist_clm.xml | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/cime_config/testdefs/testlist_clm.xml b/cime_config/testdefs/testlist_clm.xml index ba8127a869..366e7d2778 100644 --- a/cime_config/testdefs/testlist_clm.xml +++ b/cime_config/testdefs/testlist_clm.xml @@ -1649,7 +1649,7 @@ - + @@ -1666,7 +1666,7 @@ - + @@ -1694,7 +1694,7 @@ - + @@ -1712,7 +1712,7 @@ - + @@ -1720,7 +1720,7 @@ - + @@ -1789,7 +1789,7 @@ - + @@ -1817,7 +1817,7 @@ - + @@ -1864,7 +1864,7 @@ - + @@ -1875,7 +1875,7 @@ - + @@ -1884,7 +1884,7 @@ - + @@ -1893,7 +1893,7 @@ - + @@ -1902,7 +1902,7 @@ - + @@ -1911,7 +1911,7 @@ - + From 25719a19bd428f64c7b87a47be7cb740b99d5087 Mon Sep 17 00:00:00 2001 From: rgknox Date: Thu, 15 Mar 2018 11:48:37 -0700 Subject: [PATCH 003/101] Fates tests: modifications to the set of tests for fates category. Changed some of the specificatios in the test dirs. --- cime_config/testdefs/testlist_clm.xml | 10 +++++----- .../testdefs/testmods_dirs/clm/Fates/user_nl_clm | 2 +- .../testmods_dirs/clm/FatesAllVars/user_nl_clm | 1 - .../testmods_dirs/clm/FatesColdDef/include_user_mods | 1 - .../testmods_dirs/clm/FatesColdDef/user_nl_clm | 4 ++++ .../testmods_dirs/clm/FatesShortList/include_user_mods | 1 - .../{FatesAllVars => FatesShortList}/shell_commands | 0 7 files changed, 10 insertions(+), 9 deletions(-) delete mode 100644 cime_config/testdefs/testmods_dirs/clm/FatesColdDef/include_user_mods delete mode 100644 cime_config/testdefs/testmods_dirs/clm/FatesShortList/include_user_mods rename cime_config/testdefs/testmods_dirs/clm/{FatesAllVars => FatesShortList}/shell_commands (100%) diff --git a/cime_config/testdefs/testlist_clm.xml b/cime_config/testdefs/testlist_clm.xml index 366e7d2778..22efed96bd 100644 --- a/cime_config/testdefs/testlist_clm.xml +++ b/cime_config/testdefs/testlist_clm.xml @@ -1789,7 +1789,7 @@ - + @@ -1807,7 +1807,7 @@ - + @@ -1827,7 +1827,7 @@ - + @@ -1845,7 +1845,7 @@ - + @@ -1920,7 +1920,7 @@ - + diff --git a/cime_config/testdefs/testmods_dirs/clm/Fates/user_nl_clm b/cime_config/testdefs/testmods_dirs/clm/Fates/user_nl_clm index 487ad09863..3f6a4dbc56 100644 --- a/cime_config/testdefs/testmods_dirs/clm/Fates/user_nl_clm +++ b/cime_config/testdefs/testmods_dirs/clm/Fates/user_nl_clm @@ -1,4 +1,4 @@ -!!finidat = '$DIN_LOC_ROOT/lnd/clm2/initdata_map/iclm45fates-finit-s1.4.0-a3.0.0-1x1br.clm2.r.0111-01-01-00000.nc' +!! USES THE DEFAULT INITIALIZATION FILE SPECIFIED IN bld/namelist_files/namelist_defaults_clm4_5.xml hist_mfilt = 365 hist_nhtfrq = -24 hist_empty_htapes = .true. diff --git a/cime_config/testdefs/testmods_dirs/clm/FatesAllVars/user_nl_clm b/cime_config/testdefs/testmods_dirs/clm/FatesAllVars/user_nl_clm index a869310636..dd29aef032 100644 --- a/cime_config/testdefs/testmods_dirs/clm/FatesAllVars/user_nl_clm +++ b/cime_config/testdefs/testmods_dirs/clm/FatesAllVars/user_nl_clm @@ -1,4 +1,3 @@ -!finidat = '$DIN_LOC_ROOT/lnd/clm2/initdata_map/iclm45fates-finit-s1.4.0-a3.0.0-f45.clm2.r.0111-01-01-00000.nc' hist_mfilt = 365 hist_nhtfrq = -24 hist_empty_htapes = .false. diff --git a/cime_config/testdefs/testmods_dirs/clm/FatesColdDef/include_user_mods b/cime_config/testdefs/testmods_dirs/clm/FatesColdDef/include_user_mods deleted file mode 100644 index 4c7aa0f2b4..0000000000 --- a/cime_config/testdefs/testmods_dirs/clm/FatesColdDef/include_user_mods +++ /dev/null @@ -1 +0,0 @@ -../Fates diff --git a/cime_config/testdefs/testmods_dirs/clm/FatesColdDef/user_nl_clm b/cime_config/testdefs/testmods_dirs/clm/FatesColdDef/user_nl_clm index 144569c412..bae4c2cb9e 100644 --- a/cime_config/testdefs/testmods_dirs/clm/FatesColdDef/user_nl_clm +++ b/cime_config/testdefs/testmods_dirs/clm/FatesColdDef/user_nl_clm @@ -1,3 +1,7 @@ +hist_mfilt = 365 +hist_nhtfrq = -24 +hist_empty_htapes = .true. +use_fates_spitfire= .true. hist_fincl1 = 'NPP','GPP','BTRAN','H2OSOI','TLAI','LITTER_IN','LITTER_OUT', 'FIRE_AREA','SCORCH_HEIGHT','FIRE_INTENSITY','FIRE_TFC_ROS','fire_fuel_mef', 'fire_fuel_bulkd','fire_fuel_sav','FIRE_NESTEROV_INDEX','PFTbiomass', diff --git a/cime_config/testdefs/testmods_dirs/clm/FatesShortList/include_user_mods b/cime_config/testdefs/testmods_dirs/clm/FatesShortList/include_user_mods deleted file mode 100644 index 4c7aa0f2b4..0000000000 --- a/cime_config/testdefs/testmods_dirs/clm/FatesShortList/include_user_mods +++ /dev/null @@ -1 +0,0 @@ -../Fates diff --git a/cime_config/testdefs/testmods_dirs/clm/FatesAllVars/shell_commands b/cime_config/testdefs/testmods_dirs/clm/FatesShortList/shell_commands similarity index 100% rename from cime_config/testdefs/testmods_dirs/clm/FatesAllVars/shell_commands rename to cime_config/testdefs/testmods_dirs/clm/FatesShortList/shell_commands From c4bcbbd303d0e2e6f577559e1dc807de65608093 Mon Sep 17 00:00:00 2001 From: rgknox Date: Thu, 15 Mar 2018 14:48:27 -0700 Subject: [PATCH 004/101] fates tests: modified fates category tests to have I2000Clm45BgcCrop --- cime_config/testdefs/testlist_clm.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cime_config/testdefs/testlist_clm.xml b/cime_config/testdefs/testlist_clm.xml index 22efed96bd..c2e570c9be 100644 --- a/cime_config/testdefs/testlist_clm.xml +++ b/cime_config/testdefs/testlist_clm.xml @@ -1827,7 +1827,7 @@ - + From 98bbb9ad33e72cc793eb2952472689f001d69583 Mon Sep 17 00:00:00 2001 From: rgknox Date: Fri, 16 Mar 2018 12:43:52 -0700 Subject: [PATCH 005/101] fates testing: updated finitdat file to work with new fates category tests. --- bld/namelist_files/namelist_defaults_clm4_5.xml | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/bld/namelist_files/namelist_defaults_clm4_5.xml b/bld/namelist_files/namelist_defaults_clm4_5.xml index ef7afd8844..09cb779a57 100644 --- a/bld/namelist_files/namelist_defaults_clm4_5.xml +++ b/bld/namelist_files/namelist_defaults_clm4_5.xml @@ -584,13 +584,7 @@ attributes from the config_cache.xml file (with keys converted to upper-case). lnd/clm2/initdata_map/clmi.I2000Clm45Fates.0121-01-01.4x5_mgx3v7_simyr2000_c180122.nc - - -lnd/clm2/initdata_map/clmi.I2000Clm45Fates.0101-01-01.1x1_brazil_simyr2000_c180120.nc +>lnd/clm2/initdata_map/clmi.I2000CLM50FATESCRUGS.0006-01-01.f45_f45_mg37_s1.4.1_a3.0.0_rev3_c180316.nc From 6416fd1c03dbc2dc04fbd4c31f7a5b3d30027be9 Mon Sep 17 00:00:00 2001 From: ckoven Date: Fri, 27 Apr 2018 18:03:30 -0600 Subject: [PATCH 006/101] commented out lines that caused inventory inititalization to not build despite valid filename --- bld/CLMBuildNamelist.pm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/bld/CLMBuildNamelist.pm b/bld/CLMBuildNamelist.pm index 00807d049c..214fe4d213 100755 --- a/bld/CLMBuildNamelist.pm +++ b/bld/CLMBuildNamelist.pm @@ -3742,8 +3742,8 @@ sub setup_logic_fates { $var = "fates_inventory_ctrl_filename"; if ( ! defined($nl->get_value($var)) ) { $log->fatal_error("$var is required when use_fates_inventory_init is set" ); - } elsif ( ! -f "$nl->get_value($var)" ) { - $log->fatal_error("$var does NOT point to a valid filename" ); + # } elsif ( ! -f "$nl->get_value($var)" ) { + # $log->fatal_error("$var does NOT point to a valid filename" ); } } } From 379f28f2ef0416441d6bb7df7087d6c6c311228e Mon Sep 17 00:00:00 2001 From: Ryan Knox Date: Mon, 7 May 2018 14:55:25 -0700 Subject: [PATCH 007/101] Removing static number of soil layers to fates-clm interface. --- src/utils/clmfates_interfaceMod.F90 | 146 ++++++++++++++++------------ 1 file changed, 83 insertions(+), 63 deletions(-) diff --git a/src/utils/clmfates_interfaceMod.F90 b/src/utils/clmfates_interfaceMod.F90 index fbbfbf99ea..6892cf5e8e 100644 --- a/src/utils/clmfates_interfaceMod.F90 +++ b/src/utils/clmfates_interfaceMod.F90 @@ -62,7 +62,6 @@ module CLMFatesInterfaceMod use clm_varpar , only : ivis use clm_varpar , only : inir use clm_varpar , only : nlevgrnd - use clm_varpar , only : nlevsoi use clm_varpar , only : nlevdecomp use clm_varpar , only : nlevdecomp_full use PhotosynthesisMod , only : photosyns_type @@ -286,7 +285,6 @@ subroutine init(this, bounds_proc ) call set_fates_ctrlparms('nir_sw_index',ival=inir) call set_fates_ctrlparms('num_lev_ground',ival=nlevgrnd) - call set_fates_ctrlparms('num_lev_soil',ival=nlevsoi) call set_fates_ctrlparms('num_levdecomp',ival=nlevdecomp) call set_fates_ctrlparms('num_levdecomp_full',ival=nlevdecomp_full) call set_fates_ctrlparms('hlm_name',cval='CLM') @@ -442,7 +440,10 @@ subroutine init(this, bounds_proc ) ! No information about the patch or cohort structure is needed at this step do s = 1, this%fates(nc)%nsites - call allocate_bcin(this%fates(nc)%bc_in(s)) + + c = this%f2hmap(nc)%fcolumn(s) + + call allocate_bcin(this%fates(nc)%bc_in(s),col%nbedrock(c)) call allocate_bcout(this%fates(nc)%bc_out(s)) call this%fates(nc)%zero_bcs(s) @@ -563,6 +564,7 @@ subroutine dynamics_driv(this, nc, bounds_clump, & integer :: mon ! month (1, ..., 12) integer :: day ! day of month (1, ..., 31) integer :: sec ! seconds of the day + integer :: nlevsoil ! number of soil layers at the site integer :: current_year integer :: current_month integer :: current_day @@ -604,16 +606,21 @@ subroutine dynamics_driv(this, nc, bounds_clump, & do s=1,this%fates(nc)%nsites + c = this%f2hmap(nc)%fcolumn(s) - this%fates(nc)%bc_in(s)%h2o_liqvol_gl(1:nlevsoi) = & - waterstate_inst%h2osoi_vol_col(c,1:nlevsoi) + + nlevsoil = this%fates(nc)%bc_in(s)%nlevsoil + + this%fates(nc)%bc_in(s)%h2o_liqvol_sl(1:nlevsoil) = & + waterstate_inst%h2osoi_vol_col(c,1:nlevsoil) ! TO-DO: SHOULD THIS BE LIQVOL OR IS VOL OK? (RGK-02-2017) this%fates(nc)%bc_in(s)%t_veg24_si = & temperature_inst%t_veg24_patch(col%patchi(c)) - this%fates(nc)%bc_in(s)%max_rooting_depth_index_col = canopystate_inst%altmax_lastyear_indx_col(c) + this%fates(nc)%bc_in(s)%max_rooting_depth_index_col = & + min(nlevsoil, canopystate_inst%altmax_lastyear_indx_col(c)) do ifp = 1, this%fates(nc)%sites(s)%youngest_patch%patchno p = ifp+col%patchi(c) @@ -633,12 +640,12 @@ subroutine dynamics_driv(this, nc, bounds_clump, & if(use_fates_planthydro)then - this%fates(nc)%bc_in(s)%hksat_sisl(1:nlevsoi) = soilstate_inst%hksat_col(c,1:nlevsoi) - this%fates(nc)%bc_in(s)%watsat_sisl(1:nlevsoi) = soilstate_inst%watsat_col(c,1:nlevsoi) - this%fates(nc)%bc_in(s)%watres_sisl(1:nlevsoi) = soilstate_inst%watres_col(c,1:nlevsoi) - this%fates(nc)%bc_in(s)%sucsat_sisl(1:nlevsoi) = soilstate_inst%sucsat_col(c,1:nlevsoi) - this%fates(nc)%bc_in(s)%bsw_sisl(1:nlevsoi) = soilstate_inst%bsw_col(c,1:nlevsoi) - this%fates(nc)%bc_in(s)%h2o_liq_sisl(1:nlevsoi) = waterstate_inst%h2osoi_liq_col(c,1:nlevsoi) + this%fates(nc)%bc_in(s)%hksat_sisl(1:nlevsoil) = soilstate_inst%hksat_col(c,1:nlevsoil) + this%fates(nc)%bc_in(s)%watsat_sisl(1:nlevsoil) = soilstate_inst%watsat_col(c,1:nlevsoil) + this%fates(nc)%bc_in(s)%watres_sisl(1:nlevsoil) = soilstate_inst%watres_col(c,1:nlevsoil) + this%fates(nc)%bc_in(s)%sucsat_sisl(1:nlevsoil) = soilstate_inst%sucsat_col(c,1:nlevsoil) + this%fates(nc)%bc_in(s)%bsw_sisl(1:nlevsoil) = soilstate_inst%bsw_col(c,1:nlevsoil) + this%fates(nc)%bc_in(s)%h2o_liq_sisl(1:nlevsoil) = waterstate_inst%h2osoi_liq_col(c,1:nlevsoil) end if @@ -1139,6 +1146,7 @@ subroutine init_coldstart(this, waterstate_inst, canopystate_inst, soilstate_ins ! locals real(r8) :: vol_ice real(r8) :: eff_porosity + integer :: nlevsoil ! Number of soil layers at each site integer :: j integer :: s integer :: c @@ -1169,29 +1177,31 @@ subroutine init_coldstart(this, waterstate_inst, canopystate_inst, soilstate_ins do s = 1,this%fates(nc)%nsites c = this%f2hmap(nc)%fcolumn(s) - this%fates(nc)%bc_in(s)%watsat_sisl(1:nlevsoi) = & - soilstate_inst%watsat_col(c,1:nlevsoi) + nlevsoil = this%fates(nc)%bc_in(s)%nlevsoil + + this%fates(nc)%bc_in(s)%watsat_sisl(1:nlevsoil) = & + soilstate_inst%watsat_col(c,1:nlevsoil) - this%fates(nc)%bc_in(s)%watres_sisl(1:nlevsoi) = & - soilstate_inst%watres_col(c,1:nlevsoi) + this%fates(nc)%bc_in(s)%watres_sisl(1:nlevsoil) = & + soilstate_inst%watres_col(c,1:nlevsoil) - this%fates(nc)%bc_in(s)%sucsat_sisl(1:nlevsoi) = & - soilstate_inst%sucsat_col(c,1:nlevsoi) + this%fates(nc)%bc_in(s)%sucsat_sisl(1:nlevsoil) = & + soilstate_inst%sucsat_col(c,1:nlevsoil) - this%fates(nc)%bc_in(s)%bsw_sisl(1:nlevsoi) = & - soilstate_inst%bsw_col(c,1:nlevsoi) + this%fates(nc)%bc_in(s)%bsw_sisl(1:nlevsoil) = & + soilstate_inst%bsw_col(c,1:nlevsoil) - this%fates(nc)%bc_in(s)%h2o_liq_sisl(1:nlevsoi) = & - waterstate_inst%h2osoi_liq_col(c,1:nlevsoi) + this%fates(nc)%bc_in(s)%h2o_liq_sisl(1:nlevsoil) = & + waterstate_inst%h2osoi_liq_col(c,1:nlevsoil) - this%fates(nc)%bc_in(s)%hksat_sisl(1:nlevsoi) = & - soilstate_inst%hksat_col(c,1:nlevsoi) + this%fates(nc)%bc_in(s)%hksat_sisl(1:nlevsoil) = & + soilstate_inst%hksat_col(c,1:nlevsoil) - do j = 1, nlevsoi + do j = 1, nlevsoil vol_ice = min(soilstate_inst%watsat_col(c,j), & waterstate_inst%h2osoi_ice_col(c,j)/(col%dz(c,j)*denice)) eff_porosity = max(0.01_r8,soilstate_inst%watsat_col(c,j)-vol_ice) - this%fates(nc)%bc_in(s)%eff_porosity_gl(j) = eff_porosity + this%fates(nc)%bc_in(s)%eff_porosity_sl(j) = eff_porosity end do end do @@ -1384,6 +1394,7 @@ subroutine wrap_btran(this,nc,fn,filterc,soilstate_inst, waterstate_inst, & integer :: j integer :: ifp integer :: p + integer :: nlevsoil associate(& sucsat => soilstate_inst%sucsat_col , & ! Input: [real(r8) (:,:) ] minimum soil suction (mm) @@ -1418,24 +1429,25 @@ subroutine wrap_btran(this,nc,fn,filterc,soilstate_inst, waterstate_inst, & do s = 1, this%fates(nc)%nsites c = this%f2hmap(nc)%fcolumn(s) + nlevsoil = this%fates(nc)%bc_in(s)%nlevsoil ! Check to see if this column is in the exposed veg filter if( any(filterc==c) )then this%fates(nc)%bc_in(s)%filter_btran = .true. - do j = 1,nlevgrnd - this%fates(nc)%bc_in(s)%tempk_gl(j) = t_soisno(c,j) - this%fates(nc)%bc_in(s)%h2o_liqvol_gl(j) = h2osoi_liqvol(c,j) - this%fates(nc)%bc_in(s)%eff_porosity_gl(j) = eff_porosity(c,j) - this%fates(nc)%bc_in(s)%watsat_gl(j) = watsat(c,j) + do j = 1,nlevsoil + this%fates(nc)%bc_in(s)%tempk_sl(j) = t_soisno(c,j) + this%fates(nc)%bc_in(s)%h2o_liqvol_sl(j) = h2osoi_liqvol(c,j) + this%fates(nc)%bc_in(s)%eff_porosity_sl(j) = eff_porosity(c,j) + this%fates(nc)%bc_in(s)%watsat_sl(j) = watsat(c,j) end do else this%fates(nc)%bc_in(s)%filter_btran = .false. - this%fates(nc)%bc_in(s)%tempk_gl(:) = -999._r8 - this%fates(nc)%bc_in(s)%h2o_liqvol_gl(:) = -999._r8 - this%fates(nc)%bc_in(s)%eff_porosity_gl(:) = -999._r8 - this%fates(nc)%bc_in(s)%watsat_gl(:) = -999._r8 + this%fates(nc)%bc_in(s)%tempk_sl(:) = -999._r8 + this%fates(nc)%bc_in(s)%h2o_liqvol_sl(:) = -999._r8 + this%fates(nc)%bc_in(s)%eff_porosity_sl(:) = -999._r8 + this%fates(nc)%bc_in(s)%watsat_sl(:) = -999._r8 end if end do @@ -1456,15 +1468,16 @@ subroutine wrap_btran(this,nc,fn,filterc,soilstate_inst, waterstate_inst, & ! Now that the active layers of water uptake have been decided by fates ! Calculate the suction that is passed back to fates - ! Note that the filter_btran is unioned with active_suction_gl + ! Note that the filter_btran is unioned with active_suction_sl do s = 1, this%fates(nc)%nsites + nlevsoil = this%fates(nc)%bc_in(s)%nlevsoil c = this%f2hmap(nc)%fcolumn(s) - do j = 1,nlevgrnd - if(this%fates(nc)%bc_out(s)%active_suction_gl(j)) then + do j = 1,nlevsoil + if(this%fates(nc)%bc_out(s)%active_suction_sl(j)) then s_node = max(h2osoi_liqvol(c,j)/eff_porosity(c,j),0.01_r8) call soil_water_retention_curve%soil_suction(c,j,s_node, soilstate_inst, smp_node) - this%fates(nc)%bc_in(s)%smp_gl(j) = smp_node + this%fates(nc)%bc_in(s)%smp_sl(j) = smp_node end if end do end do @@ -1493,13 +1506,13 @@ subroutine wrap_btran(this,nc,fn,filterc,soilstate_inst, waterstate_inst, & ! ------------------------------------------------------------------------------- do s = 1, this%fates(nc)%nsites - + nlevsoil = this%fates(nc)%bc_in(s)%nlevsoil c = this%f2hmap(nc)%fcolumn(s) do ifp = 1, this%fates(nc)%sites(s)%youngest_patch%patchno p = ifp+col%patchi(c) - do j = 1,nlevgrnd + do j = 1,nlevsoil rresis(p,j) = -999.9 ! We do not calculate this correctly ! it should not thought of as valid output until we decide to. @@ -1523,8 +1536,7 @@ subroutine wrap_photosynthesis(this, nc, bounds, fn, filterp, & use shr_log_mod , only : errMsg => shr_log_errMsg use abortutils , only : endrun use decompMod , only : bounds_type - use clm_varcon , only : rgas, tfrz, namep - use clm_varpar , only : nlevsoi + use clm_varcon , only : rgas, tfrz, namep use clm_varctl , only : iulog use pftconMod , only : pftcon use perf_mod , only : t_startf, t_stopf @@ -1550,7 +1562,7 @@ subroutine wrap_photosynthesis(this, nc, bounds, fn, filterp, & type(temperature_type) , intent(in) :: temperature_inst type(canopystate_type) , intent(inout) :: canopystate_inst type(photosyns_type) , intent(inout) :: photosyns_inst - + integer :: nlevsoil ! number of soil layers in this site integer :: s,c,p,ifp,j,icp real(r8) :: dtime @@ -1568,9 +1580,10 @@ subroutine wrap_photosynthesis(this, nc, bounds, fn, filterp, & do s = 1, this%fates(nc)%nsites c = this%f2hmap(nc)%fcolumn(s) - - do j = 1,nlevsoi - this%fates(nc)%bc_in(s)%t_soisno_gl(j) = t_soisno(c,j) ! soil temperature (Kelvin) + nlevsoil = this%fates(nc)%bc_in(s)%nlevsoil + + do j = 1,nlevsoil + this%fates(nc)%bc_in(s)%t_soisno_sl(j) = t_soisno(c,j) ! soil temperature (Kelvin) end do this%fates(nc)%bc_in(s)%forc_pbot = forc_pbot(c) ! atmospheric pressure (Pa) @@ -2140,9 +2153,11 @@ subroutine init_soil_depths(this, nc) do s = 1, this%fates(nc)%nsites c = this%f2hmap(nc)%fcolumn(s) - this%fates(nc)%bc_in(s)%zi_sisl(0:hlm_numlevsoil) = col%zi(c,0:hlm_numlevsoil) - this%fates(nc)%bc_in(s)%dz_sisl(1:hlm_numlevsoil) = col%dz(c,1:hlm_numlevsoil) - this%fates(nc)%bc_in(s)%z_sisl(1:hlm_numlevsoil) = col%z(c,1:hlm_numlevsoil) + nlevsoil = this%fates(nc)%bc_in(s)%nlevsoil + + this%fates(nc)%bc_in(s)%zi_sisl(0:nlevsoil) = col%zi(c,0:nlevsoil) + this%fates(nc)%bc_in(s)%dz_sisl(1:nlevsoil) = col%dz(c,1:nlevsoil) + this%fates(nc)%bc_in(s)%z_sisl(1:nlevsoil) = col%z(c,1:nlevsoil) this%fates(nc)%bc_in(s)%dz_decomp_sisl(1:hlm_numlevdecomp_full) = & dzsoi_decomp(1:hlm_numlevdecomp_full) end do @@ -2249,6 +2264,7 @@ subroutine wrap_hydraulics_drive(this, bounds_clump, nc, & integer :: j integer :: ifp integer :: p + integer :: nlevsoil real(r8) :: dtime @@ -2261,21 +2277,25 @@ subroutine wrap_hydraulics_drive(this, bounds_clump, nc, & ! ------------------------------------------------------------------------------------ do s = 1, this%fates(nc)%nsites - c = this%f2hmap(nc)%fcolumn(s) + + c = this%f2hmap(nc)%fcolumn(s) + + nlevsoil = this%fates(nc)%bc_in(s)%nlevsoil + this%fates(nc)%bc_in(s)%smpmin_si = & soilstate_inst%smpmin_col(c) - this%fates(nc)%bc_in(s)%watsat_sisl(1:nlevsoi) = & - soilstate_inst%watsat_col(c,1:nlevsoi) - this%fates(nc)%bc_in(s)%watres_sisl(1:nlevsoi) = & - soilstate_inst%watres_col(c,1:nlevsoi) - this%fates(nc)%bc_in(s)%sucsat_sisl(1:nlevsoi) = & - soilstate_inst%sucsat_col(c,1:nlevsoi) - this%fates(nc)%bc_in(s)%bsw_sisl(1:nlevsoi) = & - soilstate_inst%bsw_col(c,1:nlevsoi) - this%fates(nc)%bc_in(s)%h2o_liq_sisl(1:nlevsoi) = & - waterstate_inst%h2osoi_liq_col(c,1:nlevsoi) - this%fates(nc)%bc_in(s)%eff_porosity_gl(1:nlevsoi) = & - soilstate_inst%eff_porosity_col(c,1:nlevsoi) + this%fates(nc)%bc_in(s)%watsat_sisl(1:nlevsoil) = & + soilstate_inst%watsat_col(c,1:nlevsoil) + this%fates(nc)%bc_in(s)%watres_sisl(1:nlevsoil) = & + soilstate_inst%watres_col(c,1:nlevsoil) + this%fates(nc)%bc_in(s)%sucsat_sisl(1:nlevsoil) = & + soilstate_inst%sucsat_col(c,1:nlevsoil) + this%fates(nc)%bc_in(s)%bsw_sisl(1:nlevsoil) = & + soilstate_inst%bsw_col(c,1:nlevsoil) + this%fates(nc)%bc_in(s)%h2o_liq_sisl(1:nlevsoil) = & + waterstate_inst%h2osoi_liq_col(c,1:nlevsoil) + this%fates(nc)%bc_in(s)%eff_porosity_sl(1:nlevsoil) = & + soilstate_inst%eff_porosity_col(c,1:nlevsoil) do ifp = 1, this%fates(nc)%sites(s)%youngest_patch%patchno p = ifp+col%patchi(c) From eacd8d669b6a936a414cf68c12561a97d1e446cd Mon Sep 17 00:00:00 2001 From: Ryan Knox Date: Thu, 10 May 2018 12:18:49 -0700 Subject: [PATCH 008/101] added site-level nlevdecomp and arguments to populate it --- src/utils/clmfates_interfaceMod.F90 | 46 +++++++++++++++++++---------- 1 file changed, 31 insertions(+), 15 deletions(-) diff --git a/src/utils/clmfates_interfaceMod.F90 b/src/utils/clmfates_interfaceMod.F90 index 6892cf5e8e..343c51fb10 100644 --- a/src/utils/clmfates_interfaceMod.F90 +++ b/src/utils/clmfates_interfaceMod.F90 @@ -108,7 +108,7 @@ module CLMFatesInterfaceMod use ChecksBalancesMod , only : SummarizeNetFluxes, FATES_BGC_Carbon_BalanceCheck use EDTypesMod , only : ed_patch_type use FatesHydraulicsMemMod , only : nlevsoi_hyd - use FatesInterfaceMod , only : hlm_numlevgrnd, hlm_numlevsoil, hlm_numlevdecomp_full + use FatesInterfaceMod , only : hlm_numlevgrnd use EDMainMod , only : ed_ecosystem_dynamics use EDMainMod , only : ed_update_site use EDInitMod , only : zero_site @@ -253,6 +253,7 @@ subroutine init(this, bounds_proc ) integer, allocatable :: collist (:) type(bounds_type) :: bounds_clump integer :: nmaxcol + integer :: ndecomp ! Initialize the FATES communicators with the HLM ! This involves to stages @@ -285,8 +286,6 @@ subroutine init(this, bounds_proc ) call set_fates_ctrlparms('nir_sw_index',ival=inir) call set_fates_ctrlparms('num_lev_ground',ival=nlevgrnd) - call set_fates_ctrlparms('num_levdecomp',ival=nlevdecomp) - call set_fates_ctrlparms('num_levdecomp_full',ival=nlevdecomp_full) call set_fates_ctrlparms('hlm_name',cval='CLM') call set_fates_ctrlparms('hio_ignore_val',rval=spval) call set_fates_ctrlparms('soilwater_ipedof',ival=get_ipedof(0)) @@ -443,8 +442,14 @@ subroutine init(this, bounds_proc ) c = this%f2hmap(nc)%fcolumn(s) - call allocate_bcin(this%fates(nc)%bc_in(s),col%nbedrock(c)) - call allocate_bcout(this%fates(nc)%bc_out(s)) + if (use_vertsoilc) then + ndecomp = col%nbedrock(c) + else + ndecomp = 1 + end if + + call allocate_bcin(this%fates(nc)%bc_in(s),col%nbedrock(c),ndecomp) + call allocate_bcout(this%fates(nc)%bc_out(s),col%nbedrock(c),ndecomp) call this%fates(nc)%zero_bcs(s) ! Pass any grid-cell derived attributes to the site @@ -565,6 +570,7 @@ subroutine dynamics_driv(this, nc, bounds_clump, & integer :: day ! day of month (1, ..., 31) integer :: sec ! seconds of the day integer :: nlevsoil ! number of soil layers at the site + integer :: nld_si ! site specific number of decomposition layers integer :: current_year integer :: current_month integer :: current_day @@ -681,12 +687,19 @@ subroutine dynamics_driv(this, nc, bounds_clump, & do s = 1, this%fates(nc)%nsites c = this%f2hmap(nc)%fcolumn(s) - soilbiogeochem_carbonflux_inst%FATES_c_to_litr_lab_c_col(c,:) = & - this%fates(nc)%bc_out(s)%FATES_c_to_litr_lab_c_col(:) - soilbiogeochem_carbonflux_inst%FATES_c_to_litr_cel_c_col(c,:) = & - this%fates(nc)%bc_out(s)%FATES_c_to_litr_cel_c_col(:) - soilbiogeochem_carbonflux_inst%FATES_c_to_litr_lig_c_col(c,:) = & - this%fates(nc)%bc_out(s)%FATES_c_to_litr_lig_c_col(:) + + soilbiogeochem_carbonflux_inst%FATES_c_to_litr_lab_c_col(c,1:nlevdecomp) = 0.0_r8 + soilbiogeochem_carbonflux_inst%FATES_c_to_litr_cel_c_col(c,1:nlevdecomp) = 0.0_r8 + soilbiogeochem_carbonflux_inst%FATES_c_to_litr_lig_c_col(c,1:nlevdecomp) = 0.0_r8 + + nld_si = this%fates(nc)%bc_in(s)%nlevdecomp + + soilbiogeochem_carbonflux_inst%FATES_c_to_litr_lab_c_col(c,1:nld_si) = & + this%fates(nc)%bc_out(s)%FATES_c_to_litr_lab_c_col(1:nld_si) + soilbiogeochem_carbonflux_inst%FATES_c_to_litr_cel_c_col(c,1:nld_si) = & + this%fates(nc)%bc_out(s)%FATES_c_to_litr_cel_c_col(1:nld_si) + soilbiogeochem_carbonflux_inst%FATES_c_to_litr_lig_c_col(c,1:nld_si) = & + this%fates(nc)%bc_out(s)%FATES_c_to_litr_lig_c_col(1:nld_si) end do @@ -1516,7 +1529,7 @@ subroutine wrap_btran(this,nc,fn,filterc,soilstate_inst, waterstate_inst, & rresis(p,j) = -999.9 ! We do not calculate this correctly ! it should not thought of as valid output until we decide to. - rootr(p,j) = this%fates(nc)%bc_out(s)%rootr_pagl(ifp,j) + rootr(p,j) = this%fates(nc)%bc_out(s)%rootr_pasl(ifp,j) btran(p) = this%fates(nc)%bc_out(s)%btran_pa(ifp) btran2(p) = -999.9 ! Not available, force to nonsense @@ -2149,17 +2162,20 @@ subroutine init_soil_depths(this, nc) integer :: s ! site index integer :: c ! column index integer :: j ! Depth index + integer :: nlevsoil + integer :: nlevdecomp do s = 1, this%fates(nc)%nsites c = this%f2hmap(nc)%fcolumn(s) nlevsoil = this%fates(nc)%bc_in(s)%nlevsoil - + nlevdecomp = this%fates(nc)%bc_in(s)%nlevdecomp + this%fates(nc)%bc_in(s)%zi_sisl(0:nlevsoil) = col%zi(c,0:nlevsoil) this%fates(nc)%bc_in(s)%dz_sisl(1:nlevsoil) = col%dz(c,1:nlevsoil) this%fates(nc)%bc_in(s)%z_sisl(1:nlevsoil) = col%z(c,1:nlevsoil) - this%fates(nc)%bc_in(s)%dz_decomp_sisl(1:hlm_numlevdecomp_full) = & - dzsoi_decomp(1:hlm_numlevdecomp_full) + this%fates(nc)%bc_in(s)%dz_decomp_sisl(1:nlevdecomp) = & + dzsoi_decomp(1:nlevdecomp) end do return From 08c5fe5a0e4afa3e1ab49ae93bb27148d957b51e Mon Sep 17 00:00:00 2001 From: Charles Koven Date: Fri, 2 Feb 2018 16:45:57 -0800 Subject: [PATCH 009/101] merged over hostside changes for new age*pft and size*age*pft hist dims from fates-clm --- src/main/histFileMod.F90 | 27 +++++++++++++++++++++++++++ src/utils/clmfates_interfaceMod.F90 | 26 +++++++++++++++++++++++++- 2 files changed, 52 insertions(+), 1 deletion(-) diff --git a/src/main/histFileMod.F90 b/src/main/histFileMod.F90 index fea351a17d..091e845b86 100644 --- a/src/main/histFileMod.F90 +++ b/src/main/histFileMod.F90 @@ -2055,6 +2055,8 @@ subroutine htape_create (t, histrest) if(use_fates)then call ncd_defdim(lnfid, 'fates_levscag', nlevsclass * nlevage, dimid) + call ncd_defdim(lnfid, 'fates_levscagpf', nlevsclass * nlevage * numpft_ed, dimid) + call ncd_defdim(lnfid, 'fates_levagepft', nlevage * numpft_ed, dimid) call ncd_defdim(lnfid, 'fates_levscls', nlevsclass, dimid) call ncd_defdim(lnfid, 'fates_levpft', numpft_ed, dimid) call ncd_defdim(lnfid, 'fates_levage', nlevage, dimid) @@ -2484,6 +2486,11 @@ subroutine htape_timeconst(t, mode) use FatesInterfaceMod, only : fates_hdim_levpft use FatesInterfaceMod, only : fates_hdim_scmap_levscag use FatesInterfaceMod, only : fates_hdim_agmap_levscag + use FatesInterfaceMod, only : fates_hdim_scmap_levscagpft + use FatesInterfaceMod, only : fates_hdim_agmap_levscagpft + use FatesInterfaceMod, only : fates_hdim_pftmap_levscagpft + use FatesInterfaceMod, only : fates_hdim_agmap_levagepft + use FatesInterfaceMod, only : fates_hdim_pftmap_levagepft use FatesInterfaceMod, only : fates_hdim_levfuel use FatesInterfaceMod, only : fates_hdim_levcwdsc use FatesInterfaceMod, only : fates_hdim_levcan @@ -2576,6 +2583,17 @@ subroutine htape_timeconst(t, mode) long_name='FATES leaf level of combined canopy x leaf x pft dimension', ncid=nfid(t)) call ncd_defvar(varname='fates_pftmap_levcnlfpf',xtype=ncd_int, dim1name='fates_levcnlfpf', & long_name='FATES PFT level of combined canopy x leaf x pft dimension', ncid=nfid(t)) + call ncd_defvar(varname='fates_scmap_levscagpft', xtype=ncd_int, dim1name='fates_levscagpf', & + long_name='FATES size-class map into size x patch age x pft', units='-', ncid=nfid(t)) + call ncd_defvar(varname='fates_agmap_levscagpft', xtype=ncd_int, dim1name='fates_levscagpf', & + long_name='FATES age-class map into size x patch age x pft', units='-', ncid=nfid(t)) + call ncd_defvar(varname='fates_pftmap_levscagpft', xtype=ncd_int, dim1name='fates_levscagpf', & + long_name='FATES pft map into size x patch age x pft', units='-', ncid=nfid(t)) + call ncd_defvar(varname='fates_pftmap_levagepft', xtype=ncd_int, dim1name='fates_levagepft', & + long_name='FATES pft map into patch age x pft', units='-', ncid=nfid(t)) + call ncd_defvar(varname='fates_agmap_levagepft', xtype=ncd_int, dim1name='fates_levagepft', & + long_name='FATES age-class map into patch age x pft', units='-', ncid=nfid(t)) + end if @@ -2605,6 +2623,11 @@ subroutine htape_timeconst(t, mode) call ncd_io(varname='fates_canmap_levcnlfpf',data=fates_hdim_canmap_levcnlfpf, ncid=nfid(t), flag='write') call ncd_io(varname='fates_lfmap_levcnlfpf',data=fates_hdim_lfmap_levcnlfpf, ncid=nfid(t), flag='write') call ncd_io(varname='fates_pftmap_levcnlfpf',data=fates_hdim_pftmap_levcnlfpf, ncid=nfid(t), flag='write') + call ncd_io(varname='fates_scmap_levscagpft',data=fates_hdim_scmap_levscagpft, ncid=nfid(t), flag='write') + call ncd_io(varname='fates_agmap_levscagpft',data=fates_hdim_agmap_levscagpft, ncid=nfid(t), flag='write') + call ncd_io(varname='fates_pftmap_levscagpft',data=fates_hdim_pftmap_levscagpft, ncid=nfid(t), flag='write') + call ncd_io(varname='fates_pftmap_levagepft',data=fates_hdim_pftmap_levagepft, ncid=nfid(t), flag='write') + call ncd_io(varname='fates_agmap_levagepft',data=fates_hdim_agmap_levagepft, ncid=nfid(t), flag='write') end if endif @@ -4768,6 +4791,10 @@ subroutine hist_addfld2d (fname, type2d, units, avgflag, long_name, type1d_out, num2d = nlevsclass*numpft_ed case ('fates_levscag') num2d = nlevsclass*nlevage + case ('fates_levscagpf') + num2d = nlevsclass*nlevage*numpft_ed + case ('fates_levagepft') + num2d = nlevage*numpft_ed case ('fates_levcan') num2d = nclmax case ('fates_levcnlf') diff --git a/src/utils/clmfates_interfaceMod.F90 b/src/utils/clmfates_interfaceMod.F90 index fbbfbf99ea..13971b0ea9 100644 --- a/src/utils/clmfates_interfaceMod.F90 +++ b/src/utils/clmfates_interfaceMod.F90 @@ -1873,6 +1873,7 @@ subroutine init_history_io(this,bounds_proc) use FatesIOVariableKindMod, only : site_r8, site_ground_r8, site_size_pft_r8 use FatesIOVariableKindMod, only : site_size_r8, site_pft_r8, site_age_r8 use FatesIOVariableKindMod, only : site_fuel_r8, site_cwdsc_r8, site_scag_r8 + use FatesIOVariableKindMod, only : site_scagpft_r8, site_agepft_r8 use FatesIOVariableKindMod, only : site_can_r8, site_cnlf_r8, site_cnlfpft_r8 use FatesIODimensionsMod, only : fates_bounds_type @@ -2112,7 +2113,24 @@ subroutine init_history_io(this,bounds_proc) ptr_col=this%fates_hist%hvars(ivar)%r82d, & default=trim(vdefault), & set_lake=0._r8,set_urb=0._r8) - + case(site_scagpft_r8) + d_index = this%fates_hist%dim_kinds(dk_index)%dim2_index + dim2name = this%fates_hist%dim_bounds(d_index)%name + call hist_addfld2d(fname=trim(vname),units=trim(vunits), & + type2d=trim(dim2name), & + avgflag=trim(vavgflag),long_name=trim(vlong), & + ptr_col=this%fates_hist%hvars(ivar)%r82d, & + default=trim(vdefault), & + set_lake=0._r8,set_urb=0._r8) + case(site_agepft_r8) + d_index = this%fates_hist%dim_kinds(dk_index)%dim2_index + dim2name = this%fates_hist%dim_bounds(d_index)%name + call hist_addfld2d(fname=trim(vname),units=trim(vunits), & + type2d=trim(dim2name), & + avgflag=trim(vavgflag),long_name=trim(vlong), & + ptr_col=this%fates_hist%hvars(ivar)%r82d, & + default=trim(vdefault), & + set_lake=0._r8,set_urb=0._r8) case default write(iulog,*) 'A FATES iotype was created that was not registerred' @@ -2358,6 +2376,12 @@ subroutine hlm_bounds_to_fates_bounds(hlm, fates) fates%sizeage_class_begin = 1 fates%sizeage_class_end = nlevsclass * nlevage + + fates%agepft_class_begin = 1 + fates%agepft_class_end = nlevage * numpft_ed + + fates%sizeagepft_class_begin = 1 + fates%sizeagepft_class_end = nlevsclass * nlevage * numpft_ed fates%fuel_begin = 1 fates%fuel_end = nfsc From 92c325ac931fd8cedfdf4cf9ecb865657cc0c560 Mon Sep 17 00:00:00 2001 From: Charles Koven Date: Thu, 10 May 2018 16:49:04 -0700 Subject: [PATCH 010/101] added height dimension to FATES history --- src/main/histFileMod.F90 | 8 ++++++++ src/utils/clmfates_interfaceMod.F90 | 14 ++++++++++++++ 2 files changed, 22 insertions(+) diff --git a/src/main/histFileMod.F90 b/src/main/histFileMod.F90 index 091e845b86..0aaa2afae5 100644 --- a/src/main/histFileMod.F90 +++ b/src/main/histFileMod.F90 @@ -23,6 +23,7 @@ module histFileMod use EDTypesMod , only : nclmax use EDTypesMod , only : nlevleaf use FatesInterfaceMod , only : nlevsclass, nlevage + use FatesInterfaceMod , only : nlevheight use EDTypesMod , only : nfsc, ncwd use FatesInterfaceMod , only : numpft_ed => numpft use ncdio_pio @@ -2060,6 +2061,7 @@ subroutine htape_create (t, histrest) call ncd_defdim(lnfid, 'fates_levscls', nlevsclass, dimid) call ncd_defdim(lnfid, 'fates_levpft', numpft_ed, dimid) call ncd_defdim(lnfid, 'fates_levage', nlevage, dimid) + call ncd_defdim(lnfid, 'fates_levheight', nlevheight, dimid) call ncd_defdim(lnfid, 'fates_levfuel', nfsc, dimid) call ncd_defdim(lnfid, 'fates_levcwdsc', ncwd, dimid) call ncd_defdim(lnfid, 'fates_levscpf', nlevsclass*numpft_ed, dimid) @@ -2483,6 +2485,7 @@ subroutine htape_timeconst(t, mode) use FatesInterfaceMod, only : fates_hdim_pfmap_levscpf use FatesInterfaceMod, only : fates_hdim_scmap_levscpf use FatesInterfaceMod, only : fates_hdim_levage + use FatesInterfaceMod, only : fates_hdim_levheight use FatesInterfaceMod, only : fates_hdim_levpft use FatesInterfaceMod, only : fates_hdim_scmap_levscag use FatesInterfaceMod, only : fates_hdim_agmap_levscag @@ -2565,6 +2568,8 @@ subroutine htape_timeconst(t, mode) long_name='FATES size index of the combined pft-size class dimension', units='-', ncid=nfid(t)) call ncd_defvar(varname='fates_levage',xtype=tape(t)%ncprec, dim1name='fates_levage', & long_name='FATES patch age (yr)', ncid=nfid(t)) + call ncd_defvar(varname='fates_levheight',xtype=tape(t)%ncprec, dim1name='fates_levheight', & + long_name='FATES height (m)', ncid=nfid(t)) call ncd_defvar(varname='fates_levpft',xtype=ncd_int, dim1name='fates_levpft', & long_name='FATES pft number', ncid=nfid(t)) call ncd_defvar(varname='fates_levfuel',xtype=ncd_int, dim1name='fates_levfuel', & @@ -2614,6 +2619,7 @@ subroutine htape_timeconst(t, mode) call ncd_io(varname='fates_pftmap_levscpf',data=fates_hdim_pfmap_levscpf, ncid=nfid(t), flag='write') call ncd_io(varname='fates_scmap_levscpf',data=fates_hdim_scmap_levscpf, ncid=nfid(t), flag='write') call ncd_io(varname='fates_levage',data=fates_hdim_levage, ncid=nfid(t), flag='write') + call ncd_io(varname='fates_levheight',data=fates_hdim_levheight, ncid=nfid(t), flag='write') call ncd_io(varname='fates_levpft',data=fates_hdim_levpft, ncid=nfid(t), flag='write') call ncd_io(varname='fates_levfuel',data=fates_hdim_levfuel, ncid=nfid(t), flag='write') call ncd_io(varname='fates_levcwdsc',data=fates_hdim_levcwdsc, ncid=nfid(t), flag='write') @@ -4783,6 +4789,8 @@ subroutine hist_addfld2d (fname, type2d, units, avgflag, long_name, type1d_out, num2d = numpft_ed case ('fates_levage') num2d = nlevage + case ('fates_levheight') + num2d = nlevheight case ('fates_levfuel') num2d = nfsc case ('fates_levcwdsc') diff --git a/src/utils/clmfates_interfaceMod.F90 b/src/utils/clmfates_interfaceMod.F90 index 13971b0ea9..7876924455 100644 --- a/src/utils/clmfates_interfaceMod.F90 +++ b/src/utils/clmfates_interfaceMod.F90 @@ -1875,6 +1875,7 @@ subroutine init_history_io(this,bounds_proc) use FatesIOVariableKindMod, only : site_fuel_r8, site_cwdsc_r8, site_scag_r8 use FatesIOVariableKindMod, only : site_scagpft_r8, site_agepft_r8 use FatesIOVariableKindMod, only : site_can_r8, site_cnlf_r8, site_cnlfpft_r8 + use FatesIOVariableKindMod, only : site_height_r8 use FatesIODimensionsMod, only : fates_bounds_type @@ -2059,6 +2060,15 @@ subroutine init_history_io(this,bounds_proc) ptr_col=this%fates_hist%hvars(ivar)%r82d, & default=trim(vdefault), & set_lake=0._r8,set_urb=0._r8) + case(site_height_r8) + d_index = this%fates_hist%dim_kinds(dk_index)%dim2_index + dim2name = this%fates_hist%dim_bounds(d_index)%name + call hist_addfld2d(fname=trim(vname),units=trim(vunits), & + type2d=trim(dim2name), & + avgflag=trim(vavgflag),long_name=trim(vlong), & + ptr_col=this%fates_hist%hvars(ivar)%r82d, & + default=trim(vdefault), & + set_lake=0._r8,set_urb=0._r8) case(site_fuel_r8) d_index = this%fates_hist%dim_kinds(dk_index)%dim2_index dim2name = this%fates_hist%dim_bounds(d_index)%name @@ -2340,6 +2350,7 @@ subroutine hlm_bounds_to_fates_bounds(hlm, fates) use FatesIODimensionsMod, only : fates_bounds_type use FatesInterfaceMod, only : nlevsclass, nlevage + use FatesInterfaceMod, only : nlevheight use EDtypesMod, only : nfsc, ncwd use EDtypesMod, only : nlevleaf, nclmax use FatesInterfaceMod, only : numpft_ed => numpft @@ -2374,6 +2385,9 @@ subroutine hlm_bounds_to_fates_bounds(hlm, fates) fates%age_class_begin = 1 fates%age_class_end = nlevage + fates%height_begin = 1 + fates%height_end = nlevheight + fates%sizeage_class_begin = 1 fates%sizeage_class_end = nlevsclass * nlevage From e1deb0f6300d40ace2a20084e67dcf5a4512ebc1 Mon Sep 17 00:00:00 2001 From: Ryan Knox Date: Fri, 18 May 2018 18:32:50 -0600 Subject: [PATCH 011/101] Removed deprecated variables from allvars test. Temporary update of the fates finidat file. --- bld/namelist_files/namelist_defaults_clm4_5.xml | 8 +++++--- .../testdefs/testmods_dirs/clm/FatesAllVars/user_nl_clm | 2 +- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/bld/namelist_files/namelist_defaults_clm4_5.xml b/bld/namelist_files/namelist_defaults_clm4_5.xml index 09cb779a57..27d1cf7031 100644 --- a/bld/namelist_files/namelist_defaults_clm4_5.xml +++ b/bld/namelist_files/namelist_defaults_clm4_5.xml @@ -355,7 +355,9 @@ attributes from the config_cache.xml file (with keys converted to upper-case). -lnd/clm2/paramdata/fates_params_2troppftclones_f0.c180220.nc +/glade/u/home/rgknox/ctsm/src/fates/parameter_files/fates_params_2trop.c180512.nc + + @@ -583,8 +585,8 @@ attributes from the config_cache.xml file (with keys converted to upper-case). lnd/clm2/initdata_map/clmi.I2000CLM50FATESCRUGS.0006-01-01.f45_f45_mg37_s1.4.1_a3.0.0_rev3_c180316.nc + ic_tod="0" glc_nec="10" use_crop=".false." irrigate=".true."> +/glade/scratch/rgknox/fates-clm-tests/iclm50fates-finit-s.1.12.3_a.4.0.0-f45/run/iclm50fates-finit-s.1.12.3_a.4.0.0-f45.clm2.r.0056-01-01-00000.nc diff --git a/cime_config/testdefs/testmods_dirs/clm/FatesAllVars/user_nl_clm b/cime_config/testdefs/testmods_dirs/clm/FatesAllVars/user_nl_clm index dd29aef032..38ff54ebf1 100644 --- a/cime_config/testdefs/testmods_dirs/clm/FatesAllVars/user_nl_clm +++ b/cime_config/testdefs/testmods_dirs/clm/FatesAllVars/user_nl_clm @@ -6,7 +6,7 @@ hist_fincl1 = 'NCL_BY_AGE','NPATCH_BY_AGE','BIOMASS_BY_AGE','NPP_BY_AGE',' 'PARSHA_Z_CNLFPFT','PARSUN_Z_CAN','PARSHA_Z_CAN','LAISUN_Z_CNLF','LAISHA_Z_CNLF','LAISUN_Z_CNLFPFT','LAISHA_Z_CNLFPFT', 'LAISUN_TOP_CAN','LAISHA_TOP_CAN','FABD_SUN_CNLFPFT','FABD_SHA_CNLFPFT','FABI_SUN_CNLFPFT','FABI_SHA_CNLFPFT', 'FABD_SUN_CNLF','FABD_SHA_CNLF','FABI_SUN_CNLF','FABI_SHA_CNLF','FABD_SUN_TOPLF_BYCANLAYER','FABD_SHA_TOPLF_BYCANLAYER', - 'FABI_SUN_TOPLF_BYCANLAYER','FABI_SHA_TOPLF_BYCANLAYER','TS_NET_UPTAKE_CNLF','YEAR_NET_UPTAKE_CNLF','CROWNAREA_CNLF', + 'FABI_SUN_TOPLF_BYCANLAYER','FABI_SHA_TOPLF_BYCANLAYER','NET_C_UPTAKE_CNLF','CROWNAREA_CNLF', 'MORTALITY_CARBONFLUX_CANOPY','MORTALITY_CARBONFLUX_UNDERSTORY','NPLANT_SCAG','NPLANT_CANOPY_SCAG','NPLANT_UNDERSTORY_SCAG', 'DDBH_CANOPY_SCAG','DDBH_UNDERSTORY_SCAG','MORTALITY_CANOPY_SCAG','MORTALITY_UNDERSTORY_SCAG','GPP_SCPF','GPP_CANOPY_SCPF', 'AR_CANOPY_SCPF','GPP_UNDERSTORY_SCPF','AR_UNDERSTORY_SCPF','NPP_SCPF','NPP_LEAF_SCPF','NPP_SEED_SCPF','NPP_FNRT_SCPF', From ae46cb6284b647327bac0c601833e43f8d8aed28 Mon Sep 17 00:00:00 2001 From: Ryan Knox Date: Fri, 18 May 2018 18:35:41 -0600 Subject: [PATCH 012/101] updating default fates parameter file to include new hydro parameter --- bld/namelist_files/namelist_defaults_clm4_5.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bld/namelist_files/namelist_defaults_clm4_5.xml b/bld/namelist_files/namelist_defaults_clm4_5.xml index c3a2bf4dfb..fd0e586e4b 100644 --- a/bld/namelist_files/namelist_defaults_clm4_5.xml +++ b/bld/namelist_files/namelist_defaults_clm4_5.xml @@ -355,7 +355,7 @@ attributes from the config_cache.xml file (with keys converted to upper-case). -lnd/clm2/paramdata/fates_params_2troppftclones_f0.c180220.nc +lnd/clm2/paramdata/fates_params_default_2trop.c180518.nc From bb94902e04d46c747061151d388d3aef58aef68d Mon Sep 17 00:00:00 2001 From: Ryan Knox Date: Fri, 18 May 2018 18:41:29 -0600 Subject: [PATCH 013/101] Added a fates hydro testmod, (but not the test entry itself) --- .../testdefs/testmods_dirs/clm/FatesHydro/shell_commands | 1 + .../testdefs/testmods_dirs/clm/FatesHydro/user_nl_clm | 6 ++++++ 2 files changed, 7 insertions(+) create mode 100644 cime_config/testdefs/testmods_dirs/clm/FatesHydro/shell_commands create mode 100644 cime_config/testdefs/testmods_dirs/clm/FatesHydro/user_nl_clm diff --git a/cime_config/testdefs/testmods_dirs/clm/FatesHydro/shell_commands b/cime_config/testdefs/testmods_dirs/clm/FatesHydro/shell_commands new file mode 100644 index 0000000000..2a9f09bd75 --- /dev/null +++ b/cime_config/testdefs/testmods_dirs/clm/FatesHydro/shell_commands @@ -0,0 +1 @@ +./xmlchange CLM_FORCE_COLDSTART="on" diff --git a/cime_config/testdefs/testmods_dirs/clm/FatesHydro/user_nl_clm b/cime_config/testdefs/testmods_dirs/clm/FatesHydro/user_nl_clm new file mode 100644 index 0000000000..e6dd831a5f --- /dev/null +++ b/cime_config/testdefs/testmods_dirs/clm/FatesHydro/user_nl_clm @@ -0,0 +1,6 @@ +hist_empty_htapes = .true. +use_fates_ed_st3= .true. +use_fates_planthydro= .true. +hist_fincl1 = 'FATES_ERRH2O_SCPF','FATES_TRAN_SCPF','FATES_ROOTUPTAKE_SCPF','FATES_ROOTUPTAKE01_SCPF', +'FATES_SAPFLOW_COL_SCPF','FATES_ITERH1_COL_SCPF','FATES_ATH_COL_SCPF','FATES_TTH_COL_SCPF', +'FATES_STH_COL_SCPF','FATES_LTH_COL_SCPF','FATES_AWP_COL_SCPF','FATES_BTRAN_COL_SCPF' From d27e2c7f5903db6dd1b7d2a3b2d91713aa8cd213 Mon Sep 17 00:00:00 2001 From: Ryan Knox Date: Fri, 18 May 2018 18:44:08 -0600 Subject: [PATCH 014/101] Modified interface to fix plant hydro bugs --- src/utils/clmfates_interfaceMod.F90 | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/utils/clmfates_interfaceMod.F90 b/src/utils/clmfates_interfaceMod.F90 index fbbfbf99ea..fe08e18c08 100644 --- a/src/utils/clmfates_interfaceMod.F90 +++ b/src/utils/clmfates_interfaceMod.F90 @@ -775,17 +775,17 @@ subroutine wrap_update_hlmfates_dyn(this, nc, bounds_clump, & ! ! Diagnose water storage in canopy if hydraulics is on ! ! This updates the internal value and the bc_out value. ! ! If hydraulics is off, it returns 0 storage - ! if ( use_fates_planthydro ) then + if ( use_fates_planthydro ) then ! call UpdateH2OVeg(this%fates(nc)%nsites, & ! this%fates(nc)%sites, & ! this%fates(nc)%bc_out) ! - ! do s = 1, this%fates(nc)%nsites - ! c = this%f2hmap(nc)%fcolumn(s) - ! waterstate_inst%total_plant_stored_h2o_col(c) = & - ! this%fates(nc)%bc_out(s)%plant_stored_h2o_si - ! end do - ! end if + do s = 1, this%fates(nc)%nsites + c = this%f2hmap(nc)%fcolumn(s) + waterstate_inst%total_plant_stored_h2o_col(c) = & + this%fates(nc)%bc_out(s)%plant_stored_h2o_si + end do + end if !--------------------------------------------------------------------------------- ! Convert FATES dynamics into HLM usable information @@ -2192,7 +2192,7 @@ subroutine ComputeRootSoilFlux(this, bounds_clump, num_filterc, filterc, & do s = 1, this%fates(nc)%nsites c = this%f2hmap(nc)%fcolumn(s) - waterflux_inst%qflx_rootsoi_col(c,:) = this%fates(nc)%bc_out(s)%qflx_soil2root_sisl(:) + waterflux_inst%qflx_rootsoi_col(c,1:nlevsoi) = this%fates(nc)%bc_out(s)%qflx_soil2root_sisl(1:nlevsoi) end do end subroutine ComputeRootSoilFlux From 1a4466f50d36442b00c927bd1972d6c48d39a87a Mon Sep 17 00:00:00 2001 From: Ryan Knox Date: Mon, 21 May 2018 12:33:06 -0700 Subject: [PATCH 015/101] Updated the external to match the released fates-hydro tag. --- Externals_CLM.cfg | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Externals_CLM.cfg b/Externals_CLM.cfg index f4de1ff433..d9b14d300d 100644 --- a/Externals_CLM.cfg +++ b/Externals_CLM.cfg @@ -1,8 +1,8 @@ [fates] local_path = src/fates protocol = git -repo_url = https://github.com/NCAR/fates-release -tag = fates_s1.8.1_a3.0.0 +repo_url = https://github.com/NGEET/fates +tag = sci.1.13.0_api.3.2.0 required = True [PTCLM] From 34d8a33b80528b49cd94cd76645eefac26acd11b Mon Sep 17 00:00:00 2001 From: Ryan Knox Date: Mon, 21 May 2018 17:48:52 -0600 Subject: [PATCH 016/101] Removing finidat files from fates test (temporarily?). Fixed variable list in FatesAllvars test. --- bld/namelist_files/namelist_defaults_clm4_5.xml | 4 ++-- cime_config/testdefs/testmods_dirs/clm/Fates/shell_commands | 1 + .../testdefs/testmods_dirs/clm/FatesAllVars/include_user_mods | 2 +- .../testdefs/testmods_dirs/clm/FatesAllVars/user_nl_clm | 2 +- .../testdefs/testmods_dirs/clm/FatesNoFire/include_user_mods | 2 +- .../testdefs/testmods_dirs/clm/FatesPPhys/include_user_mods | 2 +- .../testdefs/testmods_dirs/clm/FatesST3/include_user_mods | 2 +- 7 files changed, 8 insertions(+), 7 deletions(-) diff --git a/bld/namelist_files/namelist_defaults_clm4_5.xml b/bld/namelist_files/namelist_defaults_clm4_5.xml index fd0e586e4b..8579aa9b94 100644 --- a/bld/namelist_files/namelist_defaults_clm4_5.xml +++ b/bld/namelist_files/namelist_defaults_clm4_5.xml @@ -584,10 +584,10 @@ attributes from the config_cache.xml file (with keys converted to upper-case). + lnd/clm2/initdata_map/clmi.I2000CLM50FATESCRUGS.0006-01-01.f45_f45_mg37_s1.4.1_a3.0.0_rev3_c180316.nc + ic_tod="0" glc_nec="10" use_crop=".false." irrigate=".true."> diff --git a/cime_config/testdefs/testmods_dirs/clm/Fates/shell_commands b/cime_config/testdefs/testmods_dirs/clm/Fates/shell_commands index d81ed7dbc5..a0f3738e2c 100644 --- a/cime_config/testdefs/testmods_dirs/clm/Fates/shell_commands +++ b/cime_config/testdefs/testmods_dirs/clm/Fates/shell_commands @@ -1 +1,2 @@ ./xmlchange CLM_BLDNML_OPTS="-no-megan" --append +./xmlchange CLM_FORCE_COLDSTART="on" \ No newline at end of file diff --git a/cime_config/testdefs/testmods_dirs/clm/FatesAllVars/include_user_mods b/cime_config/testdefs/testmods_dirs/clm/FatesAllVars/include_user_mods index 4c7aa0f2b4..1f2c03aebe 100644 --- a/cime_config/testdefs/testmods_dirs/clm/FatesAllVars/include_user_mods +++ b/cime_config/testdefs/testmods_dirs/clm/FatesAllVars/include_user_mods @@ -1 +1 @@ -../Fates +../FatesColdDef diff --git a/cime_config/testdefs/testmods_dirs/clm/FatesAllVars/user_nl_clm b/cime_config/testdefs/testmods_dirs/clm/FatesAllVars/user_nl_clm index dd29aef032..38ff54ebf1 100644 --- a/cime_config/testdefs/testmods_dirs/clm/FatesAllVars/user_nl_clm +++ b/cime_config/testdefs/testmods_dirs/clm/FatesAllVars/user_nl_clm @@ -6,7 +6,7 @@ hist_fincl1 = 'NCL_BY_AGE','NPATCH_BY_AGE','BIOMASS_BY_AGE','NPP_BY_AGE',' 'PARSHA_Z_CNLFPFT','PARSUN_Z_CAN','PARSHA_Z_CAN','LAISUN_Z_CNLF','LAISHA_Z_CNLF','LAISUN_Z_CNLFPFT','LAISHA_Z_CNLFPFT', 'LAISUN_TOP_CAN','LAISHA_TOP_CAN','FABD_SUN_CNLFPFT','FABD_SHA_CNLFPFT','FABI_SUN_CNLFPFT','FABI_SHA_CNLFPFT', 'FABD_SUN_CNLF','FABD_SHA_CNLF','FABI_SUN_CNLF','FABI_SHA_CNLF','FABD_SUN_TOPLF_BYCANLAYER','FABD_SHA_TOPLF_BYCANLAYER', - 'FABI_SUN_TOPLF_BYCANLAYER','FABI_SHA_TOPLF_BYCANLAYER','TS_NET_UPTAKE_CNLF','YEAR_NET_UPTAKE_CNLF','CROWNAREA_CNLF', + 'FABI_SUN_TOPLF_BYCANLAYER','FABI_SHA_TOPLF_BYCANLAYER','NET_C_UPTAKE_CNLF','CROWNAREA_CNLF', 'MORTALITY_CARBONFLUX_CANOPY','MORTALITY_CARBONFLUX_UNDERSTORY','NPLANT_SCAG','NPLANT_CANOPY_SCAG','NPLANT_UNDERSTORY_SCAG', 'DDBH_CANOPY_SCAG','DDBH_UNDERSTORY_SCAG','MORTALITY_CANOPY_SCAG','MORTALITY_UNDERSTORY_SCAG','GPP_SCPF','GPP_CANOPY_SCPF', 'AR_CANOPY_SCPF','GPP_UNDERSTORY_SCPF','AR_UNDERSTORY_SCPF','NPP_SCPF','NPP_LEAF_SCPF','NPP_SEED_SCPF','NPP_FNRT_SCPF', diff --git a/cime_config/testdefs/testmods_dirs/clm/FatesNoFire/include_user_mods b/cime_config/testdefs/testmods_dirs/clm/FatesNoFire/include_user_mods index 4c7aa0f2b4..1f2c03aebe 100644 --- a/cime_config/testdefs/testmods_dirs/clm/FatesNoFire/include_user_mods +++ b/cime_config/testdefs/testmods_dirs/clm/FatesNoFire/include_user_mods @@ -1 +1 @@ -../Fates +../FatesColdDef diff --git a/cime_config/testdefs/testmods_dirs/clm/FatesPPhys/include_user_mods b/cime_config/testdefs/testmods_dirs/clm/FatesPPhys/include_user_mods index 4c7aa0f2b4..1f2c03aebe 100644 --- a/cime_config/testdefs/testmods_dirs/clm/FatesPPhys/include_user_mods +++ b/cime_config/testdefs/testmods_dirs/clm/FatesPPhys/include_user_mods @@ -1 +1 @@ -../Fates +../FatesColdDef diff --git a/cime_config/testdefs/testmods_dirs/clm/FatesST3/include_user_mods b/cime_config/testdefs/testmods_dirs/clm/FatesST3/include_user_mods index 4c7aa0f2b4..1f2c03aebe 100644 --- a/cime_config/testdefs/testmods_dirs/clm/FatesST3/include_user_mods +++ b/cime_config/testdefs/testmods_dirs/clm/FatesST3/include_user_mods @@ -1 +1 @@ -../Fates +../FatesColdDef From d84d88d76bfaf124367a32dc5aaa2451c0d6cbb6 Mon Sep 17 00:00:00 2001 From: Ryan Knox Date: Mon, 21 May 2018 17:49:39 -0600 Subject: [PATCH 017/101] Removing finidat files from fates logging test --- .../testdefs/testmods_dirs/clm/FatesLogging/include_user_mods | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cime_config/testdefs/testmods_dirs/clm/FatesLogging/include_user_mods b/cime_config/testdefs/testmods_dirs/clm/FatesLogging/include_user_mods index 4c7aa0f2b4..1f2c03aebe 100644 --- a/cime_config/testdefs/testmods_dirs/clm/FatesLogging/include_user_mods +++ b/cime_config/testdefs/testmods_dirs/clm/FatesLogging/include_user_mods @@ -1 +1 @@ -../Fates +../FatesColdDef From d2aec8513275cd081b8f2edf3d041563e2607036 Mon Sep 17 00:00:00 2001 From: Ryan Knox Date: Tue, 22 May 2018 16:06:49 -0700 Subject: [PATCH 018/101] compatibility fix for variable soil depth and fates hydro --- src/utils/clmfates_interfaceMod.F90 | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/utils/clmfates_interfaceMod.F90 b/src/utils/clmfates_interfaceMod.F90 index 343c51fb10..7ef57f4633 100644 --- a/src/utils/clmfates_interfaceMod.F90 +++ b/src/utils/clmfates_interfaceMod.F90 @@ -107,7 +107,6 @@ module CLMFatesInterfaceMod use ChecksBalancesMod , only : SummarizeNetFluxes, FATES_BGC_Carbon_BalanceCheck use EDTypesMod , only : ed_patch_type - use FatesHydraulicsMemMod , only : nlevsoi_hyd use FatesInterfaceMod , only : hlm_numlevgrnd use EDMainMod , only : ed_ecosystem_dynamics use EDMainMod , only : ed_update_site @@ -467,8 +466,9 @@ subroutine init(this, bounds_proc ) call this%init_soil_depths(nc) - if (use_fates_planthydro) call InitHydrSites(this%fates(nc)%sites) - + if (use_fates_planthydro) then + call InitHydrSites(this%fates(nc)%sites,this%fates(nc)%bc_in) + end if if( this%fates(nc)%nsites == 0 ) then write(iulog,*) 'Clump ',nc,' had no valid FATES sites' From 7f5e785a478b9a665f55cd3472204819573af6ea Mon Sep 17 00:00:00 2001 From: Ryan Knox Date: Tue, 22 May 2018 21:02:20 -0600 Subject: [PATCH 019/101] Updated bounding array on plant-hydraulics interface. --- src/utils/clmfates_interfaceMod.F90 | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/utils/clmfates_interfaceMod.F90 b/src/utils/clmfates_interfaceMod.F90 index cd40c53ebc..c74f0296b7 100644 --- a/src/utils/clmfates_interfaceMod.F90 +++ b/src/utils/clmfates_interfaceMod.F90 @@ -2199,6 +2199,7 @@ subroutine ComputeRootSoilFlux(this, bounds_clump, num_filterc, filterc, & integer :: l integer :: nc integer :: num_filter_fates + integer :: nlevsoil if( .not. use_fates_planthydro ) return @@ -2223,7 +2224,8 @@ subroutine ComputeRootSoilFlux(this, bounds_clump, num_filterc, filterc, & do s = 1, this%fates(nc)%nsites c = this%f2hmap(nc)%fcolumn(s) - waterflux_inst%qflx_rootsoi_col(c,1:nlevsoi) = this%fates(nc)%bc_out(s)%qflx_soil2root_sisl(1:nlevsoi) + nlevsoil = this%fates(nc)%bc_in(s)%nlevsoil + waterflux_inst%qflx_rootsoi_col(c,1:nlevsoil) = this%fates(nc)%bc_out(s)%qflx_soil2root_sisl(1:nlevsoil) end do end subroutine ComputeRootSoilFlux From e9b7b689d432c4eafd592139216a8e77bdb4a29e Mon Sep 17 00:00:00 2001 From: Ryan Knox Date: Fri, 25 May 2018 11:55:56 -0700 Subject: [PATCH 020/101] Updating fates external to sci.1.14.0_api.4.0.0 --- Externals_CLM.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Externals_CLM.cfg b/Externals_CLM.cfg index d9b14d300d..a5da56b1eb 100644 --- a/Externals_CLM.cfg +++ b/Externals_CLM.cfg @@ -2,7 +2,7 @@ local_path = src/fates protocol = git repo_url = https://github.com/NGEET/fates -tag = sci.1.13.0_api.3.2.0 +tag = sci.1.14.0_api.4.0.0 required = True [PTCLM] From 8eb90b1dcdd43a2b967ddc897ec6a1848547eaa3 Mon Sep 17 00:00:00 2001 From: Ryan Knox Date: Thu, 31 May 2018 15:00:04 -0600 Subject: [PATCH 021/101] Changed a 1.0 r4 to r8 --- src/utils/clmfates_interfaceMod.F90 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/utils/clmfates_interfaceMod.F90 b/src/utils/clmfates_interfaceMod.F90 index c74f0296b7..0b9f6fd05b 100644 --- a/src/utils/clmfates_interfaceMod.F90 +++ b/src/utils/clmfates_interfaceMod.F90 @@ -842,7 +842,7 @@ subroutine wrap_update_hlmfates_dyn(this, nc, bounds_clump, & ! Set the bareground patch indicator patch%is_bareground(col%patchi(c)) = .true. npatch = this%fates(nc)%sites(s)%youngest_patch%patchno - patch%wt_ed(col%patchi(c)) = 1.0-sum(this%fates(nc)%bc_out(s)%canopy_fraction_pa(1:npatch)) + patch%wt_ed(col%patchi(c)) = 1.0_r8-sum(this%fates(nc)%bc_out(s)%canopy_fraction_pa(1:npatch)) if(sum(this%fates(nc)%bc_out(s)%canopy_fraction_pa(1:npatch))>1.0_r8)then write(iulog,*)'Projected Canopy Area of all FATES patches' From fdce2b224b9274d3388ad9f2e8f7e1d58439e709 Mon Sep 17 00:00:00 2001 From: Ryan Knox Date: Wed, 6 Jun 2018 16:44:20 -0600 Subject: [PATCH 022/101] Protected fates calculation of bare-soil area to not go below 0 --- src/utils/clmfates_interfaceMod.F90 | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/utils/clmfates_interfaceMod.F90 b/src/utils/clmfates_interfaceMod.F90 index 16bbaea573..18b0d5ca53 100644 --- a/src/utils/clmfates_interfaceMod.F90 +++ b/src/utils/clmfates_interfaceMod.F90 @@ -842,7 +842,15 @@ subroutine wrap_update_hlmfates_dyn(this, nc, bounds_clump, & ! Set the bareground patch indicator patch%is_bareground(col%patchi(c)) = .true. npatch = this%fates(nc)%sites(s)%youngest_patch%patchno - patch%wt_ed(col%patchi(c)) = 1.0_r8-sum(this%fates(nc)%bc_out(s)%canopy_fraction_pa(1:npatch)) + + ! Precision errors on the canopy_fraction_pa sum, even small (e-12) + ! do exist, and can create potentially negetive bare-soil fractions + ! (ie -1e-12 or smaller). Even though this is effectively zero, + ! it can generate weird logic scenarios in the ctsm/elm code, so we + ! protext it here with a lower bound of 0.0_r8. + + patch%wt_ed(col%patchi(c)) = max(0.0_r8, & + 1.0_r8-sum(this%fates(nc)%bc_out(s)%canopy_fraction_pa(1:npatch))) if(sum(this%fates(nc)%bc_out(s)%canopy_fraction_pa(1:npatch))>1.0_r8)then write(iulog,*)'Projected Canopy Area of all FATES patches' From 67290ab6e8b05eaad3906b103935a2fcb97894f7 Mon Sep 17 00:00:00 2001 From: Ryan Knox Date: Wed, 25 Jul 2018 19:41:38 -0600 Subject: [PATCH 023/101] Updated fates default parameter file --- bld/namelist_files/namelist_defaults_clm4_5.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bld/namelist_files/namelist_defaults_clm4_5.xml b/bld/namelist_files/namelist_defaults_clm4_5.xml index 78a2b10e86..1967681dc7 100644 --- a/bld/namelist_files/namelist_defaults_clm4_5.xml +++ b/bld/namelist_files/namelist_defaults_clm4_5.xml @@ -355,7 +355,7 @@ attributes from the config_cache.xml file (with keys converted to upper-case). -lnd/clm2/paramdata/fates_params_default_2trop.c180518.nc +lnd/clm2/paramdata/fates_params_2trop.c180725.nc From cf864e3ee0665d8e039be1a063ece48a784ef872 Mon Sep 17 00:00:00 2001 From: Ryan Knox Date: Wed, 5 Sep 2018 13:18:53 -0600 Subject: [PATCH 024/101] Updating default FATES parameter file path --- bld/namelist_files/namelist_defaults_clm4_5.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bld/namelist_files/namelist_defaults_clm4_5.xml b/bld/namelist_files/namelist_defaults_clm4_5.xml index 1967681dc7..e065a3b41b 100644 --- a/bld/namelist_files/namelist_defaults_clm4_5.xml +++ b/bld/namelist_files/namelist_defaults_clm4_5.xml @@ -355,7 +355,7 @@ attributes from the config_cache.xml file (with keys converted to upper-case). -lnd/clm2/paramdata/fates_params_2trop.c180725.nc +lnd/clm2/paramdata/fates_params_default_2trop.c180905.nc From 0a92b24e28fff7d450395b8ebe962c06999a7df3 Mon Sep 17 00:00:00 2001 From: Ryan Knox Date: Tue, 18 Sep 2018 18:58:23 -0700 Subject: [PATCH 025/101] Added the parteh_model index for fates --- src/main/clm_varctl.F90 | 3 +++ src/utils/clmfates_interfaceMod.F90 | 7 +++++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/main/clm_varctl.F90 b/src/main/clm_varctl.F90 index 938155c5dd..e0ae6fc0fc 100644 --- a/src/main/clm_varctl.F90 +++ b/src/main/clm_varctl.F90 @@ -196,6 +196,9 @@ module clm_varctl logical, public :: use_fates = .false. ! true => use fates ! These are INTERNAL to the FATES module + integer, public :: fates_parteh_model = -9 ! 1 => carbon only + ! 2 => C+N+P + ! no others enabled logical, public :: use_fates_spitfire = .false. ! true => use spitfire model logical, public :: use_fates_logging = .false. ! true => turn on logging module logical, public :: use_fates_planthydro = .false. ! true => turn on fates hydro diff --git a/src/utils/clmfates_interfaceMod.F90 b/src/utils/clmfates_interfaceMod.F90 index 18b0d5ca53..51921b5d25 100644 --- a/src/utils/clmfates_interfaceMod.F90 +++ b/src/utils/clmfates_interfaceMod.F90 @@ -43,7 +43,8 @@ module CLMFatesInterfaceMod use SoilStateType , only : soilstate_type use clm_varctl , only : iulog - use clm_varctl , only : use_vertsoilc + use clm_varctl , only : use_vertsoilc + use clm_varctl , only : fates_parteh_model use clm_varctl , only : use_fates_spitfire use clm_varctl , only : use_fates_planthydro use clm_varctl , only : use_fates_ed_st3 @@ -236,7 +237,7 @@ subroutine init(this, bounds_proc ) logical :: verbose_output integer :: pass_masterproc integer :: pass_vertsoilc - integer :: pass_spitfire + integer :: pass_spitfire integer :: pass_ed_st3 integer :: pass_ed_prescribed_phys integer :: pass_logging @@ -291,6 +292,8 @@ subroutine init(this, bounds_proc ) call set_fates_ctrlparms('max_patch_per_site',ival=(natpft_size-1)) ! RGK: FATES IGNORES ! AND DOESNT TOUCH ! THE BARE SOIL PATCH + call set_fates_ctrlparms('parteh_model',ival=fates_parteh_model) + if(is_restart()) then pass_is_restart = 1 From b5460a9698d5b1c4a060c3c1ab66efdb17e254ab Mon Sep 17 00:00:00 2001 From: Ryan Knox Date: Fri, 21 Sep 2018 14:16:49 -0600 Subject: [PATCH 026/101] Updated path to fates default parameter file --- bld/namelist_files/namelist_defaults_clm4_5.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bld/namelist_files/namelist_defaults_clm4_5.xml b/bld/namelist_files/namelist_defaults_clm4_5.xml index e065a3b41b..09660c4ca3 100644 --- a/bld/namelist_files/namelist_defaults_clm4_5.xml +++ b/bld/namelist_files/namelist_defaults_clm4_5.xml @@ -355,7 +355,7 @@ attributes from the config_cache.xml file (with keys converted to upper-case). -lnd/clm2/paramdata/fates_params_default_2trop.c180905.nc +lnd/clm2/paramdata/fates_params_default_2trop.c180921.nc From c33cc3f7da23e03e025685fb9e7d3f50473ad4df Mon Sep 17 00:00:00 2001 From: Ryan Knox Date: Mon, 24 Sep 2018 12:43:19 -0700 Subject: [PATCH 027/101] Added call to initialize the PARTEH global mappings in FATES --- src/utils/clmfates_interfaceMod.F90 | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/utils/clmfates_interfaceMod.F90 b/src/utils/clmfates_interfaceMod.F90 index 51921b5d25..525a796c4a 100644 --- a/src/utils/clmfates_interfaceMod.F90 +++ b/src/utils/clmfates_interfaceMod.F90 @@ -102,6 +102,7 @@ module CLMFatesInterfaceMod use FatesInterfaceMod , only : allocate_bcout use FatesInterfaceMod , only : SetFatesTime use FatesInterfaceMod , only : set_fates_ctrlparms + use FatesInterfaceMod , only : InitPARTEHGlobals use FatesHistoryInterfaceMod, only : fates_history_interface_type use FatesRestartInterfaceMod, only : fates_restart_interface_type @@ -463,6 +464,7 @@ subroutine init(this, bounds_proc ) end do + ! Initialize site-level static quantities dictated by the HLM ! currently ground layering depth @@ -494,8 +496,17 @@ subroutine init(this, bounds_proc ) end do !$OMP END PARALLEL DO + + ! This will initialize all globals associated with the chosen + ! Plant Allocation and Reactive Transport hypothesis. This includes + ! mapping tables and global variables. These will be read-only + ! and only required once per machine instance (thus no requirements + ! to have it instanced on each thread + + call InitPARTEHGlobals() + call this%init_history_io(bounds_proc) ! Report Fates Parameters (debug flag in lower level routines) From 6e4609ebc76f28c1ed9ea7d328b3ba5a6ce14db9 Mon Sep 17 00:00:00 2001 From: Ryan Knox Date: Mon, 24 Sep 2018 15:55:36 -0700 Subject: [PATCH 028/101] Updated the externals definition for most up-to-date fates tag --- Externals_CLM.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Externals_CLM.cfg b/Externals_CLM.cfg index a5da56b1eb..b99ec27b9e 100644 --- a/Externals_CLM.cfg +++ b/Externals_CLM.cfg @@ -2,7 +2,7 @@ local_path = src/fates protocol = git repo_url = https://github.com/NGEET/fates -tag = sci.1.14.0_api.4.0.0 +tag = sci.1.16.1_api.4.1.0 required = True [PTCLM] From c8f0646579856150275a0af67c1566ffec10101a Mon Sep 17 00:00:00 2001 From: Ryan Knox Date: Thu, 27 Sep 2018 18:17:40 -0700 Subject: [PATCH 029/101] Added the parteh subfolder to fates --- bld/configure | 1 + cime_config/buildlib | 1 + 2 files changed, 2 insertions(+) diff --git a/bld/configure b/bld/configure index fb5fe9bf7f..1343f3afd4 100755 --- a/bld/configure +++ b/bld/configure @@ -670,6 +670,7 @@ sub write_filepath_cesmbld "fates/biogeophys", "fates/biogeochem", "fates/fire", + "fates/parteh", "utils", "cpl" ); diff --git a/cime_config/buildlib b/cime_config/buildlib index 6b86bb0b65..cc80f4093f 100755 --- a/cime_config/buildlib +++ b/cime_config/buildlib @@ -81,6 +81,7 @@ def _main_func(): os.path.join(lnd_root,"src","fates","biogeophys"), os.path.join(lnd_root,"src","fates","biogeochem"), os.path.join(lnd_root,"src","fates","fire"), + os.path.join(lnd_root,"src","fates","parteh"), os.path.join(lnd_root,"src","utils"), os.path.join(lnd_root,"src","cpl")] with open(filepath_file, "w") as filepath: From 6558a142c7560fd7910c4fb55621fb583cc70cad Mon Sep 17 00:00:00 2001 From: Ryan Knox Date: Fri, 28 Sep 2018 14:59:43 -0700 Subject: [PATCH 030/101] Added fates_parteh_mode to more nl memory structures. --- bld/namelist_files/namelist_defaults_clm4_5.xml | 1 + bld/namelist_files/namelist_definition_clm4_5.xml | 5 +++++ src/main/clm_varctl.F90 | 2 +- src/main/controlMod.F90 | 5 ++++- src/utils/clmfates_interfaceMod.F90 | 5 ++--- 5 files changed, 13 insertions(+), 5 deletions(-) diff --git a/bld/namelist_files/namelist_defaults_clm4_5.xml b/bld/namelist_files/namelist_defaults_clm4_5.xml index 1967681dc7..ae837c09e6 100644 --- a/bld/namelist_files/namelist_defaults_clm4_5.xml +++ b/bld/namelist_files/namelist_defaults_clm4_5.xml @@ -2415,5 +2415,6 @@ lnd/clm2/surfdata_map/surfdata_ne120np4_78pfts_CMIP6_simyr1850_c170824.nc.false. .false. .false. +1 diff --git a/bld/namelist_files/namelist_definition_clm4_5.xml b/bld/namelist_files/namelist_definition_clm4_5.xml index 44b98a18b4..51459be47f 100644 --- a/bld/namelist_files/namelist_definition_clm4_5.xml +++ b/bld/namelist_files/namelist_definition_clm4_5.xml @@ -596,6 +596,11 @@ Toggle to turn on the FATES model (use_fates= '.true.' is EXPERIMENTAL NOT SUPPORTED!) + +Switch deciding which nutrient model to use in FATES. + + Toggle to turn on spitfire module for modeling fire (only relevant if FATES is being used). diff --git a/src/main/clm_varctl.F90 b/src/main/clm_varctl.F90 index e0ae6fc0fc..f3938af858 100644 --- a/src/main/clm_varctl.F90 +++ b/src/main/clm_varctl.F90 @@ -196,7 +196,7 @@ module clm_varctl logical, public :: use_fates = .false. ! true => use fates ! These are INTERNAL to the FATES module - integer, public :: fates_parteh_model = -9 ! 1 => carbon only + integer, public :: fates_parteh_mode = -9 ! 1 => carbon only ! 2 => C+N+P ! no others enabled logical, public :: use_fates_spitfire = .false. ! true => use spitfire model diff --git a/src/main/controlMod.F90 b/src/main/controlMod.F90 index 9cc442d026..91f10e2828 100644 --- a/src/main/controlMod.F90 +++ b/src/main/controlMod.F90 @@ -216,7 +216,8 @@ subroutine control_init( ) use_fates_planthydro, use_fates_ed_st3, & use_fates_ed_prescribed_phys, & use_fates_inventory_init, & - fates_inventory_ctrl_filename + fates_inventory_ctrl_filename, & + fates_parteh_mode ! CLM 5.0 nitrogen flags @@ -630,6 +631,7 @@ subroutine control_spmd() call mpi_bcast (use_fates_inventory_init, 1, MPI_LOGICAL, 0, mpicom, ier) call mpi_bcast (fates_inventory_ctrl_filename, len(fates_inventory_ctrl_filename), MPI_CHARACTER, 0, mpicom, ier) call mpi_bcast (fates_paramfile, len(fates_paramfile) , MPI_CHARACTER, 0, mpicom, ier) + call mpi_bcast (fates_parteh_mode, 1, MPI_INTEGER, 0, mpicom, ier) ! flexibleCN nitrogen model call mpi_bcast (use_flexibleCN, 1, MPI_LOGICAL, 0, mpicom, ier) @@ -956,6 +958,7 @@ subroutine control_print () write(iulog, *) ' use_fates_spitfire = ', use_fates_spitfire write(iulog, *) ' use_fates_logging = ', use_fates_logging write(iulog, *) ' fates_paramfile = ', fates_paramfile + write(iulog, *) ' fates_parteh_mode = ', fates_parteh_mode write(iulog, *) ' use_fates_planthydro = ', use_fates_planthydro write(iulog, *) ' use_fates_ed_st3 = ',use_fates_ed_st3 write(iulog, *) ' use_fates_ed_prescribed_phys = ',use_fates_ed_prescribed_phys diff --git a/src/utils/clmfates_interfaceMod.F90 b/src/utils/clmfates_interfaceMod.F90 index 525a796c4a..a8fa67f48e 100644 --- a/src/utils/clmfates_interfaceMod.F90 +++ b/src/utils/clmfates_interfaceMod.F90 @@ -44,7 +44,7 @@ module CLMFatesInterfaceMod use SoilStateType , only : soilstate_type use clm_varctl , only : iulog use clm_varctl , only : use_vertsoilc - use clm_varctl , only : fates_parteh_model + use clm_varctl , only : fates_parteh_mode use clm_varctl , only : use_fates_spitfire use clm_varctl , only : use_fates_planthydro use clm_varctl , only : use_fates_ed_st3 @@ -293,7 +293,7 @@ subroutine init(this, bounds_proc ) call set_fates_ctrlparms('max_patch_per_site',ival=(natpft_size-1)) ! RGK: FATES IGNORES ! AND DOESNT TOUCH ! THE BARE SOIL PATCH - call set_fates_ctrlparms('parteh_model',ival=fates_parteh_model) + call set_fates_ctrlparms('parteh_mode',ival=fates_parteh_mode) if(is_restart()) then @@ -463,7 +463,6 @@ subroutine init(this, bounds_proc ) this%fates(nc)%sites(s)%lon = grc%londeg(g) end do - ! Initialize site-level static quantities dictated by the HLM From e38b7256f1d02320bad1394ae198067c463203be Mon Sep 17 00:00:00 2001 From: Ryan Knox Date: Thu, 27 Sep 2018 18:17:40 -0700 Subject: [PATCH 031/101] Added the parteh subfolder to fates --- bld/configure | 1 + cime_config/buildlib | 1 + 2 files changed, 2 insertions(+) diff --git a/bld/configure b/bld/configure index fb5fe9bf7f..1343f3afd4 100755 --- a/bld/configure +++ b/bld/configure @@ -670,6 +670,7 @@ sub write_filepath_cesmbld "fates/biogeophys", "fates/biogeochem", "fates/fire", + "fates/parteh", "utils", "cpl" ); diff --git a/cime_config/buildlib b/cime_config/buildlib index 6b86bb0b65..cc80f4093f 100755 --- a/cime_config/buildlib +++ b/cime_config/buildlib @@ -81,6 +81,7 @@ def _main_func(): os.path.join(lnd_root,"src","fates","biogeophys"), os.path.join(lnd_root,"src","fates","biogeochem"), os.path.join(lnd_root,"src","fates","fire"), + os.path.join(lnd_root,"src","fates","parteh"), os.path.join(lnd_root,"src","utils"), os.path.join(lnd_root,"src","cpl")] with open(filepath_file, "w") as filepath: From 65270086002cde0cb933429e6ebd8f6c6d0903da Mon Sep 17 00:00:00 2001 From: Ryan Knox Date: Tue, 18 Sep 2018 18:58:23 -0700 Subject: [PATCH 032/101] Added the parteh_model index for fates --- src/main/clm_varctl.F90 | 3 +++ src/utils/clmfates_interfaceMod.F90 | 7 +++++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/main/clm_varctl.F90 b/src/main/clm_varctl.F90 index 938155c5dd..e0ae6fc0fc 100644 --- a/src/main/clm_varctl.F90 +++ b/src/main/clm_varctl.F90 @@ -196,6 +196,9 @@ module clm_varctl logical, public :: use_fates = .false. ! true => use fates ! These are INTERNAL to the FATES module + integer, public :: fates_parteh_model = -9 ! 1 => carbon only + ! 2 => C+N+P + ! no others enabled logical, public :: use_fates_spitfire = .false. ! true => use spitfire model logical, public :: use_fates_logging = .false. ! true => turn on logging module logical, public :: use_fates_planthydro = .false. ! true => turn on fates hydro diff --git a/src/utils/clmfates_interfaceMod.F90 b/src/utils/clmfates_interfaceMod.F90 index 18b0d5ca53..51921b5d25 100644 --- a/src/utils/clmfates_interfaceMod.F90 +++ b/src/utils/clmfates_interfaceMod.F90 @@ -43,7 +43,8 @@ module CLMFatesInterfaceMod use SoilStateType , only : soilstate_type use clm_varctl , only : iulog - use clm_varctl , only : use_vertsoilc + use clm_varctl , only : use_vertsoilc + use clm_varctl , only : fates_parteh_model use clm_varctl , only : use_fates_spitfire use clm_varctl , only : use_fates_planthydro use clm_varctl , only : use_fates_ed_st3 @@ -236,7 +237,7 @@ subroutine init(this, bounds_proc ) logical :: verbose_output integer :: pass_masterproc integer :: pass_vertsoilc - integer :: pass_spitfire + integer :: pass_spitfire integer :: pass_ed_st3 integer :: pass_ed_prescribed_phys integer :: pass_logging @@ -291,6 +292,8 @@ subroutine init(this, bounds_proc ) call set_fates_ctrlparms('max_patch_per_site',ival=(natpft_size-1)) ! RGK: FATES IGNORES ! AND DOESNT TOUCH ! THE BARE SOIL PATCH + call set_fates_ctrlparms('parteh_model',ival=fates_parteh_model) + if(is_restart()) then pass_is_restart = 1 From 061d34fef39a1b5a6a114fedaa37f20de926ebde Mon Sep 17 00:00:00 2001 From: Ryan Knox Date: Mon, 24 Sep 2018 12:43:19 -0700 Subject: [PATCH 033/101] Added call to initialize the PARTEH global mappings in FATES --- src/utils/clmfates_interfaceMod.F90 | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/utils/clmfates_interfaceMod.F90 b/src/utils/clmfates_interfaceMod.F90 index 51921b5d25..525a796c4a 100644 --- a/src/utils/clmfates_interfaceMod.F90 +++ b/src/utils/clmfates_interfaceMod.F90 @@ -102,6 +102,7 @@ module CLMFatesInterfaceMod use FatesInterfaceMod , only : allocate_bcout use FatesInterfaceMod , only : SetFatesTime use FatesInterfaceMod , only : set_fates_ctrlparms + use FatesInterfaceMod , only : InitPARTEHGlobals use FatesHistoryInterfaceMod, only : fates_history_interface_type use FatesRestartInterfaceMod, only : fates_restart_interface_type @@ -463,6 +464,7 @@ subroutine init(this, bounds_proc ) end do + ! Initialize site-level static quantities dictated by the HLM ! currently ground layering depth @@ -494,8 +496,17 @@ subroutine init(this, bounds_proc ) end do !$OMP END PARALLEL DO + + ! This will initialize all globals associated with the chosen + ! Plant Allocation and Reactive Transport hypothesis. This includes + ! mapping tables and global variables. These will be read-only + ! and only required once per machine instance (thus no requirements + ! to have it instanced on each thread + + call InitPARTEHGlobals() + call this%init_history_io(bounds_proc) ! Report Fates Parameters (debug flag in lower level routines) From c8707b198c3d7c7255db6dcba1d95e4d2ce14208 Mon Sep 17 00:00:00 2001 From: Ryan Knox Date: Fri, 28 Sep 2018 14:59:43 -0700 Subject: [PATCH 034/101] Added fates_parteh_mode to more nl memory structures. --- bld/namelist_files/namelist_defaults_clm4_5.xml | 1 + bld/namelist_files/namelist_definition_clm4_5.xml | 5 +++++ src/main/clm_varctl.F90 | 2 +- src/main/controlMod.F90 | 5 ++++- src/utils/clmfates_interfaceMod.F90 | 5 ++--- 5 files changed, 13 insertions(+), 5 deletions(-) diff --git a/bld/namelist_files/namelist_defaults_clm4_5.xml b/bld/namelist_files/namelist_defaults_clm4_5.xml index 09660c4ca3..2716dde51e 100644 --- a/bld/namelist_files/namelist_defaults_clm4_5.xml +++ b/bld/namelist_files/namelist_defaults_clm4_5.xml @@ -2415,5 +2415,6 @@ lnd/clm2/surfdata_map/surfdata_ne120np4_78pfts_CMIP6_simyr1850_c170824.nc.false. .false. .false. +1 diff --git a/bld/namelist_files/namelist_definition_clm4_5.xml b/bld/namelist_files/namelist_definition_clm4_5.xml index 44b98a18b4..51459be47f 100644 --- a/bld/namelist_files/namelist_definition_clm4_5.xml +++ b/bld/namelist_files/namelist_definition_clm4_5.xml @@ -596,6 +596,11 @@ Toggle to turn on the FATES model (use_fates= '.true.' is EXPERIMENTAL NOT SUPPORTED!) + +Switch deciding which nutrient model to use in FATES. + + Toggle to turn on spitfire module for modeling fire (only relevant if FATES is being used). diff --git a/src/main/clm_varctl.F90 b/src/main/clm_varctl.F90 index e0ae6fc0fc..f3938af858 100644 --- a/src/main/clm_varctl.F90 +++ b/src/main/clm_varctl.F90 @@ -196,7 +196,7 @@ module clm_varctl logical, public :: use_fates = .false. ! true => use fates ! These are INTERNAL to the FATES module - integer, public :: fates_parteh_model = -9 ! 1 => carbon only + integer, public :: fates_parteh_mode = -9 ! 1 => carbon only ! 2 => C+N+P ! no others enabled logical, public :: use_fates_spitfire = .false. ! true => use spitfire model diff --git a/src/main/controlMod.F90 b/src/main/controlMod.F90 index 9cc442d026..91f10e2828 100644 --- a/src/main/controlMod.F90 +++ b/src/main/controlMod.F90 @@ -216,7 +216,8 @@ subroutine control_init( ) use_fates_planthydro, use_fates_ed_st3, & use_fates_ed_prescribed_phys, & use_fates_inventory_init, & - fates_inventory_ctrl_filename + fates_inventory_ctrl_filename, & + fates_parteh_mode ! CLM 5.0 nitrogen flags @@ -630,6 +631,7 @@ subroutine control_spmd() call mpi_bcast (use_fates_inventory_init, 1, MPI_LOGICAL, 0, mpicom, ier) call mpi_bcast (fates_inventory_ctrl_filename, len(fates_inventory_ctrl_filename), MPI_CHARACTER, 0, mpicom, ier) call mpi_bcast (fates_paramfile, len(fates_paramfile) , MPI_CHARACTER, 0, mpicom, ier) + call mpi_bcast (fates_parteh_mode, 1, MPI_INTEGER, 0, mpicom, ier) ! flexibleCN nitrogen model call mpi_bcast (use_flexibleCN, 1, MPI_LOGICAL, 0, mpicom, ier) @@ -956,6 +958,7 @@ subroutine control_print () write(iulog, *) ' use_fates_spitfire = ', use_fates_spitfire write(iulog, *) ' use_fates_logging = ', use_fates_logging write(iulog, *) ' fates_paramfile = ', fates_paramfile + write(iulog, *) ' fates_parteh_mode = ', fates_parteh_mode write(iulog, *) ' use_fates_planthydro = ', use_fates_planthydro write(iulog, *) ' use_fates_ed_st3 = ',use_fates_ed_st3 write(iulog, *) ' use_fates_ed_prescribed_phys = ',use_fates_ed_prescribed_phys diff --git a/src/utils/clmfates_interfaceMod.F90 b/src/utils/clmfates_interfaceMod.F90 index 525a796c4a..a8fa67f48e 100644 --- a/src/utils/clmfates_interfaceMod.F90 +++ b/src/utils/clmfates_interfaceMod.F90 @@ -44,7 +44,7 @@ module CLMFatesInterfaceMod use SoilStateType , only : soilstate_type use clm_varctl , only : iulog use clm_varctl , only : use_vertsoilc - use clm_varctl , only : fates_parteh_model + use clm_varctl , only : fates_parteh_mode use clm_varctl , only : use_fates_spitfire use clm_varctl , only : use_fates_planthydro use clm_varctl , only : use_fates_ed_st3 @@ -293,7 +293,7 @@ subroutine init(this, bounds_proc ) call set_fates_ctrlparms('max_patch_per_site',ival=(natpft_size-1)) ! RGK: FATES IGNORES ! AND DOESNT TOUCH ! THE BARE SOIL PATCH - call set_fates_ctrlparms('parteh_model',ival=fates_parteh_model) + call set_fates_ctrlparms('parteh_mode',ival=fates_parteh_mode) if(is_restart()) then @@ -463,7 +463,6 @@ subroutine init(this, bounds_proc ) this%fates(nc)%sites(s)%lon = grc%londeg(g) end do - ! Initialize site-level static quantities dictated by the HLM From bd6b414c2cbfd288d7c447f3234493825dc64c86 Mon Sep 17 00:00:00 2001 From: Ryan Knox Date: Wed, 3 Oct 2018 16:50:25 -0700 Subject: [PATCH 035/101] Added fates_parteh_mode to the default build sequence for fates. --- bld/CLMBuildNamelist.pm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/bld/CLMBuildNamelist.pm b/bld/CLMBuildNamelist.pm index 00807d049c..5f3f887499 100755 --- a/bld/CLMBuildNamelist.pm +++ b/bld/CLMBuildNamelist.pm @@ -774,7 +774,7 @@ sub setup_cmdl_fates_mode { } else { # dis-allow fates specific namelist items with non-fates runs my @list = ( "use_fates_spitfire", "use_fates_planthydro", "use_fates_ed_st3", "use_fates_ed_prescribed_phys", - "use_fates_inventory_init", "fates_inventory_ctrl_filename","use_fates_logging" ); + "use_fates_inventory_init", "fates_inventory_ctrl_filename","use_fates_logging","fates_parteh_mode" ); foreach my $var ( @list ) { if ( defined($nl->get_value($var)) ) { $log->fatal_error("$var is being set, but can ONLY be set when -bgc fates option is used.\n"); @@ -3732,7 +3732,7 @@ sub setup_logic_fates { if ($physv->as_long() >= $physv->as_long("clm4_5") && &value_is_true( $nl_flags->{'use_fates'}) ) { add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'fates_paramfile', 'phys'=>$nl_flags->{'phys'}); my @list = ( "use_fates_spitfire", "use_fates_planthydro", "use_fates_ed_st3", "use_fates_ed_prescribed_phys", - "use_fates_inventory_init", "use_fates_logging" ); + "use_fates_inventory_init", "use_fates_logging","fates_parteh_mode" ); foreach my $var ( @list ) { add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, $var, 'use_fates'=>$nl_flags->{'use_fates'} ); } From f0470d196adc5a5472bd600905dc475a09489f8a Mon Sep 17 00:00:00 2001 From: Ryan Knox Date: Tue, 23 Oct 2018 11:01:52 -0600 Subject: [PATCH 036/101] Updated test lists for fates-parteh changes. --- bld/namelist_files/namelist_defaults_clm4_5.xml | 2 +- .../testdefs/testmods_dirs/clm/FatesAllVars/user_nl_clm | 6 +++--- src/main/clm_varctl.F90 | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/bld/namelist_files/namelist_defaults_clm4_5.xml b/bld/namelist_files/namelist_defaults_clm4_5.xml index 2716dde51e..a92be319dc 100644 --- a/bld/namelist_files/namelist_defaults_clm4_5.xml +++ b/bld/namelist_files/namelist_defaults_clm4_5.xml @@ -355,7 +355,7 @@ attributes from the config_cache.xml file (with keys converted to upper-case). -lnd/clm2/paramdata/fates_params_default_2trop.c180921.nc +lnd/clm2/paramdata/fates_params_default_2trop.c181022.nc diff --git a/cime_config/testdefs/testmods_dirs/clm/FatesAllVars/user_nl_clm b/cime_config/testdefs/testmods_dirs/clm/FatesAllVars/user_nl_clm index 38ff54ebf1..66c94f3cc2 100644 --- a/cime_config/testdefs/testmods_dirs/clm/FatesAllVars/user_nl_clm +++ b/cime_config/testdefs/testmods_dirs/clm/FatesAllVars/user_nl_clm @@ -19,12 +19,12 @@ hist_fincl1 = 'NCL_BY_AGE','NPATCH_BY_AGE','BIOMASS_BY_AGE','NPP_BY_AGE',' 'YESTERDAYCANLEV_UNDERSTORY_SCLS','BA_SCLS','DEMOTION_RATE_SCLS','PROMOTION_RATE_SCLS','NPLANT_CANOPY_SCLS', 'MORTALITY_CANOPY_SCLS','NPLANT_UNDERSTORY_SCLS','MORTALITY_UNDERSTORY_SCLS','TRIMMING_CANOPY_SCLS','TRIMMING_UNDERSTORY_SCLS', 'CROWN_AREA_CANOPY_SCLS','CROWN_AREA_UNDERSTORY_SCLS','LEAF_MD_CANOPY_SCLS','ROOT_MD_CANOPY_SCLS','CARBON_BALANCE_CANOPY_SCLS', - 'SEED_PROD_CANOPY_SCLS','DBALIVEDT_CANOPY_SCLS','DBDEADDT_CANOPY_SCLS','DBSTOREDT_CANOPY_SCLS','STORAGE_FLUX_CANOPY_SCLS', + 'SEED_PROD_CANOPY_SCLS', 'NPP_LEAF_CANOPY_SCLS','NPP_FROOT_CANOPY_SCLS','NPP_BSW_CANOPY_SCLS','NPP_BDEAD_CANOPY_SCLS','NPP_BSEED_CANOPY_SCLS', 'NPP_STORE_CANOPY_SCLS','RDARK_CANOPY_SCLS','LIVESTEM_MR_CANOPY_SCLS','LIVECROOT_MR_CANOPY_SCLS','FROOT_MR_CANOPY_SCLS', 'RESP_G_CANOPY_SCLS','RESP_M_CANOPY_SCLS','LEAF_MD_UNDERSTORY_SCLS','ROOT_MD_UNDERSTORY_SCLS','CARBON_BALANCE_UNDERSTORY_SCLS', - 'SEED_PROD_UNDERSTORY_SCLS','DBALIVEDT_UNDERSTORY_SCLS','DBDEADDT_UNDERSTORY_SCLS','DBSTOREDT_UNDERSTORY_SCLS', - 'STORAGE_FLUX_UNDERSTORY_SCLS','NPP_LEAF_UNDERSTORY_SCLS','NPP_FROOT_UNDERSTORY_SCLS','NPP_BSW_UNDERSTORY_SCLS', + 'SEED_PROD_UNDERSTORY_SCLS', + 'NPP_LEAF_UNDERSTORY_SCLS','NPP_FROOT_UNDERSTORY_SCLS','NPP_BSW_UNDERSTORY_SCLS', 'NPP_BDEAD_UNDERSTORY_SCLS','NPP_BSEED_UNDERSTORY_SCLS','NPP_STORE_UNDERSTORY_SCLS','RDARK_UNDERSTORY_SCLS', 'LIVESTEM_MR_UNDERSTORY_SCLS','LIVECROOT_MR_UNDERSTORY_SCLS','FROOT_MR_UNDERSTORY_SCLS','RESP_G_UNDERSTORY_SCLS', 'RESP_M_UNDERSTORY_SCLS' diff --git a/src/main/clm_varctl.F90 b/src/main/clm_varctl.F90 index f3938af858..b0e93f2f9d 100644 --- a/src/main/clm_varctl.F90 +++ b/src/main/clm_varctl.F90 @@ -197,7 +197,7 @@ module clm_varctl ! These are INTERNAL to the FATES module integer, public :: fates_parteh_mode = -9 ! 1 => carbon only - ! 2 => C+N+P + ! 2 => C+N+P (not enabled yet) ! no others enabled logical, public :: use_fates_spitfire = .false. ! true => use spitfire model logical, public :: use_fates_logging = .false. ! true => turn on logging module From 50294d456f2178365d2302e0a037ed8081e8568b Mon Sep 17 00:00:00 2001 From: Ryan Knox Date: Wed, 24 Oct 2018 13:02:05 -0700 Subject: [PATCH 037/101] Updated FATES to the PARTEH release tag. Major API change. --- Externals_CLM.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Externals_CLM.cfg b/Externals_CLM.cfg index b99ec27b9e..6285df42b0 100644 --- a/Externals_CLM.cfg +++ b/Externals_CLM.cfg @@ -2,7 +2,7 @@ local_path = src/fates protocol = git repo_url = https://github.com/NGEET/fates -tag = sci.1.16.1_api.4.1.0 +tag = sci.1.17.0_api.5.0.0 required = True [PTCLM] From 46895e99761782f223e1c67ad22633a0e043cdb6 Mon Sep 17 00:00:00 2001 From: Ryan Knox Date: Tue, 16 Oct 2018 17:28:44 -0700 Subject: [PATCH 038/101] Added a call in the interface that updates some fates internal data structures following restart --- src/utils/clmfates_interfaceMod.F90 | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/utils/clmfates_interfaceMod.F90 b/src/utils/clmfates_interfaceMod.F90 index a8fa67f48e..61e9e7d3d1 100644 --- a/src/utils/clmfates_interfaceMod.F90 +++ b/src/utils/clmfates_interfaceMod.F90 @@ -1138,12 +1138,23 @@ subroutine restart( this, bounds_proc, ncid, flag, waterstate_inst, & this%fates(nc)%bc_in(s) ) end do + ! ------------------------------------------------------------------------ ! Update diagnostics of FATES ecosystem structure used in HLM. ! ------------------------------------------------------------------------ call this%wrap_update_hlmfates_dyn(nc,bounds_clump, & waterstate_inst,canopystate_inst,frictionvel_inst) + + ! ------------------------------------------------------------------------ + ! Update the 3D patch level radiation absorption fractions + ! ------------------------------------------------------------------------ + call this%fates_restart%update_3dpatch_radiation(nc, & + this%fates(nc)%nsites, & + this%fates(nc)%sites, & + this%fates(nc)%bc_out) + + ! ------------------------------------------------------------------------ ! Update history IO fields that depend on ecosystem dynamics ! ------------------------------------------------------------------------ From 8e56e1650a0a701998dc01a973beae28d3394379 Mon Sep 17 00:00:00 2001 From: Ryan Knox Date: Tue, 6 Nov 2018 13:43:36 -0500 Subject: [PATCH 039/101] Updated fates external tag --- Externals_CLM.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Externals_CLM.cfg b/Externals_CLM.cfg index 6285df42b0..37766d222e 100644 --- a/Externals_CLM.cfg +++ b/Externals_CLM.cfg @@ -2,7 +2,7 @@ local_path = src/fates protocol = git repo_url = https://github.com/NGEET/fates -tag = sci.1.17.0_api.5.0.0 +tag = sci.1.17.1_api.6.0.0 required = True [PTCLM] From 6a09bdff31ada8e3a77560dbe378830a99a1b861 Mon Sep 17 00:00:00 2001 From: Ryan Knox Date: Tue, 13 Nov 2018 14:27:50 -0800 Subject: [PATCH 040/101] Updated interface to accomodate fixes to fates-hydro --- src/utils/clmfates_interfaceMod.F90 | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/src/utils/clmfates_interfaceMod.F90 b/src/utils/clmfates_interfaceMod.F90 index 61e9e7d3d1..f8be142557 100644 --- a/src/utils/clmfates_interfaceMod.F90 +++ b/src/utils/clmfates_interfaceMod.F90 @@ -224,7 +224,7 @@ subroutine init(this, bounds_proc ) ! --------------------------------------------------------------------------------- use FatesInterfaceMod, only : FatesInterfaceInit, FatesReportParameters - use FatesInterfaceMod, only : numpft_ed => numpft + use FatesInterfaceMod, only : numpft_fates => numpft use FatesParameterDerivedMod, only : param_derived implicit none @@ -263,7 +263,7 @@ subroutine init(this, bounds_proc ) ! Parameter Routines - call param_derived%Init( numpft_ed ) + call param_derived%Init( numpft_fates ) verbose_output = .false. @@ -471,7 +471,7 @@ subroutine init(this, bounds_proc ) call this%init_soil_depths(nc) if (use_fates_planthydro) then - call InitHydrSites(this%fates(nc)%sites,this%fates(nc)%bc_in) + call InitHydrSites(this%fates(nc)%sites,this%fates(nc)%bc_in,numpft_fates) end if if( this%fates(nc)%nsites == 0 ) then @@ -2423,7 +2423,7 @@ subroutine hlm_bounds_to_fates_bounds(hlm, fates) use FatesInterfaceMod, only : nlevheight use EDtypesMod, only : nfsc, ncwd use EDtypesMod, only : nlevleaf, nclmax - use FatesInterfaceMod, only : numpft_ed => numpft + use FatesInterfaceMod, only : numpft_fates => numpft use clm_varpar, only : nlevgrnd implicit none @@ -2444,13 +2444,13 @@ subroutine hlm_bounds_to_fates_bounds(hlm, fates) fates%ground_end = nlevgrnd fates%sizepft_class_begin = 1 - fates%sizepft_class_end = nlevsclass * numpft_ed + fates%sizepft_class_end = nlevsclass * numpft_fates fates%size_class_begin = 1 fates%size_class_end = nlevsclass fates%pft_class_begin = 1 - fates%pft_class_end = numpft_ed + fates%pft_class_end = numpft_fates fates%age_class_begin = 1 fates%age_class_end = nlevage @@ -2462,10 +2462,10 @@ subroutine hlm_bounds_to_fates_bounds(hlm, fates) fates%sizeage_class_end = nlevsclass * nlevage fates%agepft_class_begin = 1 - fates%agepft_class_end = nlevage * numpft_ed + fates%agepft_class_end = nlevage * numpft_fates fates%sizeagepft_class_begin = 1 - fates%sizeagepft_class_end = nlevsclass * nlevage * numpft_ed + fates%sizeagepft_class_end = nlevsclass * nlevage * numpft_fates fates%fuel_begin = 1 fates%fuel_end = nfsc @@ -2480,7 +2480,7 @@ subroutine hlm_bounds_to_fates_bounds(hlm, fates) fates%cnlf_end = nlevleaf * nclmax fates%cnlfpft_begin = 1 - fates%cnlfpft_end = nlevleaf * nclmax * numpft_ed + fates%cnlfpft_end = nlevleaf * nclmax * numpft_fates end subroutine hlm_bounds_to_fates_bounds From 00de9465e483cb28439086cba88881a84817277d Mon Sep 17 00:00:00 2001 From: Ryan Knox Date: Wed, 14 Nov 2018 18:52:10 -0800 Subject: [PATCH 041/101] Added a call to fates interface to process derived plant hydraulics info after key variables have been read in from restarts --- src/utils/clmfates_interfaceMod.F90 | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/src/utils/clmfates_interfaceMod.F90 b/src/utils/clmfates_interfaceMod.F90 index f8be142557..7cdd470397 100644 --- a/src/utils/clmfates_interfaceMod.F90 +++ b/src/utils/clmfates_interfaceMod.F90 @@ -128,6 +128,7 @@ module CLMFatesInterfaceMod use FatesPlantHydraulicsMod, only : HydrSiteColdStart use FatesPlantHydraulicsMod, only : InitHydrSites use FatesPlantHydraulicsMod, only : UpdateH2OVeg + use FatesPlantHydraulicsMod, only : RestartHydrStates implicit none @@ -1138,6 +1139,16 @@ subroutine restart( this, bounds_proc, ncid, flag, waterstate_inst, & this%fates(nc)%bc_in(s) ) end do + ! ------------------------------------------------------------------------ + ! Re-populate all the hydraulics variables that are dependent + ! on the key hydro state variables and plant carbon/geometry + ! ------------------------------------------------------------------------ + if (use_fates_planthydro) then + call RestartHydrStates(this%fates(nc)%sites, & + this%fates(nc)%nsites, & + this%fates(nc)%bc_in, & + this%fates(nc)%bc_out) + end if ! ------------------------------------------------------------------------ ! Update diagnostics of FATES ecosystem structure used in HLM. @@ -1148,12 +1159,11 @@ subroutine restart( this, bounds_proc, ncid, flag, waterstate_inst, & ! ------------------------------------------------------------------------ ! Update the 3D patch level radiation absorption fractions ! ------------------------------------------------------------------------ - call this%fates_restart%update_3dpatch_radiation(nc, & - this%fates(nc)%nsites, & + call this%fates_restart%update_3dpatch_radiation(this%fates(nc)%nsites, & this%fates(nc)%sites, & this%fates(nc)%bc_out) - + ! ------------------------------------------------------------------------ ! Update history IO fields that depend on ecosystem dynamics From c75f79e06fbb1829f6128b7a76e8314e4fdf0e93 Mon Sep 17 00:00:00 2001 From: Ryan Knox Date: Fri, 16 Nov 2018 18:22:46 -0800 Subject: [PATCH 042/101] Removed unnecessary logic on use_fates_planthydro --- src/utils/clmfates_interfaceMod.F90 | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/utils/clmfates_interfaceMod.F90 b/src/utils/clmfates_interfaceMod.F90 index 7cdd470397..b8d579f909 100644 --- a/src/utils/clmfates_interfaceMod.F90 +++ b/src/utils/clmfates_interfaceMod.F90 @@ -1227,6 +1227,7 @@ subroutine init_coldstart(this, waterstate_inst, canopystate_inst, soilstate_ins ! Called prior to init_patches(). Site level rhizosphere shells must ! be set prior to cohort initialization. ! ---------------------------------------------------------------------------- + if (use_fates_planthydro) then do s = 1,this%fates(nc)%nsites @@ -1258,10 +1259,10 @@ subroutine init_coldstart(this, waterstate_inst, canopystate_inst, soilstate_ins eff_porosity = max(0.01_r8,soilstate_inst%watsat_col(c,j)-vol_ice) this%fates(nc)%bc_in(s)%eff_porosity_sl(j) = eff_porosity end do - + end do - if (use_fates_planthydro) call HydrSiteColdStart(this%fates(nc)%sites,this%fates(nc)%bc_in) + call HydrSiteColdStart(this%fates(nc)%sites,this%fates(nc)%bc_in) end if call init_patches(this%fates(nc)%nsites, this%fates(nc)%sites, & From ed90179dbb59817ef907ca5b062fae0659612122 Mon Sep 17 00:00:00 2001 From: Charles Koven Date: Sat, 17 Nov 2018 13:53:58 -0800 Subject: [PATCH 043/101] trying fo properly fix the inventory init problem --- bld/CLMBuildNamelist.pm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bld/CLMBuildNamelist.pm b/bld/CLMBuildNamelist.pm index 5f3f887499..c0c4026ce6 100755 --- a/bld/CLMBuildNamelist.pm +++ b/bld/CLMBuildNamelist.pm @@ -3742,7 +3742,7 @@ sub setup_logic_fates { $var = "fates_inventory_ctrl_filename"; if ( ! defined($nl->get_value($var)) ) { $log->fatal_error("$var is required when use_fates_inventory_init is set" ); - } elsif ( ! -f "$nl->get_value($var)" ) { + } elsif ( ! -f $nl->get_value($var) ) { $log->fatal_error("$var does NOT point to a valid filename" ); } } From 5bcfad1292339eec9ddace3dcc28a15e9e489c16 Mon Sep 17 00:00:00 2001 From: Charles Koven Date: Sat, 17 Nov 2018 14:16:21 -0800 Subject: [PATCH 044/101] fixed inventory filename issue --- bld/CLMBuildNamelist.pm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/bld/CLMBuildNamelist.pm b/bld/CLMBuildNamelist.pm index c0c4026ce6..f9869d05e9 100755 --- a/bld/CLMBuildNamelist.pm +++ b/bld/CLMBuildNamelist.pm @@ -3740,10 +3740,11 @@ sub setup_logic_fates { if ( defined($nl->get_value($var)) ) { if ( &value_is_true($nl->get_value($var)) ) { $var = "fates_inventory_ctrl_filename"; + my $fname = substr $nl->get_value($var), 1, -1; # ignore first and last positions of string because those are quote characters if ( ! defined($nl->get_value($var)) ) { $log->fatal_error("$var is required when use_fates_inventory_init is set" ); - } elsif ( ! -f $nl->get_value($var) ) { - $log->fatal_error("$var does NOT point to a valid filename" ); + } elsif ( ! -f "$fname" ) { + $log->fatal_error("$fname does NOT point to a valid filename" ); } } } From a792bc04b151f98a282df264b7143e58e649cab8 Mon Sep 17 00:00:00 2001 From: Ryan Knox Date: Mon, 19 Nov 2018 14:44:30 -0800 Subject: [PATCH 045/101] fates-hydro: modified interface to accomodate boundary conditions during restarts --- src/main/clm_instMod.F90 | 3 ++- src/utils/clmfates_interfaceMod.F90 | 12 +++++++++++- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/src/main/clm_instMod.F90 b/src/main/clm_instMod.F90 index 1b1b44adba..d072672bf8 100644 --- a/src/main/clm_instMod.F90 +++ b/src/main/clm_instMod.F90 @@ -543,7 +543,8 @@ subroutine clm_instRest(bounds, ncid, flag) call clm_fates%restart(bounds, ncid, flag=flag, & waterstate_inst=waterstate_inst, & canopystate_inst=canopystate_inst, & - frictionvel_inst=frictionvel_inst) + frictionvel_inst=frictionvel_inst, & + soilstate_inst=soilstate_inst) end if diff --git a/src/utils/clmfates_interfaceMod.F90 b/src/utils/clmfates_interfaceMod.F90 index b8d579f909..46714ceff8 100644 --- a/src/utils/clmfates_interfaceMod.F90 +++ b/src/utils/clmfates_interfaceMod.F90 @@ -908,7 +908,7 @@ end subroutine wrap_update_hlmfates_dyn ! ==================================================================================== subroutine restart( this, bounds_proc, ncid, flag, waterstate_inst, & - canopystate_inst, frictionvel_inst ) + canopystate_inst, frictionvel_inst, soilstate_inst) ! --------------------------------------------------------------------------------- ! The ability to restart the model is handled through three different types of calls @@ -943,6 +943,7 @@ subroutine restart( this, bounds_proc, ncid, flag, waterstate_inst, & type(waterstate_type) , intent(inout) :: waterstate_inst type(canopystate_type) , intent(inout) :: canopystate_inst type(frictionvel_type) , intent(inout) :: frictionvel_inst + type(soilstate_type) , intent(inout) :: soilstate_inst ! Locals type(bounds_type) :: bounds_clump @@ -954,6 +955,7 @@ subroutine restart( this, bounds_proc, ncid, flag, waterstate_inst, & integer :: s ! Fates site index integer :: g ! grid-cell index integer :: dk_index + integer :: nlevsoil character(len=fates_long_string_length) :: ioname integer :: nvar integer :: ivar @@ -1144,6 +1146,14 @@ subroutine restart( this, bounds_proc, ncid, flag, waterstate_inst, & ! on the key hydro state variables and plant carbon/geometry ! ------------------------------------------------------------------------ if (use_fates_planthydro) then + + do s = 1,this%fates(nc)%nsites + c = this%f2hmap(nc)%fcolumn(s) + nlevsoil = this%fates(nc)%bc_in(s)%nlevsoil + this%fates(nc)%bc_in(s)%hksat_sisl(1:nlevsoil) = & + soilstate_inst%hksat_col(c,1:nlevsoil) + end do + call RestartHydrStates(this%fates(nc)%sites, & this%fates(nc)%nsites, & this%fates(nc)%bc_in, & From a020d276e5cc800737b6269cea16c49a5ee89129 Mon Sep 17 00:00:00 2001 From: Ryan Knox Date: Mon, 3 Dec 2018 12:39:27 -0700 Subject: [PATCH 046/101] Updating default fates parameter file to accomodate new parameters for coastal grasses --- bld/namelist_files/namelist_defaults_clm4_5.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bld/namelist_files/namelist_defaults_clm4_5.xml b/bld/namelist_files/namelist_defaults_clm4_5.xml index a92be319dc..049933004c 100644 --- a/bld/namelist_files/namelist_defaults_clm4_5.xml +++ b/bld/namelist_files/namelist_defaults_clm4_5.xml @@ -355,7 +355,7 @@ attributes from the config_cache.xml file (with keys converted to upper-case). -lnd/clm2/paramdata/fates_params_default_2trop.c181022.nc +lnd/clm2/paramdata/fates_params_default_2trop.c181203.nc From c8e69e360e14148c4fecea8ece74a3c442d9b0b6 Mon Sep 17 00:00:00 2001 From: Ryan Knox Date: Tue, 13 Nov 2018 14:27:50 -0800 Subject: [PATCH 047/101] Updated interface to accomodate fixes to fates-hydro --- src/utils/clmfates_interfaceMod.F90 | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/src/utils/clmfates_interfaceMod.F90 b/src/utils/clmfates_interfaceMod.F90 index 61e9e7d3d1..f8be142557 100644 --- a/src/utils/clmfates_interfaceMod.F90 +++ b/src/utils/clmfates_interfaceMod.F90 @@ -224,7 +224,7 @@ subroutine init(this, bounds_proc ) ! --------------------------------------------------------------------------------- use FatesInterfaceMod, only : FatesInterfaceInit, FatesReportParameters - use FatesInterfaceMod, only : numpft_ed => numpft + use FatesInterfaceMod, only : numpft_fates => numpft use FatesParameterDerivedMod, only : param_derived implicit none @@ -263,7 +263,7 @@ subroutine init(this, bounds_proc ) ! Parameter Routines - call param_derived%Init( numpft_ed ) + call param_derived%Init( numpft_fates ) verbose_output = .false. @@ -471,7 +471,7 @@ subroutine init(this, bounds_proc ) call this%init_soil_depths(nc) if (use_fates_planthydro) then - call InitHydrSites(this%fates(nc)%sites,this%fates(nc)%bc_in) + call InitHydrSites(this%fates(nc)%sites,this%fates(nc)%bc_in,numpft_fates) end if if( this%fates(nc)%nsites == 0 ) then @@ -2423,7 +2423,7 @@ subroutine hlm_bounds_to_fates_bounds(hlm, fates) use FatesInterfaceMod, only : nlevheight use EDtypesMod, only : nfsc, ncwd use EDtypesMod, only : nlevleaf, nclmax - use FatesInterfaceMod, only : numpft_ed => numpft + use FatesInterfaceMod, only : numpft_fates => numpft use clm_varpar, only : nlevgrnd implicit none @@ -2444,13 +2444,13 @@ subroutine hlm_bounds_to_fates_bounds(hlm, fates) fates%ground_end = nlevgrnd fates%sizepft_class_begin = 1 - fates%sizepft_class_end = nlevsclass * numpft_ed + fates%sizepft_class_end = nlevsclass * numpft_fates fates%size_class_begin = 1 fates%size_class_end = nlevsclass fates%pft_class_begin = 1 - fates%pft_class_end = numpft_ed + fates%pft_class_end = numpft_fates fates%age_class_begin = 1 fates%age_class_end = nlevage @@ -2462,10 +2462,10 @@ subroutine hlm_bounds_to_fates_bounds(hlm, fates) fates%sizeage_class_end = nlevsclass * nlevage fates%agepft_class_begin = 1 - fates%agepft_class_end = nlevage * numpft_ed + fates%agepft_class_end = nlevage * numpft_fates fates%sizeagepft_class_begin = 1 - fates%sizeagepft_class_end = nlevsclass * nlevage * numpft_ed + fates%sizeagepft_class_end = nlevsclass * nlevage * numpft_fates fates%fuel_begin = 1 fates%fuel_end = nfsc @@ -2480,7 +2480,7 @@ subroutine hlm_bounds_to_fates_bounds(hlm, fates) fates%cnlf_end = nlevleaf * nclmax fates%cnlfpft_begin = 1 - fates%cnlfpft_end = nlevleaf * nclmax * numpft_ed + fates%cnlfpft_end = nlevleaf * nclmax * numpft_fates end subroutine hlm_bounds_to_fates_bounds From 2f42705d884017d34b5184728aee5ae29fc29a23 Mon Sep 17 00:00:00 2001 From: Ryan Knox Date: Wed, 14 Nov 2018 18:52:10 -0800 Subject: [PATCH 048/101] Added a call to fates interface to process derived plant hydraulics info after key variables have been read in from restarts --- src/utils/clmfates_interfaceMod.F90 | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/src/utils/clmfates_interfaceMod.F90 b/src/utils/clmfates_interfaceMod.F90 index f8be142557..7cdd470397 100644 --- a/src/utils/clmfates_interfaceMod.F90 +++ b/src/utils/clmfates_interfaceMod.F90 @@ -128,6 +128,7 @@ module CLMFatesInterfaceMod use FatesPlantHydraulicsMod, only : HydrSiteColdStart use FatesPlantHydraulicsMod, only : InitHydrSites use FatesPlantHydraulicsMod, only : UpdateH2OVeg + use FatesPlantHydraulicsMod, only : RestartHydrStates implicit none @@ -1138,6 +1139,16 @@ subroutine restart( this, bounds_proc, ncid, flag, waterstate_inst, & this%fates(nc)%bc_in(s) ) end do + ! ------------------------------------------------------------------------ + ! Re-populate all the hydraulics variables that are dependent + ! on the key hydro state variables and plant carbon/geometry + ! ------------------------------------------------------------------------ + if (use_fates_planthydro) then + call RestartHydrStates(this%fates(nc)%sites, & + this%fates(nc)%nsites, & + this%fates(nc)%bc_in, & + this%fates(nc)%bc_out) + end if ! ------------------------------------------------------------------------ ! Update diagnostics of FATES ecosystem structure used in HLM. @@ -1148,12 +1159,11 @@ subroutine restart( this, bounds_proc, ncid, flag, waterstate_inst, & ! ------------------------------------------------------------------------ ! Update the 3D patch level radiation absorption fractions ! ------------------------------------------------------------------------ - call this%fates_restart%update_3dpatch_radiation(nc, & - this%fates(nc)%nsites, & + call this%fates_restart%update_3dpatch_radiation(this%fates(nc)%nsites, & this%fates(nc)%sites, & this%fates(nc)%bc_out) - + ! ------------------------------------------------------------------------ ! Update history IO fields that depend on ecosystem dynamics From 7728fc961f5c8e4db843ba19b56dd8abc420d93c Mon Sep 17 00:00:00 2001 From: Ryan Knox Date: Fri, 16 Nov 2018 18:22:46 -0800 Subject: [PATCH 049/101] Removed unnecessary logic on use_fates_planthydro --- src/utils/clmfates_interfaceMod.F90 | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/utils/clmfates_interfaceMod.F90 b/src/utils/clmfates_interfaceMod.F90 index 7cdd470397..b8d579f909 100644 --- a/src/utils/clmfates_interfaceMod.F90 +++ b/src/utils/clmfates_interfaceMod.F90 @@ -1227,6 +1227,7 @@ subroutine init_coldstart(this, waterstate_inst, canopystate_inst, soilstate_ins ! Called prior to init_patches(). Site level rhizosphere shells must ! be set prior to cohort initialization. ! ---------------------------------------------------------------------------- + if (use_fates_planthydro) then do s = 1,this%fates(nc)%nsites @@ -1258,10 +1259,10 @@ subroutine init_coldstart(this, waterstate_inst, canopystate_inst, soilstate_ins eff_porosity = max(0.01_r8,soilstate_inst%watsat_col(c,j)-vol_ice) this%fates(nc)%bc_in(s)%eff_porosity_sl(j) = eff_porosity end do - + end do - if (use_fates_planthydro) call HydrSiteColdStart(this%fates(nc)%sites,this%fates(nc)%bc_in) + call HydrSiteColdStart(this%fates(nc)%sites,this%fates(nc)%bc_in) end if call init_patches(this%fates(nc)%nsites, this%fates(nc)%sites, & From 4835e593688b76d8508bda48a4fd2bd5cec7d7c6 Mon Sep 17 00:00:00 2001 From: Ryan Knox Date: Mon, 19 Nov 2018 14:44:30 -0800 Subject: [PATCH 050/101] fates-hydro: modified interface to accomodate boundary conditions during restarts --- src/main/clm_instMod.F90 | 3 ++- src/utils/clmfates_interfaceMod.F90 | 12 +++++++++++- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/src/main/clm_instMod.F90 b/src/main/clm_instMod.F90 index 1b1b44adba..d072672bf8 100644 --- a/src/main/clm_instMod.F90 +++ b/src/main/clm_instMod.F90 @@ -543,7 +543,8 @@ subroutine clm_instRest(bounds, ncid, flag) call clm_fates%restart(bounds, ncid, flag=flag, & waterstate_inst=waterstate_inst, & canopystate_inst=canopystate_inst, & - frictionvel_inst=frictionvel_inst) + frictionvel_inst=frictionvel_inst, & + soilstate_inst=soilstate_inst) end if diff --git a/src/utils/clmfates_interfaceMod.F90 b/src/utils/clmfates_interfaceMod.F90 index b8d579f909..46714ceff8 100644 --- a/src/utils/clmfates_interfaceMod.F90 +++ b/src/utils/clmfates_interfaceMod.F90 @@ -908,7 +908,7 @@ end subroutine wrap_update_hlmfates_dyn ! ==================================================================================== subroutine restart( this, bounds_proc, ncid, flag, waterstate_inst, & - canopystate_inst, frictionvel_inst ) + canopystate_inst, frictionvel_inst, soilstate_inst) ! --------------------------------------------------------------------------------- ! The ability to restart the model is handled through three different types of calls @@ -943,6 +943,7 @@ subroutine restart( this, bounds_proc, ncid, flag, waterstate_inst, & type(waterstate_type) , intent(inout) :: waterstate_inst type(canopystate_type) , intent(inout) :: canopystate_inst type(frictionvel_type) , intent(inout) :: frictionvel_inst + type(soilstate_type) , intent(inout) :: soilstate_inst ! Locals type(bounds_type) :: bounds_clump @@ -954,6 +955,7 @@ subroutine restart( this, bounds_proc, ncid, flag, waterstate_inst, & integer :: s ! Fates site index integer :: g ! grid-cell index integer :: dk_index + integer :: nlevsoil character(len=fates_long_string_length) :: ioname integer :: nvar integer :: ivar @@ -1144,6 +1146,14 @@ subroutine restart( this, bounds_proc, ncid, flag, waterstate_inst, & ! on the key hydro state variables and plant carbon/geometry ! ------------------------------------------------------------------------ if (use_fates_planthydro) then + + do s = 1,this%fates(nc)%nsites + c = this%f2hmap(nc)%fcolumn(s) + nlevsoil = this%fates(nc)%bc_in(s)%nlevsoil + this%fates(nc)%bc_in(s)%hksat_sisl(1:nlevsoil) = & + soilstate_inst%hksat_col(c,1:nlevsoil) + end do + call RestartHydrStates(this%fates(nc)%sites, & this%fates(nc)%nsites, & this%fates(nc)%bc_in, & From 860971fbe109cccf728a0d46a340aed73f0c62b6 Mon Sep 17 00:00:00 2001 From: Ryan Knox Date: Mon, 3 Dec 2018 12:35:52 -0700 Subject: [PATCH 051/101] Trying out a new hydro test --- cime_config/testdefs/testlist_clm.xml | 11 +++++++++++ .../testdefs/testmods_dirs/clm/FatesHydro/user_nl_clm | 1 - 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/cime_config/testdefs/testlist_clm.xml b/cime_config/testdefs/testlist_clm.xml index 793518e7d2..fa0ad3ab56 100644 --- a/cime_config/testdefs/testlist_clm.xml +++ b/cime_config/testdefs/testlist_clm.xml @@ -1870,6 +1870,17 @@ + + + + + + + + + + + diff --git a/cime_config/testdefs/testmods_dirs/clm/FatesHydro/user_nl_clm b/cime_config/testdefs/testmods_dirs/clm/FatesHydro/user_nl_clm index e6dd831a5f..2435b5bc7e 100644 --- a/cime_config/testdefs/testmods_dirs/clm/FatesHydro/user_nl_clm +++ b/cime_config/testdefs/testmods_dirs/clm/FatesHydro/user_nl_clm @@ -1,5 +1,4 @@ hist_empty_htapes = .true. -use_fates_ed_st3= .true. use_fates_planthydro= .true. hist_fincl1 = 'FATES_ERRH2O_SCPF','FATES_TRAN_SCPF','FATES_ROOTUPTAKE_SCPF','FATES_ROOTUPTAKE01_SCPF', 'FATES_SAPFLOW_COL_SCPF','FATES_ITERH1_COL_SCPF','FATES_ATH_COL_SCPF','FATES_TTH_COL_SCPF', From fd0f7aa3ac8950c1b7a28b3710a92ab21c5b1000 Mon Sep 17 00:00:00 2001 From: Ryan Knox Date: Mon, 31 Dec 2018 13:15:26 -0700 Subject: [PATCH 052/101] Updated default fates parameter file to include updates to hydro --- bld/namelist_files/namelist_defaults_clm4_5.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bld/namelist_files/namelist_defaults_clm4_5.xml b/bld/namelist_files/namelist_defaults_clm4_5.xml index 049933004c..247e4ca864 100644 --- a/bld/namelist_files/namelist_defaults_clm4_5.xml +++ b/bld/namelist_files/namelist_defaults_clm4_5.xml @@ -355,7 +355,7 @@ attributes from the config_cache.xml file (with keys converted to upper-case). -lnd/clm2/paramdata/fates_params_default_2trop.c181203.nc +lnd/clm2/paramdata/fates_params_default_2trop.c181231.nc From d6fd235f52b1104b85aff20c63895e57075acdd0 Mon Sep 17 00:00:00 2001 From: Ryan Knox Date: Fri, 11 Jan 2019 12:43:34 -0700 Subject: [PATCH 053/101] Changed DEBUG to debug to be compatible with new CIME --- src/biogeophys/SurfaceRadiationMod.F90 | 4 ++-- src/utils/clmfates_interfaceMod.F90 | 8 ++++---- src/utils/clmfates_paraminterfaceMod.F90 | 2 +- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/biogeophys/SurfaceRadiationMod.F90 b/src/biogeophys/SurfaceRadiationMod.F90 index d0b56f6a27..f9cc6fffbd 100644 --- a/src/biogeophys/SurfaceRadiationMod.F90 +++ b/src/biogeophys/SurfaceRadiationMod.F90 @@ -25,7 +25,7 @@ module SurfaceRadiationMod implicit none private - logical :: DEBUG = .false. ! for debugging this module + logical :: debug = .false. ! for debugging this module ! ! !PUBLIC MEMBER FUNCTIONS: @@ -905,7 +905,7 @@ subroutine SurfaceRadiation(bounds, num_nourbanp, filter_nourbanp, & local_secp1 = mod(local_secp1,isecspday) if(elai(p)==0.0_r8.and.fabd(p,1)>0._r8)then - if ( DEBUG ) write(iulog,*) 'absorption without LAI',elai(p),tlai(p),fabd(p,1),p + if ( debug ) write(iulog,*) 'absorption without LAI',elai(p),tlai(p),fabd(p,1),p endif ! Solar incident diff --git a/src/utils/clmfates_interfaceMod.F90 b/src/utils/clmfates_interfaceMod.F90 index 61e9e7d3d1..9206567001 100644 --- a/src/utils/clmfates_interfaceMod.F90 +++ b/src/utils/clmfates_interfaceMod.F90 @@ -196,7 +196,7 @@ module CLMFatesInterfaceMod ! developer will at least question its usage (RGK) private :: hlm_bounds_to_fates_bounds - logical :: DEBUG = .false. + logical :: debug = .false. character(len=*), parameter, private :: sourcefile = & __FILE__ @@ -365,7 +365,7 @@ subroutine init(this, bounds_proc ) ! Check through FATES parameters to see if all have been set call set_fates_ctrlparms('check_allset') - if(DEBUG)then + if(debug)then write(iulog,*) 'clm_fates%init(): allocating for ',nclumps,' threads' end if @@ -400,7 +400,7 @@ subroutine init(this, bounds_proc ) s = s + 1 collist(s) = c this%f2hmap(nc)%hsites(c) = s - if(DEBUG)then + if(debug)then write(iulog,*) 'clm_fates%init(): thread',nc,': found column',c,'with lu',l write(iulog,*) 'LU type:', lun%itype(l) end if @@ -408,7 +408,7 @@ subroutine init(this, bounds_proc ) enddo - if(DEBUG)then + if(debug)then write(iulog,*) 'clm_fates%init(): thread',nc,': allocated ',s,' sites' end if diff --git a/src/utils/clmfates_paraminterfaceMod.F90 b/src/utils/clmfates_paraminterfaceMod.F90 index 4fc12fdc31..9a3ce58ff7 100644 --- a/src/utils/clmfates_paraminterfaceMod.F90 +++ b/src/utils/clmfates_paraminterfaceMod.F90 @@ -15,7 +15,7 @@ module CLMFatesParamInterfaceMod private :: SetParameterDimensions private :: GetUsedDimensionSizes - logical :: DEBUG = .false. + logical :: debug = .false. character(len=*), parameter, private :: sourcefile = & __FILE__ From 6d007f3d3f6074ac0bb27a9e8ca9158ce3c86fea Mon Sep 17 00:00:00 2001 From: Ryan Knox Date: Fri, 11 Jan 2019 22:50:10 -0700 Subject: [PATCH 054/101] Updated fates parameter file to be consistent with new fire parameters --- bld/namelist_files/namelist_defaults_clm4_5.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bld/namelist_files/namelist_defaults_clm4_5.xml b/bld/namelist_files/namelist_defaults_clm4_5.xml index 049933004c..72bee42443 100644 --- a/bld/namelist_files/namelist_defaults_clm4_5.xml +++ b/bld/namelist_files/namelist_defaults_clm4_5.xml @@ -355,7 +355,7 @@ attributes from the config_cache.xml file (with keys converted to upper-case). -lnd/clm2/paramdata/fates_params_default_2trop.c181203.nc +lnd/clm2/paramdata/fates_params_default_2trop.c190111.nc From 76108c46dc06267eac3102e7cb076c3ad5b9ec7b Mon Sep 17 00:00:00 2001 From: Ryan Knox Date: Mon, 14 Jan 2019 11:25:03 -0700 Subject: [PATCH 055/101] Updated default fates file to contain hydro updates --- bld/namelist_files/namelist_defaults_clm4_5.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bld/namelist_files/namelist_defaults_clm4_5.xml b/bld/namelist_files/namelist_defaults_clm4_5.xml index 247e4ca864..51331f0c81 100644 --- a/bld/namelist_files/namelist_defaults_clm4_5.xml +++ b/bld/namelist_files/namelist_defaults_clm4_5.xml @@ -355,7 +355,7 @@ attributes from the config_cache.xml file (with keys converted to upper-case). -lnd/clm2/paramdata/fates_params_default_2trop.c181231.nc +lnd/clm2/paramdata/fates_params_default_2trop.c190114.nc From f48330bfd7b1d5a22499b8cbb1a0277e0a17c493 Mon Sep 17 00:00:00 2001 From: Ryan Knox Date: Mon, 14 Jan 2019 13:01:24 -0700 Subject: [PATCH 056/101] Updated FATES tag to encapsulate FATES-HYDRO updates (major API change) --- Externals_CLM.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Externals_CLM.cfg b/Externals_CLM.cfg index 37766d222e..eb7077fd75 100644 --- a/Externals_CLM.cfg +++ b/Externals_CLM.cfg @@ -2,7 +2,7 @@ local_path = src/fates protocol = git repo_url = https://github.com/NGEET/fates -tag = sci.1.17.1_api.6.0.0 +tag = sci.1.21.0_api.7.0.0 required = True [PTCLM] From ff77942a039c0c33034d1bbb2bba56a9f87071cd Mon Sep 17 00:00:00 2001 From: Ryan Knox Date: Mon, 14 Jan 2019 13:41:20 -0700 Subject: [PATCH 057/101] Update version of cime in externals for fates_next_api branch --- Externals.cfg | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Externals.cfg b/Externals.cfg index e416af8aa0..d747e21035 100644 --- a/Externals.cfg +++ b/Externals.cfg @@ -29,8 +29,8 @@ required = True [cime] local_path = cime protocol = git -repo_url = https://github.com/CESM-Development/cime -tag = clm4518/n04/cime5.4.0-alpha.03 +repo_url = https://github.com/ESMCI/cime +tag = ctsm/ctsm1.0/cime5.7.5/n01 required = True [externals_description] From 275f00a559d6077d59076cde730e80803dbcb920 Mon Sep 17 00:00:00 2001 From: Ryan Knox Date: Thu, 31 Jan 2019 13:25:53 -0700 Subject: [PATCH 058/101] temp location for fates leaf age default file during testing --- bld/namelist_files/namelist_defaults_clm4_5.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bld/namelist_files/namelist_defaults_clm4_5.xml b/bld/namelist_files/namelist_defaults_clm4_5.xml index 6d4876a4b2..adad2a786b 100644 --- a/bld/namelist_files/namelist_defaults_clm4_5.xml +++ b/bld/namelist_files/namelist_defaults_clm4_5.xml @@ -355,7 +355,7 @@ attributes from the config_cache.xml file (with keys converted to upper-case). -lnd/clm2/paramdata/fates_params_default_2trop.c190114.nc +/glade/u/home/rgknox/ctsm/src/fates/parameter_files/fates_params_default_2trop.c190131.nc From 366dc268263b9a394cddb65829f4c9f79cc25eb0 Mon Sep 17 00:00:00 2001 From: Ryan Knox Date: Mon, 4 Feb 2019 15:40:28 -0700 Subject: [PATCH 059/101] temporary testing parameter file for fates with leaf age bins --- bld/namelist_files/namelist_defaults_clm4_5.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bld/namelist_files/namelist_defaults_clm4_5.xml b/bld/namelist_files/namelist_defaults_clm4_5.xml index adad2a786b..621006eebd 100644 --- a/bld/namelist_files/namelist_defaults_clm4_5.xml +++ b/bld/namelist_files/namelist_defaults_clm4_5.xml @@ -355,7 +355,7 @@ attributes from the config_cache.xml file (with keys converted to upper-case). -/glade/u/home/rgknox/ctsm/src/fates/parameter_files/fates_params_default_2trop.c190131.nc +/glade/u/home/rgknox/ctsm/src/fates/parameter_files/fates_params_default_2trop.c190204.nc From 22623ea28b98034067322c8e1bb298dc91b398dd Mon Sep 17 00:00:00 2001 From: Ryan Knox Date: Mon, 4 Feb 2019 17:26:56 -0700 Subject: [PATCH 060/101] Updated fates parameter file to svn location --- bld/namelist_files/namelist_defaults_clm4_5.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bld/namelist_files/namelist_defaults_clm4_5.xml b/bld/namelist_files/namelist_defaults_clm4_5.xml index 621006eebd..d0522d97cc 100644 --- a/bld/namelist_files/namelist_defaults_clm4_5.xml +++ b/bld/namelist_files/namelist_defaults_clm4_5.xml @@ -355,7 +355,7 @@ attributes from the config_cache.xml file (with keys converted to upper-case). -/glade/u/home/rgknox/ctsm/src/fates/parameter_files/fates_params_default_2trop.c190204.nc +lnd/clm2/paramdata/fates_params_default_2trop.c190205.nc From 4084bc73ee93966d8d268e8e41f5fd916e630726 Mon Sep 17 00:00:00 2001 From: Erik Kluzek Date: Fri, 8 Mar 2019 14:22:47 -0700 Subject: [PATCH 061/101] Update fates to point to fates_s1.14.0_a4.0.0 --- Externals_CLM.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Externals_CLM.cfg b/Externals_CLM.cfg index d6e68c79f0..47908d906d 100644 --- a/Externals_CLM.cfg +++ b/Externals_CLM.cfg @@ -2,7 +2,7 @@ local_path = src/fates protocol = git repo_url = https://github.com/NCAR/fates-release -tag = fates_s1.8.1_a3.0.0 +tag = fates_s1.14.0_a4.0.0 required = True [PTCLM] From 81a6d8d47eb87708fbd4f0f196db387e8af002b6 Mon Sep 17 00:00:00 2001 From: Erik Kluzek Date: Fri, 8 Mar 2019 16:29:27 -0700 Subject: [PATCH 062/101] Merge commit '92c325ac9' into updatefatesvers added height dimension to FATES history from Cdkoven --- src/main/histFileMod.F90 | 35 +++++++++++++++++++++++++ src/utils/clmfates_interfaceMod.F90 | 40 ++++++++++++++++++++++++++++- 2 files changed, 74 insertions(+), 1 deletion(-) diff --git a/src/main/histFileMod.F90 b/src/main/histFileMod.F90 index a4eb5331ed..b1df43d6b4 100644 --- a/src/main/histFileMod.F90 +++ b/src/main/histFileMod.F90 @@ -23,6 +23,7 @@ module histFileMod use EDTypesMod , only : nclmax use EDTypesMod , only : nlevleaf use FatesInterfaceMod , only : nlevsclass, nlevage + use FatesInterfaceMod , only : nlevheight use EDTypesMod , only : nfsc, ncwd use FatesInterfaceMod , only : numpft_ed => numpft use ncdio_pio @@ -2057,9 +2058,12 @@ subroutine htape_create (t, histrest) if(use_fates)then call ncd_defdim(lnfid, 'fates_levscag', nlevsclass * nlevage, dimid) + call ncd_defdim(lnfid, 'fates_levscagpf', nlevsclass * nlevage * numpft_ed, dimid) + call ncd_defdim(lnfid, 'fates_levagepft', nlevage * numpft_ed, dimid) call ncd_defdim(lnfid, 'fates_levscls', nlevsclass, dimid) call ncd_defdim(lnfid, 'fates_levpft', numpft_ed, dimid) call ncd_defdim(lnfid, 'fates_levage', nlevage, dimid) + call ncd_defdim(lnfid, 'fates_levheight', nlevheight, dimid) call ncd_defdim(lnfid, 'fates_levfuel', nfsc, dimid) call ncd_defdim(lnfid, 'fates_levcwdsc', ncwd, dimid) call ncd_defdim(lnfid, 'fates_levscpf', nlevsclass*numpft_ed, dimid) @@ -2483,9 +2487,15 @@ subroutine htape_timeconst(t, mode) use FatesInterfaceMod, only : fates_hdim_pfmap_levscpf use FatesInterfaceMod, only : fates_hdim_scmap_levscpf use FatesInterfaceMod, only : fates_hdim_levage + use FatesInterfaceMod, only : fates_hdim_levheight use FatesInterfaceMod, only : fates_hdim_levpft use FatesInterfaceMod, only : fates_hdim_scmap_levscag use FatesInterfaceMod, only : fates_hdim_agmap_levscag + use FatesInterfaceMod, only : fates_hdim_scmap_levscagpft + use FatesInterfaceMod, only : fates_hdim_agmap_levscagpft + use FatesInterfaceMod, only : fates_hdim_pftmap_levscagpft + use FatesInterfaceMod, only : fates_hdim_agmap_levagepft + use FatesInterfaceMod, only : fates_hdim_pftmap_levagepft use FatesInterfaceMod, only : fates_hdim_levfuel use FatesInterfaceMod, only : fates_hdim_levcwdsc use FatesInterfaceMod, only : fates_hdim_levcan @@ -2560,6 +2570,8 @@ subroutine htape_timeconst(t, mode) long_name='FATES size index of the combined pft-size class dimension', units='-', ncid=nfid(t)) call ncd_defvar(varname='fates_levage',xtype=tape(t)%ncprec, dim1name='fates_levage', & long_name='FATES patch age (yr)', ncid=nfid(t)) + call ncd_defvar(varname='fates_levheight',xtype=tape(t)%ncprec, dim1name='fates_levheight', & + long_name='FATES height (m)', ncid=nfid(t)) call ncd_defvar(varname='fates_levpft',xtype=ncd_int, dim1name='fates_levpft', & long_name='FATES pft number', ncid=nfid(t)) call ncd_defvar(varname='fates_levfuel',xtype=ncd_int, dim1name='fates_levfuel', & @@ -2578,6 +2590,17 @@ subroutine htape_timeconst(t, mode) long_name='FATES leaf level of combined canopy x leaf x pft dimension', ncid=nfid(t)) call ncd_defvar(varname='fates_pftmap_levcnlfpf',xtype=ncd_int, dim1name='fates_levcnlfpf', & long_name='FATES PFT level of combined canopy x leaf x pft dimension', ncid=nfid(t)) + call ncd_defvar(varname='fates_scmap_levscagpft', xtype=ncd_int, dim1name='fates_levscagpf', & + long_name='FATES size-class map into size x patch age x pft', units='-', ncid=nfid(t)) + call ncd_defvar(varname='fates_agmap_levscagpft', xtype=ncd_int, dim1name='fates_levscagpf', & + long_name='FATES age-class map into size x patch age x pft', units='-', ncid=nfid(t)) + call ncd_defvar(varname='fates_pftmap_levscagpft', xtype=ncd_int, dim1name='fates_levscagpf', & + long_name='FATES pft map into size x patch age x pft', units='-', ncid=nfid(t)) + call ncd_defvar(varname='fates_pftmap_levagepft', xtype=ncd_int, dim1name='fates_levagepft', & + long_name='FATES pft map into patch age x pft', units='-', ncid=nfid(t)) + call ncd_defvar(varname='fates_agmap_levagepft', xtype=ncd_int, dim1name='fates_levagepft', & + long_name='FATES age-class map into patch age x pft', units='-', ncid=nfid(t)) + end if @@ -2598,6 +2621,7 @@ subroutine htape_timeconst(t, mode) call ncd_io(varname='fates_pftmap_levscpf',data=fates_hdim_pfmap_levscpf, ncid=nfid(t), flag='write') call ncd_io(varname='fates_scmap_levscpf',data=fates_hdim_scmap_levscpf, ncid=nfid(t), flag='write') call ncd_io(varname='fates_levage',data=fates_hdim_levage, ncid=nfid(t), flag='write') + call ncd_io(varname='fates_levheight',data=fates_hdim_levheight, ncid=nfid(t), flag='write') call ncd_io(varname='fates_levpft',data=fates_hdim_levpft, ncid=nfid(t), flag='write') call ncd_io(varname='fates_levfuel',data=fates_hdim_levfuel, ncid=nfid(t), flag='write') call ncd_io(varname='fates_levcwdsc',data=fates_hdim_levcwdsc, ncid=nfid(t), flag='write') @@ -2607,6 +2631,11 @@ subroutine htape_timeconst(t, mode) call ncd_io(varname='fates_canmap_levcnlfpf',data=fates_hdim_canmap_levcnlfpf, ncid=nfid(t), flag='write') call ncd_io(varname='fates_lfmap_levcnlfpf',data=fates_hdim_lfmap_levcnlfpf, ncid=nfid(t), flag='write') call ncd_io(varname='fates_pftmap_levcnlfpf',data=fates_hdim_pftmap_levcnlfpf, ncid=nfid(t), flag='write') + call ncd_io(varname='fates_scmap_levscagpft',data=fates_hdim_scmap_levscagpft, ncid=nfid(t), flag='write') + call ncd_io(varname='fates_agmap_levscagpft',data=fates_hdim_agmap_levscagpft, ncid=nfid(t), flag='write') + call ncd_io(varname='fates_pftmap_levscagpft',data=fates_hdim_pftmap_levscagpft, ncid=nfid(t), flag='write') + call ncd_io(varname='fates_pftmap_levagepft',data=fates_hdim_pftmap_levagepft, ncid=nfid(t), flag='write') + call ncd_io(varname='fates_agmap_levagepft',data=fates_hdim_agmap_levagepft, ncid=nfid(t), flag='write') end if endif @@ -4838,6 +4867,8 @@ subroutine hist_addfld2d (fname, type2d, units, avgflag, long_name, type1d_out, num2d = numpft_ed case ('fates_levage') num2d = nlevage + case ('fates_levheight') + num2d = nlevheight case ('fates_levfuel') num2d = nfsc case ('fates_levcwdsc') @@ -4846,6 +4877,10 @@ subroutine hist_addfld2d (fname, type2d, units, avgflag, long_name, type1d_out, num2d = nlevsclass*numpft_ed case ('fates_levscag') num2d = nlevsclass*nlevage + case ('fates_levscagpf') + num2d = nlevsclass*nlevage*numpft_ed + case ('fates_levagepft') + num2d = nlevage*numpft_ed case ('fates_levcan') num2d = nclmax case ('fates_levcnlf') diff --git a/src/utils/clmfates_interfaceMod.F90 b/src/utils/clmfates_interfaceMod.F90 index 437fd39e8f..971db9a81f 100644 --- a/src/utils/clmfates_interfaceMod.F90 +++ b/src/utils/clmfates_interfaceMod.F90 @@ -1899,7 +1899,9 @@ subroutine init_history_io(this,bounds_proc) use FatesIOVariableKindMod, only : site_r8, site_ground_r8, site_size_pft_r8 use FatesIOVariableKindMod, only : site_size_r8, site_pft_r8, site_age_r8 use FatesIOVariableKindMod, only : site_fuel_r8, site_cwdsc_r8, site_scag_r8 + use FatesIOVariableKindMod, only : site_scagpft_r8, site_agepft_r8 use FatesIOVariableKindMod, only : site_can_r8, site_cnlf_r8, site_cnlfpft_r8 + use FatesIOVariableKindMod, only : site_height_r8 use FatesIODimensionsMod, only : fates_bounds_type @@ -2084,6 +2086,15 @@ subroutine init_history_io(this,bounds_proc) ptr_col=this%fates_hist%hvars(ivar)%r82d, & default=trim(vdefault), & set_lake=0._r8,set_urb=0._r8) + case(site_height_r8) + d_index = this%fates_hist%dim_kinds(dk_index)%dim2_index + dim2name = this%fates_hist%dim_bounds(d_index)%name + call hist_addfld2d(fname=trim(vname),units=trim(vunits), & + type2d=trim(dim2name), & + avgflag=trim(vavgflag),long_name=trim(vlong), & + ptr_col=this%fates_hist%hvars(ivar)%r82d, & + default=trim(vdefault), & + set_lake=0._r8,set_urb=0._r8) case(site_fuel_r8) d_index = this%fates_hist%dim_kinds(dk_index)%dim2_index dim2name = this%fates_hist%dim_bounds(d_index)%name @@ -2138,7 +2149,24 @@ subroutine init_history_io(this,bounds_proc) ptr_col=this%fates_hist%hvars(ivar)%r82d, & default=trim(vdefault), & set_lake=0._r8,set_urb=0._r8) - + case(site_scagpft_r8) + d_index = this%fates_hist%dim_kinds(dk_index)%dim2_index + dim2name = this%fates_hist%dim_bounds(d_index)%name + call hist_addfld2d(fname=trim(vname),units=trim(vunits), & + type2d=trim(dim2name), & + avgflag=trim(vavgflag),long_name=trim(vlong), & + ptr_col=this%fates_hist%hvars(ivar)%r82d, & + default=trim(vdefault), & + set_lake=0._r8,set_urb=0._r8) + case(site_agepft_r8) + d_index = this%fates_hist%dim_kinds(dk_index)%dim2_index + dim2name = this%fates_hist%dim_bounds(d_index)%name + call hist_addfld2d(fname=trim(vname),units=trim(vunits), & + type2d=trim(dim2name), & + avgflag=trim(vavgflag),long_name=trim(vlong), & + ptr_col=this%fates_hist%hvars(ivar)%r82d, & + default=trim(vdefault), & + set_lake=0._r8,set_urb=0._r8) case default write(iulog,*) 'A FATES iotype was created that was not registerred' @@ -2360,6 +2388,7 @@ subroutine hlm_bounds_to_fates_bounds(hlm, fates) use FatesIODimensionsMod, only : fates_bounds_type use FatesInterfaceMod, only : nlevsclass, nlevage + use FatesInterfaceMod, only : nlevheight use EDtypesMod, only : nfsc, ncwd use EDtypesMod, only : nlevleaf, nclmax use FatesInterfaceMod, only : numpft_ed => numpft @@ -2394,8 +2423,17 @@ subroutine hlm_bounds_to_fates_bounds(hlm, fates) fates%age_class_begin = 1 fates%age_class_end = nlevage + fates%height_begin = 1 + fates%height_end = nlevheight + fates%sizeage_class_begin = 1 fates%sizeage_class_end = nlevsclass * nlevage + + fates%agepft_class_begin = 1 + fates%agepft_class_end = nlevage * numpft_ed + + fates%sizeagepft_class_begin = 1 + fates%sizeagepft_class_end = nlevsclass * nlevage * numpft_ed fates%fuel_begin = 1 fates%fuel_end = nfsc From 57295153bfe28b691e27683ee67f60a66a944a8a Mon Sep 17 00:00:00 2001 From: Erik Kluzek Date: Fri, 8 Mar 2019 22:04:34 -0700 Subject: [PATCH 063/101] Revert "Merge commit '46895e99761782f223e1c67ad22633a0e043cdb6' into updatefatesvers" This reverts commit 4a7fb056921ffbddbf8805c1e2d8e96d66fdc1f4, reversing changes made to 54673319a4c86470e907c8fcf0b5a6432f23a48a. --- src/utils/clmfates_interfaceMod.F90 | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/src/utils/clmfates_interfaceMod.F90 b/src/utils/clmfates_interfaceMod.F90 index 9206567001..d3fcad2e21 100644 --- a/src/utils/clmfates_interfaceMod.F90 +++ b/src/utils/clmfates_interfaceMod.F90 @@ -1138,23 +1138,12 @@ subroutine restart( this, bounds_proc, ncid, flag, waterstate_inst, & this%fates(nc)%bc_in(s) ) end do - ! ------------------------------------------------------------------------ ! Update diagnostics of FATES ecosystem structure used in HLM. ! ------------------------------------------------------------------------ call this%wrap_update_hlmfates_dyn(nc,bounds_clump, & waterstate_inst,canopystate_inst,frictionvel_inst) - - ! ------------------------------------------------------------------------ - ! Update the 3D patch level radiation absorption fractions - ! ------------------------------------------------------------------------ - call this%fates_restart%update_3dpatch_radiation(nc, & - this%fates(nc)%nsites, & - this%fates(nc)%sites, & - this%fates(nc)%bc_out) - - ! ------------------------------------------------------------------------ ! Update history IO fields that depend on ecosystem dynamics ! ------------------------------------------------------------------------ From 76a47ce3eb619449c746654db15fe6440db6da3b Mon Sep 17 00:00:00 2001 From: Erik Kluzek Date: Sat, 9 Mar 2019 11:26:23 -0700 Subject: [PATCH 064/101] Revert "Merge commit '6d007f3d3f6074ac0bb27a9e8ca9158ce3c86fea' into updatefatesvers" This reverts commit 6b3b7edbdb74400dba5d873fa3b61f814dd6e98b, reversing changes made to 41a5cc17e0dcee6ff953e74ef8d5b76b8be4b610. --- bld/namelist_files/namelist_defaults_clm4_5.xml | 2 +- src/biogeophys/SurfaceRadiationMod.F90 | 11 ++++------- 2 files changed, 5 insertions(+), 8 deletions(-) diff --git a/bld/namelist_files/namelist_defaults_clm4_5.xml b/bld/namelist_files/namelist_defaults_clm4_5.xml index 220a86a68e..fc7a76f2c9 100644 --- a/bld/namelist_files/namelist_defaults_clm4_5.xml +++ b/bld/namelist_files/namelist_defaults_clm4_5.xml @@ -359,7 +359,7 @@ attributes from the config_cache.xml file (with keys converted to upper-case). -lnd/clm2/paramdata/fates_params_default_2trop.c190111.nc +lnd/clm2/paramdata/fates_params_default_2trop.c181203.nc diff --git a/src/biogeophys/SurfaceRadiationMod.F90 b/src/biogeophys/SurfaceRadiationMod.F90 index 66ac7fa639..e28dc0b6a5 100644 --- a/src/biogeophys/SurfaceRadiationMod.F90 +++ b/src/biogeophys/SurfaceRadiationMod.F90 @@ -25,7 +25,7 @@ module SurfaceRadiationMod implicit none private - logical :: debug = .false. ! for debugging this module + logical, parameter :: debug = .false. ! for debugging this module ! ! !PUBLIC MEMBER FUNCTIONS: @@ -976,12 +976,9 @@ subroutine SurfaceRadiation(bounds, num_nourbanp, filter_nourbanp, & p = filter_urbanp(fp) g = patch%gridcell(p) - local_secp1 = secs + nint((grc%londeg(g)/degpsec)/dtime)*dtime - local_secp1 = mod(local_secp1,isecspday) - - if(elai(p)==0.0_r8.and.fabd(p,1)>0._r8)then - if ( debug ) write(iulog,*) 'absorption without LAI',elai(p),tlai(p),fabd(p,1),p - endif + if(elai(p)==0.0_r8.and.fabd(p,1)>0._r8)then + if ( debug ) write(iulog,*) 'absorption without LAI',elai(p),tlai(p),fabd(p,1),p + endif ! Solar incident fsds_vis_d(p) = forc_solad(g,1) From 00d835c0a3fc2374604675eb081fdd3df6e67a85 Mon Sep 17 00:00:00 2001 From: Erik Kluzek Date: Sat, 9 Mar 2019 11:41:08 -0700 Subject: [PATCH 065/101] Update fates parameter file to work with fates_s1.20.1_a6.0.0 --- bld/namelist_files/namelist_defaults_clm4_5.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bld/namelist_files/namelist_defaults_clm4_5.xml b/bld/namelist_files/namelist_defaults_clm4_5.xml index fc7a76f2c9..220a86a68e 100644 --- a/bld/namelist_files/namelist_defaults_clm4_5.xml +++ b/bld/namelist_files/namelist_defaults_clm4_5.xml @@ -359,7 +359,7 @@ attributes from the config_cache.xml file (with keys converted to upper-case). -lnd/clm2/paramdata/fates_params_default_2trop.c181203.nc +lnd/clm2/paramdata/fates_params_default_2trop.c190111.nc From 87f0aa300a6db89fcb52314084ad63671fa3e61d Mon Sep 17 00:00:00 2001 From: Erik Kluzek Date: Sat, 9 Mar 2019 14:43:27 -0700 Subject: [PATCH 066/101] Update to fates_s1.23.0_a7.1.0_rev2 in the ncar fates-release repo --- Externals_CLM.cfg | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Externals_CLM.cfg b/Externals_CLM.cfg index 67a1cd58be..508943860a 100644 --- a/Externals_CLM.cfg +++ b/Externals_CLM.cfg @@ -1,8 +1,8 @@ [fates] local_path = src/fates protocol = git -repo_url = https://github.com/NGEET/fates -tag = sci.1.21.0_api.7.0.0 +repo_url = https://github.com/ncar/fates-release +tag = fates_s1.23.0_a7.1.0_rev2 required = True [PTCLM] From 04e931e19d55eead0fa6f6990ed80a6f6bdd4156 Mon Sep 17 00:00:00 2001 From: Erik Kluzek Date: Tue, 12 Mar 2019 22:27:58 -0600 Subject: [PATCH 067/101] Update fates version which also allows the fates test suite to run --- Externals_CLM.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Externals_CLM.cfg b/Externals_CLM.cfg index eb7077fd75..eaf16ffd2c 100644 --- a/Externals_CLM.cfg +++ b/Externals_CLM.cfg @@ -2,7 +2,7 @@ local_path = src/fates protocol = git repo_url = https://github.com/NGEET/fates -tag = sci.1.21.0_api.7.0.0 +tag = sci.1.23.0_api.7.1.0 required = True [PTCLM] From a7aa4f9b2833f119a456391b01b5bc8988eec2fe Mon Sep 17 00:00:00 2001 From: Erik Kluzek Date: Sun, 24 Mar 2019 23:47:32 -0600 Subject: [PATCH 068/101] Add a SMS test for FatesHydro, and increase wallclock for some fates tests --- cime_config/testdefs/testlist_clm.xml | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/cime_config/testdefs/testlist_clm.xml b/cime_config/testdefs/testlist_clm.xml index fa0ad3ab56..cfd91632ea 100644 --- a/cime_config/testdefs/testlist_clm.xml +++ b/cime_config/testdefs/testlist_clm.xml @@ -1798,7 +1798,7 @@ - + @@ -1870,6 +1870,14 @@ + + + + + + + + @@ -1899,7 +1907,7 @@ - + @@ -1908,7 +1916,7 @@ - + @@ -1917,7 +1925,7 @@ - + @@ -1926,7 +1934,7 @@ - + @@ -1935,7 +1943,7 @@ - + From 10901501d23fb52d027e14cd37a7c0bc5370c4fc Mon Sep 17 00:00:00 2001 From: Erik Kluzek Date: Mon, 25 Mar 2019 11:14:34 -0600 Subject: [PATCH 069/101] Update externals to ones in ctsm1.0.dev031 --- Externals.cfg | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Externals.cfg b/Externals.cfg index d747e21035..723e6d98fd 100644 --- a/Externals.cfg +++ b/Externals.cfg @@ -8,7 +8,7 @@ required = True local_path = components/cism protocol = git repo_url = https://github.com/ESCOMP/cism-wrapper -tag = cism2_1_49 +tag = release-cesm2.0.04 externals = Externals_CISM.cfg required = True @@ -16,21 +16,21 @@ required = True local_path = components/rtm protocol = git repo_url = https://github.com/ESCOMP/rtm -tag = rtm1_0_65 +tag = release-cesm2.0.00 required = True [mosart] local_path = components/mosart protocol = git repo_url = https://github.com/ESCOMP/mosart -tag = mosart1_0_30 +tag = release-cesm2.0.00 required = True [cime] local_path = cime protocol = git repo_url = https://github.com/ESMCI/cime -tag = ctsm/ctsm1.0/cime5.7.5/n01 +tag = ctsm/ctsm1.0/cime5.7.9/n01 required = True [externals_description] From 814ab9ad953d0e77076f529958a8a3026acf0281 Mon Sep 17 00:00:00 2001 From: Erik Kluzek Date: Mon, 25 Mar 2019 13:38:11 -0600 Subject: [PATCH 070/101] Update expected fails for fates, change FatesHydro SMS test to one that works --- cime_config/testdefs/ExpectedTestFails.xml | 9 +-------- cime_config/testdefs/testlist_clm.xml | 4 ++-- 2 files changed, 3 insertions(+), 10 deletions(-) diff --git a/cime_config/testdefs/ExpectedTestFails.xml b/cime_config/testdefs/ExpectedTestFails.xml index 9c2f8a3107..04634f199c 100644 --- a/cime_config/testdefs/ExpectedTestFails.xml +++ b/cime_config/testdefs/ExpectedTestFails.xml @@ -11,13 +11,6 @@ FAIL ERP_D.f10_f10_musgs.IHistClm50Bgc.cheyenne_gnu.clm-decStart COMPARE_base_rest - FAIL ERP_Ld9.f45_f45_mg37.I2000Clm45Fates.hobart_nag.clm-FatesAllVars COMPARE_base_rest - FAIL ERS_Ld60.f45_f45_mg37.I2000Clm45Fates.cheyenne_intel.clm-FatesLogging COMPARE_base_rest - FAIL ERS_Ld60.f45_f45_mg37.I2000Clm45Fates.cheyenne_intel.clm-Fates COMPARE_base_rest - FAIL ERS_Ld60.f45_f45_mg37.I2000Clm45Fates.cheyenne_intel.clm-FatesNoFire COMPARE_base_rest - FAIL ERS_Ld60.f45_f45_mg37.I2000Clm45Fates.cheyenne_intel.clm-FatesPPhys COMPARE_base_rest - FAIL ERS_Ld60.f45_f45_mg37.I2000Clm45Fates.cheyenne_intel.clm-FatesST3 COMPARE_base_rest - FAIL ERP_Ld9.f45_f45_mg37.I2000Clm45Fates.cheyenne_intel.clm-FatesAllVars COMPARE_base_rest - FAIL ERS_Ld60.f45_f45_mg37.I2000Clm45Fates.cheyenne_gnu.clm-Fates COMPARE_base_rest + FAIL ERS_D_Ld5.1x1_brazil.I2000Clm50FatesCruGs.cheyenne_intel.clm-FatesHydro COMPARE_base_rest diff --git a/cime_config/testdefs/testlist_clm.xml b/cime_config/testdefs/testlist_clm.xml index cfd91632ea..92769de56f 100644 --- a/cime_config/testdefs/testlist_clm.xml +++ b/cime_config/testdefs/testlist_clm.xml @@ -1838,7 +1838,7 @@ - + @@ -1870,7 +1870,7 @@ - + From 2625996b2c4127ce29aed95b9000d1868bf62310 Mon Sep 17 00:00:00 2001 From: Erik Kluzek Date: Mon, 25 Mar 2019 13:48:25 -0600 Subject: [PATCH 071/101] Add more tests on hobart fo some of the new features --- cime_config/testdefs/testlist_clm.xml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/cime_config/testdefs/testlist_clm.xml b/cime_config/testdefs/testlist_clm.xml index 92769de56f..56aefdaf5c 100644 --- a/cime_config/testdefs/testlist_clm.xml +++ b/cime_config/testdefs/testlist_clm.xml @@ -1873,6 +1873,7 @@ + @@ -1922,6 +1923,7 @@ + @@ -1931,6 +1933,7 @@ + @@ -1940,6 +1943,7 @@ + From d381e167f0cdb72994aeb222ef9c42ea461aea20 Mon Sep 17 00:00:00 2001 From: Erik Kluzek Date: Mon, 25 Mar 2019 15:13:45 -0600 Subject: [PATCH 072/101] Point to NCAR/fates-release version because it works on hobart --- Externals_CLM.cfg | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Externals_CLM.cfg b/Externals_CLM.cfg index eaf16ffd2c..ec59161e20 100644 --- a/Externals_CLM.cfg +++ b/Externals_CLM.cfg @@ -1,8 +1,8 @@ [fates] local_path = src/fates protocol = git -repo_url = https://github.com/NGEET/fates -tag = sci.1.23.0_api.7.1.0 +repo_url = https://github.com/NCAR/fates-release +tag = fates_s1.23.0_a7.1.0 required = True [PTCLM] From 576f76b1e24697a7ca227956d20e0cf1b9ea464b Mon Sep 17 00:00:00 2001 From: Erik Kluzek Date: Mon, 25 Mar 2019 16:30:32 -0600 Subject: [PATCH 073/101] Add failed tests on hobart --- cime_config/testdefs/ExpectedTestFails.xml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/cime_config/testdefs/ExpectedTestFails.xml b/cime_config/testdefs/ExpectedTestFails.xml index 04634f199c..ff9e56cd06 100644 --- a/cime_config/testdefs/ExpectedTestFails.xml +++ b/cime_config/testdefs/ExpectedTestFails.xml @@ -11,6 +11,8 @@ FAIL ERP_D.f10_f10_musgs.IHistClm50Bgc.cheyenne_gnu.clm-decStart COMPARE_base_rest - FAIL ERS_D_Ld5.1x1_brazil.I2000Clm50FatesCruGs.cheyenne_intel.clm-FatesHydro COMPARE_base_rest + FAIL ERS_D_Ld5.1x1_brazil.I2000Clm50FatesCruGs.cheyenne_intel.clm-FatesHydro COMPARE_base_rest + FAIL ERS_D_Ld5.1x1_brazil.I2000Clm50FatesCruGs.hobart_nag.clm-FatesHydro RUN + FAIL SMS_Lm3_D_Mmpi-serial.1x1_brazil.I2000Clm50FatesCruGs.hobart_nag.clm-FatesHydro MEMLEAK From 553292e9f56006672499f85ca7a8bea1ab153d46 Mon Sep 17 00:00:00 2001 From: Erik Kluzek Date: Tue, 26 Mar 2019 14:16:25 -0600 Subject: [PATCH 074/101] fates version with FatesInterfaceMod default private --- Externals_CLM.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Externals_CLM.cfg b/Externals_CLM.cfg index ec59161e20..7e84230e21 100644 --- a/Externals_CLM.cfg +++ b/Externals_CLM.cfg @@ -2,7 +2,7 @@ local_path = src/fates protocol = git repo_url = https://github.com/NCAR/fates-release -tag = fates_s1.23.0_a7.1.0 +tag = fates_s1.23.0_a7.1.0_rev2 required = True [PTCLM] From 82617e0c1dc4e3c6a820a8bf0666a55f6337f89b Mon Sep 17 00:00:00 2001 From: Erik Kluzek Date: Tue, 26 Mar 2019 16:12:25 -0600 Subject: [PATCH 075/101] Move fates version back to the stable NGEET version desired, but get fates param file that works with it --- Externals_CLM.cfg | 4 ++-- bld/namelist_files/namelist_defaults_clm4_5.xml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Externals_CLM.cfg b/Externals_CLM.cfg index ec59161e20..eb7077fd75 100644 --- a/Externals_CLM.cfg +++ b/Externals_CLM.cfg @@ -1,8 +1,8 @@ [fates] local_path = src/fates protocol = git -repo_url = https://github.com/NCAR/fates-release -tag = fates_s1.23.0_a7.1.0 +repo_url = https://github.com/NGEET/fates +tag = sci.1.21.0_api.7.0.0 required = True [PTCLM] diff --git a/bld/namelist_files/namelist_defaults_clm4_5.xml b/bld/namelist_files/namelist_defaults_clm4_5.xml index d0522d97cc..6d4876a4b2 100644 --- a/bld/namelist_files/namelist_defaults_clm4_5.xml +++ b/bld/namelist_files/namelist_defaults_clm4_5.xml @@ -355,7 +355,7 @@ attributes from the config_cache.xml file (with keys converted to upper-case). -lnd/clm2/paramdata/fates_params_default_2trop.c190205.nc +lnd/clm2/paramdata/fates_params_default_2trop.c190114.nc From 00308188ca642a6c19cd4f617663d5938df1dcde Mon Sep 17 00:00:00 2001 From: Erik Kluzek Date: Wed, 27 Mar 2019 11:16:27 -0600 Subject: [PATCH 076/101] Add a new expected fail --- cime_config/testdefs/ExpectedTestFails.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/cime_config/testdefs/ExpectedTestFails.xml b/cime_config/testdefs/ExpectedTestFails.xml index ff9e56cd06..d996d6f65e 100644 --- a/cime_config/testdefs/ExpectedTestFails.xml +++ b/cime_config/testdefs/ExpectedTestFails.xml @@ -14,5 +14,6 @@ FAIL ERS_D_Ld5.1x1_brazil.I2000Clm50FatesCruGs.cheyenne_intel.clm-FatesHydro COMPARE_base_rest FAIL ERS_D_Ld5.1x1_brazil.I2000Clm50FatesCruGs.hobart_nag.clm-FatesHydro RUN FAIL SMS_Lm3_D_Mmpi-serial.1x1_brazil.I2000Clm50FatesCruGs.hobart_nag.clm-FatesHydro MEMLEAK + FAIL ERS_D_Ld3.f19_g16.I2000Clm50FatesCruGs.cheyenne_gnu.clm-FatesColdDef SHAREDLIB_BUILD From 941b472e27d6fc82a0136bdf058687ac700c92e7 Mon Sep 17 00:00:00 2001 From: Erik Kluzek Date: Wed, 27 Mar 2019 14:10:04 -0600 Subject: [PATCH 077/101] Revert "Move fates version back to the stable NGEET version desired, but get fates param file that works with it" This reverts commit 82617e0c1dc4e3c6a820a8bf0666a55f6337f89b. --- Externals_CLM.cfg | 4 ++-- bld/namelist_files/namelist_defaults_clm4_5.xml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Externals_CLM.cfg b/Externals_CLM.cfg index eb7077fd75..ec59161e20 100644 --- a/Externals_CLM.cfg +++ b/Externals_CLM.cfg @@ -1,8 +1,8 @@ [fates] local_path = src/fates protocol = git -repo_url = https://github.com/NGEET/fates -tag = sci.1.21.0_api.7.0.0 +repo_url = https://github.com/NCAR/fates-release +tag = fates_s1.23.0_a7.1.0 required = True [PTCLM] diff --git a/bld/namelist_files/namelist_defaults_clm4_5.xml b/bld/namelist_files/namelist_defaults_clm4_5.xml index 6d4876a4b2..d0522d97cc 100644 --- a/bld/namelist_files/namelist_defaults_clm4_5.xml +++ b/bld/namelist_files/namelist_defaults_clm4_5.xml @@ -355,7 +355,7 @@ attributes from the config_cache.xml file (with keys converted to upper-case). -lnd/clm2/paramdata/fates_params_default_2trop.c190114.nc +lnd/clm2/paramdata/fates_params_default_2trop.c190205.nc From a3423844d35886317234afac1a46bf7c41165d76 Mon Sep 17 00:00:00 2001 From: Erik Kluzek Date: Thu, 28 Mar 2019 10:57:00 -0600 Subject: [PATCH 078/101] Point to NGEET repo --- Externals_CLM.cfg | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Externals_CLM.cfg b/Externals_CLM.cfg index ec59161e20..eaf16ffd2c 100644 --- a/Externals_CLM.cfg +++ b/Externals_CLM.cfg @@ -1,8 +1,8 @@ [fates] local_path = src/fates protocol = git -repo_url = https://github.com/NCAR/fates-release -tag = fates_s1.23.0_a7.1.0 +repo_url = https://github.com/NGEET/fates +tag = sci.1.23.0_api.7.1.0 required = True [PTCLM] From 7d9b479c73f7412e9b2ad63cd10c8bf2812b9d17 Mon Sep 17 00:00:00 2001 From: Erik Kluzek Date: Thu, 28 Mar 2019 11:53:46 -0600 Subject: [PATCH 079/101] remove expected fail as working in 1.23.0 fates tag --- cime_config/testdefs/ExpectedTestFails.xml | 1 - 1 file changed, 1 deletion(-) diff --git a/cime_config/testdefs/ExpectedTestFails.xml b/cime_config/testdefs/ExpectedTestFails.xml index d996d6f65e..ff9e56cd06 100644 --- a/cime_config/testdefs/ExpectedTestFails.xml +++ b/cime_config/testdefs/ExpectedTestFails.xml @@ -14,6 +14,5 @@ FAIL ERS_D_Ld5.1x1_brazil.I2000Clm50FatesCruGs.cheyenne_intel.clm-FatesHydro COMPARE_base_rest FAIL ERS_D_Ld5.1x1_brazil.I2000Clm50FatesCruGs.hobart_nag.clm-FatesHydro RUN FAIL SMS_Lm3_D_Mmpi-serial.1x1_brazil.I2000Clm50FatesCruGs.hobart_nag.clm-FatesHydro MEMLEAK - FAIL ERS_D_Ld3.f19_g16.I2000Clm50FatesCruGs.cheyenne_gnu.clm-FatesColdDef SHAREDLIB_BUILD From 1912158f512aaa0143f4ee1270358e8c3663abcd Mon Sep 17 00:00:00 2001 From: Erik Kluzek Date: Fri, 19 Apr 2019 15:54:23 -0600 Subject: [PATCH 080/101] Add SSP-RCP option for CO2 files --- bld/namelist_files/namelist_defaults_clm4_5_tools.xml | 10 ++++++++-- tools/ncl_scripts/getco2_historical.ncl | 8 ++++++-- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/bld/namelist_files/namelist_defaults_clm4_5_tools.xml b/bld/namelist_files/namelist_defaults_clm4_5_tools.xml index f81491bbfa..6f84b8281e 100644 --- a/bld/namelist_files/namelist_defaults_clm4_5_tools.xml +++ b/bld/namelist_files/namelist_defaults_clm4_5_tools.xml @@ -7392,7 +7392,13 @@ attributes from the config_cache.xml file (with keys converted to upper-case). -atm/waccm/lb/LBC_17500116-20150116_CMIP6_0p5degLat_c180905.nc -/gpfs/fs1/p/acom/acom-climate/cesm2/inputdata/atm/waccm/lb/LBC_1750-2015_CMIP6_GlobAnnAvg_c180905.nc +atm/waccm/lb/LBC_17500116-20150116_CMIP6_0p5degLat_c180905.nc +atm/waccm/lb/LBC_1750-2015_CMIP6_GlobAnnAvg_c180926.nc +atm/waccm/lb/LBC_20140116-25001216_CMIP6_SSP126_0p5degLat_c180905.nc +atm/waccm/lb/LBC_20140116-25001216_CMIP6_SSP245_0p5degLat_c180905.nc +atm/waccm/lb/LBC_20140116-25001216_CMIP6_SSP370_0p5degLat_c180905.nc +atm/waccm/lb/LBC_20140116-25001216_CMIP6_SSP460_0p5degLat_c180905.nc +atm/waccm/lb/LBC_20140116-25001216_CMIP6_SSP534os_0p5degLat_c180905.nc +atm/waccm/lb/LBC_20140116-25001216_CMIP6_SSP585_0p5degLat_c180905.nc diff --git a/tools/ncl_scripts/getco2_historical.ncl b/tools/ncl_scripts/getco2_historical.ncl index 7284dc88b7..8558f6dd01 100644 --- a/tools/ncl_scripts/getco2_historical.ncl +++ b/tools/ncl_scripts/getco2_historical.ncl @@ -19,6 +19,7 @@ begin csmdata = getenv("CSMDATA"); clmroot = getenv("CLM_ROOT"); hgrid = getenv("HGRID"); ; Get horizontal grid to use from env variable + ssp_rcp = getenv("SSP_RCP"); ; Get SSP-RCP future scenario to use from env variable querynml = "bld/queryDefaultNamelist.pl -silent -justvalue "; if ( .not. ismissing(csmdata) )then querynml = querynml+" -csmdata "+csmdata; @@ -31,12 +32,15 @@ begin if ( ismissing(hgrid) )then hgrid = "lat-bands" end if + if ( ismissing(ssp_rcp) )then + ssp_rcp = "hist" + end if ; ; Get input Greenhouse gas file and open it ; filetype = "mkghg_bndtvghg"; print( querynml+" -namelist clmexp -var "+filetype+" -options hgrid="+hgrid ); - ghgfile = systemfunc( querynml+" -namelist clmexp -var "+filetype+" -options hgrid="+hgrid ); + ghgfile = systemfunc( querynml+" -namelist clmexp -var "+filetype+" -options hgrid="+hgrid+",ssp_rcp="+ssp_rcp ); print( "Use "+filetype+" file: "+ghgfile ); if ( systemfunc("test -f "+ghgfile+"; echo $?" ) .ne. 0 )then print( "Input "+filetype+" file does not exist or not found: "+ghgfile ); @@ -57,7 +61,7 @@ begin sim_yr_rng = "_simyr_"+sim_yr0 + "-" + sim_yr2; cmip_vers = "_CMIP6_"; - outco2filename = "fco2_datm_"+hgrid+sim_yr_rng+cmip_vers+"c"+sdate+".nc"; + outco2filename = "fco2_datm_"+hgrid+ssp_rcp+"_"+sim_yr_rng+cmip_vers+"c"+sdate+".nc"; system( "/bin/rm -f "+outco2filename ); print( "output file: "+outco2filename ); nco = addfile( outco2filename, "c" ); From 60d17b93423a9b360be285b4438b78ad4ce729a6 Mon Sep 17 00:00:00 2001 From: Erik Kluzek Date: Sat, 20 Apr 2019 23:18:35 -0600 Subject: [PATCH 081/101] Get mksurfdata.pl working fixing #672 --- tools/mksurfdata_map/mksurfdata.pl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/mksurfdata_map/mksurfdata.pl b/tools/mksurfdata_map/mksurfdata.pl index ee7b180ff4..72cc9eb93d 100755 --- a/tools/mksurfdata_map/mksurfdata.pl +++ b/tools/mksurfdata_map/mksurfdata.pl @@ -538,7 +538,7 @@ sub write_namelist_file { my @rcpaths = split( ",", $opts{'ssp_rcp'} ); # Check that ssp_rcp is valid foreach my $ssp_rcp ( @rcpaths ) { - if ( ! $definition->is_valid_value( "ssp_rcp", $ssp_rcp ) ) { + if ( ! $definition->is_valid_value( "ssp_rcp", "'$ssp_rcp'" ) ) { print "** Invalid ssp_rcp: $ssp_rcp\n"; usage(); } From 1db5b859398b59e9740ceff51c357a5cbbe8859e Mon Sep 17 00:00:00 2001 From: Erik Kluzek Date: Sat, 20 Apr 2019 23:19:45 -0600 Subject: [PATCH 082/101] Get hirespft option in mksurfdata.pl working, fix #262, use previous PFT land-mask rather than new one --- bld/namelist_files/namelist_defaults_clm4_5_tools.xml | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/bld/namelist_files/namelist_defaults_clm4_5_tools.xml b/bld/namelist_files/namelist_defaults_clm4_5_tools.xml index 6f84b8281e..9c79f24c32 100644 --- a/bld/namelist_files/namelist_defaults_clm4_5_tools.xml +++ b/bld/namelist_files/namelist_defaults_clm4_5_tools.xml @@ -212,7 +212,7 @@ attributes from the config_cache.xml file (with keys converted to upper-case). lnd/clm2/rawdata/pftcftdynharv.0.05x0.05.LUH2.histsimyr2005.c190119/mksrf_lai_histclm52deg005_earthstatmirca_2005.c190119.nc +>lnd/clm2/rawdata/pftcftdynharv.0.05x0.05.LUH2.histsimyr2005.c190119/mksrf_lai_histclm52deg005_earthstatmirca_2005.c190420.nc lnd/clm2/rawdata/mksrf_soitex.10level.c010119.nc lnd/clm2/rawdata/pftcftdynharv.0.05x0.05.LUH2.histsimyr2005.c190119/mksrf_soilcolor_histclm52deg005_earthstatmirca_2005.c190116.nc +>lnd/clm2/rawdata/pftcftdynharv.0.05x0.05.LUH2.histsimyr2005.c190119/mksrf_soilcolor_histclm52deg005_earthstatmirca_2005.c190420.nc +lnd/clm2/rawdata/pftcftdynharv.0.05x0.05.LUH2.histsimyr2005.c190119/mksrf_landuse_clm52deg005_histLUH2_1850.c190119.nc + lnd/clm2/rawdata/pftcftdynharv.0.05x0.05.LUH2.histsimyr2005.c190119/mksrf_lai_histclm52deg005_earthstatmirca_2005.c190119.nc +>lnd/clm2/rawdata/pftcftdynharv.0.05x0.05.LUH2.histsimyr2005.c190119/mksrf_landuse_clm52deg005_histLUH2_2005.c190420.nc From de6925805257cadd018837a88e8d3ae2d121a904 Mon Sep 17 00:00:00 2001 From: Bill Sacks Date: Thu, 28 Mar 2019 20:32:06 -0600 Subject: [PATCH 083/101] Point to more recent esmf version ESMF version 7.0.0 has a bug that is fixed in 7.1.0r. Fixes ESCOMP/ctsm#642 --- tools/mkmapdata/README | 4 ++-- tools/mkmapdata/mkmapdata.sh | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/tools/mkmapdata/README b/tools/mkmapdata/README index b865e72f2d..3f5e9e92c2 100644 --- a/tools/mkmapdata/README +++ b/tools/mkmapdata/README @@ -12,7 +12,7 @@ two versions, one with mpiuni and one with mpi. Both versions also need to be built with NetCDF rather than the default IO version. -Currently uses: ESMF7.0.0 +Currently uses: ESMF7.1.0r Do the following for help with the different options to the script... @@ -44,7 +44,7 @@ and --src_type UGRID. http://www.earthsystemmodeling.org/ You may need more than one version to do everything above. On cheyenne -we use ESMF7.0.0. +we use ESMF7.1.0r. The version of NetCDF used with ESMF needs to be version 4.1 or higher and compiled with the NetCDF4 file format enabled (with HDF5 compression). diff --git a/tools/mkmapdata/mkmapdata.sh b/tools/mkmapdata/mkmapdata.sh index 2aad9f24fe..2d1ab6e85e 100755 --- a/tools/mkmapdata/mkmapdata.sh +++ b/tools/mkmapdata/mkmapdata.sh @@ -342,7 +342,7 @@ case $hostname in if [ -z "$REGRID_PROC" ]; then REGRID_PROC=36 fi - esmfvers=7.0.0 + esmfvers=7.1.0r intelvers=17.0.1 module load esmf_libs/$esmfvers module load intel/$intelvers @@ -371,7 +371,7 @@ case $hostname in if [ -z "$REGRID_PROC" ]; then REGRID_PROC=8 fi - esmfvers=7.0.0 + esmfvers=7.1.0r intelvers=15.0.0 #intelvers=12.1.5 module purge From 7a30257cb19c720b2953af1032a7bc916a553724 Mon Sep 17 00:00:00 2001 From: Erik Kluzek Date: Sat, 20 Apr 2019 23:41:06 -0600 Subject: [PATCH 084/101] Fix Typo in SSP5-3.4 C13 isotope file name #664 --- bld/namelist_files/namelist_defaults_clm4_5.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bld/namelist_files/namelist_defaults_clm4_5.xml b/bld/namelist_files/namelist_defaults_clm4_5.xml index ebb43d15b6..bee12a73ea 100644 --- a/bld/namelist_files/namelist_defaults_clm4_5.xml +++ b/bld/namelist_files/namelist_defaults_clm4_5.xml @@ -94,7 +94,7 @@ attributes from the config_cache.xml file (with keys converted to upper-case). lnd/clm2/isotopes/atm_delta_C13_CMIP6_SSP126_1850-2100_yearly_c181209.nc lnd/clm2/isotopes/atm_delta_C13_CMIP6_SSP245_1850-2100_yearly_c181209.nc lnd/clm2/isotopes/atm_delta_C13_CMIP6_SSP3B_1850-2100_yearly_c181209.nc -lnd/clm2/isotopes/atm_delta_C13_CMIP6_SSP34os_1850-2100_yearly_c181209.nc +lnd/clm2/isotopes/atm_delta_C13_CMIP6_SSP534os_1850-2100_yearly_c181209.nc lnd/clm2/isotopes/atm_delta_C13_CMIP6_SSP5B_1850-2100_yearly_c181209.nc lnd/clm2/isotopes/atm_delta_C14_CMIP6_3x1_global_1850-2015_yearly_v2.0_c171012.nc From 77ea8009619900bba489abdcfa2f614f1a39a481 Mon Sep 17 00:00:00 2001 From: Erik Kluzek Date: Sat, 20 Apr 2019 23:42:22 -0600 Subject: [PATCH 085/101] Fix Mask name is wrong for gx1v7 for clm40 on release #678 --- bld/namelist_files/namelist_definition_clm4_0.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bld/namelist_files/namelist_definition_clm4_0.xml b/bld/namelist_files/namelist_definition_clm4_0.xml index 7f51c5c874..b699022f8e 100644 --- a/bld/namelist_files/namelist_definition_clm4_0.xml +++ b/bld/namelist_files/namelist_definition_clm4_0.xml @@ -685,7 +685,7 @@ Note: 0.1x0.1, 0.5x0.5, 5x5min, 10x10min, 3x3min and 0.33x0.33 are only used for + valid_values="USGS,gx3v7,gx1v6,gx1v7,navy,test,tx0.1v2,tx1v1,T62,cruncep"> Land mask description From 105fa47e02b824201242db2f05924043e4510dbc Mon Sep 17 00:00:00 2001 From: Erik Kluzek Date: Sat, 20 Apr 2019 23:57:21 -0600 Subject: [PATCH 086/101] Add SSP3-7.0 and SSP2-4.5 ndep files --- bld/namelist_files/namelist_defaults_clm4_5.xml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/bld/namelist_files/namelist_defaults_clm4_5.xml b/bld/namelist_files/namelist_defaults_clm4_5.xml index bee12a73ea..6f703af52a 100644 --- a/bld/namelist_files/namelist_defaults_clm4_5.xml +++ b/bld/namelist_files/namelist_defaults_clm4_5.xml @@ -1102,6 +1102,12 @@ lnd/clm2/surfdata_map/surfdata_conus_30_x8_hist_78pfts_CMIP6_simyr1850_c190128.n lnd/clm2/ndepdata/fndep_clm_SSP126_b.e21.BWSSP126cmip6.f09_g17.CMIP6-SSP1-2.6-WACCM.001_2014-2101_monthly_0.9x1.25_c190221.nc + +lnd/clm2/ndepdata/fndep_clm_SSP245_b.e21.BWSSP245cmip6.f09_g17.CMIP6-SSP2-4.5-WACCM.001_2014-2101_monthly_0.9x1.25_c190401.nc +lnd/clm2/ndepdata/fndep_clm_SSP370_b.e21.BWSSP370cmip6.f09_g17.CMIP6-SSP3-7.0-WACCM.001_2014-2101_monthly_0.9x1.25_c190401.nc + cycle NDEP_month From d2c28c2a4ca2fc41e7404bc95f990af05cee2887 Mon Sep 17 00:00:00 2001 From: Erik Kluzek Date: Mon, 22 Apr 2019 16:37:30 -0600 Subject: [PATCH 087/101] Add CO2 global annual average files as well as lat-bnd ones --- bld/namelist_files/namelist_defaults_clm4_5_tools.xml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/bld/namelist_files/namelist_defaults_clm4_5_tools.xml b/bld/namelist_files/namelist_defaults_clm4_5_tools.xml index 9c79f24c32..75b3443d5b 100644 --- a/bld/namelist_files/namelist_defaults_clm4_5_tools.xml +++ b/bld/namelist_files/namelist_defaults_clm4_5_tools.xml @@ -7397,6 +7397,7 @@ attributes from the config_cache.xml file (with keys converted to upper-case). atm/waccm/lb/LBC_17500116-20150116_CMIP6_0p5degLat_c180905.nc atm/waccm/lb/LBC_1750-2015_CMIP6_GlobAnnAvg_c180926.nc + atm/waccm/lb/LBC_20140116-25001216_CMIP6_SSP126_0p5degLat_c180905.nc atm/waccm/lb/LBC_20140116-25001216_CMIP6_SSP245_0p5degLat_c180905.nc atm/waccm/lb/LBC_20140116-25001216_CMIP6_SSP370_0p5degLat_c180905.nc @@ -7404,4 +7405,11 @@ attributes from the config_cache.xml file (with keys converted to upper-case). atm/waccm/lb/LBC_20140116-25001216_CMIP6_SSP534os_0p5degLat_c180905.nc atm/waccm/lb/LBC_20140116-25001216_CMIP6_SSP585_0p5degLat_c180905.nc +atm/waccm/lb/LBC_2014-2500_CMIP6_SSP126_0p5degLat_GlobAnnAvg_c190301.nc +atm/waccm/lb/LBC_2014-2500_CMIP6_SSP245_0p5degLat_GlobAnnAvg_c190301.nc +atm/waccm/lb/LBC_2014-2500_CMIP6_SSP370_0p5degLat_GlobAnnAvg_c190301.nc +atm/waccm/lb/LBC_2014-2500_CMIP6_SSP460_0p5degLat_GlobAnnAvg_c190301.nc +atm/waccm/lb/LBC_2014-2500_CMIP6_SSP534os_0p5degLat_GlobAnnAvg_c190301.nc +atm/waccm/lb/LBC_2014-2500_CMIP6_SSP585_0p5degLat_GlobAnnAvg_c190301.nc + From 770c3cd7560dabd9a777c2f1916dc237710857bd Mon Sep 17 00:00:00 2001 From: Erik Kluzek Date: Mon, 22 Apr 2019 16:38:40 -0600 Subject: [PATCH 088/101] Add in new ndep files for SSP2-4.5 and SSP3-7.0, and point to new files instead of the CMIP5 files for the missing ones --- .../namelist_defaults_clm4_5.xml | 33 +++++++------------ 1 file changed, 12 insertions(+), 21 deletions(-) diff --git a/bld/namelist_files/namelist_defaults_clm4_5.xml b/bld/namelist_files/namelist_defaults_clm4_5.xml index 6f703af52a..d02960c3bf 100644 --- a/bld/namelist_files/namelist_defaults_clm4_5.xml +++ b/bld/namelist_files/namelist_defaults_clm4_5.xml @@ -1102,33 +1102,24 @@ lnd/clm2/surfdata_map/surfdata_conus_30_x8_hist_78pfts_CMIP6_simyr1850_c190128.n lnd/clm2/ndepdata/fndep_clm_SSP126_b.e21.BWSSP126cmip6.f09_g17.CMIP6-SSP1-2.6-WACCM.001_2014-2101_monthly_0.9x1.25_c190221.nc +lnd/clm2/ndepdata/fndep_clm_SSP126_b.e21.BWSSP126cmip6.f09_g17.CMIP6-SSP1-2.6-WACCM.001_2014-2101_monthly_0.9x1.25_c190221.nc lnd/clm2/ndepdata/fndep_clm_SSP245_b.e21.BWSSP245cmip6.f09_g17.CMIP6-SSP2-4.5-WACCM.001_2014-2101_monthly_0.9x1.25_c190401.nc lnd/clm2/ndepdata/fndep_clm_SSP370_b.e21.BWSSP370cmip6.f09_g17.CMIP6-SSP3-7.0-WACCM.001_2014-2101_monthly_0.9x1.25_c190401.nc + +lnd/clm2/ndepdata/fndep_clm_SSP370_b.e21.BWSSP370cmip6.f09_g17.CMIP6-SSP3-7.0-WACCM.001_2014-2101_monthly_0.9x1.25_c190401.nc + +lnd/clm2/ndepdata/fndep_clm_SSP585_b.e21.BWSSP585cmip6.f09_g17.CMIP6-SSP5-8.5-WACCM.001_2014-2101_monthly_0.9x1.25_c190211.nc + cycle NDEP_month - -cycle -NDEP_month -cycle -NDEP_month -cycle -NDEP_month -cycle -NDEP_month -lnd/clm2/ndepdata/fndep_clm_rcp8.5_simyr1849-2106_1.9x2.5_c100428.nc -lnd/clm2/ndepdata/fndep_clm_rcp6.0_simyr1849-2106_1.9x2.5_c100810.nc -lnd/clm2/ndepdata/fndep_clm_rcp4.5_simyr1849-2106_1.9x2.5_c100428.nc -lnd/clm2/ndepdata/fndep_clm_rcp4.5_simyr1849-2106_1.9x2.5_c100428.nc - extend NDEP_year @@ -1142,12 +1133,12 @@ lnd/clm2/surfdata_map/surfdata_conus_30_x8_hist_78pfts_CMIP6_simyr1850_c190128.n >lnd/clm2/ndepdata/fndep_clm_rcp2.6_simyr1849-2106_1.9x2.5_c100428.nc lnd/clm2/ndepdata/fndep_clm_rcp6.0_simyr1849-2106_1.9x2.5_c100428.nc -lnd/clm2/ndepdata/fndep_clm_rcp6.0_simyr1849-2106_1.9x2.5_c100810.nc lnd/clm2/ndepdata/fndep_clm_rcp4.5_simyr1849-2106_1.9x2.5_c100428.nc lnd/clm2/ndepdata/fndep_clm_rcp4.5_simyr1849-2106_1.9x2.5_c100428.nc +>lnd/clm2/ndepdata/fndep_clm_rcp2.6_simyr1849-2106_1.9x2.5_c100428.nc +lnd/clm2/ndepdata/fndep_clm_rcp6.0_simyr1849-2106_1.9x2.5_c100810.nc lnd/clm2/ndepdata/fndep_clm_rcp4.5_simyr1849-2106_1.9x2.5_c100428.nc Date: Tue, 23 Apr 2019 10:29:50 -0600 Subject: [PATCH 089/101] Update cime version --- Externals.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Externals.cfg b/Externals.cfg index a9533d1007..a7c05ccdc6 100644 --- a/Externals.cfg +++ b/Externals.cfg @@ -30,7 +30,7 @@ required = True local_path = cime protocol = git repo_url = https://github.com/ESMCI/cime -tag = cime5.6.13 +tag = cime5.6.14 required = True [externals_description] From 37de14159283c7405e396ea19a53b0912aba7f79 Mon Sep 17 00:00:00 2001 From: Erik Kluzek Date: Wed, 24 Apr 2019 02:20:18 -0600 Subject: [PATCH 090/101] Add in ciso test to ensure Carbon isotopes on and off give the same answers to the bulk Carbon --- cime_config/config_tests.xml | 10 ++++++++++ cime_config/testdefs/testlist_clm.xml | 9 +++++++++ 2 files changed, 19 insertions(+) diff --git a/cime_config/config_tests.xml b/cime_config/config_tests.xml index fb04cfb692..911afe014b 100644 --- a/cime_config/config_tests.xml +++ b/cime_config/config_tests.xml @@ -56,6 +56,16 @@ SSP smoke CLM spinup test (only valid for CLM compsets with CLM45) never + + CTSM Land model test to ensure Carbon isotopes on or off does NOT change answers + 1 + FALSE + FALSE + never + $STOP_OPTION + $STOP_N + + smoke CLM spinup test (only valid for CLM45 or CLM50 compsets) 1 diff --git a/cime_config/testdefs/testlist_clm.xml b/cime_config/testdefs/testlist_clm.xml index b0ac7d123b..fdcac2d310 100644 --- a/cime_config/testdefs/testlist_clm.xml +++ b/cime_config/testdefs/testlist_clm.xml @@ -1101,6 +1101,15 @@ + + + + + + + + + From abb34e4aa35a77e601113f86967ed724c09c2f9d Mon Sep 17 00:00:00 2001 From: Erik Kluzek Date: Thu, 2 May 2019 12:12:07 -0600 Subject: [PATCH 091/101] Use the correct fates param file for this version, and bring in the branch version that works on hobart nag --- Externals_CLM.cfg | 2 +- bld/namelist_files/namelist_defaults_clm4_5.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Externals_CLM.cfg b/Externals_CLM.cfg index 3a50edc1d7..23d74d10e2 100644 --- a/Externals_CLM.cfg +++ b/Externals_CLM.cfg @@ -2,7 +2,7 @@ local_path = src/fates protocol = git repo_url = https://github.com/ncar/fates-release -tag = fates_s1.21.0_a7.0.0 +tag = fates_s1.21.0_a7.0.0_br_rev2 required = True [PTCLM] diff --git a/bld/namelist_files/namelist_defaults_clm4_5.xml b/bld/namelist_files/namelist_defaults_clm4_5.xml index d02960c3bf..30f43ff9d0 100644 --- a/bld/namelist_files/namelist_defaults_clm4_5.xml +++ b/bld/namelist_files/namelist_defaults_clm4_5.xml @@ -378,7 +378,7 @@ attributes from the config_cache.xml file (with keys converted to upper-case). -lnd/clm2/paramdata/fates_params_default_2trop.c190205.nc +lnd/clm2/paramdata/fates_params_default_2trop.c190114.nc From 0b27b990f2465804dff0731739691431d7a63742 Mon Sep 17 00:00:00 2001 From: Erik Kluzek Date: Thu, 2 May 2019 15:36:17 -0600 Subject: [PATCH 092/101] Fix #700 so SSP first and align years start with year 2015 as this is standard --- .../namelist_defaults_clm4_5.xml | 48 +++++-------------- 1 file changed, 11 insertions(+), 37 deletions(-) diff --git a/bld/namelist_files/namelist_defaults_clm4_5.xml b/bld/namelist_files/namelist_defaults_clm4_5.xml index 30f43ff9d0..b91e92d4f8 100644 --- a/bld/namelist_files/namelist_defaults_clm4_5.xml +++ b/bld/namelist_files/namelist_defaults_clm4_5.xml @@ -1055,13 +1055,13 @@ lnd/clm2/surfdata_map/surfdata_conus_30_x8_hist_78pfts_CMIP6_simyr1850_c190128.n lnd/clm2/snicardata/snicar_drdt_bst_fit_60_c070416.nc -1850 +2015 2100 -1850 +2015 -1850 +2015 2100 -1850 +2015 2010 2010 @@ -1081,15 +1081,6 @@ lnd/clm2/surfdata_map/surfdata_conus_30_x8_hist_78pfts_CMIP6_simyr1850_c190128.n 2000 2000 -1850 -2015 - -1850 -2100 - -2000 -2100 - lnd/clm2/ndepdata/fndep_clm_hist_b.e21.BWHIST.f09_g17.CMIP6-historical-WACCM.ensmean_1849-2015_monthly_0.9x1.25_c180926.nc cycle NDEP_month +limit extend @@ -1203,13 +1195,13 @@ lnd/clm2/surfdata_map/surfdata_conus_30_x8_hist_78pfts_CMIP6_simyr1850_c190128.n nn -1850 +2015 2100 -1850 +2015 -1850 +2015 2100 -1850 +2015 2010 2010 @@ -1229,15 +1221,6 @@ lnd/clm2/surfdata_map/surfdata_conus_30_x8_hist_78pfts_CMIP6_simyr1850_c190128.n 2000 2000 -1850 -2016 - -1850 -2016 - -1850 -2016 - lnd/clm2/firedata/clmforc.Li_2017_HYDEv3.2_CMIP6_hdm_0.5x0.5_AVHRR_simyr1850-2016_c180202.nc lnd/clm2/firedata/clmforc.Li_2018_SSP1_CMIP6_hdm_0.5x0.5_AVHRR_simyr1850-2100_c181205.nc @@ -1267,9 +1250,9 @@ lnd/clm2/surfdata_map/surfdata_conus_30_x8_hist_78pfts_CMIP6_simyr1850_c190128.n nn -1850 +2015 2106 -1850 +2015 2000 2000 @@ -1289,15 +1272,6 @@ lnd/clm2/surfdata_map/surfdata_conus_30_x8_hist_78pfts_CMIP6_simyr1850_c190128.n 2000 2000 -1850 -2106 - -1850 -2106 - -1850 -2106 - lnd/clm2/urbandata/CLM50_tbuildmax_Oleson_2016_0.9x1.25_simyr1849-2106_c160923.nc lnd/clm2/urbandata/CLM45_tbuildmax_Oleson_2016_0.9x1.25_simyr1849-2106_c160923.nc From 96fd4c164262e6b21e59cf83c3d9aba07d3e1bac Mon Sep 17 00:00:00 2001 From: Erik Kluzek Date: Thu, 2 May 2019 15:37:36 -0600 Subject: [PATCH 093/101] For 2-degree compsets use the no-Carbon-isotope option for CMIP6DECK cases --- cime_config/config_component.xml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/cime_config/config_component.xml b/cime_config/config_component.xml index 2988e615dd..2672fd133b 100644 --- a/cime_config/config_component.xml +++ b/cime_config/config_component.xml @@ -242,8 +242,9 @@ - $COMP_ROOT_DIR_LND/cime_config/usermods_dirs/cmip6_deck - $COMP_ROOT_DIR_LND/cime_config/usermods_dirs/cmip6_waccm_deck + $COMP_ROOT_DIR_LND/cime_config/usermods_dirs/cmip6_deck + $COMP_ROOT_DIR_LND/cime_config/usermods_dirs/cmip6_nociso_deck + $COMP_ROOT_DIR_LND/cime_config/usermods_dirs/cmip6_waccm_deck run_component_clm env_case.xml From 71a4666b28437c654d982500196289e99033e09d Mon Sep 17 00:00:00 2001 From: Erik Kluzek Date: Thu, 2 May 2019 15:38:27 -0600 Subject: [PATCH 094/101] Add a 2-degree CMIP6DECK test, and add some notes about the other existing short one --- cime_config/testdefs/testlist_clm.xml | 12 ++++++++++-- .../cmip6_nociso_deck/include_user_mods | 3 +++ 2 files changed, 13 insertions(+), 2 deletions(-) create mode 100644 cime_config/usermods_dirs/cmip6_nociso_deck/include_user_mods diff --git a/cime_config/testdefs/testlist_clm.xml b/cime_config/testdefs/testlist_clm.xml index fdcac2d310..8c55610187 100644 --- a/cime_config/testdefs/testlist_clm.xml +++ b/cime_config/testdefs/testlist_clm.xml @@ -1529,11 +1529,19 @@ - - + + + + + + + + + + diff --git a/cime_config/usermods_dirs/cmip6_nociso_deck/include_user_mods b/cime_config/usermods_dirs/cmip6_nociso_deck/include_user_mods new file mode 100644 index 0000000000..1e912156d6 --- /dev/null +++ b/cime_config/usermods_dirs/cmip6_nociso_deck/include_user_mods @@ -0,0 +1,3 @@ +../_includes/cmip6_glaciers_cplhist +../_includes/cmip6_glaciers_virtual_antarctica +../output_crop From da26df860deb60a451d1144230835856534b4a30 Mon Sep 17 00:00:00 2001 From: Erik Kluzek Date: Thu, 2 May 2019 23:37:35 -0600 Subject: [PATCH 095/101] Add hirespft mksurfdata_map test --- test/tools/nl_files/mksrfdt_5x5_amazon_hirespft_2005 | 1 + 1 file changed, 1 insertion(+) create mode 100644 test/tools/nl_files/mksrfdt_5x5_amazon_hirespft_2005 diff --git a/test/tools/nl_files/mksrfdt_5x5_amazon_hirespft_2005 b/test/tools/nl_files/mksrfdt_5x5_amazon_hirespft_2005 new file mode 100644 index 0000000000..47a5391c84 --- /dev/null +++ b/test/tools/nl_files/mksrfdt_5x5_amazon_hirespft_2005 @@ -0,0 +1 @@ +-l CSMDATA -r 5x5_amazon -y 2005 -hirespft -exedir EXEDIR From 3e794ed5728f6fd10bf08eeabab9ee6e1b0fe86a Mon Sep 17 00:00:00 2001 From: Erik Kluzek Date: Fri, 3 May 2019 12:02:18 -0600 Subject: [PATCH 096/101] Add MODISv2 3minx3min SCRIP grid for the new hirespft files, fix the termination of the CO2 files --- .../namelist_defaults_clm4_5_tools.xml | 15 +++++--- .../namelist_definition_clm4_5.xml | 2 +- cime_config/SystemTests/lciso.py | 37 +++++++++++++++++++ cime_config/testdefs/ExpectedTestFails.xml | 1 + test/tools/README.testnames | 1 + test/tools/input_tests_master | 3 ++ test/tools/tests_pretag_cheyenne_nompi | 1 + tools/mkmapdata/mkmapdata.sh | 35 +++++++++--------- 8 files changed, 71 insertions(+), 24 deletions(-) create mode 100644 cime_config/SystemTests/lciso.py diff --git a/bld/namelist_files/namelist_defaults_clm4_5_tools.xml b/bld/namelist_files/namelist_defaults_clm4_5_tools.xml index 75b3443d5b..01b26fd9f7 100644 --- a/bld/namelist_files/namelist_defaults_clm4_5_tools.xml +++ b/bld/namelist_files/namelist_defaults_clm4_5_tools.xml @@ -78,9 +78,12 @@ attributes from the config_cache.xml file (with keys converted to upper-case). >lnd/clm2/mappingdata/grids/SCRIPgrid_10x10min_IGBPmergeICESatGIS_c110818.nc lnd/clm2/mappingdata/grids/SCRIPgrid_3minx3min_MODIS_c110915.nc +lnd/clm2/mappingdata/grids/SCRIPgrid_3minx3min_MODISv2_c190503.nc lnd/clm2/mappingdata/grids/SCRIPgrid_3minx3min_MODISwcspsea_c151020.nc 64bit_offset +64bit_offset 64bit_offset lnd/clm2/mappingdata/grids/SCRIPgrid_3x3_USGS_c120912.nc @@ -7405,11 +7408,11 @@ attributes from the config_cache.xml file (with keys converted to upper-case). atm/waccm/lb/LBC_20140116-25001216_CMIP6_SSP534os_0p5degLat_c180905.nc atm/waccm/lb/LBC_20140116-25001216_CMIP6_SSP585_0p5degLat_c180905.nc -atm/waccm/lb/LBC_2014-2500_CMIP6_SSP126_0p5degLat_GlobAnnAvg_c190301.nc -atm/waccm/lb/LBC_2014-2500_CMIP6_SSP245_0p5degLat_GlobAnnAvg_c190301.nc -atm/waccm/lb/LBC_2014-2500_CMIP6_SSP370_0p5degLat_GlobAnnAvg_c190301.nc -atm/waccm/lb/LBC_2014-2500_CMIP6_SSP460_0p5degLat_GlobAnnAvg_c190301.nc -atm/waccm/lb/LBC_2014-2500_CMIP6_SSP534os_0p5degLat_GlobAnnAvg_c190301.nc -atm/waccm/lb/LBC_2014-2500_CMIP6_SSP585_0p5degLat_GlobAnnAvg_c190301.nc +atm/waccm/lb/LBC_2014-2500_CMIP6_SSP126_0p5degLat_GlobAnnAvg_c190301.nc +atm/waccm/lb/LBC_2014-2500_CMIP6_SSP245_0p5degLat_GlobAnnAvg_c190301.nc +atm/waccm/lb/LBC_2014-2500_CMIP6_SSP370_0p5degLat_GlobAnnAvg_c190301.nc +atm/waccm/lb/LBC_2014-2500_CMIP6_SSP460_0p5degLat_GlobAnnAvg_c190301.nc +atm/waccm/lb/LBC_2014-2500_CMIP6_SSP534os_0p5degLat_GlobAnnAvg_c190301.nc +atm/waccm/lb/LBC_2014-2500_CMIP6_SSP585_0p5degLat_GlobAnnAvg_c190301.nc diff --git a/bld/namelist_files/namelist_definition_clm4_5.xml b/bld/namelist_files/namelist_definition_clm4_5.xml index 5aaeec2e90..9458c7776b 100644 --- a/bld/namelist_files/namelist_definition_clm4_5.xml +++ b/bld/namelist_files/namelist_definition_clm4_5.xml @@ -1729,7 +1729,7 @@ Mapping file to go from one resolution/land-mask to another resolution/land-mask + valid_values="nomask,navy,AVHRR,MODIS,MODISv2,USGS,IGBPmergeICESatGIS,IGBP-GSDP,ISRIC-WISE,LandScan2004,GLOBE-Gardner,GLOBE-Gardner-mergeGIS,GRDC,HYDRO1K-merge-nomask,ORNL-Soil"> Land mask description for mksurfdata input files diff --git a/cime_config/SystemTests/lciso.py b/cime_config/SystemTests/lciso.py new file mode 100644 index 0000000000..214d2c4ccc --- /dev/null +++ b/cime_config/SystemTests/lciso.py @@ -0,0 +1,37 @@ +""" +Implementation of the CIME LCISO (Land Carbon Isotope) test. +This is a CTSM specific test: +Verifies turning on carbon isotopes doesn't change answers +(1) do a run with Carbon isotopes off (suffix base) +(2) add C13 and C14 carbon isotopes on with their time-series (suffix cisoallon) +""" + +from CIME.SystemTests.system_tests_compare_two import SystemTestsCompareTwo +from CIME.XML.standard_module_setup import * +from CIME.SystemTests.test_utils.user_nl_utils import append_to_user_nl_files + +logger = logging.getLogger(__name__) + +class LCISO(SystemTestsCompareTwo): + + def __init__(self, case): + SystemTestsCompareTwo.__init__(self, case, + separate_builds = False, + run_two_suffix = 'cisoallon', + run_one_description = 'carbon isotopes off', + run_two_description = 'c13 and c14 isotopes on as well as C isotope time series') + + def _case_one_setup(self): + append_to_user_nl_files(caseroot = self._get_caseroot(), + component = "clm", + contents = "use_c13=F, use_c14=F") + + def _case_two_setup(self): + append_to_user_nl_files(caseroot = self._get_caseroot(), + component = "clm", + contents = "use_c13=.true.,use_c14=.true.,use_c13_timeseries=.true.,use_c14_bombspike=.true.," + \ + "hist_fexcl1='C13_AR','C13_GPP','C13_HR','C13_NBP','C13_SOILC_vr','C13_TOTECOSYSC'," + \ + "'C13_TOTLITC','C13_TOTSOMC','C13_TOTVEGC','C14_AR','C14_GPP','C14_HR','C14_NBP'," + \ + "'C14_SOILC_vr','C14_TOTECOSYSC','C14_TOTLITC','C14_TOTSOMC','C14_TOTVEGC'") + + diff --git a/cime_config/testdefs/ExpectedTestFails.xml b/cime_config/testdefs/ExpectedTestFails.xml index d6edb6d0f4..c99b312819 100644 --- a/cime_config/testdefs/ExpectedTestFails.xml +++ b/cime_config/testdefs/ExpectedTestFails.xml @@ -8,6 +8,7 @@ FAIL ERP_D_Ld5.f09_g17.I2000Clm50Vic.cheyenne_intel.clm-vrtlay RUN FAIL SMS.f10_f10_musgs.I2000Clm50BgcCrop.hobart_pgi.clm-crop RUN FAIL SMS_D.f10_f10_musgs.I2000Clm50BgcCrop.hobart_pgi.clm-crop RUN + FAIL LCISO_Lm13.f10_f10_musgs.IHistClm50BgcCrop.cheyenne_intel.clm-ciso_monthly COMPARE FAIL ERS_D_Ld5.1x1_brazil.I2000Clm50FatesCruGs.cheyenne_intel.clm-FatesHydro COMPARE_base_rest diff --git a/test/tools/README.testnames b/test/tools/README.testnames index 5cb5de027a..2795a14f0a 100644 --- a/test/tools/README.testnames +++ b/test/tools/README.testnames @@ -36,6 +36,7 @@ m is the resolution 1 -- 48x96 5 -- 10x15 +6 -- 5x5_amazon 7 -- 1x1 brazil 8 -- US-UMB 9 -- 4x5 diff --git a/test/tools/input_tests_master b/test/tools/input_tests_master index 90b8aa293a..78f323fb3a 100644 --- a/test/tools/input_tests_master +++ b/test/tools/input_tests_master @@ -23,6 +23,9 @@ bli57 TBLscript_tools.sh mksurfdata_map mksurfdata.pl mksrfdt_10x15_1850^tools__ smi58 TSMscript_tools.sh mksurfdata_map mksurfdata.pl mksrfdt_10x15_crp_1850-2000^tools__do bli58 TBLscript_tools.sh mksurfdata_map mksurfdata.pl mksrfdt_10x15_crp_1850-2000^tools__do +smi64 TSMscript_tools.sh mksurfdata_map mksurfdata.pl mksrfdt_5x5_amazon_hirespft_2005^tools__ds +bli64 TBLscript_tools.sh mksurfdata_map mksurfdata.pl mksrfdt_5x5_amazon_hirespft_2005^tools__ds + smi74 TSMscript_tools.sh mksurfdata_map mksurfdata.pl mksrfdt_1x1_brazil_1850-2000^tools__ds bli74 TBLscript_tools.sh mksurfdata_map mksurfdata.pl mksrfdt_1x1_brazil_1850-2000^tools__ds smi78 TSMscript_tools.sh mksurfdata_map mksurfdata.pl mksrfdt_1x1_brazil_1850^tools__ds diff --git a/test/tools/tests_pretag_cheyenne_nompi b/test/tools/tests_pretag_cheyenne_nompi index c3a2325cea..1f35731f8d 100644 --- a/test/tools/tests_pretag_cheyenne_nompi +++ b/test/tools/tests_pretag_cheyenne_nompi @@ -4,6 +4,7 @@ sme@4 ble@4 smg54 blg54 smi24 bli24 smi53 bli53 +smi64 bli64 smi54 bli54 smi57 bli57 smi58 bli58 diff --git a/tools/mkmapdata/mkmapdata.sh b/tools/mkmapdata/mkmapdata.sh index 2d1ab6e85e..37b54521d9 100755 --- a/tools/mkmapdata/mkmapdata.sh +++ b/tools/mkmapdata/mkmapdata.sh @@ -263,23 +263,24 @@ fi if [ "$phys" = "clm4_5" ]; then grids=( \ - "0.5x0.5_AVHRR" \ - "0.25x0.25_MODIS" \ - "0.5x0.5_MODIS" \ - "3x3min_LandScan2004" \ - "3x3min_MODIS-wCsp" \ - "3x3min_USGS" \ - "5x5min_nomask" \ - "5x5min_IGBP-GSDP" \ - "5x5min_ISRIC-WISE" \ - "5x5min_ORNL-Soil" \ - "10x10min_nomask" \ - "10x10min_IGBPmergeICESatGIS" \ - "3x3min_GLOBE-Gardner" \ - "3x3min_GLOBE-Gardner-mergeGIS" \ - "0.9x1.25_GRDC" \ - "360x720cru_cruncep" \ - "1km-merge-10min_HYDRO1K-merge-nomask" \ + #"0.5x0.5_AVHRR" \ + #"0.25x0.25_MODIS" \ + #"0.5x0.5_MODIS" \ + #"3x3min_LandScan2004" \ + "3x3min_MODIS-2005" \ + #"3x3min_MODIS-wCsp" \ + #"3x3min_USGS" \ + #"5x5min_nomask" \ + #"5x5min_IGBP-GSDP" \ + #"5x5min_ISRIC-WISE" \ + #"5x5min_ORNL-Soil" \ + #"10x10min_nomask" \ + #"10x10min_IGBPmergeICESatGIS" \ + #"3x3min_GLOBE-Gardner" \ + #"3x3min_GLOBE-Gardner-mergeGIS" \ + #"0.9x1.25_GRDC" \ + #"360x720cru_cruncep" \ + #"1km-merge-10min_HYDRO1K-merge-nomask" \ ) else From 27f8484fa61cbf72995255a05de2f9fc0e7667f6 Mon Sep 17 00:00:00 2001 From: Erik Kluzek Date: Fri, 3 May 2019 12:06:42 -0600 Subject: [PATCH 097/101] Revert the last commit for mkmapdata, but also add the 3x3min_MODISv2 to the list of maps that are made --- tools/mkmapdata/mkmapdata.sh | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/tools/mkmapdata/mkmapdata.sh b/tools/mkmapdata/mkmapdata.sh index 37b54521d9..bf5214d27b 100755 --- a/tools/mkmapdata/mkmapdata.sh +++ b/tools/mkmapdata/mkmapdata.sh @@ -263,24 +263,24 @@ fi if [ "$phys" = "clm4_5" ]; then grids=( \ - #"0.5x0.5_AVHRR" \ - #"0.25x0.25_MODIS" \ - #"0.5x0.5_MODIS" \ - #"3x3min_LandScan2004" \ - "3x3min_MODIS-2005" \ - #"3x3min_MODIS-wCsp" \ - #"3x3min_USGS" \ - #"5x5min_nomask" \ - #"5x5min_IGBP-GSDP" \ - #"5x5min_ISRIC-WISE" \ - #"5x5min_ORNL-Soil" \ - #"10x10min_nomask" \ - #"10x10min_IGBPmergeICESatGIS" \ - #"3x3min_GLOBE-Gardner" \ - #"3x3min_GLOBE-Gardner-mergeGIS" \ - #"0.9x1.25_GRDC" \ - #"360x720cru_cruncep" \ - #"1km-merge-10min_HYDRO1K-merge-nomask" \ + "0.5x0.5_AVHRR" \ + "0.25x0.25_MODIS" \ + "0.5x0.5_MODIS" \ + "3x3min_LandScan2004" \ + "3x3min_MODISv2" \ + "3x3min_MODIS-wCsp" \ + "3x3min_USGS" \ + "5x5min_nomask" \ + "5x5min_IGBP-GSDP" \ + "5x5min_ISRIC-WISE" \ + "5x5min_ORNL-Soil" \ + "10x10min_nomask" \ + "10x10min_IGBPmergeICESatGIS" \ + "3x3min_GLOBE-Gardner" \ + "3x3min_GLOBE-Gardner-mergeGIS" \ + "0.9x1.25_GRDC" \ + "360x720cru_cruncep" \ + "1km-merge-10min_HYDRO1K-merge-nomask" \ ) else From 1454eaabe559c98d45713861a8b2547617c47bc8 Mon Sep 17 00:00:00 2001 From: Erik Kluzek Date: Fri, 3 May 2019 14:47:41 -0600 Subject: [PATCH 098/101] Point to the previous version of the hirespft dataset, and setup the maps for it to be MODISv2, as there aren't mapping files, mksurfdata.pl -hirespft will NOT run because of the missing files, also correct the fail message for the LCISO test that fails --- .../namelist_defaults_clm4_5_tools.xml | 16 ++++++++-------- cime_config/testdefs/ExpectedTestFails.xml | 2 +- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/bld/namelist_files/namelist_defaults_clm4_5_tools.xml b/bld/namelist_files/namelist_defaults_clm4_5_tools.xml index 01b26fd9f7..363d5a3eee 100644 --- a/bld/namelist_files/namelist_defaults_clm4_5_tools.xml +++ b/bld/namelist_files/namelist_defaults_clm4_5_tools.xml @@ -136,13 +136,13 @@ attributes from the config_cache.xml file (with keys converted to upper-case). AVHRR AVHRR MODIS -MODIS +MODISv2 MODIS -MODIS +MODISv2 MODIS LandScan2004 MODIS -MODIS +MODISv2 ISRIC-WISE GLOBE-Gardner GLOBE-Gardner-mergeGIS @@ -214,8 +214,8 @@ attributes from the config_cache.xml file (with keys converted to upper-case). -lnd/clm2/rawdata/pftcftdynharv.0.05x0.05.LUH2.histsimyr2005.c190119/mksrf_lai_histclm52deg005_earthstatmirca_2005.c190420.nc +lnd/clm2/rawdata/pftcftdynharv.0.05x0.05.LUH2.histsimyr2005.c190119/mksrf_lai_histclm52deg005_earthstatmirca_2005.c190119.nc lnd/clm2/rawdata/mksrf_soitex.10level.c010119.nc -lnd/clm2/rawdata/pftcftdynharv.0.05x0.05.LUH2.histsimyr2005.c190119/mksrf_soilcolor_histclm52deg005_earthstatmirca_2005.c190420.nc +lnd/clm2/rawdata/pftcftdynharv.0.05x0.05.LUH2.histsimyr2005.c190119/mksrf_soilcolor_histclm52deg005_earthstatmirca_2005.c190116.nc lnd/clm2/rawdata/pftcftdynharv.0.05x0.05.LUH2.histsimyr2005.c190119/mksrf_landuse_clm52deg005_histLUH2_1850.c190119.nc lnd/clm2/rawdata/pftcftdynharv.0.05x0.05.LUH2.histsimyr2005.c190119/mksrf_landuse_clm52deg005_histLUH2_2005.c190420.nc +>lnd/clm2/rawdata/pftcftdynharv.0.05x0.05.LUH2.histsimyr2005.c190119/mksrf_landuse_clm52deg005_histLUH2_2005.c190119.nc diff --git a/cime_config/testdefs/ExpectedTestFails.xml b/cime_config/testdefs/ExpectedTestFails.xml index c99b312819..71881f6b99 100644 --- a/cime_config/testdefs/ExpectedTestFails.xml +++ b/cime_config/testdefs/ExpectedTestFails.xml @@ -8,7 +8,7 @@ FAIL ERP_D_Ld5.f09_g17.I2000Clm50Vic.cheyenne_intel.clm-vrtlay RUN FAIL SMS.f10_f10_musgs.I2000Clm50BgcCrop.hobart_pgi.clm-crop RUN FAIL SMS_D.f10_f10_musgs.I2000Clm50BgcCrop.hobart_pgi.clm-crop RUN - FAIL LCISO_Lm13.f10_f10_musgs.IHistClm50BgcCrop.cheyenne_intel.clm-ciso_monthly COMPARE + FAIL LCISO_Lm13.f10_f10_musgs.IHistClm50BgcCrop.cheyenne_intel.clm-ciso_monthly COMPARE_base_cisoallon FAIL ERS_D_Ld5.1x1_brazil.I2000Clm50FatesCruGs.cheyenne_intel.clm-FatesHydro COMPARE_base_rest From 3576702b3b4d61d1d0313e8f4fd5a0a5a41c1f87 Mon Sep 17 00:00:00 2001 From: Erik Kluzek Date: Fri, 3 May 2019 15:57:25 -0600 Subject: [PATCH 099/101] Remove the build of fates/main since there currently are not any unit tests and the build is failing --- src/CMakeLists.txt | 1 - 1 file changed, 1 deletion(-) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index be66201047..3e4ab93151 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -35,7 +35,6 @@ add_subdirectory(${CLM_ROOT}/src/biogeophys clm_biogeophys) add_subdirectory(${CLM_ROOT}/src/dyn_subgrid clm_dyn_subgrid) add_subdirectory(${CLM_ROOT}/src/main clm_main) add_subdirectory(${CLM_ROOT}/src/init_interp clm_init_interp) -add_subdirectory(${CLM_ROOT}/src/fates/main fates_main) # Add general unit test directories (stubbed out files, etc.) add_subdirectory(unit_test_stubs) From 730df1bd240620458848e77a325e773e932c9aa7 Mon Sep 17 00:00:00 2001 From: Erik Kluzek Date: Fri, 3 May 2019 15:58:07 -0600 Subject: [PATCH 100/101] Add the last missing SSP --- bld/unit_testers/build-namelist_test.pl | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/bld/unit_testers/build-namelist_test.pl b/bld/unit_testers/build-namelist_test.pl index 501d060466..be58b1991d 100755 --- a/bld/unit_testers/build-namelist_test.pl +++ b/bld/unit_testers/build-namelist_test.pl @@ -123,9 +123,9 @@ sub make_env_run { # # Figure out number of tests that will run # -my $ntests = 860; +my $ntests = 872; if ( defined($opts{'compare'}) ) { - $ntests += 531; + $ntests += 540; } plan( tests=>$ntests ); @@ -1292,7 +1292,7 @@ sub make_env_run { system( "../configure -s $mode" ); my @tran_res = ( "0.9x1.25", "1.9x2.5", "10x15" ); foreach my $usecase ( "1850_control", "1850-2100_SSP5-8.5_transient", "1850-2100_SSP1-2.6_transient", "1850-2100_SSP3-7.0_transient", - "1850-2100_SSP5-3.4_transient", "1850-2100_SSP2-4.5_transient", "1850-2100_SSP1-1.9_transient", + "1850-2100_SSP4-3.4_transient", "1850-2100_SSP5-3.4_transient", "1850-2100_SSP2-4.5_transient", "1850-2100_SSP1-1.9_transient", "1850-2100_SSP4-6.0_transient" ) { foreach my $res ( @tran_res ) { $options = "-res $res -bgc bgc -crop -use_case $usecase -envxml_dir . "; From 5a72bb9dca7f995dd7176195aab276ff74fd05ac Mon Sep 17 00:00:00 2001 From: Erik Kluzek Date: Fri, 3 May 2019 16:11:25 -0600 Subject: [PATCH 101/101] Update change files --- doc/.ChangeLog_template | 5 +- doc/ChangeSum | 1 + doc/release-clm5.0.ChangeLog | 129 +++++++++++++++++++++++++++++++++++ 3 files changed, 132 insertions(+), 3 deletions(-) diff --git a/doc/.ChangeLog_template b/doc/.ChangeLog_template index 3d73dbee63..5900998e46 100644 --- a/doc/.ChangeLog_template +++ b/doc/.ChangeLog_template @@ -99,12 +99,11 @@ CTSM testing: hobart_pgi -------- hobart_intel ------ -CTSM tag used for the baseline comparisons: - - Answer changes -------------- +If the tag used for baseline comparisons was NOT the previous tag, note that here: previous + Changes answers relative to baseline: If a tag changes answers relative to baseline comparison the diff --git a/doc/ChangeSum b/doc/ChangeSum index 87e086ae48..1e6d371863 100644 --- a/doc/ChangeSum +++ b/doc/ChangeSum @@ -1,5 +1,6 @@ Tag Who Date Summary ============================================================================================================================ +release-clm5.0.21 erik 05/03/2019 New ndep files, update fates, fix some issues release-clm5.0.20 erik 03/12/2019 Update all fsurdat files and bring in files for future scenarios, remove CMIP5 rcp options, bring in some bug fixes release-clm5.0.19 erik 03/08/2019 Update cime version to one with updates for cheyenne after the Mar/5th/2019 downtime that resulting in mpt2.16 not being able to be used release-clm5.0.18 erik 02/13/2019 Add NoAnthro compset, reduce fields on fsurdat in mksurfdata_map, initial add of tools/contrib directory diff --git a/doc/release-clm5.0.ChangeLog b/doc/release-clm5.0.ChangeLog index 9225aff766..1bbae40299 100644 --- a/doc/release-clm5.0.ChangeLog +++ b/doc/release-clm5.0.ChangeLog @@ -1,4 +1,133 @@ =============================================================== +Tag name: release-clm5.0.21 +Originator(s): erik (Erik Kluzek,UCAR/TSS,303-497-1326) +Date: Fri May 3 16:10:35 MDT 2019 +One-line Summary: New ndep files, update fates, fix some issues + +Purpose of this version: +------------------------ + +New nitrogen deposition files for future scenarios: SSP245 and SSP370. And now points +to the closest reasonable new CMIP6 SSP ndep file that we have (for clm50, clm45 points +to the old RCP files). + +Update FATES to s1.21.0.a7.0.0. Which brings in a list of improvements and bug fixes. New +options include fates-hydro and fates-parteh + +Point to all of the available CO2 files, so we can convert them for use by datm. + +Bring in new high resolution PFT land-mask SCRIP grid file (MODISv2), as a start to get the -hirespft +option to work in mksrfdata.pl. Mapping files still need to be created. + +Add a test that turning on Carbon isotopes does NOT change answers (currently triggered because of #667) + + +CTSM Master Tag This Corresponds To: ctsm1.0.dev025 (with many other changes) + +Summary of changes: +------------------- + +Issues fixed (include CTSM Issue #): #706, #700, #678, #664, #642, #672, and #262 + Fix #706 -- Add cmip6_nociso_deck user-mods directory and point to it for f19 CMIP6DECK compsets + Fix #700 -- Stream start/align incorrect for SSP's + Fix #678 -- Wrong mask name for clm40 + Fix #664 -- Typo in SSP5-3.4 c13 isotope file + Fix #642 -- Update ESMF libarary for maps to ESMF7.1.0r + Fix #672 -- mksurfdata.pl aborts with error + Fix #262 -- hirespft option to mksurfdata.pl doesn't work (partial now needs maps) + +Science changes since: release-clm5.0.20 + Updated domain files for f19 resolution causes a small change in answers + + FATES updated from version 1.8.1 to 1.21.0. List of improvements include: + Some new options that came in various versions: fates-hydro, variable SLA Profile and Wood CN Ratio, parteh, + optional maintenance respiration throttling, optional trimming logic to roots + Changes to Norman Canopy radiation + A bug to some pointers that spread outside where they should have. + Some bug fixes in allometry + The Plant Allocation Reactive Transport Extensible Hypotheses (PARTEH) v1 software infrastructure has been added. + Key changes that enable simulation of a coastal salt mars + Remove Lasslop wind effects on fire Rate of Spread + Fixes to fire mortality diagnostics, patch disturbance area checks and trimming + +Software changes since: release-clm5.0.20 + + hirespft dataset now uses the MODISv2 mask + +Changes to User Interface since: release-clm5.0.20 + New ndep files for SSP245 and SSP370. For Clm50 point to one of the new ndep files for every SSP + even if the exact one isn't yet available (for Clm45 it points to the CMIP5 RCP scenarios) + + New fates namelist option: fates_parteh_mode (switches nutrient model in FATES) + + Remove fates finidat file + +Testing: +-------- + + [PASS means all tests PASS and OK means tests PASS other than expected fails.] + + build-namelist tests: + + cheyenne - OK (67 tests different because of new fates parameter file, and first/align changes for SSP's) + + unit-tests (components/clm/src): + + cheyenne - OK + + tools-tests (components/clm/test/tools): + + cheyenne - OK + + PTCLM testing (components/clm/tools/shared/PTCLM/test): + + cheyenne - OK + + regular tests (aux_clm): + + cheyenne_intel ---- OK + cheyenne_gnu ------ OK + hobart_nag -------- OK + hobart_pgi -------- OK + hobart_intel ------ OK + +Summary of Answer changes: +------------------------- + +If the tag used for baseline comparisons was NOT the previous tag, note that here: previous + +Changes answers relative to baseline: Yes! + + Summarize any changes to answers, i.e., + - what code configurations: FATES and f19 resolution + - what platforms/compilers: All + - nature of change: + f19 is a small change due to updated domain files + FATES science changed from version 1.8.1 to 1.21.0 + +Detailed list of changes: +------------------------ + +Externals being used: + + cism: release-cesm2.0.04 + rtm: release-cesm2.0.02 + mosart: release-cesm2.0.03 + cime: cime5.6.14 + FATES: fates_s1.21.0_a7.0.0_br_rev2 + PTCLM: PTCLM2_180611 + + +CTSM Tag versions pulled over from master development branch: Pull LCISO test from ctsm1.0.dev036 + +Pull Requests that document the changes (include PR ids): +(https://github.com/ESCOMP/ctsm/pull) + + #695 -- Add more ndep files, fix some bugs, point to new SSP CO2 files + #687 -- Update fates version on release branch + +=============================================================== +=============================================================== Tag name: release-clm5.0.20 Originator(s): erik (Erik Kluzek) Date: Tue Mar 12 16:08:55 MDT 2019