From 6c876231ff08031a13f4a891f65e8a9a4e6d842c Mon Sep 17 00:00:00 2001 From: Michael Date: Mon, 30 Jul 2018 09:28:59 -0600 Subject: [PATCH 01/51] addition of NWP-relevant 4-layer soil structure down to 2 meters, this is consistent with the Noah and Noah-MP soil in WRF and other operational systems --- bld/namelist_files/namelist_definition_clm4_5.xml | 3 ++- src/main/clm_varpar.F90 | 3 +++ src/main/initVerticalMod.F90 | 14 ++++++++++++++ 3 files changed, 19 insertions(+), 1 deletion(-) diff --git a/bld/namelist_files/namelist_definition_clm4_5.xml b/bld/namelist_files/namelist_definition_clm4_5.xml index afb8c97818..fe6d469d09 100644 --- a/bld/namelist_files/namelist_definition_clm4_5.xml +++ b/bld/namelist_files/namelist_definition_clm4_5.xml @@ -115,11 +115,12 @@ Otherwise use the fraction straight up (the default for CLM5.0) + group="clm_inparm" valid_values="10SL_3.5m,23SL_3.5m,49SL_10m,20SL_8.5m,4SL_2m" > 10SL_3.5m = standard CLM4 and CLM4.5 version 23SL_3.5m = more vertical layers for permafrost simulations 49SL_10m = 49 layer soil column, 10m of soil, 5 bedrock layers 20SL_8.5m = 20 layer soil column, 8m of soil, 5 bedrock layers +4SL_2m = 4 layer soil column, 2m of soil, 0 bedrock layers Date: Mon, 18 Mar 2019 16:23:40 -0600 Subject: [PATCH 02/51] Introduce namelist-controlled itmax_hybrid to replace hardwired value Replace itmax = 40 in subroutine hybrid with namelist-controlled itmax_hybrid. --- bld/namelist_files/namelist_definition_ctsm.xml | 7 +++++++ src/biogeophys/PhotosynthesisMod.F90 | 4 ++-- src/main/clm_varctl.F90 | 6 ++++++ src/main/controlMod.F90 | 14 ++++++++++++++ 4 files changed, 29 insertions(+), 2 deletions(-) diff --git a/bld/namelist_files/namelist_definition_ctsm.xml b/bld/namelist_files/namelist_definition_ctsm.xml index ed25f93798..4bbf095f2f 100644 --- a/bld/namelist_files/namelist_definition_ctsm.xml +++ b/bld/namelist_files/namelist_definition_ctsm.xml @@ -1085,6 +1085,13 @@ Number of dominant landunits, so this determines the number of active landunits. Default: 0 + +Max number of iterations used in subr. hybrid that solves for ci and stom. conductance. For many years, 40 was the hardwired default value. +Default: 40 + + Toggle to turn on the dynamic root model diff --git a/src/biogeophys/PhotosynthesisMod.F90 b/src/biogeophys/PhotosynthesisMod.F90 index 4206f7ae3a..f54a994bc7 100644 --- a/src/biogeophys/PhotosynthesisMod.F90 +++ b/src/biogeophys/PhotosynthesisMod.F90 @@ -1997,6 +1997,7 @@ subroutine hybrid(x0, p, iv, c, gb_mol, je, cair, oair, lmr_z, par_z,& !Dec 14/2012: created by Jinyun Tang ! !!USES: + use clm_varctl, only: itmax_hybrid ! !! ARGUMENTS: implicit none @@ -2021,7 +2022,6 @@ subroutine hybrid(x0, p, iv, c, gb_mol, je, cair, oair, lmr_z, par_z,& real(r8) :: x, dx real(r8), parameter :: eps = 1.e-2_r8 !relative accuracy real(r8), parameter :: eps1= 1.e-4_r8 - integer, parameter :: itmax = 40 !maximum number of iterations real(r8) :: tol,minx,minf call ci_func(x0, f0, p, iv, c, gb_mol, je, cair, oair, lmr_z, par_z, rh_can, gs_mol, & @@ -2082,7 +2082,7 @@ subroutine hybrid(x0, p, iv, c, gb_mol, je, cair, oair, lmr_z, par_z,& x0=x exit endif - if(iter>itmax)then + if (iter > itmax_hybrid) then !in case of failing to converge within itmax iterations !stop at the minimum function !this happens because of some other issues besides the stomatal conductance calculation diff --git a/src/main/clm_varctl.F90 b/src/main/clm_varctl.F90 index 9ab73df764..47d6f9fd59 100644 --- a/src/main/clm_varctl.F90 +++ b/src/main/clm_varctl.F90 @@ -245,6 +245,12 @@ module clm_varctl integer, public :: CN_evergreen_phenology_opt = 0 integer, public :: carbon_resp_opt = 0 + !---------------------------------------------------------- + ! Photosynthesis + !---------------------------------------------------------- + + integer, public :: itmax_hybrid = 40 ! max # of iterations used in subroutine hybrid that solves for ci and stomatal conductance + !---------------------------------------------------------- ! lai streams switch for Sat. Phenology !---------------------------------------------------------- diff --git a/src/main/controlMod.F90 b/src/main/controlMod.F90 index 602ec74254..3ee49fd754 100644 --- a/src/main/controlMod.F90 +++ b/src/main/controlMod.F90 @@ -244,6 +244,10 @@ subroutine control_init( ) namelist /clm_inparm/ use_dynroot + ! Max # of iterations used in subroutine hybrid that solves for ci and + ! stomatal conductance + namelist /clm_inparm/ itmax_hybrid + namelist /clm_inparm/ & use_c14_bombspike, atm_c14_filename, use_c13_timeseries, atm_c13_filename @@ -371,6 +375,11 @@ subroutine control_init( ) errMsg(sourcefile, __LINE__)) end if + if (itmax_hybrid < 1) then + call endrun(msg=' ERROR: expecting itmax_hybrid > 0 where 40 is the default value ' // & + errMsg(sourcefile, __LINE__)) + end if + if (use_crop .and. .not. create_crop_landunit) then call endrun(msg=' ERROR: prognostic crop Patches require create_crop_landunit=.true.'//& errMsg(sourcefile, __LINE__)) @@ -645,6 +654,10 @@ subroutine control_spmd() call mpi_bcast(n_dom_pfts, 1, MPI_INTEGER, 0, mpicom, ier) call mpi_bcast(n_dom_landunits, 1, MPI_INTEGER, 0, mpicom, ier) + ! Max # of iterations used in subroutine hybrid that solves for ci and + ! stomatal conductance + call mpi_bcast(itmax_hybrid, 1, MPI_INTEGER, 0, mpicom, ier) + ! BGC call mpi_bcast (co2_type, len(co2_type), MPI_CHARACTER, 0, mpicom, ier) if (use_cn) then @@ -848,6 +861,7 @@ subroutine control_print () end if write(iulog,*) ' Number of ACTIVE PFTS (0 means input pft data NOT collapsed to n_dom_pfts) =', n_dom_pfts write(iulog,*) ' Number of ACTIVE LANDUNITS (0 means input landunit data NOT collapsed to n_dom_landunits) =', n_dom_landunits + write(iulog,*) ' Max number of iterations used in subr. hybrid that solves for ci and stom. conductance =', itmax_hybrid if (use_cn) then if (suplnitro /= suplnNon)then write(iulog,*) ' Supplemental Nitrogen mode is set to run over Patches: ', & From 29617c8dc52e45bd55daeba96a50847d37ee6e0c Mon Sep 17 00:00:00 2001 From: Samuel Levis Date: Wed, 20 Mar 2019 13:44:32 -0600 Subject: [PATCH 03/51] Revisions in response to Bill's code review --- bld/namelist_files/namelist_definition_ctsm.xml | 7 +++---- src/biogeophys/CanopyFluxesMod.F90 | 12 ++++++++++-- src/biogeophys/PhotosynthesisMod.F90 | 4 ++-- src/main/clm_varctl.F90 | 6 ------ src/main/controlMod.F90 | 14 -------------- 5 files changed, 15 insertions(+), 28 deletions(-) diff --git a/bld/namelist_files/namelist_definition_ctsm.xml b/bld/namelist_files/namelist_definition_ctsm.xml index 4bbf095f2f..714288a420 100644 --- a/bld/namelist_files/namelist_definition_ctsm.xml +++ b/bld/namelist_files/namelist_definition_ctsm.xml @@ -1085,10 +1085,9 @@ Number of dominant landunits, so this determines the number of active landunits. Default: 0 - -Max number of iterations used in subr. hybrid that solves for ci and stom. conductance. For many years, 40 was the hardwired default value. + +Max number of iterations used in subr. CanopyFluxes. For many years, 40 was the hardwired default value. Default: 40 diff --git a/src/biogeophys/CanopyFluxesMod.F90 b/src/biogeophys/CanopyFluxesMod.F90 index 7ff964550e..87bf0611b9 100644 --- a/src/biogeophys/CanopyFluxesMod.F90 +++ b/src/biogeophys/CanopyFluxesMod.F90 @@ -70,6 +70,7 @@ module CanopyFluxesMod logical, private :: snowveg_on = .false. ! snowveg_flag = 'ON' logical, private :: snowveg_onrad = .true. ! snowveg_flag = 'ON_RAD' logical, private :: use_undercanopy_stability = .true. ! use undercanopy stability term or not + integer, private :: itmax_canopy_fluxes = 40 ! max # of iterations used in subroutine CanopyFluxes character(len=*), parameter, private :: sourcefile = & __FILE__ @@ -102,6 +103,7 @@ subroutine CanopyFluxesReadNML(NLFilename) !----------------------------------------------------------------------- namelist /canopyfluxes_inparm/ use_undercanopy_stability + namelist /canopyfluxes_inparm/ itmax_canopy_fluxes ! Initialize options to default values, in case they are not specified in ! the namelist @@ -119,10 +121,17 @@ subroutine CanopyFluxesReadNML(NLFilename) else call endrun(msg="ERROR could NOT find "//nmlname//"namelist"//errmsg(sourcefile, __LINE__)) end if + + if (itmax_canopy_fluxes < 1) then + call endrun(msg=' ERROR: expecting itmax_canopy_fluxes > 0 ' // & + errMsg(sourcefile, __LINE__)) + end if + call relavu( unitn ) end if call shr_mpi_bcast (use_undercanopy_stability, mpicom) + call shr_mpi_bcast (itmax_canopy_fluxes, mpicom) if (masterproc) then write(iulog,*) ' ' @@ -223,7 +232,6 @@ subroutine CanopyFluxes(bounds, num_exposedvegp, filter_exposedvegp, real(r8), parameter :: delmax = 1.0_r8 ! maxchange in leaf temperature [K] real(r8), parameter :: dlemin = 0.1_r8 ! max limit for energy flux convergence [w/m2] real(r8), parameter :: dtmin = 0.01_r8 ! max limit for temperature convergence [K] - integer , parameter :: itmax = 40 ! maximum number of iteration [-] integer , parameter :: itmin = 2 ! minimum number of iteration [-] !added by K.Sakaguchi for litter resistance @@ -760,7 +768,7 @@ subroutine CanopyFluxes(bounds, num_exposedvegp, filter_exposedvegp, ! Begin stability iteration call t_startf('can_iter') - ITERATION : do while (itlef <= itmax .and. fn > 0) + ITERATION : do while (itlef <= itmax_canopy_fluxes .and. fn > 0) ! Determine friction velocity, and potential temperature and humidity ! profiles of the surface boundary layer diff --git a/src/biogeophys/PhotosynthesisMod.F90 b/src/biogeophys/PhotosynthesisMod.F90 index f54a994bc7..4206f7ae3a 100644 --- a/src/biogeophys/PhotosynthesisMod.F90 +++ b/src/biogeophys/PhotosynthesisMod.F90 @@ -1997,7 +1997,6 @@ subroutine hybrid(x0, p, iv, c, gb_mol, je, cair, oair, lmr_z, par_z,& !Dec 14/2012: created by Jinyun Tang ! !!USES: - use clm_varctl, only: itmax_hybrid ! !! ARGUMENTS: implicit none @@ -2022,6 +2021,7 @@ subroutine hybrid(x0, p, iv, c, gb_mol, je, cair, oair, lmr_z, par_z,& real(r8) :: x, dx real(r8), parameter :: eps = 1.e-2_r8 !relative accuracy real(r8), parameter :: eps1= 1.e-4_r8 + integer, parameter :: itmax = 40 !maximum number of iterations real(r8) :: tol,minx,minf call ci_func(x0, f0, p, iv, c, gb_mol, je, cair, oair, lmr_z, par_z, rh_can, gs_mol, & @@ -2082,7 +2082,7 @@ subroutine hybrid(x0, p, iv, c, gb_mol, je, cair, oair, lmr_z, par_z,& x0=x exit endif - if (iter > itmax_hybrid) then + if(iter>itmax)then !in case of failing to converge within itmax iterations !stop at the minimum function !this happens because of some other issues besides the stomatal conductance calculation diff --git a/src/main/clm_varctl.F90 b/src/main/clm_varctl.F90 index 47d6f9fd59..9ab73df764 100644 --- a/src/main/clm_varctl.F90 +++ b/src/main/clm_varctl.F90 @@ -245,12 +245,6 @@ module clm_varctl integer, public :: CN_evergreen_phenology_opt = 0 integer, public :: carbon_resp_opt = 0 - !---------------------------------------------------------- - ! Photosynthesis - !---------------------------------------------------------- - - integer, public :: itmax_hybrid = 40 ! max # of iterations used in subroutine hybrid that solves for ci and stomatal conductance - !---------------------------------------------------------- ! lai streams switch for Sat. Phenology !---------------------------------------------------------- diff --git a/src/main/controlMod.F90 b/src/main/controlMod.F90 index 3ee49fd754..602ec74254 100644 --- a/src/main/controlMod.F90 +++ b/src/main/controlMod.F90 @@ -244,10 +244,6 @@ subroutine control_init( ) namelist /clm_inparm/ use_dynroot - ! Max # of iterations used in subroutine hybrid that solves for ci and - ! stomatal conductance - namelist /clm_inparm/ itmax_hybrid - namelist /clm_inparm/ & use_c14_bombspike, atm_c14_filename, use_c13_timeseries, atm_c13_filename @@ -375,11 +371,6 @@ subroutine control_init( ) errMsg(sourcefile, __LINE__)) end if - if (itmax_hybrid < 1) then - call endrun(msg=' ERROR: expecting itmax_hybrid > 0 where 40 is the default value ' // & - errMsg(sourcefile, __LINE__)) - end if - if (use_crop .and. .not. create_crop_landunit) then call endrun(msg=' ERROR: prognostic crop Patches require create_crop_landunit=.true.'//& errMsg(sourcefile, __LINE__)) @@ -654,10 +645,6 @@ subroutine control_spmd() call mpi_bcast(n_dom_pfts, 1, MPI_INTEGER, 0, mpicom, ier) call mpi_bcast(n_dom_landunits, 1, MPI_INTEGER, 0, mpicom, ier) - ! Max # of iterations used in subroutine hybrid that solves for ci and - ! stomatal conductance - call mpi_bcast(itmax_hybrid, 1, MPI_INTEGER, 0, mpicom, ier) - ! BGC call mpi_bcast (co2_type, len(co2_type), MPI_CHARACTER, 0, mpicom, ier) if (use_cn) then @@ -861,7 +848,6 @@ subroutine control_print () end if write(iulog,*) ' Number of ACTIVE PFTS (0 means input pft data NOT collapsed to n_dom_pfts) =', n_dom_pfts write(iulog,*) ' Number of ACTIVE LANDUNITS (0 means input landunit data NOT collapsed to n_dom_landunits) =', n_dom_landunits - write(iulog,*) ' Max number of iterations used in subr. hybrid that solves for ci and stom. conductance =', itmax_hybrid if (use_cn) then if (suplnitro /= suplnNon)then write(iulog,*) ' Supplemental Nitrogen mode is set to run over Patches: ', & From 94e78a98fe4a44822b9d57a5fc065ad88c187ce5 Mon Sep 17 00:00:00 2001 From: Samuel Levis Date: Wed, 20 Mar 2019 17:05:43 -0600 Subject: [PATCH 04/51] Correction in namelist_definition_ctsm.xml --- bld/namelist_files/namelist_definition_ctsm.xml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/bld/namelist_files/namelist_definition_ctsm.xml b/bld/namelist_files/namelist_definition_ctsm.xml index 714288a420..d3331e2822 100644 --- a/bld/namelist_files/namelist_definition_ctsm.xml +++ b/bld/namelist_files/namelist_definition_ctsm.xml @@ -303,6 +303,12 @@ Intercept of free living Nitrogen fixation with zero annual ET If TRUE use the undercanopy stability term used with CLM4.5 (Sakaguchi&Zeng, 2008) + +Max number of iterations used in subr. CanopyFluxes. For many years, 40 was the hardwired default value. +Default: 40 + + Fraction of intercepted precipitation @@ -1085,12 +1091,6 @@ Number of dominant landunits, so this determines the number of active landunits. Default: 0 - -Max number of iterations used in subr. CanopyFluxes. For many years, 40 was the hardwired default value. -Default: 40 - - Toggle to turn on the dynamic root model From ca58c2339a5b117b3d9bf4f8c57224401fefaa66 Mon Sep 17 00:00:00 2001 From: Samuel Levis Date: Thu, 21 Mar 2019 12:32:05 -0600 Subject: [PATCH 05/51] Make itmax_canopy_fluxes appear in namelist by default --- bld/CLMBuildNamelist.pm | 1 + bld/namelist_files/namelist_defaults_ctsm.xml | 1 + src/biogeophys/CanopyFluxesMod.F90 | 2 +- 3 files changed, 3 insertions(+), 1 deletion(-) diff --git a/bld/CLMBuildNamelist.pm b/bld/CLMBuildNamelist.pm index 53b23de2b7..4bf0a1e4f1 100755 --- a/bld/CLMBuildNamelist.pm +++ b/bld/CLMBuildNamelist.pm @@ -3371,6 +3371,7 @@ sub setup_logic_canopyfluxes { my ($opts, $nl_flags, $definition, $defaults, $nl) = @_; add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'use_undercanopy_stability' ); + add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'itmax_canopy_fluxes' ); } #------------------------------------------------------------------------------- diff --git a/bld/namelist_files/namelist_defaults_ctsm.xml b/bld/namelist_files/namelist_defaults_ctsm.xml index 06c11ca5a0..768fe496a4 100644 --- a/bld/namelist_files/namelist_defaults_ctsm.xml +++ b/bld/namelist_files/namelist_defaults_ctsm.xml @@ -231,6 +231,7 @@ attributes from the config_cache.xml file (with keys converted to upper-case). .false. .true. +40 .true. diff --git a/src/biogeophys/CanopyFluxesMod.F90 b/src/biogeophys/CanopyFluxesMod.F90 index 87bf0611b9..cc1c9483a5 100644 --- a/src/biogeophys/CanopyFluxesMod.F90 +++ b/src/biogeophys/CanopyFluxesMod.F90 @@ -70,7 +70,7 @@ module CanopyFluxesMod logical, private :: snowveg_on = .false. ! snowveg_flag = 'ON' logical, private :: snowveg_onrad = .true. ! snowveg_flag = 'ON_RAD' logical, private :: use_undercanopy_stability = .true. ! use undercanopy stability term or not - integer, private :: itmax_canopy_fluxes = 40 ! max # of iterations used in subroutine CanopyFluxes + integer, private :: itmax_canopy_fluxes = -1 ! max # of iterations used in subroutine CanopyFluxes character(len=*), parameter, private :: sourcefile = & __FILE__ From bb98fa5fb4a89888c9bf1982701a9639a7d96807 Mon Sep 17 00:00:00 2001 From: Bill Sacks Date: Thu, 28 Mar 2019 19:54:14 -0600 Subject: [PATCH 06/51] Add nldas grid: step 1 Define the scrip grid file for the new nldas grid, and add the nldas grid and associated mask as valid options. --- bld/namelist_files/checkmapfiles.ncl | 2 +- bld/namelist_files/namelist_defaults_ctsm_tools.xml | 1 + bld/namelist_files/namelist_defaults_overall.xml | 1 + bld/namelist_files/namelist_definition_ctsm.xml | 4 ++-- 4 files changed, 5 insertions(+), 3 deletions(-) diff --git a/bld/namelist_files/checkmapfiles.ncl b/bld/namelist_files/checkmapfiles.ncl index 6302615d1c..6c3ef69537 100644 --- a/bld/namelist_files/checkmapfiles.ncl +++ b/bld/namelist_files/checkmapfiles.ncl @@ -9,7 +9,7 @@ ; print( "Check that datm mapping files are consistent" ); - resolutions = (/ "128x256", "64x128", "48x96", "32x64", "8x16", "94x192", "0.23x0.31", "0.47x0.63", "0.9x1.25", "1.9x2.5", "2.5x3.33", "4x5", "10x15", "5x5_amazon", "1x1_camdenNJ", "1x1_vancouverCAN", "1x1_mexicocityMEX", "1x1_asphaltjungleNJ", "1x1_brazil", "1x1_urbanc_alpha", "1x1_numaIA", "1x1_smallvilleIA", "ne4np4", "ne16np4", "ne30np4", "ne60np4", "ne120np4", "ne240np4" /); + resolutions = (/ "128x256", "64x128", "48x96", "32x64", "8x16", "94x192", "0.23x0.31", "0.47x0.63", "0.9x1.25", "1.9x2.5", "2.5x3.33", "4x5", "10x15", "nldas", "5x5_amazon", "1x1_camdenNJ", "1x1_vancouverCAN", "1x1_mexicocityMEX", "1x1_asphaltjungleNJ", "1x1_brazil", "1x1_urbanc_alpha", "1x1_numaIA", "1x1_smallvilleIA", "ne4np4", "ne16np4", "ne30np4", "ne60np4", "ne120np4", "ne240np4" /); space = " "; badres = 0 diff --git a/bld/namelist_files/namelist_defaults_ctsm_tools.xml b/bld/namelist_files/namelist_defaults_ctsm_tools.xml index 0683f52b88..b40d9f04bb 100644 --- a/bld/namelist_files/namelist_defaults_ctsm_tools.xml +++ b/bld/namelist_files/namelist_defaults_ctsm_tools.xml @@ -107,6 +107,7 @@ attributes from the config_cache.xml file (with keys converted to upper-case). landmesh +lnd/clm2/mappingdata/grids/SCRIPgrid_nldas_nomask_c190328.nc lnd/clm2/mappingdata/grids/SCRIPgrid_1x1pt_camdenNJ_nomask_c110308.nc lnd/clm2/mappingdata/grids/SCRIPgrid_1x1pt_brazil_nomask_c110308.nc lnd/clm2/mappingdata/grids/SCRIPgrid_1x1pt_camdenNJ_nomask_c110308.nc diff --git a/bld/namelist_files/namelist_defaults_overall.xml b/bld/namelist_files/namelist_defaults_overall.xml index 0edaa1dd76..3a20ba26aa 100644 --- a/bld/namelist_files/namelist_defaults_overall.xml +++ b/bld/namelist_files/namelist_defaults_overall.xml @@ -75,6 +75,7 @@ determine default values for namelists. gx1v6 gx1v6 +nldas navy navy navy diff --git a/bld/namelist_files/namelist_definition_ctsm.xml b/bld/namelist_files/namelist_definition_ctsm.xml index ed25f93798..cdbb6b4cfd 100644 --- a/bld/namelist_files/namelist_definition_ctsm.xml +++ b/bld/namelist_files/namelist_definition_ctsm.xml @@ -1794,7 +1794,7 @@ CLM run type. +"512x1024,360x720cru,128x256,64x128,48x96,32x64,8x16,94x192,0.23x0.31,0.47x0.63,0.9x1.25,1.9x2.5,2.5x3.33,4x5,10x15,nldas,5x5_amazon,1x1_camdenNJ,1x1_vancouverCAN,1x1_mexicocityMEX,1x1_asphaltjungleNJ,1x1_brazil,1x1_urbanc_alpha,1x1_numaIA,1x1_smallvilleIA,0.1x0.1,0.25x0.25,0.5x0.5,3x3min,5x5min,10x10min,0.33x0.33,0.125x0.125,ne4np4,ne16np4,ne30np4,ne60np4,ne120np4,ne240np4,1km-merge-10min"> Horizontal resolutions Note: 0.1x0.1, 0.25x0.25, 0.5x0.5, 5x5min, 10x10min, 3x3min and 0.33x0.33 are only used for CLM tools @@ -1816,7 +1816,7 @@ hist means do NOT use a future scenario, just use historical data. + valid_values="USGS,gx3v7,gx1v6,gx1v7,navy,test,tx0.1v2,tx1v1,T62,cruncep,nldas"> Land mask description From 3383c41ee6db6064404e88e3ce0f1ef49203983a Mon Sep 17 00:00:00 2001 From: Bill Sacks Date: Thu, 28 Mar 2019 20:32:06 -0600 Subject: [PATCH 07/51] 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 49a4c03b89..436b504e07 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 11f7f6c307994718b586fbda521a41a9235c8ecc Mon Sep 17 00:00:00 2001 From: Bill Sacks Date: Fri, 29 Mar 2019 10:55:50 -0600 Subject: [PATCH 08/51] Change name of nldas grid Using 224x464_nldas for greater consistency with other grids: we typically either give the number of grid cells or the resolution in the name of the grid. I chose number of grid cells for consistency with our other regional grid (5x5_amazon). --- bld/namelist_files/checkmapfiles.ncl | 2 +- bld/namelist_files/namelist_defaults_ctsm_tools.xml | 2 +- bld/namelist_files/namelist_defaults_overall.xml | 2 +- bld/namelist_files/namelist_definition_ctsm.xml | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/bld/namelist_files/checkmapfiles.ncl b/bld/namelist_files/checkmapfiles.ncl index 6c3ef69537..af70bbd5b0 100644 --- a/bld/namelist_files/checkmapfiles.ncl +++ b/bld/namelist_files/checkmapfiles.ncl @@ -9,7 +9,7 @@ ; print( "Check that datm mapping files are consistent" ); - resolutions = (/ "128x256", "64x128", "48x96", "32x64", "8x16", "94x192", "0.23x0.31", "0.47x0.63", "0.9x1.25", "1.9x2.5", "2.5x3.33", "4x5", "10x15", "nldas", "5x5_amazon", "1x1_camdenNJ", "1x1_vancouverCAN", "1x1_mexicocityMEX", "1x1_asphaltjungleNJ", "1x1_brazil", "1x1_urbanc_alpha", "1x1_numaIA", "1x1_smallvilleIA", "ne4np4", "ne16np4", "ne30np4", "ne60np4", "ne120np4", "ne240np4" /); + resolutions = (/ "128x256", "64x128", "48x96", "32x64", "8x16", "94x192", "0.23x0.31", "0.47x0.63", "0.9x1.25", "1.9x2.5", "2.5x3.33", "4x5", "10x15", "224x464_nldas", "5x5_amazon", "1x1_camdenNJ", "1x1_vancouverCAN", "1x1_mexicocityMEX", "1x1_asphaltjungleNJ", "1x1_brazil", "1x1_urbanc_alpha", "1x1_numaIA", "1x1_smallvilleIA", "ne4np4", "ne16np4", "ne30np4", "ne60np4", "ne120np4", "ne240np4" /); space = " "; badres = 0 diff --git a/bld/namelist_files/namelist_defaults_ctsm_tools.xml b/bld/namelist_files/namelist_defaults_ctsm_tools.xml index b40d9f04bb..d148084df0 100644 --- a/bld/namelist_files/namelist_defaults_ctsm_tools.xml +++ b/bld/namelist_files/namelist_defaults_ctsm_tools.xml @@ -107,7 +107,7 @@ attributes from the config_cache.xml file (with keys converted to upper-case). landmesh -lnd/clm2/mappingdata/grids/SCRIPgrid_nldas_nomask_c190328.nc +lnd/clm2/mappingdata/grids/SCRIPgrid_224x464_nldas_nomask_c190328.nc lnd/clm2/mappingdata/grids/SCRIPgrid_1x1pt_camdenNJ_nomask_c110308.nc lnd/clm2/mappingdata/grids/SCRIPgrid_1x1pt_brazil_nomask_c110308.nc lnd/clm2/mappingdata/grids/SCRIPgrid_1x1pt_camdenNJ_nomask_c110308.nc diff --git a/bld/namelist_files/namelist_defaults_overall.xml b/bld/namelist_files/namelist_defaults_overall.xml index 3a20ba26aa..67ad28195e 100644 --- a/bld/namelist_files/namelist_defaults_overall.xml +++ b/bld/namelist_files/namelist_defaults_overall.xml @@ -75,7 +75,7 @@ determine default values for namelists. gx1v6 gx1v6 -nldas +nldas navy navy navy diff --git a/bld/namelist_files/namelist_definition_ctsm.xml b/bld/namelist_files/namelist_definition_ctsm.xml index cdbb6b4cfd..5b2d678f2d 100644 --- a/bld/namelist_files/namelist_definition_ctsm.xml +++ b/bld/namelist_files/namelist_definition_ctsm.xml @@ -1794,7 +1794,7 @@ CLM run type. +"512x1024,360x720cru,128x256,64x128,48x96,32x64,8x16,94x192,0.23x0.31,0.47x0.63,0.9x1.25,1.9x2.5,2.5x3.33,4x5,10x15,224x464_nldas,5x5_amazon,1x1_camdenNJ,1x1_vancouverCAN,1x1_mexicocityMEX,1x1_asphaltjungleNJ,1x1_brazil,1x1_urbanc_alpha,1x1_numaIA,1x1_smallvilleIA,0.1x0.1,0.25x0.25,0.5x0.5,3x3min,5x5min,10x10min,0.33x0.33,0.125x0.125,ne4np4,ne16np4,ne30np4,ne60np4,ne120np4,ne240np4,1km-merge-10min"> Horizontal resolutions Note: 0.1x0.1, 0.25x0.25, 0.5x0.5, 5x5min, 10x10min, 3x3min and 0.33x0.33 are only used for CLM tools From b4b8f495aa9f10363c5d10c4fcd9c0123e543144 Mon Sep 17 00:00:00 2001 From: Bill Sacks Date: Fri, 29 Mar 2019 11:35:16 -0600 Subject: [PATCH 09/51] Add mapping files from raw data to nldas grid to xml --- bld/namelist_files/namelist_defaults_ctsm.xml | 40 +++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/bld/namelist_files/namelist_defaults_ctsm.xml b/bld/namelist_files/namelist_defaults_ctsm.xml index 06c11ca5a0..917fc94890 100644 --- a/bld/namelist_files/namelist_defaults_ctsm.xml +++ b/bld/namelist_files/namelist_defaults_ctsm.xml @@ -2274,6 +2274,46 @@ lnd/clm2/surfdata_map/surfdata_ne120np4_78pfts_CMIP6_simyr1850_c170824.nc + + + +lnd/clm2/mappingdata/maps/224x464_nldas/map_5x5min_IGBP-GSDP_to_224x464_nldas_nomask_aave_da_c190329.nc +lnd/clm2/mappingdata/maps/224x464_nldas/map_10x10min_nomask_to_224x464_nldas_nomask_aave_da_c190329.nc +lnd/clm2/mappingdata/maps/224x464_nldas/map_3x3min_LandScan2004_to_224x464_nldas_nomask_aave_da_c190329.nc +lnd/clm2/mappingdata/maps/224x464_nldas/map_0.5x0.5_AVHRR_to_224x464_nldas_nomask_aave_da_c190329.nc +lnd/clm2/mappingdata/maps/224x464_nldas/map_5x5min_ORNL-Soil_to_224x464_nldas_nomask_aave_da_c190329.nc +lnd/clm2/mappingdata/maps/224x464_nldas/map_5x5min_ISRIC-WISE_to_224x464_nldas_nomask_aave_da_c190329.nc +lnd/clm2/mappingdata/maps/224x464_nldas/map_0.25x0.25_MODIS_to_224x464_nldas_nomask_aave_da_c190329.nc +lnd/clm2/mappingdata/maps/224x464_nldas/map_5x5min_nomask_to_224x464_nldas_nomask_aave_da_c190329.nc +lnd/clm2/mappingdata/maps/224x464_nldas/map_3x3min_USGS_to_224x464_nldas_nomask_aave_da_c190329.nc +lnd/clm2/mappingdata/maps/224x464_nldas/map_0.9x1.25_GRDC_to_224x464_nldas_nomask_aave_da_c190329.nc +lnd/clm2/mappingdata/maps/224x464_nldas/map_0.5x0.5_MODIS_to_224x464_nldas_nomask_aave_da_c190329.nc +lnd/clm2/mappingdata/maps/224x464_nldas/map_360x720cru_cruncep_to_224x464_nldas_nomask_aave_da_c190329.nc +lnd/clm2/mappingdata/maps/224x464_nldas/map_3x3min_MODIS-wCsp_to_224x464_nldas_nomask_aave_da_c190329.nc +lnd/clm2/mappingdata/maps/224x464_nldas/map_3x3min_GLOBE-Gardner-mergeGIS_to_224x464_nldas_nomask_aave_da_c190329.nc +lnd/clm2/mappingdata/maps/224x464_nldas/map_1km-merge-10min_HYDRO1K-merge-nomask_to_224x464_nldas_nomask_aave_da_c190329.nc +lnd/clm2/mappingdata/maps/224x464_nldas/map_3x3min_GLOBE-Gardner_to_224x464_nldas_nomask_aave_da_c190329.nc +lnd/clm2/mappingdata/maps/224x464_nldas/map_10x10min_IGBPmergeICESatGIS_to_224x464_nldas_nomask_aave_da_c190329.nc + + + lnd/clm2/mappingdata/maps/5x5_amazon/map_0.5x0.5_MODIS_to_5x5_amazon_nomask_aave_da_c110920.nc Date: Mon, 1 Apr 2019 16:03:33 -0600 Subject: [PATCH 10/51] Note that pylint errors are expected with python2 Currently, with a python2 pylint on cheyenne pylint 1.9.4, astroid 1.6.5 Python 2.7.15 (default, Jan 11 2019, 15:22:07) I get these pylint errors: ************* Module ctsm.joblauncher.job_launcher_no_batch E: 49, 0: Bad option value 'subprocess-popen-preexec-fn' (bad-option-value) C: 63, 4: Method name "wait_for_last_process_to_complete" doesn't conform to snake_case naming style (invalid-name) --- python/README.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/python/README.md b/python/README.md index e562dc0f84..8b265d3290 100644 --- a/python/README.md +++ b/python/README.md @@ -20,4 +20,7 @@ support different options: ## pylint -You can run pylint on everything in the ctsm package with `make lint` +You can run pylint on everything in the ctsm package with `make lint`. + +Note: you should expect some errors if using a python2 version of +pylint, but this should be clean if running with a python3 version. From b145ac1b934b8bee947864d010201602fcba34ed Mon Sep 17 00:00:00 2001 From: Bill Sacks Date: Tue, 2 Apr 2019 13:25:52 -0600 Subject: [PATCH 11/51] Add rule to make nldas present-day surface dataset --- tools/mksurfdata_map/Makefile.data | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/tools/mksurfdata_map/Makefile.data b/tools/mksurfdata_map/Makefile.data index abac6af279..994131fe01 100644 --- a/tools/mksurfdata_map/Makefile.data +++ b/tools/mksurfdata_map/Makefile.data @@ -66,6 +66,7 @@ STANDARD = \ global-present-f05 \ global-present-ne16np4 \ global-present-ne120np4 \ + global-present-nldas \ global-present-T42 \ global-historical \ global-historical-ne120np4 \ @@ -128,6 +129,9 @@ global-present-ne16np4 : FORCE global-present-ne120np4 : FORCE $(MKSURFDATA) -no-crop -glc_nec 10 -y 2000 -res ne120np4 $(BACKGROUND) +global-present-nldas : FORCE + $(MKSURFDATA) -no-crop -glc_nec 10 -y 2000 -res 224x464_nldas $(BACKGROUND) + global-historical : FORCE $(MKSURFDATA) -no-crop -glc_nec 10 -y 1850 -res $(STANDARD_RES) $(BACKGROUND) From 0e93530c3b8a4bc922b04e38bb03cae5ff543fd1 Mon Sep 17 00:00:00 2001 From: Bill Sacks Date: Tue, 2 Apr 2019 13:32:30 -0600 Subject: [PATCH 12/51] Fix to_hgrid xml attributes --- bld/namelist_files/namelist_defaults_ctsm.xml | 34 +++++++++---------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/bld/namelist_files/namelist_defaults_ctsm.xml b/bld/namelist_files/namelist_defaults_ctsm.xml index 917fc94890..a0842deab9 100644 --- a/bld/namelist_files/namelist_defaults_ctsm.xml +++ b/bld/namelist_files/namelist_defaults_ctsm.xml @@ -2277,39 +2277,39 @@ lnd/clm2/surfdata_map/surfdata_ne120np4_78pfts_CMIP6_simyr1850_c170824.nc -lnd/clm2/mappingdata/maps/224x464_nldas/map_5x5min_IGBP-GSDP_to_224x464_nldas_nomask_aave_da_c190329.nc -lnd/clm2/mappingdata/maps/224x464_nldas/map_10x10min_nomask_to_224x464_nldas_nomask_aave_da_c190329.nc -lnd/clm2/mappingdata/maps/224x464_nldas/map_3x3min_LandScan2004_to_224x464_nldas_nomask_aave_da_c190329.nc -lnd/clm2/mappingdata/maps/224x464_nldas/map_0.5x0.5_AVHRR_to_224x464_nldas_nomask_aave_da_c190329.nc -lnd/clm2/mappingdata/maps/224x464_nldas/map_5x5min_ORNL-Soil_to_224x464_nldas_nomask_aave_da_c190329.nc -lnd/clm2/mappingdata/maps/224x464_nldas/map_5x5min_ISRIC-WISE_to_224x464_nldas_nomask_aave_da_c190329.nc -lnd/clm2/mappingdata/maps/224x464_nldas/map_0.25x0.25_MODIS_to_224x464_nldas_nomask_aave_da_c190329.nc -lnd/clm2/mappingdata/maps/224x464_nldas/map_5x5min_nomask_to_224x464_nldas_nomask_aave_da_c190329.nc -lnd/clm2/mappingdata/maps/224x464_nldas/map_3x3min_USGS_to_224x464_nldas_nomask_aave_da_c190329.nc -lnd/clm2/mappingdata/maps/224x464_nldas/map_0.9x1.25_GRDC_to_224x464_nldas_nomask_aave_da_c190329.nc -lnd/clm2/mappingdata/maps/224x464_nldas/map_0.5x0.5_MODIS_to_224x464_nldas_nomask_aave_da_c190329.nc -lnd/clm2/mappingdata/maps/224x464_nldas/map_360x720cru_cruncep_to_224x464_nldas_nomask_aave_da_c190329.nc -lnd/clm2/mappingdata/maps/224x464_nldas/map_3x3min_MODIS-wCsp_to_224x464_nldas_nomask_aave_da_c190329.nc -lnd/clm2/mappingdata/maps/224x464_nldas/map_3x3min_GLOBE-Gardner-mergeGIS_to_224x464_nldas_nomask_aave_da_c190329.nc -lnd/clm2/mappingdata/maps/224x464_nldas/map_1km-merge-10min_HYDRO1K-merge-nomask_to_224x464_nldas_nomask_aave_da_c190329.nc -lnd/clm2/mappingdata/maps/224x464_nldas/map_3x3min_GLOBE-Gardner_to_224x464_nldas_nomask_aave_da_c190329.nc -lnd/clm2/mappingdata/maps/224x464_nldas/map_10x10min_IGBPmergeICESatGIS_to_224x464_nldas_nomask_aave_da_c190329.nc From c360bf52a0380de0dd0e7d9f0abf8c8e9b3ddafa Mon Sep 17 00:00:00 2001 From: Bill Sacks Date: Tue, 2 Apr 2019 13:34:01 -0600 Subject: [PATCH 13/51] Fix to_lmask xml attributes --- bld/namelist_files/namelist_defaults_ctsm.xml | 34 +++++++++---------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/bld/namelist_files/namelist_defaults_ctsm.xml b/bld/namelist_files/namelist_defaults_ctsm.xml index a0842deab9..7a0a99ce86 100644 --- a/bld/namelist_files/namelist_defaults_ctsm.xml +++ b/bld/namelist_files/namelist_defaults_ctsm.xml @@ -2277,39 +2277,39 @@ lnd/clm2/surfdata_map/surfdata_ne120np4_78pfts_CMIP6_simyr1850_c170824.nc -lnd/clm2/mappingdata/maps/224x464_nldas/map_5x5min_IGBP-GSDP_to_224x464_nldas_nomask_aave_da_c190329.nc -lnd/clm2/mappingdata/maps/224x464_nldas/map_10x10min_nomask_to_224x464_nldas_nomask_aave_da_c190329.nc -lnd/clm2/mappingdata/maps/224x464_nldas/map_3x3min_LandScan2004_to_224x464_nldas_nomask_aave_da_c190329.nc -lnd/clm2/mappingdata/maps/224x464_nldas/map_0.5x0.5_AVHRR_to_224x464_nldas_nomask_aave_da_c190329.nc -lnd/clm2/mappingdata/maps/224x464_nldas/map_5x5min_ORNL-Soil_to_224x464_nldas_nomask_aave_da_c190329.nc -lnd/clm2/mappingdata/maps/224x464_nldas/map_5x5min_ISRIC-WISE_to_224x464_nldas_nomask_aave_da_c190329.nc -lnd/clm2/mappingdata/maps/224x464_nldas/map_0.25x0.25_MODIS_to_224x464_nldas_nomask_aave_da_c190329.nc -lnd/clm2/mappingdata/maps/224x464_nldas/map_5x5min_nomask_to_224x464_nldas_nomask_aave_da_c190329.nc -lnd/clm2/mappingdata/maps/224x464_nldas/map_3x3min_USGS_to_224x464_nldas_nomask_aave_da_c190329.nc -lnd/clm2/mappingdata/maps/224x464_nldas/map_0.9x1.25_GRDC_to_224x464_nldas_nomask_aave_da_c190329.nc -lnd/clm2/mappingdata/maps/224x464_nldas/map_0.5x0.5_MODIS_to_224x464_nldas_nomask_aave_da_c190329.nc -lnd/clm2/mappingdata/maps/224x464_nldas/map_360x720cru_cruncep_to_224x464_nldas_nomask_aave_da_c190329.nc -lnd/clm2/mappingdata/maps/224x464_nldas/map_3x3min_MODIS-wCsp_to_224x464_nldas_nomask_aave_da_c190329.nc -lnd/clm2/mappingdata/maps/224x464_nldas/map_3x3min_GLOBE-Gardner-mergeGIS_to_224x464_nldas_nomask_aave_da_c190329.nc -lnd/clm2/mappingdata/maps/224x464_nldas/map_1km-merge-10min_HYDRO1K-merge-nomask_to_224x464_nldas_nomask_aave_da_c190329.nc -lnd/clm2/mappingdata/maps/224x464_nldas/map_3x3min_GLOBE-Gardner_to_224x464_nldas_nomask_aave_da_c190329.nc -lnd/clm2/mappingdata/maps/224x464_nldas/map_10x10min_IGBPmergeICESatGIS_to_224x464_nldas_nomask_aave_da_c190329.nc From 60493cb30ee6b998e56284b85cd7713acd1b7993 Mon Sep 17 00:00:00 2001 From: Bill Sacks Date: Tue, 2 Apr 2019 16:20:16 -0600 Subject: [PATCH 14/51] Add nldas surface dataset in namelist defaults --- bld/namelist_files/namelist_defaults_ctsm.xml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/bld/namelist_files/namelist_defaults_ctsm.xml b/bld/namelist_files/namelist_defaults_ctsm.xml index 7a0a99ce86..ab479f5ce3 100644 --- a/bld/namelist_files/namelist_defaults_ctsm.xml +++ b/bld/namelist_files/namelist_defaults_ctsm.xml @@ -621,6 +621,9 @@ lnd/clm2/surfdata_map/surfdata_ne30np4_16pfts_Irrig_CMIP6_simyr2000_c170824.nc lnd/clm2/surfdata_map/surfdata_ne16np4_16pfts_Irrig_CMIP6_simyr2000_c170824.nc + +lnd/clm2/surfdata_map/ctsm1.0.dev031/surfdata_224x464_nldas_hist_16pfts_Irrig_CMIP6_simyr2000_c190402.nc + lnd/clm2/surfdata_map/surfdata_5x5_amazon_16pfts_Irrig_CMIP6_simyr2000_c171214.nc From 2e9cb9b361a67034d2cc8bf66fe7bf34f8c34976 Mon Sep 17 00:00:00 2001 From: Bill Sacks Date: Wed, 3 Apr 2019 12:11:31 -0600 Subject: [PATCH 15/51] Reorganize directory --- bld/namelist_files/namelist_defaults_ctsm.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bld/namelist_files/namelist_defaults_ctsm.xml b/bld/namelist_files/namelist_defaults_ctsm.xml index ab479f5ce3..288215b205 100644 --- a/bld/namelist_files/namelist_defaults_ctsm.xml +++ b/bld/namelist_files/namelist_defaults_ctsm.xml @@ -622,7 +622,7 @@ lnd/clm2/surfdata_map/surfdata_ne30np4_16pfts_Irrig_CMIP6_simyr2000_c170824.nc -lnd/clm2/surfdata_map/ctsm1.0.dev031/surfdata_224x464_nldas_hist_16pfts_Irrig_CMIP6_simyr2000_c190402.nc +lnd/clm2/surfdata_map/surfdata_224x464_nldas_hist_16pfts_Irrig_CMIP6_simyr2000_c190402.nc lnd/clm2/surfdata_map/surfdata_5x5_amazon_16pfts_Irrig_CMIP6_simyr2000_c171214.nc From 572a598f885ca7e0b31ae2c68ad853530ba2255c Mon Sep 17 00:00:00 2001 From: Bill Sacks Date: Wed, 3 Apr 2019 12:11:50 -0600 Subject: [PATCH 16/51] Update tools README file gen_maps.sh is now gen_cesm_maps.sh, in a new location --- tools/README | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/tools/README b/tools/README index cf0640958c..81024eb9d0 100644 --- a/tools/README +++ b/tools/README @@ -142,13 +142,14 @@ III. Process sequence to create input datasets needed to run CLM c.) New atmosphere or ocean resolution - If the region DOES include ocean, use $CIMEROOT/tools/mapping/gen_domain_files/gen_maps.sh to create a + If the region DOES include ocean, use + $CIMEROOT/tools/mapping/gen_mapping_files/gen_cesm_maps.sh to create a mapping file for it. Example: - cd $CIMEROOT/tools/mapping/gen_domain_files - ./gen_maps.sh -focn -fatm -nocn -natm + cd $CIMEROOT/tools/mapping/gen_mapping_files + ./gen_cesm_maps.sh -focn -fatm -nocn -natm 3.) Add SCRIP grid file(s) created in (1) into XML database in CLM (optional) From ad533c482c7b1e2b1765edc0d3282a49450924fa Mon Sep 17 00:00:00 2001 From: Bill Sacks Date: Wed, 3 Apr 2019 16:44:11 -0600 Subject: [PATCH 17/51] Add support for running NLDAS grid - Updates cime to point to a version with support for this grid - Adds PE layouts for this grid --- Externals.cfg | 4 +-- cime_config/config_pes.xml | 74 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 76 insertions(+), 2 deletions(-) diff --git a/Externals.cfg b/Externals.cfg index 723e6d98fd..704eebd346 100644 --- a/Externals.cfg +++ b/Externals.cfg @@ -29,8 +29,8 @@ required = True [cime] local_path = cime protocol = git -repo_url = https://github.com/ESMCI/cime -tag = ctsm/ctsm1.0/cime5.7.9/n01 +repo_url = https://github.com/billsacks/cime +hash = f73d65f536e983e0824522f3b5e68c45ea51b01c required = True [externals_description] diff --git a/cime_config/config_pes.xml b/cime_config/config_pes.xml index 4362bed475..3132047134 100644 --- a/cime_config/config_pes.xml +++ b/cime_config/config_pes.xml @@ -671,6 +671,80 @@ + + + + none + + -4 + -4 + -4 + -4 + -4 + -4 + -4 + -4 + + + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + + + none + + -1 + -50 + -50 + -50 + -50 + -50 + -50 + -50 + + + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + + + 0 + -1 + -1 + -1 + -1 + -1 + -1 + -1 + + + + From 9992d470c1f374cdc8264cdc2e14f9464e7c562a Mon Sep 17 00:00:00 2001 From: Bill Sacks Date: Thu, 4 Apr 2019 06:12:20 -0600 Subject: [PATCH 18/51] Point to updated cime branch Uses a shorter alias for the nldas grid --- Externals.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Externals.cfg b/Externals.cfg index 704eebd346..a0a6170372 100644 --- a/Externals.cfg +++ b/Externals.cfg @@ -30,7 +30,7 @@ required = True local_path = cime protocol = git repo_url = https://github.com/billsacks/cime -hash = f73d65f536e983e0824522f3b5e68c45ea51b01c +hash = 6461a53c792c6fb68b2a9296478c770e5c02bdea required = True [externals_description] From 0ca39a7a031956f8b90a7db7455d9a131b6a39e9 Mon Sep 17 00:00:00 2001 From: Bill Sacks Date: Mon, 8 Apr 2019 13:24:03 -0600 Subject: [PATCH 19/51] Add NWP compset and illustrate how it would set namelist defaults This is not completely functional yet: Changes are still needed in CLMBuildNamelist, and some of the referenced namelist options do not yet exist in the code. --- bld/namelist_files/namelist_defaults_ctsm.xml | 22 +++++++++--- cime_config/config_component.xml | 36 ++++++++++++++++++- cime_config/config_compsets.xml | 6 ++++ 3 files changed, 58 insertions(+), 6 deletions(-) diff --git a/bld/namelist_files/namelist_defaults_ctsm.xml b/bld/namelist_files/namelist_defaults_ctsm.xml index 06c11ca5a0..1eedbb5a3c 100644 --- a/bld/namelist_files/namelist_defaults_ctsm.xml +++ b/bld/namelist_files/namelist_defaults_ctsm.xml @@ -124,8 +124,9 @@ attributes from the config_cache.xml file (with keys converted to upper-case). .true. .false. -20SL_8.5m -10SL_3.5m +5SL_3m +20SL_8.5m +10SL_3.5m .false. .false. @@ -232,6 +233,9 @@ attributes from the config_cache.xml file (with keys converted to upper-case). .false. .true. +40 +3 + .true. 1.0 @@ -447,9 +451,8 @@ attributes from the config_cache.xml file (with keys converted to upper-case). -6.d+1 -.false. -.false. -.true. +.false. +.true. diff --git a/cime_config/config_component.xml b/cime_config/config_component.xml index 0312874444..56971672dc 100644 --- a/cime_config/config_component.xml +++ b/cime_config/config_component.xml @@ -15,7 +15,7 @@ clm4.5: - clm5.0: + clm5.0: Satellite phenology: CN: Carbon Nitrogen model CNDV: CN with Dynamic Vegetation @@ -30,6 +30,8 @@ BGC (vert. resol. CN and methane) with dynamic vegetation and prognostic crop: BGC (vert. resol. CN and methane) with prognostic crop, with modifications appropriate for CMIP6 DECK experiments: BGC (vert. resol. CN and methane) with prognostic crop, with modifications appropriate for CMIP6 WACCM DECK experiments: + + NWP configuration with satellite phenology: @@ -80,6 +82,38 @@ This is typically set by the compset. + + char + clm,nwp + clm + + nwp + + run_component_clm + env_run.xml + Sets CLM default namelist options related to model configuration. + clm: Configuration used for climate applications (CLM) + nwp: Configuration used for numerical weather prediction applications + + + + + char + standard,fast + standard + + fast + + run_component_clm + env_run.xml + Sets CLM default namelist options related to model structure. + standard: Standard model structure, allowing for more subgrid heterogeneity, + deeper soil, etc., at the cost of slower speeds. + fast: Simplified model structure, achieving faster speeds at the cost of less + subgrid heterogeneity, shallower soil, etc. + + + char UNSET diff --git a/cime_config/config_compsets.xml b/cime_config/config_compsets.xml index 3b8ec941ef..184d5ee989 100644 --- a/cime_config/config_compsets.xml +++ b/cime_config/config_compsets.xml @@ -213,6 +213,12 @@ 1850_DATM%CPLHIST_CLM50%BGC_SICE_SOCN_MOSART_CISM2%NOEVOLVE_SWAV + + + + I2000Nwp50SpGswpGs + 2000_DATM%GSWP3v1_CLM50%NWP-SP_SICE_SOCN_MOSART_SGLC_SWAV + From f7d8a3e875f492673745347db11b0a648e3fb2c3 Mon Sep 17 00:00:00 2001 From: Bill Sacks Date: Mon, 8 Apr 2019 15:15:06 -0600 Subject: [PATCH 20/51] Begin renaming NLDAS grid Using 0.125nldas2 rather than 224x464_nldas --- Externals.cfg | 2 +- bld/namelist_files/checkmapfiles.ncl | 2 +- bld/namelist_files/namelist_defaults_ctsm.xml | 2 +- bld/namelist_files/namelist_defaults_ctsm_tools.xml | 2 +- bld/namelist_files/namelist_defaults_overall.xml | 2 +- bld/namelist_files/namelist_definition_ctsm.xml | 2 +- cime_config/config_pes.xml | 4 ++-- tools/mksurfdata_map/Makefile.data | 2 +- 8 files changed, 9 insertions(+), 9 deletions(-) diff --git a/Externals.cfg b/Externals.cfg index a0a6170372..de2ba26833 100644 --- a/Externals.cfg +++ b/Externals.cfg @@ -30,7 +30,7 @@ required = True local_path = cime protocol = git repo_url = https://github.com/billsacks/cime -hash = 6461a53c792c6fb68b2a9296478c770e5c02bdea +hash = ddfa9eb3dfda38fa438b019404a71fbb40988eca required = True [externals_description] diff --git a/bld/namelist_files/checkmapfiles.ncl b/bld/namelist_files/checkmapfiles.ncl index af70bbd5b0..c0751adcb0 100644 --- a/bld/namelist_files/checkmapfiles.ncl +++ b/bld/namelist_files/checkmapfiles.ncl @@ -9,7 +9,7 @@ ; print( "Check that datm mapping files are consistent" ); - resolutions = (/ "128x256", "64x128", "48x96", "32x64", "8x16", "94x192", "0.23x0.31", "0.47x0.63", "0.9x1.25", "1.9x2.5", "2.5x3.33", "4x5", "10x15", "224x464_nldas", "5x5_amazon", "1x1_camdenNJ", "1x1_vancouverCAN", "1x1_mexicocityMEX", "1x1_asphaltjungleNJ", "1x1_brazil", "1x1_urbanc_alpha", "1x1_numaIA", "1x1_smallvilleIA", "ne4np4", "ne16np4", "ne30np4", "ne60np4", "ne120np4", "ne240np4" /); + resolutions = (/ "128x256", "64x128", "48x96", "32x64", "8x16", "94x192", "0.23x0.31", "0.47x0.63", "0.9x1.25", "1.9x2.5", "2.5x3.33", "4x5", "10x15", "0.125nldas2", "5x5_amazon", "1x1_camdenNJ", "1x1_vancouverCAN", "1x1_mexicocityMEX", "1x1_asphaltjungleNJ", "1x1_brazil", "1x1_urbanc_alpha", "1x1_numaIA", "1x1_smallvilleIA", "ne4np4", "ne16np4", "ne30np4", "ne60np4", "ne120np4", "ne240np4" /); space = " "; badres = 0 diff --git a/bld/namelist_files/namelist_defaults_ctsm.xml b/bld/namelist_files/namelist_defaults_ctsm.xml index 288215b205..4bdae77d1b 100644 --- a/bld/namelist_files/namelist_defaults_ctsm.xml +++ b/bld/namelist_files/namelist_defaults_ctsm.xml @@ -621,7 +621,7 @@ lnd/clm2/surfdata_map/surfdata_ne30np4_16pfts_Irrig_CMIP6_simyr2000_c170824.nc lnd/clm2/surfdata_map/surfdata_ne16np4_16pfts_Irrig_CMIP6_simyr2000_c170824.nc - + lnd/clm2/surfdata_map/surfdata_224x464_nldas_hist_16pfts_Irrig_CMIP6_simyr2000_c190402.nc diff --git a/bld/namelist_files/namelist_defaults_ctsm_tools.xml b/bld/namelist_files/namelist_defaults_ctsm_tools.xml index d148084df0..f185de4d52 100644 --- a/bld/namelist_files/namelist_defaults_ctsm_tools.xml +++ b/bld/namelist_files/namelist_defaults_ctsm_tools.xml @@ -107,7 +107,7 @@ attributes from the config_cache.xml file (with keys converted to upper-case). landmesh -lnd/clm2/mappingdata/grids/SCRIPgrid_224x464_nldas_nomask_c190328.nc +lnd/clm2/mappingdata/grids/SCRIPgrid_0.125nldas2_nomask_c190328.nc lnd/clm2/mappingdata/grids/SCRIPgrid_1x1pt_camdenNJ_nomask_c110308.nc lnd/clm2/mappingdata/grids/SCRIPgrid_1x1pt_brazil_nomask_c110308.nc lnd/clm2/mappingdata/grids/SCRIPgrid_1x1pt_camdenNJ_nomask_c110308.nc diff --git a/bld/namelist_files/namelist_defaults_overall.xml b/bld/namelist_files/namelist_defaults_overall.xml index 67ad28195e..f7f2d041c2 100644 --- a/bld/namelist_files/namelist_defaults_overall.xml +++ b/bld/namelist_files/namelist_defaults_overall.xml @@ -75,7 +75,7 @@ determine default values for namelists. gx1v6 gx1v6 -nldas +nldas2 navy navy navy diff --git a/bld/namelist_files/namelist_definition_ctsm.xml b/bld/namelist_files/namelist_definition_ctsm.xml index 5b2d678f2d..82ab3cfac4 100644 --- a/bld/namelist_files/namelist_definition_ctsm.xml +++ b/bld/namelist_files/namelist_definition_ctsm.xml @@ -1794,7 +1794,7 @@ CLM run type. +"512x1024,360x720cru,128x256,64x128,48x96,32x64,8x16,94x192,0.23x0.31,0.47x0.63,0.9x1.25,1.9x2.5,2.5x3.33,4x5,10x15,0.125nldas2,5x5_amazon,1x1_camdenNJ,1x1_vancouverCAN,1x1_mexicocityMEX,1x1_asphaltjungleNJ,1x1_brazil,1x1_urbanc_alpha,1x1_numaIA,1x1_smallvilleIA,0.1x0.1,0.25x0.25,0.5x0.5,3x3min,5x5min,10x10min,0.33x0.33,0.125x0.125,ne4np4,ne16np4,ne30np4,ne60np4,ne120np4,ne240np4,1km-merge-10min"> Horizontal resolutions Note: 0.1x0.1, 0.25x0.25, 0.5x0.5, 5x5min, 10x10min, 3x3min and 0.33x0.33 are only used for CLM tools diff --git a/cime_config/config_pes.xml b/cime_config/config_pes.xml index 3132047134..0d0bbad5b7 100644 --- a/cime_config/config_pes.xml +++ b/cime_config/config_pes.xml @@ -671,7 +671,7 @@ - + none @@ -708,7 +708,7 @@ - + none diff --git a/tools/mksurfdata_map/Makefile.data b/tools/mksurfdata_map/Makefile.data index 994131fe01..bb712b3548 100644 --- a/tools/mksurfdata_map/Makefile.data +++ b/tools/mksurfdata_map/Makefile.data @@ -130,7 +130,7 @@ global-present-ne120np4 : FORCE $(MKSURFDATA) -no-crop -glc_nec 10 -y 2000 -res ne120np4 $(BACKGROUND) global-present-nldas : FORCE - $(MKSURFDATA) -no-crop -glc_nec 10 -y 2000 -res 224x464_nldas $(BACKGROUND) + $(MKSURFDATA) -no-crop -glc_nec 10 -y 2000 -res 0.125nldas2 $(BACKGROUND) global-historical : FORCE $(MKSURFDATA) -no-crop -glc_nec 10 -y 1850 -res $(STANDARD_RES) $(BACKGROUND) From 784eccf0637f8056a25cfde0dfe50f0782b9047e Mon Sep 17 00:00:00 2001 From: Bill Sacks Date: Wed, 10 Apr 2019 10:30:00 -0600 Subject: [PATCH 21/51] Rename NWP compset alias per Mike Barlage's suggestion --- cime_config/config_compsets.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cime_config/config_compsets.xml b/cime_config/config_compsets.xml index 184d5ee989..446fb079bf 100644 --- a/cime_config/config_compsets.xml +++ b/cime_config/config_compsets.xml @@ -216,7 +216,7 @@ - I2000Nwp50SpGswpGs + I2000Ctsm50NwpSpGswpGs 2000_DATM%GSWP3v1_CLM50%NWP-SP_SICE_SOCN_MOSART_SGLC_SWAV From 1500fc558b939022d6ddbc69a8c2478362362df3 Mon Sep 17 00:00:00 2001 From: Bill Sacks Date: Wed, 10 Apr 2019 11:27:51 -0600 Subject: [PATCH 22/51] New cime: new nldas2 domain files --- Externals.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Externals.cfg b/Externals.cfg index de2ba26833..629054cff7 100644 --- a/Externals.cfg +++ b/Externals.cfg @@ -30,7 +30,7 @@ required = True local_path = cime protocol = git repo_url = https://github.com/billsacks/cime -hash = ddfa9eb3dfda38fa438b019404a71fbb40988eca +hash = 1e4cad60e3d6ae7eed0603ad56b9c4b5f12db34c required = True [externals_description] From e2913fdd6c1b2c285a514df7df3c2010fc14f97d Mon Sep 17 00:00:00 2001 From: Bill Sacks Date: Wed, 10 Apr 2019 11:38:20 -0600 Subject: [PATCH 23/51] Point to new mapping files for raw data -> nldas These use the new name for the nldas grid, but otherwise should be the same as before. --- bld/namelist_files/namelist_defaults_ctsm.xml | 74 +++++++++---------- 1 file changed, 37 insertions(+), 37 deletions(-) diff --git a/bld/namelist_files/namelist_defaults_ctsm.xml b/bld/namelist_files/namelist_defaults_ctsm.xml index 4bdae77d1b..8483ad56a5 100644 --- a/bld/namelist_files/namelist_defaults_ctsm.xml +++ b/bld/namelist_files/namelist_defaults_ctsm.xml @@ -2277,45 +2277,45 @@ lnd/clm2/surfdata_map/surfdata_ne120np4_78pfts_CMIP6_simyr1850_c170824.nc - + -lnd/clm2/mappingdata/maps/224x464_nldas/map_5x5min_IGBP-GSDP_to_224x464_nldas_nomask_aave_da_c190329.nc -lnd/clm2/mappingdata/maps/224x464_nldas/map_10x10min_nomask_to_224x464_nldas_nomask_aave_da_c190329.nc -lnd/clm2/mappingdata/maps/224x464_nldas/map_3x3min_LandScan2004_to_224x464_nldas_nomask_aave_da_c190329.nc -lnd/clm2/mappingdata/maps/224x464_nldas/map_0.5x0.5_AVHRR_to_224x464_nldas_nomask_aave_da_c190329.nc -lnd/clm2/mappingdata/maps/224x464_nldas/map_5x5min_ORNL-Soil_to_224x464_nldas_nomask_aave_da_c190329.nc -lnd/clm2/mappingdata/maps/224x464_nldas/map_5x5min_ISRIC-WISE_to_224x464_nldas_nomask_aave_da_c190329.nc -lnd/clm2/mappingdata/maps/224x464_nldas/map_0.25x0.25_MODIS_to_224x464_nldas_nomask_aave_da_c190329.nc -lnd/clm2/mappingdata/maps/224x464_nldas/map_5x5min_nomask_to_224x464_nldas_nomask_aave_da_c190329.nc -lnd/clm2/mappingdata/maps/224x464_nldas/map_3x3min_USGS_to_224x464_nldas_nomask_aave_da_c190329.nc -lnd/clm2/mappingdata/maps/224x464_nldas/map_0.9x1.25_GRDC_to_224x464_nldas_nomask_aave_da_c190329.nc -lnd/clm2/mappingdata/maps/224x464_nldas/map_0.5x0.5_MODIS_to_224x464_nldas_nomask_aave_da_c190329.nc -lnd/clm2/mappingdata/maps/224x464_nldas/map_360x720cru_cruncep_to_224x464_nldas_nomask_aave_da_c190329.nc -lnd/clm2/mappingdata/maps/224x464_nldas/map_3x3min_MODIS-wCsp_to_224x464_nldas_nomask_aave_da_c190329.nc -lnd/clm2/mappingdata/maps/224x464_nldas/map_3x3min_GLOBE-Gardner-mergeGIS_to_224x464_nldas_nomask_aave_da_c190329.nc -lnd/clm2/mappingdata/maps/224x464_nldas/map_1km-merge-10min_HYDRO1K-merge-nomask_to_224x464_nldas_nomask_aave_da_c190329.nc -lnd/clm2/mappingdata/maps/224x464_nldas/map_3x3min_GLOBE-Gardner_to_224x464_nldas_nomask_aave_da_c190329.nc -lnd/clm2/mappingdata/maps/224x464_nldas/map_10x10min_IGBPmergeICESatGIS_to_224x464_nldas_nomask_aave_da_c190329.nc - - +lnd/clm2/mappingdata/maps/0.125nldas2/map_1km-merge-10min_HYDRO1K-merge-nomask_to_0.125nldas2_nomask_aave_da_c190408.nc +lnd/clm2/mappingdata/maps/0.125nldas2/map_5x5min_nomask_to_0.125nldas2_nomask_aave_da_c190408.nc +lnd/clm2/mappingdata/maps/0.125nldas2/map_0.25x0.25_MODIS_to_0.125nldas2_nomask_aave_da_c190408.nc +lnd/clm2/mappingdata/maps/0.125nldas2/map_0.9x1.25_GRDC_to_0.125nldas2_nomask_aave_da_c190408.nc +lnd/clm2/mappingdata/maps/0.125nldas2/map_10x10min_nomask_to_0.125nldas2_nomask_aave_da_c190408.nc +lnd/clm2/mappingdata/maps/0.125nldas2/map_360x720cru_cruncep_to_0.125nldas2_nomask_aave_da_c190408.nc +lnd/clm2/mappingdata/maps/0.125nldas2/map_3x3min_LandScan2004_to_0.125nldas2_nomask_aave_da_c190408.nc +lnd/clm2/mappingdata/maps/0.125nldas2/map_10x10min_IGBPmergeICESatGIS_to_0.125nldas2_nomask_aave_da_c190408.nc +lnd/clm2/mappingdata/maps/0.125nldas2/map_3x3min_MODIS-wCsp_to_0.125nldas2_nomask_aave_da_c190408.nc +lnd/clm2/mappingdata/maps/0.125nldas2/map_0.5x0.5_MODIS_to_0.125nldas2_nomask_aave_da_c190408.nc +lnd/clm2/mappingdata/maps/0.125nldas2/map_3x3min_GLOBE-Gardner-mergeGIS_to_0.125nldas2_nomask_aave_da_c190408.nc +lnd/clm2/mappingdata/maps/0.125nldas2/map_5x5min_ISRIC-WISE_to_0.125nldas2_nomask_aave_da_c190408.nc +lnd/clm2/mappingdata/maps/0.125nldas2/map_3x3min_GLOBE-Gardner_to_0.125nldas2_nomask_aave_da_c190408.nc +lnd/clm2/mappingdata/maps/0.125nldas2/map_0.5x0.5_AVHRR_to_0.125nldas2_nomask_aave_da_c190408.nc +lnd/clm2/mappingdata/maps/0.125nldas2/map_3x3min_USGS_to_0.125nldas2_nomask_aave_da_c190408.nc +lnd/clm2/mappingdata/maps/0.125nldas2/map_5x5min_IGBP-GSDP_to_0.125nldas2_nomask_aave_da_c190408.nc +lnd/clm2/mappingdata/maps/0.125nldas2/map_5x5min_ORNL-Soil_to_0.125nldas2_nomask_aave_da_c190408.nc + + lnd/clm2/mappingdata/maps/5x5_amazon/map_0.5x0.5_MODIS_to_5x5_amazon_nomask_aave_da_c110920.nc From da7405cd3a66ea8782eef71c4e82a44bcd03f8c6 Mon Sep 17 00:00:00 2001 From: Bill Sacks Date: Wed, 10 Apr 2019 11:53:46 -0600 Subject: [PATCH 24/51] Use -hirespft for nldas2 surface dataset --- tools/mksurfdata_map/Makefile.data | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/mksurfdata_map/Makefile.data b/tools/mksurfdata_map/Makefile.data index bb712b3548..653fdd3d91 100644 --- a/tools/mksurfdata_map/Makefile.data +++ b/tools/mksurfdata_map/Makefile.data @@ -130,7 +130,7 @@ global-present-ne120np4 : FORCE $(MKSURFDATA) -no-crop -glc_nec 10 -y 2000 -res ne120np4 $(BACKGROUND) global-present-nldas : FORCE - $(MKSURFDATA) -no-crop -glc_nec 10 -y 2000 -res 0.125nldas2 $(BACKGROUND) + $(MKSURFDATA) -no-crop -hirespft -glc_nec 10 -y 2000 -res 0.125nldas2 $(BACKGROUND) global-historical : FORCE $(MKSURFDATA) -no-crop -glc_nec 10 -y 1850 -res $(STANDARD_RES) $(BACKGROUND) From 94f08fc7f99c888fa5b7bad4127fd692d3833b67 Mon Sep 17 00:00:00 2001 From: Bill Sacks Date: Wed, 10 Apr 2019 15:48:22 -0600 Subject: [PATCH 25/51] Change 4-layer soil structure to 5 layers This is needed because currently we need to have nlevurb <= nlevgrnd, and we're using nlevurb = 5: see https://github.com/ESCOMP/ctsm/issues/674 --- bld/namelist_files/namelist_definition_ctsm.xml | 4 ++-- src/main/clm_varpar.F90 | 6 +++--- src/main/initVerticalMod.F90 | 11 ++++++----- 3 files changed, 11 insertions(+), 10 deletions(-) diff --git a/bld/namelist_files/namelist_definition_ctsm.xml b/bld/namelist_files/namelist_definition_ctsm.xml index b81cecbee6..1a7cbfb79c 100644 --- a/bld/namelist_files/namelist_definition_ctsm.xml +++ b/bld/namelist_files/namelist_definition_ctsm.xml @@ -115,12 +115,12 @@ Otherwise use the fraction straight up (the default for CLM5.0) + group="clm_inparm" valid_values="10SL_3.5m,23SL_3.5m,49SL_10m,20SL_8.5m,5SL_3m" > 10SL_3.5m = standard CLM4 and CLM4.5 version 23SL_3.5m = more vertical layers for permafrost simulations 49SL_10m = 49 layer soil column, 10m of soil, 5 bedrock layers 20SL_8.5m = 20 layer soil column, 8m of soil, 5 bedrock layers -4SL_2m = 4 layer soil column, 2m of soil, 0 bedrock layers +5SL_3m = 5 layer soil column, 3m of soil, 0 bedrock layers Date: Wed, 10 Apr 2019 16:03:28 -0600 Subject: [PATCH 26/51] Abort upon unrecognized soil layer structure --- src/main/clm_varpar.F90 | 4 ++++ src/main/initVerticalMod.F90 | 5 +++++ 2 files changed, 9 insertions(+) diff --git a/src/main/clm_varpar.F90 b/src/main/clm_varpar.F90 index 0f444254bf..c19caf5bd5 100644 --- a/src/main/clm_varpar.F90 +++ b/src/main/clm_varpar.F90 @@ -6,6 +6,7 @@ module clm_varpar ! ! !USES: use shr_kind_mod , only: r8 => shr_kind_r8 + use shr_sys_mod , only: shr_sys_abort use spmdMod , only: masterproc use clm_varctl , only: use_extralakelayers, use_vertsoilc use clm_varctl , only: use_century_decomp, use_c13, use_c14 @@ -157,6 +158,9 @@ subroutine clm_varpar_init(actual_maxsoil_patches, actual_numcft) else if ( soil_layerstruct == '5SL_3m' ) then nlevsoi = 5 nlevgrnd = 5 + else + write(iulog,*) subname//' ERROR: Unrecognized soil layer structure: ', trim(soil_layerstruct) + call shr_sys_abort(subname//' ERROR: Unrecognized soil layer structure') endif if ( masterproc ) write(iulog, *) 'soil_layerstruct varpar ',soil_layerstruct,nlevsoi,nlevgrnd diff --git a/src/main/initVerticalMod.F90 b/src/main/initVerticalMod.F90 index 9e524908ee..f452de2edd 100644 --- a/src/main/initVerticalMod.F90 +++ b/src/main/initVerticalMod.F90 @@ -162,6 +162,8 @@ subroutine initVertical(bounds, glc_behavior, snow_depth, thick_wall, thick_roof integer, parameter :: LEVGRND_CLASS_STANDARD = 1 integer, parameter :: LEVGRND_CLASS_DEEP_BEDROCK = 2 integer, parameter :: LEVGRND_CLASS_SHALLOW_BEDROCK = 3 + + character(len=*), parameter :: subname = 'initVertical' !------------------------------------------------------------------------ begc = bounds%begc; endc= bounds%endc @@ -293,6 +295,9 @@ subroutine initVertical(bounds, glc_behavior, snow_depth, thick_wall, thick_roof do j = 1, nlevgrnd zsoi(j) = 0.5*(zisoi(j-1) + zisoi(j)) enddo + else + write(iulog,*) subname//' ERROR: Unrecognized soil layer structure: ', trim(soil_layerstruct) + call endrun(subname//' ERROR: Unrecognized soil layer structure') end if ! define a vertical grid spacing such that it is the normal dzsoi if From d59cb5e056124e8f286aea1a904c9b323021829e Mon Sep 17 00:00:00 2001 From: Bill Sacks Date: Wed, 10 Apr 2019 16:08:47 -0600 Subject: [PATCH 27/51] Fix merge: remove duplicate setting of itmax_canopy_fluxes --- bld/namelist_files/namelist_defaults_ctsm.xml | 1 - 1 file changed, 1 deletion(-) diff --git a/bld/namelist_files/namelist_defaults_ctsm.xml b/bld/namelist_files/namelist_defaults_ctsm.xml index 7460fba293..1eedbb5a3c 100644 --- a/bld/namelist_files/namelist_defaults_ctsm.xml +++ b/bld/namelist_files/namelist_defaults_ctsm.xml @@ -232,7 +232,6 @@ attributes from the config_cache.xml file (with keys converted to upper-case). .false. .true. -40 40 3 From 33b91b0004b5378c83e5f307a45f54d4e6b40fc8 Mon Sep 17 00:00:00 2001 From: Bill Sacks Date: Wed, 10 Apr 2019 16:33:24 -0600 Subject: [PATCH 28/51] Use year-2005 rather than year-2000 for nldas surface dataset It appears that hirespft will require year 2005. Also add a note that this won't work until the hirespft bug is fixed. --- tools/mksurfdata_map/Makefile.data | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tools/mksurfdata_map/Makefile.data b/tools/mksurfdata_map/Makefile.data index 653fdd3d91..b5154ae573 100644 --- a/tools/mksurfdata_map/Makefile.data +++ b/tools/mksurfdata_map/Makefile.data @@ -129,8 +129,9 @@ global-present-ne16np4 : FORCE global-present-ne120np4 : FORCE $(MKSURFDATA) -no-crop -glc_nec 10 -y 2000 -res ne120np4 $(BACKGROUND) +# BUG(wjs, 2019-04-10, ESCOMP/ctsm#262) This -hirespft won't work until issue 262 is resolved global-present-nldas : FORCE - $(MKSURFDATA) -no-crop -hirespft -glc_nec 10 -y 2000 -res 0.125nldas2 $(BACKGROUND) + $(MKSURFDATA) -no-crop -hirespft -glc_nec 10 -y 2005 -res 0.125nldas2 $(BACKGROUND) global-historical : FORCE $(MKSURFDATA) -no-crop -glc_nec 10 -y 1850 -res $(STANDARD_RES) $(BACKGROUND) From 3d0ab17f37028e71e5507697719f26c9d586ca96 Mon Sep 17 00:00:00 2001 From: Bill Sacks Date: Thu, 11 Apr 2019 16:02:01 -0600 Subject: [PATCH 29/51] Fix merge: remove duplicate settings of some namelist defaults --- bld/namelist_files/namelist_defaults_ctsm.xml | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/bld/namelist_files/namelist_defaults_ctsm.xml b/bld/namelist_files/namelist_defaults_ctsm.xml index 3c14008a87..b1e6905d8e 100644 --- a/bld/namelist_files/namelist_defaults_ctsm.xml +++ b/bld/namelist_files/namelist_defaults_ctsm.xml @@ -1140,15 +1140,6 @@ lnd/clm2/surfdata_map/surfdata_ne120np4_78pfts_CMIP6_simyr1850_c170824.nc.false. .false. -.false. -0 -0 -0.d00 -0.d00 -0.d00 -0.d00 -0.d00 -0.d00 .false. .true. @@ -1159,6 +1150,13 @@ lnd/clm2/surfdata_map/surfdata_ne120np4_78pfts_CMIP6_simyr1850_c170824.nc0 1 +0.d00 +0.d00 +0.d00 +0.d00 +0.d00 +0.d00 + From a927cc8dc77243b0b10b39272cc55df6a611ffed Mon Sep 17 00:00:00 2001 From: Bill Sacks Date: Fri, 12 Apr 2019 07:19:32 -0600 Subject: [PATCH 30/51] Parse new xml flags to set namelist defaults correctly --- bld/CLMBuildNamelist.pm | 51 ++++++++++++++++++++++++++++++++++++----- cime_config/buildnml | 6 ++++- 2 files changed, 50 insertions(+), 7 deletions(-) diff --git a/bld/CLMBuildNamelist.pm b/bld/CLMBuildNamelist.pm index 9853be56e4..e553b181da 100755 --- a/bld/CLMBuildNamelist.pm +++ b/bld/CLMBuildNamelist.pm @@ -62,6 +62,9 @@ REQUIRED OPTIONS -cimeroot "directory" Path to cime directory -config "filepath" Read the given CLM configuration cache file. Default: "config_cache.xml". + -configuration "cfg" The overall configuration being used [ clm | nwp ] + clm = Climate configuration + nwp = Numerical Weather Prediction configuration -d "directory" Directory where output namelist file will be written Default: current working directory. -envxml_dir "directory" Directory name of env_*.xml case files to read in. @@ -78,6 +81,7 @@ REQUIRED OPTIONS (i.e. 1850, 2000, 1850-2000, 1850-2100) "-sim_year list" to list valid simulation years (default 2000) + -structure "structure" The overall structure being used [ standard | fast ] OPTIONS -bgc "value" Build CLM with BGC package [ sp | cn | bgc | fates ] (default is sp). @@ -240,6 +244,7 @@ sub process_commandline { my %opts = ( cimeroot => undef, config => "config_cache.xml", + configuration => undef, csmdata => undef, clm_usr_name => undef, co2_type => undef, @@ -254,6 +259,7 @@ sub process_commandline { dir => "$cwd", rcp => "default", sim_year => "default", + structure => undef, clm_accelerated_spinup=> "default", chk_res => undef, note => undef, @@ -280,6 +286,7 @@ sub process_commandline { "co2_ppmv=f" => \$opts{'co2_ppmv'}, "co2_type=s" => \$opts{'co2_type'}, "config=s" => \$opts{'config'}, + "configuration=s" => \$opts{'configuration'}, "csmdata=s" => \$opts{'csmdata'}, "clm_usr_name=s" => \$opts{'clm_usr_name'}, "envxml_dir=s" => \$opts{'envxml_dir'}, @@ -306,6 +313,7 @@ sub process_commandline { "rcp=s" => \$opts{'rcp'}, "s|silent" => \$opts{'silent'}, "sim_year=s" => \$opts{'sim_year'}, + "structure=s" => \$opts{'structure'}, "output_reals=s" => \$opts{'output_reals_filename'}, "clm_accelerated_spinup=s" => \$opts{'clm_accelerated_spinup'}, "clm_start_type=s" => \$opts{'clm_start_type'}, @@ -621,6 +629,7 @@ sub process_namelist_commandline_options { setup_cmdl_chk_res($opts, $defaults); setup_cmdl_resolution($opts, $nl_flags, $definition, $defaults); setup_cmdl_mask($opts, $nl_flags, $definition, $defaults, $nl); + setup_cmdl_configuration_and_structure($opts, $nl_flags, $definition, $defaults, $nl); setup_cmdl_bgc($opts, $nl_flags, $definition, $defaults, $nl); setup_cmdl_fire_light_res($opts, $nl_flags, $definition, $defaults, $nl); setup_cmdl_spinup($opts, $nl_flags, $definition, $defaults, $nl); @@ -768,6 +777,31 @@ sub setup_cmdl_fates_mode { } } +#------------------------------------------------------------------------------- +sub setup_cmdl_configuration_and_structure { + # Error-check and set the 'configuration' and 'structure' namelist flags + + my ($opts, $nl_flags, $definition, $defaults, $nl) = @_; + + my $val; + + my $var = "configuration"; + $val = $opts->{$var}; + if ($val eq "clm" || $val eq "nwp") { + $nl_flags->{$var} = $val; + } else { + $log->fatal_error("$var has a value (".$val.") that is NOT valid. Valid values are: clm, nwp."); + } + + $var = "structure"; + $val = $opts->{$var}; + if ($val eq "standard" || $val eq "fast") { + $nl_flags->{$var} = $val; + } else { + $log->fatal_error("$var has a value (".$val.") that is NOT valid. Valid values are: standard, fast."); + } +} + #------------------------------------------------------------------------------- sub setup_cmdl_bgc { # BGC - alias for group of biogeochemistry related use_XXX namelists @@ -1932,9 +1966,12 @@ sub setup_logic_subgrid { my $var = 'run_zero_weight_urban'; add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, $var); - add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'collapse_urban'); - add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'n_dom_landunits'); - add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'n_dom_pfts'); + add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'collapse_urban', + 'structure'=>$nl_flags->{'structure'}); + add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'n_dom_landunits', + 'structure'=>$nl_flags->{'structure'}); + add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'n_dom_pfts', + 'structure'=>$nl_flags->{'structure'}); add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'toosmall_soil'); add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'toosmall_crop'); add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'toosmall_glacier'); @@ -2048,7 +2085,8 @@ sub setup_logic_soilstate { my ($opts, $nl_flags, $definition, $defaults, $nl) = @_; add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'organic_frac_squared' ); - add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'soil_layerstruct' ); + add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'soil_layerstruct', + 'structure'=>$nl_flags->{'structure'}); add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'use_bedrock', 'use_fates'=>$nl_flags->{'use_fates'}, 'vichydro'=>$nl_flags->{'vichydro'} ); } @@ -2881,7 +2919,7 @@ sub setup_logic_hydrstress { my ($opts, $nl_flags, $definition, $defaults, $nl) = @_; add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'use_hydrstress', - 'use_fates'=>$nl_flags->{'use_fates'} ); + 'configuration'=>$nl_flags->{'configuration'}, 'use_fates'=>$nl_flags->{'use_fates'} ); $nl_flags->{'use_hydrstress'} = $nl->get_value('use_hydrstress'); if ( &value_is_true( $nl_flags->{'use_fates'} ) && &value_is_true( $nl_flags->{'use_hydrstress'} ) ) { $log->fatal_error("Cannot turn use_hydrstress on when use_fates is on" ); @@ -3420,7 +3458,8 @@ sub setup_logic_canopyfluxes { my ($opts, $nl_flags, $definition, $defaults, $nl) = @_; add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'use_undercanopy_stability' ); - add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'itmax_canopy_fluxes' ); + add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'itmax_canopy_fluxes', + 'structure'=>$nl_flags->{'structure'}); } #------------------------------------------------------------------------------- diff --git a/cime_config/buildnml b/cime_config/buildnml index 3d91d66ebf..66604338f3 100755 --- a/cime_config/buildnml +++ b/cime_config/buildnml @@ -38,6 +38,8 @@ def buildnml(case, caseroot, compname): lnd_root = case.get_value("COMP_ROOT_DIR_LND") din_loc_root = case.get_value("DIN_LOC_ROOT") + configuration = case.get_value("CLM_CONFIGURATION") + structure = case.get_value("CLM_STRUCTURE") ccsm_co2_ppmv = case.get_value("CCSM_CO2_PPMV") clm_co2_type = case.get_value("CLM_CO2_TYPE") clm_namelist_opts = case.get_value("CLM_NAMELIST_OPTS") @@ -206,11 +208,13 @@ def buildnml(case, caseroot, compname): command = ("%s -cimeroot %s -infile %s -csmdata %s -inputdata %s %s -namelist \"&clm_inparm start_ymd=%s %s/ \" " "%s %s -res %s %s -clm_start_type %s -envxml_dir %s -l_ncpl %s " + "-configuration %s -structure %s " "-lnd_frac %s -glc_nec %s -co2_ppmv %s -co2_type %s -config %s " "%s %s %s %s" %(cmd, _CIMEROOT, infile, din_loc_root, inputdata_file, ignore, start_ymd, clm_namelist_opts, nomeg, usecase, lnd_grid, clmusr, start_type, caseroot, lnd_ncpl, - lndfrac_file, glc_nec, ccsm_co2_ppmv, clm_co2_type, config_cache_file, + configuration, structure, + lndfrac_file, glc_nec, ccsm_co2_ppmv, clm_co2_type, config_cache_file, clm_bldnml_opts, spinup, tuning, gridmask)) rc, out, err = run_cmd(command, from_dir=clmconf) From c04a26a8f3039d3b7f9069b65c3530d25e0ce9a4 Mon Sep 17 00:00:00 2001 From: Bill Sacks Date: Fri, 12 Apr 2019 13:48:45 -0600 Subject: [PATCH 31/51] Add raw data mapping file for 3x3min_MODIS This is needed for hirespft --- bld/namelist_files/namelist_defaults_ctsm.xml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/bld/namelist_files/namelist_defaults_ctsm.xml b/bld/namelist_files/namelist_defaults_ctsm.xml index 8483ad56a5..4b0ac97751 100644 --- a/bld/namelist_files/namelist_defaults_ctsm.xml +++ b/bld/namelist_files/namelist_defaults_ctsm.xml @@ -2296,6 +2296,8 @@ lnd/clm2/surfdata_map/surfdata_ne120np4_78pfts_CMIP6_simyr1850_c170824.nclnd/clm2/mappingdata/maps/0.125nldas2/map_3x3min_LandScan2004_to_0.125nldas2_nomask_aave_da_c190408.nc lnd/clm2/mappingdata/maps/0.125nldas2/map_10x10min_IGBPmergeICESatGIS_to_0.125nldas2_nomask_aave_da_c190408.nc +lnd/clm2/mappingdata/maps/0.125nldas2/map_3x3min_MODIS_to_0.125nldas2_nomask_aave_da_c190412.nc lnd/clm2/mappingdata/maps/0.125nldas2/map_3x3min_MODIS-wCsp_to_0.125nldas2_nomask_aave_da_c190408.nc Date: Fri, 12 Apr 2019 14:58:14 -0600 Subject: [PATCH 32/51] Point to surface dataset with updated grid name (contents same as before) --- bld/namelist_files/namelist_defaults_ctsm.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bld/namelist_files/namelist_defaults_ctsm.xml b/bld/namelist_files/namelist_defaults_ctsm.xml index 4b0ac97751..536ff0ce0f 100644 --- a/bld/namelist_files/namelist_defaults_ctsm.xml +++ b/bld/namelist_files/namelist_defaults_ctsm.xml @@ -622,7 +622,7 @@ lnd/clm2/surfdata_map/surfdata_ne30np4_16pfts_Irrig_CMIP6_simyr2000_c170824.nc -lnd/clm2/surfdata_map/surfdata_224x464_nldas_hist_16pfts_Irrig_CMIP6_simyr2000_c190402.nc +lnd/clm2/surfdata_map/surfdata_0.125nldas2_hist_16pfts_Irrig_CMIP6_simyr2000_c190412.nc lnd/clm2/surfdata_map/surfdata_5x5_amazon_16pfts_Irrig_CMIP6_simyr2000_c171214.nc From 44915e43fabcebfd7780db79edacea6fa443517e Mon Sep 17 00:00:00 2001 From: Bill Sacks Date: Fri, 12 Apr 2019 15:02:25 -0600 Subject: [PATCH 33/51] Change mask name valid value from nldas to nldas2 --- bld/namelist_files/namelist_definition_ctsm.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bld/namelist_files/namelist_definition_ctsm.xml b/bld/namelist_files/namelist_definition_ctsm.xml index 82ab3cfac4..04d06b1ff5 100644 --- a/bld/namelist_files/namelist_definition_ctsm.xml +++ b/bld/namelist_files/namelist_definition_ctsm.xml @@ -1816,7 +1816,7 @@ hist means do NOT use a future scenario, just use historical data. + valid_values="USGS,gx3v7,gx1v6,gx1v7,navy,test,tx0.1v2,tx1v1,T62,cruncep,nldas2"> Land mask description From 170be8bb9b3f552c854b93cdb2996de0e267f33d Mon Sep 17 00:00:00 2001 From: Bill Sacks Date: Fri, 12 Apr 2019 15:06:37 -0600 Subject: [PATCH 34/51] Use year-2005 rather than year-2000 surface dataset When we switch to hirespft, we'll be using year-2005. So it seems best to start out consistent with that. --- bld/namelist_files/namelist_defaults_ctsm.xml | 2 +- tools/mksurfdata_map/Makefile.data | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/bld/namelist_files/namelist_defaults_ctsm.xml b/bld/namelist_files/namelist_defaults_ctsm.xml index 536ff0ce0f..597c71d76f 100644 --- a/bld/namelist_files/namelist_defaults_ctsm.xml +++ b/bld/namelist_files/namelist_defaults_ctsm.xml @@ -622,7 +622,7 @@ lnd/clm2/surfdata_map/surfdata_ne30np4_16pfts_Irrig_CMIP6_simyr2000_c170824.nc -lnd/clm2/surfdata_map/surfdata_0.125nldas2_hist_16pfts_Irrig_CMIP6_simyr2000_c190412.nc +lnd/clm2/surfdata_map/surfdata_0.125nldas2_hist_16pfts_Irrig_CMIP6_simyr2005_c190412.nc lnd/clm2/surfdata_map/surfdata_5x5_amazon_16pfts_Irrig_CMIP6_simyr2000_c171214.nc diff --git a/tools/mksurfdata_map/Makefile.data b/tools/mksurfdata_map/Makefile.data index b5154ae573..ddd915735d 100644 --- a/tools/mksurfdata_map/Makefile.data +++ b/tools/mksurfdata_map/Makefile.data @@ -130,6 +130,8 @@ global-present-ne120np4 : FORCE $(MKSURFDATA) -no-crop -glc_nec 10 -y 2000 -res ne120np4 $(BACKGROUND) # BUG(wjs, 2019-04-10, ESCOMP/ctsm#262) This -hirespft won't work until issue 262 is resolved +# For now, I'm using: +# -no-crop -glc_nec 10 -y 2005 -res 0.125nldas2 global-present-nldas : FORCE $(MKSURFDATA) -no-crop -hirespft -glc_nec 10 -y 2005 -res 0.125nldas2 $(BACKGROUND) From 58e0e3a7b312b172acb6eafd90e508a431d3f20d Mon Sep 17 00:00:00 2001 From: Bill Sacks Date: Fri, 12 Apr 2019 15:09:37 -0600 Subject: [PATCH 35/51] Make alignment consistent --- bld/namelist_files/namelist_defaults_ctsm_tools.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bld/namelist_files/namelist_defaults_ctsm_tools.xml b/bld/namelist_files/namelist_defaults_ctsm_tools.xml index f185de4d52..9fa7b11d33 100644 --- a/bld/namelist_files/namelist_defaults_ctsm_tools.xml +++ b/bld/namelist_files/namelist_defaults_ctsm_tools.xml @@ -107,7 +107,7 @@ attributes from the config_cache.xml file (with keys converted to upper-case). landmesh -lnd/clm2/mappingdata/grids/SCRIPgrid_0.125nldas2_nomask_c190328.nc +lnd/clm2/mappingdata/grids/SCRIPgrid_0.125nldas2_nomask_c190328.nc lnd/clm2/mappingdata/grids/SCRIPgrid_1x1pt_camdenNJ_nomask_c110308.nc lnd/clm2/mappingdata/grids/SCRIPgrid_1x1pt_brazil_nomask_c110308.nc lnd/clm2/mappingdata/grids/SCRIPgrid_1x1pt_camdenNJ_nomask_c110308.nc From 6010c4e55c256a0dda06f738e8f1f48bfb3f6def Mon Sep 17 00:00:00 2001 From: Bill Sacks Date: Fri, 12 Apr 2019 15:55:57 -0600 Subject: [PATCH 36/51] Point to mosart version with support for nldas grid --- Externals.cfg | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Externals.cfg b/Externals.cfg index 629054cff7..1c25514bb6 100644 --- a/Externals.cfg +++ b/Externals.cfg @@ -22,8 +22,8 @@ required = True [mosart] local_path = components/mosart protocol = git -repo_url = https://github.com/ESCOMP/mosart -tag = release-cesm2.0.00 +repo_url = https://github.com/billsacks/mosart +hash = cdb8ab54ac8e26bcb318b697f057d38027d60ffa required = True [cime] From a38724f46de1473695b9dcfc329be01c94f44c14 Mon Sep 17 00:00:00 2001 From: Bill Sacks Date: Mon, 15 Apr 2019 11:18:51 -0600 Subject: [PATCH 37/51] Point to updated mosart with update for nldas grid --- Externals.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Externals.cfg b/Externals.cfg index 1c25514bb6..669fe74e4c 100644 --- a/Externals.cfg +++ b/Externals.cfg @@ -23,7 +23,7 @@ required = True local_path = components/mosart protocol = git repo_url = https://github.com/billsacks/mosart -hash = cdb8ab54ac8e26bcb318b697f057d38027d60ffa +hash = 4b86d63e76d5994dab2b43a42c0f5f1a62bfb1ab required = True [cime] From a1914d8687e99e70f76e53a37502c09aec266f47 Mon Sep 17 00:00:00 2001 From: Bill Sacks Date: Mon, 15 Apr 2019 11:49:07 -0600 Subject: [PATCH 38/51] Point to updated cime, with rof nldas grid --- Externals.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Externals.cfg b/Externals.cfg index 669fe74e4c..79821eb8c5 100644 --- a/Externals.cfg +++ b/Externals.cfg @@ -30,7 +30,7 @@ required = True local_path = cime protocol = git repo_url = https://github.com/billsacks/cime -hash = 1e4cad60e3d6ae7eed0603ad56b9c4b5f12db34c +hash = aaed75270080e831d2827ef85e70fa279c1d76e3 required = True [externals_description] From cfbfeb2440b5d9795974e31e631008de807ac975 Mon Sep 17 00:00:00 2001 From: Bill Sacks Date: Tue, 16 Apr 2019 10:05:23 -0600 Subject: [PATCH 39/51] Add new required args in build-namelist tester --- bld/unit_testers/build-namelist_test.pl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bld/unit_testers/build-namelist_test.pl b/bld/unit_testers/build-namelist_test.pl index a2df43b4a9..82375fced1 100755 --- a/bld/unit_testers/build-namelist_test.pl +++ b/bld/unit_testers/build-namelist_test.pl @@ -165,7 +165,7 @@ sub make_config_cache { my $DOMFILE = "$inputdata_rootdir/atm/datm7/domain.lnd.T31_gx3v7.090928.nc"; my $real_par_file = "user_nl_clm_real_parameters"; -my $bldnml = "../build-namelist -verbose -csmdata $inputdata_rootdir -lnd_frac $DOMFILE -glc_nec 10 -no-note -output_reals $real_par_file"; +my $bldnml = "../build-namelist -verbose -csmdata $inputdata_rootdir -lnd_frac $DOMFILE -configuration clm -structure standard -glc_nec 10 -no-note -output_reals $real_par_file"; if ( $opts{'test'} ) { $bldnml .= " -test"; } From d7909f817439ea79a7d932cbea909a14482ea1c7 Mon Sep 17 00:00:00 2001 From: Bill Sacks Date: Tue, 16 Apr 2019 10:32:51 -0600 Subject: [PATCH 40/51] Add build-namelist tests covering new configuration and structure options --- bld/unit_testers/build-namelist_test.pl | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/bld/unit_testers/build-namelist_test.pl b/bld/unit_testers/build-namelist_test.pl index 82375fced1..5292a80b4c 100755 --- a/bld/unit_testers/build-namelist_test.pl +++ b/bld/unit_testers/build-namelist_test.pl @@ -287,12 +287,14 @@ sub make_config_cache { &make_config_cache($phys); print "\n===============================================================================\n"; -print "Test irrigate, verbose, clm_demand, rcp, test, sim_year, use_case, l_ncpl\n"; +print "Test configuration, structure, irrigate, verbose, clm_demand, rcp, test, sim_year, use_case, l_ncpl\n"; print "=================================================================================\n"; -# irrigate, verbose, clm_demand, rcp, test, sim_year, use_case, l_ncpl +# configuration, structure, irrigate, verbose, clm_demand, rcp, test, sim_year, use_case, l_ncpl my $startfile = "clmrun.clm2.r.1964-05-27-00000.nc"; -foreach my $options ( "-namelist '&a irrigate=.true./'", "-verbose", "-rcp 2.6", "-test", "-sim_year 1850", +foreach my $options ( "-configuration nwp", + "-structure fast", + "-namelist '&a irrigate=.true./'", "-verbose", "-rcp 2.6", "-test", "-sim_year 1850", "-use_case 1850_control", "-l_ncpl 1", "-clm_start_type startup", "-namelist '&a irrigate=.false./' -crop -bgc bgc", "-envxml_dir . -infile myuser_nl_clm", From 64afc8a37c18131985c6debf0aa5f4502e099366 Mon Sep 17 00:00:00 2001 From: Bill Sacks Date: Tue, 16 Apr 2019 10:46:20 -0600 Subject: [PATCH 41/51] Update count of expected build-namelist tests I simply took the count of the actual number of tests run, and used that for the new counts. --- bld/unit_testers/build-namelist_test.pl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/bld/unit_testers/build-namelist_test.pl b/bld/unit_testers/build-namelist_test.pl index 5292a80b4c..c9a4467c79 100755 --- a/bld/unit_testers/build-namelist_test.pl +++ b/bld/unit_testers/build-namelist_test.pl @@ -138,9 +138,9 @@ sub make_config_cache { # # Figure out number of tests that will run # -my $ntests = 915; +my $ntests = 923; if ( defined($opts{'compare'}) ) { - $ntests += 579; + $ntests += 585; } plan( tests=>$ntests ); From f2e7c2b72888a325ccf25fa017bb9605e495d448 Mon Sep 17 00:00:00 2001 From: Bill Sacks Date: Tue, 16 Apr 2019 14:12:59 -0600 Subject: [PATCH 42/51] Point to external tags rather than hashes These tags are the same as the hashes we were pointing to before. For mosart: note that mosart1_0_31 is identical to release-cesm2.0.00 (we were originally pointing to that release tag on CTSM master). --- Externals.cfg | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Externals.cfg b/Externals.cfg index 79821eb8c5..c6a592b71a 100644 --- a/Externals.cfg +++ b/Externals.cfg @@ -22,15 +22,15 @@ required = True [mosart] local_path = components/mosart protocol = git -repo_url = https://github.com/billsacks/mosart -hash = 4b86d63e76d5994dab2b43a42c0f5f1a62bfb1ab +repo_url = https://github.com/ESCOMP/mosart +tag = nldas-grid.n01_mosart1_0_31 required = True [cime] local_path = cime protocol = git -repo_url = https://github.com/billsacks/cime -hash = aaed75270080e831d2827ef85e70fa279c1d76e3 +repo_url = https://github.com/ESMCI/cime +tag = ctsm/ctsm1.0/cime5.7.9/n02 required = True [externals_description] From c5e83067e00025708ade5a8bb1a10787476b9e56 Mon Sep 17 00:00:00 2001 From: Bill Sacks Date: Wed, 24 Apr 2019 16:17:11 -0600 Subject: [PATCH 43/51] Turn off MEGAN with NWP This is wanted for performance reasons. I debated doing this via the nwp configuration or via the -no-megan flag that could be set by the compset. I opted for the former because it will be easier to remember what differs between an nwp vs. clm configuration (it's easier to remember that two things differ (configuration and structure) than three (configuration, structure and the -no-megan flag). --- bld/CLMBuildNamelist.pm | 5 +++-- bld/namelist_files/namelist_defaults_ctsm.xml | 3 ++- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/bld/CLMBuildNamelist.pm b/bld/CLMBuildNamelist.pm index e553b181da..a190a56dbe 100755 --- a/bld/CLMBuildNamelist.pm +++ b/bld/CLMBuildNamelist.pm @@ -3307,8 +3307,9 @@ sub setup_logic_megan { my $var = "megan"; if ( $opts->{$var} eq "default" ) { - add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, -'megan', clm_accelerated_spinup=>$nl_flags->{'clm_accelerated_spinup'} ); + add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'megan', + 'clm_accelerated_spinup'=>$nl_flags->{'clm_accelerated_spinup'}, + 'configuration'=>$nl_flags->{'configuration'} ); $nl_flags->{$var} = $nl->get_value($var); } else { $nl_flags->{$var} = $opts->{$var}; diff --git a/bld/namelist_files/namelist_defaults_ctsm.xml b/bld/namelist_files/namelist_defaults_ctsm.xml index b1e6905d8e..13fe1eedb9 100644 --- a/bld/namelist_files/namelist_defaults_ctsm.xml +++ b/bld/namelist_files/namelist_defaults_ctsm.xml @@ -96,8 +96,9 @@ attributes from the config_cache.xml file (with keys converted to upper-case). .false. +1 0 -1 +0 NONE From 04499784d3aea64f3da411e0c0aa1b760351f853 Mon Sep 17 00:00:00 2001 From: Bill Sacks Date: Thu, 25 Apr 2019 13:32:00 -0600 Subject: [PATCH 44/51] Use 5 snow layers for NWP compset Noah-MP uses 3, but its top two layers are thicker than CTSM's. 5 seemed like a good compromise, particularly since that's what was used prior to CLM5. However, in contrast to CLM4.5, Mike Barlage requested h2osno_max = 5000, because for high-resolution grids, this higher h2osno_max is sometimes needed to avoid snow capping fluxes. This could lead to a very thick bottom snow layer, but Mike is okay with that. I am using glc_snow_persistence_max_days=0, which seems right for this relatively high h2osno_max. --- bld/CLMBuildNamelist.pm | 6 ++++-- bld/namelist_files/namelist_defaults_ctsm.xml | 9 +++++++-- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/bld/CLMBuildNamelist.pm b/bld/CLMBuildNamelist.pm index a190a56dbe..180d1bd2ac 100755 --- a/bld/CLMBuildNamelist.pm +++ b/bld/CLMBuildNamelist.pm @@ -3482,8 +3482,10 @@ sub setup_logic_snowpack { # my ($opts, $nl_flags, $definition, $defaults, $nl) = @_; - add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'nlevsno'); - add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'h2osno_max'); + add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'nlevsno', + 'structure'=>$nl_flags->{'structure'}); + add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'h2osno_max', + 'structure'=>$nl_flags->{'structure'}); add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'int_snow_max'); add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'n_melt_glcmec'); add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'wind_dependent_snow_density'); diff --git a/bld/namelist_files/namelist_defaults_ctsm.xml b/bld/namelist_files/namelist_defaults_ctsm.xml index 13fe1eedb9..14a19b37d3 100644 --- a/bld/namelist_files/namelist_defaults_ctsm.xml +++ b/bld/namelist_files/namelist_defaults_ctsm.xml @@ -289,9 +289,14 @@ attributes from the config_cache.xml file (with keys converted to upper-case). ON_RAD -12 +12 +5 5 -10000.0 + +10000.0 +5000.0 1000.0 2000. From 3abfc93b392435202a02d8ae50003d422b59a285 Mon Sep 17 00:00:00 2001 From: Bill Sacks Date: Sun, 28 Apr 2019 06:32:37 -0600 Subject: [PATCH 45/51] Minor tweaks to address Erik Kluzek's review --- bld/CLMBuildNamelist.pm | 4 +-- bld/namelist_files/namelist_defaults_ctsm.xml | 26 +++++++++---------- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/bld/CLMBuildNamelist.pm b/bld/CLMBuildNamelist.pm index 180d1bd2ac..5940734a35 100755 --- a/bld/CLMBuildNamelist.pm +++ b/bld/CLMBuildNamelist.pm @@ -787,7 +787,7 @@ sub setup_cmdl_configuration_and_structure { my $var = "configuration"; $val = $opts->{$var}; - if ($val eq "clm" || $val eq "nwp") { + if (defined($val) && ($val eq "clm" || $val eq "nwp")) { $nl_flags->{$var} = $val; } else { $log->fatal_error("$var has a value (".$val.") that is NOT valid. Valid values are: clm, nwp."); @@ -795,7 +795,7 @@ sub setup_cmdl_configuration_and_structure { $var = "structure"; $val = $opts->{$var}; - if ($val eq "standard" || $val eq "fast") { + if (defined($val) && ($val eq "standard" || $val eq "fast")) { $nl_flags->{$var} = $val; } else { $log->fatal_error("$var has a value (".$val.") that is NOT valid. Valid values are: standard, fast."); diff --git a/bld/namelist_files/namelist_defaults_ctsm.xml b/bld/namelist_files/namelist_defaults_ctsm.xml index 14a19b37d3..25dc5a731b 100644 --- a/bld/namelist_files/namelist_defaults_ctsm.xml +++ b/bld/namelist_files/namelist_defaults_ctsm.xml @@ -125,7 +125,7 @@ attributes from the config_cache.xml file (with keys converted to upper-case). .true. .false. -5SL_3m +5SL_3m 20SL_8.5m 10SL_3.5m @@ -235,7 +235,7 @@ attributes from the config_cache.xml file (with keys converted to upper-case). .true. 40 -3 +3 .true. @@ -290,14 +290,14 @@ attributes from the config_cache.xml file (with keys converted to upper-case). 12 -5 -5 +5 +5 10000.0 -5000.0 -1000.0 +5000.0 +1000.0 2000. @@ -457,7 +457,7 @@ attributes from the config_cache.xml file (with keys converted to upper-case). -6.d+1 -.false. +.false. .true. + I2000Ctsm50NwpSpGswpGs 2000_DATM%GSWP3v1_CLM50%NWP-SP_SICE_SOCN_MOSART_SGLC_SWAV + + + I2000Ctsm50NwpSpNldasGs + 2000_DATM%NLDAS2_CLM50%NWP-SP_SICE_SOCN_MOSART_SGLC_SWAV + + + + + I2000Ctsm50NwpSpNldasRsGs + 2000_DATM%NLDAS2_CLM50%NWP-SP_SICE_SOCN_SROF_SGLC_SWAV + + diff --git a/cime_config/testdefs/testlist_clm.xml b/cime_config/testdefs/testlist_clm.xml index 4da050ab28..8966bacc3d 100644 --- a/cime_config/testdefs/testlist_clm.xml +++ b/cime_config/testdefs/testlist_clm.xml @@ -1667,6 +1667,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From 5967868c0a2c664e1952599f723bdd8bcd4e9b32 Mon Sep 17 00:00:00 2001 From: Bill Sacks Date: Tue, 30 Apr 2019 16:09:58 -0600 Subject: [PATCH 49/51] Update expected build-namelist unit test count There are now a few new tests of the 0.125nldas2 grid --- bld/unit_testers/build-namelist_test.pl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/bld/unit_testers/build-namelist_test.pl b/bld/unit_testers/build-namelist_test.pl index c9a4467c79..39756d8055 100755 --- a/bld/unit_testers/build-namelist_test.pl +++ b/bld/unit_testers/build-namelist_test.pl @@ -138,9 +138,9 @@ sub make_config_cache { # # Figure out number of tests that will run # -my $ntests = 923; +my $ntests = 927; if ( defined($opts{'compare'}) ) { - $ntests += 585; + $ntests += 588; } plan( tests=>$ntests ); From a5065fdfcd57c77aafd97850a465d60c0a3b0c36 Mon Sep 17 00:00:00 2001 From: Bill Sacks Date: Wed, 1 May 2019 10:53:39 -0600 Subject: [PATCH 50/51] Ask about significant answer changes to the nwp configuration --- doc/.ChangeLog_template | 2 ++ 1 file changed, 2 insertions(+) diff --git a/doc/.ChangeLog_template b/doc/.ChangeLog_template index 6b7fdb673f..6b65b11f9e 100644 --- a/doc/.ChangeLog_template +++ b/doc/.ChangeLog_template @@ -31,6 +31,8 @@ Does this tag change answers significantly for any of the following physics conf [ ] clm5_0 +[ ] ctsm5_0-nwp + [ ] clm4_5 Notes of particular relevance for users From 5241ddba4c5270ad38aa5fc363f537a73381cbd3 Mon Sep 17 00:00:00 2001 From: Bill Sacks Date: Wed, 1 May 2019 10:54:07 -0600 Subject: [PATCH 51/51] Update changelog --- doc/ChangeLog | 173 ++++++++++++++++++++++++++++++++++++++++++++++++++ doc/ChangeSum | 1 + 2 files changed, 174 insertions(+) diff --git a/doc/ChangeLog b/doc/ChangeLog index 7b1b16bfcc..00d7835db9 100644 --- a/doc/ChangeLog +++ b/doc/ChangeLog @@ -1,4 +1,177 @@ =============================================================== +Tag name: ctsm1.0.dev038 +Originator(s): sacks (Bill Sacks) +Date: Wed May 1 10:53:02 MDT 2019 +One-line Summary: Support for NWP configuration, NLDAS grid and NLDAS datm forcing + +Purpose of changes +------------------ + +This tag includes a set of changes that, together, provide support for +running an initial Numerical Weather Prediction version of CTSM over the +Continental U.S. + +(1) NWP configuration: The changes in this configuration relative to the + climate (CLM5) configuration mainly target decreasing runtime by + removing features that are expensive and not as important for NWP + time scales (days to months rather than many years) and space scales + (high resolution): + + - Single dominant landunit; if vegetated, single dominant PFT + + - Only 5 soil layers, down to 3 m + + - Only 5 snow layers + + - Plant hydraulic stress off + + - Ball-Berry rather than Medlyn stomatal conductance method (this is + a side-effect of turning plant hydraulic stress off, and is not + itself a critical aspect of the NWP configuration) + + - Maximum of 3 iterations to compute canopy fluxes + + - MEGAN is off + + Note that the NWP compset triggers changes in two new xml variables: + CLM_CONFIGURATION ('clm' vs. 'nwp'; this controls things of a more + scientific nature, like whether plant hydraulic stress is on or + off), and CLM_STRUCTURE ('standard' vs. 'fast'; this controls + structural things like the maximum number of landunits per grid cell + and the soil layer structure). Thus, you can create a case that is a + hybrid between the CLM and NWP configurations by changing these two + xml variables independently. + +(2) NLDAS2 regional grid: 0.125 deg grid over the Continental U.S. + +(3) Updated version of MOSART with support for the same NLDAS2 regional + grid + +(4) NLDAS2 data atmosphere forcing: over the same regional grid; forcing + data are available from 1980 - 2018. (We have excluded 1979 because + a small amount of data were missing for that year, and we didn't + have a good way to handle those missing data.) + +These changes can be used independently or all together. However, note +that you will get garbage if you try to use the new NLDAS2 datm forcing +for a run that extends beyond the boundaries of the NLDAS2 domain. + +There are three new NWP compsets: +- I2000Ctsm50NwpSpGswpGs: GSWP3 datm forcing; meant for global runs or + regional runs outside the NLDAS domain +- I2000Ctsm50NwpSpNldasGs: NLDAS2 datm forcing; meant for regional runs + over the NLDAS domain or some portion of it +- I2000Ctsm50NwpSpNldasRsGs: Same as above, but with a stub runoff model + in place of MOSART, for runs that aren't interested in having a runoff + model and for which you want improved throughput + +The alias for the new grid is: nldas2_rnldas2_mnldas2 (indicating that +we're using the nldas2 grid for land/atmosphere, runoff ('r') and the +ocean mask ('m'). + + +Bugs fixed or introduced +------------------------ + +Issues fixed (include CTSM Issue #): +- Resolves ESCOMP/ctsm#451 (Add NWP physics option) +- Resolves ESCOMP/ctsm#452 (Add an NWP compset) + + +Significant changes to scientifically-supported configurations +-------------------------------------------------------------- + +Does this tag change answers significantly for any of the following physics configurations? +(Details of any changes will be given in the "Answer changes" section below.) + + [Put an [X] in the box for any configuration with significant answer changes.] + +[ ] clm5_0 + +[ ] ctsm5_0-nwp + +[ ] clm4_5 + +Notes of particular relevance for users +--------------------------------------- + +Caveats for users (e.g., need to interpolate initial conditions): +- The NWP configuration is still a work in progress +- The NLDAS surface data set is still a work in progress (will soon + update this to use high-res PFTs) + +Changes to CTSM's user interface (e.g., new/renamed XML or namelist variables): +- New xml variables: + - CLM_CONFIGURATION (will eventually be renamed to CTSM_CONFIGURATION) + - CLM_STRUCTURE (will eventually be renamed to CTSM_STRUCTURE) +- New namelist variable: + - itmax_canopy_fluxes + +Changes made to namelist defaults (e.g., changed parameter values): +No changes for existing CLM compsets; new defaults for NWP compsets + +Changes to the datasets (e.g., parameter, surface or initial files): +No changes for existing grids; new surface dataset for nldas2 grid + +Substantial timing or memory changes: none + +Notes of particular relevance for developers: (including Code reviews and testing) +--------------------------------------------- +NOTE: Be sure to review the steps in README.CHECKLIST.master_tags as well as the coding style in the Developers Guide + +Caveats for developers (e.g., code that is duplicated that requires double maintenance): none + +Changes to tests or testing: +- New tests covering NWP compsets, nldas grid and nldas datm forcing + +Code reviewed by: Mike Barlage, Erik Kluzek + + +CTSM testing: + + [PASS means all tests PASS and OK means tests PASS other than expected fails.] + + build-namelist tests: + + cheyenne - ok + + tests pass; namelists change as expected + + tools-tests (test/tools): + + cheyenne - not run + + PTCLM testing (tools/shared/PTCLM/test): + + cheyenne - not run + + regular tests (aux_clm): + + cheyenne ---- pass + hobart ------ pass + +CTSM tag used for the baseline comparisons: ctsm1.0.dev037 + + +Answer changes +-------------- + +Changes answers relative to baseline: NO + + +Detailed list of changes +------------------------ + +List any externals directories updated (cime, rtm, mosart, cism, fates, etc.): +- MOSART: release-cesm2.0.00 -> nldas-grid.n01_mosart1_0_31 +- CIME: ctsm/ctsm1.0/cime5.7.9/n04 -> ctsm/ctsm1.0/cime5.7.9/n05 + +Pull Requests that document the changes (include PR ids): +- https://github.com/ESCOMP/ctsm/pull/682 +- https://github.com/ESCOMP/ctsm/pull/685 + +=============================================================== +=============================================================== Tag name: ctsm1.0.dev037 Originator(s): sacks (Bill Sacks) Date: Mon Apr 29 16:11:47 MDT 2019 diff --git a/doc/ChangeSum b/doc/ChangeSum index 3dadcb8fcf..594b790d02 100644 --- a/doc/ChangeSum +++ b/doc/ChangeSum @@ -1,5 +1,6 @@ Tag Who Date Summary ============================================================================================================================ + ctsm1.0.dev038 sacks 05/01/2019 Support for NWP configuration, NLDAS grid and NLDAS datm forcing ctsm1.0.dev037 sacks 04/29/2019 Change year alignment for present-day I compsets ctsm1.0.dev036 erik 04/26/2019 Fix carbon isotope bug that caused wrong answers for isotopes under transient land-use change ctsm1.0.dev035 sacks 04/22/2019 Change h2ocan to a purely diagnostic variable