Skip to content

Commit

Permalink
Merge pull request #2 from DirkOlivie/release-clm5.0.14-Nor
Browse files Browse the repository at this point in the history
taken over some functionalities from NorESM2 (related to SSP scenarios)
  • Loading branch information
DirkOlivie authored Mar 20, 2020
2 parents 273812a + 3c245b1 commit 9fee9b4
Show file tree
Hide file tree
Showing 21 changed files with 882 additions and 452 deletions.
218 changes: 137 additions & 81 deletions bld/CLMBuildNamelist.pm

Large diffs are not rendered by default.

814 changes: 463 additions & 351 deletions bld/namelist_files/namelist_defaults_clm4_5.xml

Large diffs are not rendered by default.

52 changes: 40 additions & 12 deletions bld/namelist_files/namelist_definition_clm4_5.xml
Original file line number Diff line number Diff line change
Expand Up @@ -507,6 +507,23 @@ Allowed values are:
Only applies when melt_non_icesheet_ice_runoff is .true.
</entry>

<entry id="glacier_region_rain_to_snow_behavior" type="char*32(10)" category="clm_physics"
group="clm_glacier_behavior"
valid_values="converted_to_snow,runs_off" >
When rain-snow repartitioning / downscaling results in rain being converted to
snow, the behavior of the resulting additional snow.
First item corresponds to GLACIER_REGION with ID 0 in the surface dataset,
second to GLACIER_REGION with ID 1, etc.
Allowed values are:
'converted_to_snow': rain is converted to snow, with a corresponding sensible
heat flux correction
'runs_off': rather than being converted to snow, the excess rain runs off
immediately
IMPORTANT NOTE: Unlike other glacier_region*behavior namelist options, this
option applies to all landunit types in the given regions.
Only applies when repartition_rain_snow is .true.
</entry>

<entry id="glc_snow_persistence_max_days" type="integer" category="clm_physics"
group="clm_inparm" valid_values="" >
Number of days before one considers the perennially snow-covered point 'land ice'
Expand Down Expand Up @@ -596,6 +613,11 @@ Toggle to turn on the FATES model
(use_fates= '.true.' is EXPERIMENTAL NOT SUPPORTED!)
</entry>

<entry id="fates_parteh_mode" type="integer" category="physics"
group="clm_inparm" valid_values="1">
Switch deciding which nutrient model to use in FATES.
</entry>

<entry id="use_fates_spitfire" type="logical" category="physics"
group="clm_inparm" valid_values="" value=".false.">
Toggle to turn on spitfire module for modeling fire (only relevant if FATES is being used).
Expand Down Expand Up @@ -1707,7 +1729,7 @@ Mapping file to go from one resolution/land-mask to another resolution/land-mask

<entry id="lmask" type="char*10" category="mksurfdata"
group="default_settings"
valid_values="nomask,navy,AVHRR,MODIS,USGS,IGBPmergeICESatGIS,IGBP-GSDP,ISRIC-WISE,LandScan2004,GLOBE-Gardner,GLOBE-Gardner-mergeGIS,GRDC,HYDRO1K-merge-nomask,ORNL-Soil">
valid_values="nomask,navy,AVHRR,MODIS,MODISv2,USGS,IGBPmergeICESatGIS,IGBP-GSDP,ISRIC-WISE,LandScan2004,GLOBE-Gardner,GLOBE-Gardner-mergeGIS,GRDC,HYDRO1K-merge-nomask,ORNL-Soil">
Land mask description for mksurfdata input files
</entry>

Expand Down Expand Up @@ -1759,9 +1781,9 @@ CLM run type.
<entry id="res" type="char*30" category="default_settings"
group="default_settings"
valid_values=
"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,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">
"conus_30_x8,512x1024,360x720cru,128x256,64x128,48x96,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,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
Note: 0.1x0.1, 0.25x0.25, 0.5x0.5, 5x5min, 10x10min, 3x3min, 1km-merge-10min and 0.33x0.33 are only used for CLM tools
</entry>

<entry id="rcp" type="real" category="default_settings"
Expand All @@ -1771,9 +1793,9 @@ Representative concentration pathway for future scenarios [radiative forcing at
-999.9 means do NOT use a future scenario, just use historical data.
</entry>

<entry id="ssp-rcp" type="character*8" category="default_settings"
<entry id="ssp_rcp" type="char*8" category="default_settings"
group="default_settings"
valid_values="hist,SSP1-2.6,SSP3-7.0,SSP4-3.4,SSP4-6.0,SSP5-8.5">
valid_values=",hist,SSP1-2.6,SSP3-7.0,SSP5-3.4,SSP2-4.5,SSP1-1.9,SSP4-3.4,SSP4-6.0,SSP5-8.5">
Shared Socioeconomic Pathway (SSP) and Representative Concentration Pathway (RCP) combination for future scenarios
The form is SSPn-m.m Where n is the SSP number and m.m is RCP radiative forcing at peak or 2100 in W/m^2
n is just the whole number of the specific SSP scenario. The lower numbers have higher mitigation
Expand All @@ -1783,7 +1805,7 @@ hist means do NOT use a future scenario, just use historical data.

<entry id="mask" type="char*10" category="default_settings"
group="default_settings"
valid_values="USGS,gx3v7,gx1v6,gx1v7,navy,test,tx0.1v2,tx1v1,T62,cruncep">
valid_values="USGS,gx3v7,gx1v6,gx1v7,navy,test,tx0.1v2,tx1v1,T62,cruncep,tnx1v1,tnx0.25v1,tnx0.25v3,tnx0.25v4,tnx1v4,tnx1v3">
Land mask description
</entry>

Expand All @@ -1801,19 +1823,20 @@ to run with a different type of atmospheric forcing.
If 1, turn on the MEGAN model for BVOC's (Biogenic Volitile Organic Compounds)
</entry>

<entry id="sim_year" type="integer" category="default_settings"
<entry id="sim_year" type="char*4" category="default_settings"
group="default_settings" valid_values=
"1000,850,1100,1350,1600,1850,1855,1865,1875,1885,1895,1905,1915,1925,1935,1945,1955,1965,1975,1980,1985,1995,2000,2005,2010,2015,2025,2035,2045,2055,2065,2075,2085,2095,2105">
"PtVg,1000,850,1100,1350,1600,1850,1855,1865,1875,1885,1895,1905,1915,1925,1935,1945,1955,1965,1975,1980,1985,1995,2000,2005,2010,2015,2025,2035,2045,2055,2065,2075,2085,2095,2105">
Year to simulate and to provide datasets for (such as surface datasets, initial conditions, aerosol-deposition, Nitrogen deposition rates etc.)
A sim_year of 1000 corresponds to data used for testing only, NOT corresponding to any real datasets.
A sim_year greater than 2005 corresponds to rcp scenario data
A sim_year greater than 2015 corresponds to ssp_rcp scenario data
A sim_year of PtVg refers to the Potential Vegetation dataset, that doesn't include human influences
Most years are only used for clm_tools and there aren't CLM datasets that correspond to them.
CLM datasets exist for years: 1000 (for testing), 1850, and 2000
</entry>

<entry id="sim_year_range" type="char*9" category="default_settings"
group="default_settings" valid_values=
"constant,1000-1002,1000-1004,850-1100,1100-1350,1350-1600,1600-1850,1850-1855,1850-2000,1850-2005,1850-2100,1980-2015,2000-2100">
"constant,1000-1002,1000-1004,850-1100,1100-1350,1350-1600,1600-1850,1850-1855,1850-2000,1850-2005,1850-2100,1980-2015,2000-2100,2100-2300">
Range of years to simulate transitory datasets for (such as dynamic: land-use datasets, aerosol-deposition, Nitrogen deposition rates etc.)
Constant means simulation will be held at a constant year given in sim_year.
A sim_year_range of 1000-1002 or 1000-1004 corresponds to data used for testing only, NOT corresponding to any real datasets.
Expand All @@ -1840,8 +1863,8 @@ Attributes to use when looking for an initial condition file (finidat) if interp
How close in years to use when looking for an initial condition file (finidat) if interpolation is turned on (use_init_interp is .true.)
</entry>

<entry id="init_interp_sim_years" type="integer(2)" category="default_settings"
group="default_settings" valid_values="1850,2000" >
<entry id="init_interp_sim_years" type="integer(4)" category="default_settings"
group="default_settings" valid_values="1850,2000,2010,2015" >
Simulation years you can look for in initial condition files (finidat) if interpolation is turned on (use_init_interp is .true.)
</entry>

Expand Down Expand Up @@ -1952,6 +1975,11 @@ Number of days over which to use exponential relaxation of NPP in N fixation cal
Flag to reseed any dead plants on startup from reading the initial conditions file
</entry>

<entry id="dribble_crophrv_xsmrpool_2atm" type="logical" category="clm_physics"
group="cn_general" valid_values="" >
Harvest the XSMR pool at crop harvest time to the atmosphere slowly at an exponential rate
</entry>

<!-- C isotope flags -->
<entry id="use_c13" type="logical" category="clm_isotope"
group="clm_inparm" valid_values="" >
Expand Down
19 changes: 19 additions & 0 deletions bld/namelist_files/use_cases/1850-2100_SSP1-1.9_transient.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
<?xml version="1.0"?>

<namelist_defaults>

<use_case_desc >Simulate transient land-use, and aerosol deposition changes from 1850 to current day with historical data, and then to 2100 with the CMIP6 SSP1-1.9 scenario</use_case_desc>
<use_case_desc use_cn=".true." >Simulate transient land-use, aerosol deposition, and Nitrogen deposition changes from 1850 to current day with historical data, and then to 2100 with the CMIP6 SSP1-1.9 scenario</use_case_desc>

<!-- Have a minimal list of things set here, sim_year, sim_year_range, and ssp_rcp, other things should be dependent on these and
set in a namelist_defaults xml file -->

<sim_year>1850</sim_year>

<sim_year_range>1850-2100</sim_year_range>

<ssp_rcp>SSP1-1.9</ssp_rcp>

<clm_demand >flanduse_timeseries</clm_demand>

</namelist_defaults>
19 changes: 19 additions & 0 deletions bld/namelist_files/use_cases/1850-2100_SSP1-2.6_transient.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
<?xml version="1.0"?>

<namelist_defaults>

<use_case_desc >Simulate transient land-use, and aerosol deposition changes from 1850 to current day with historical data, and then to 2100 with the CMIP6 SSP1-2.6 scenario</use_case_desc>
<use_case_desc use_cn=".true." >Simulate transient land-use, aerosol deposition, and Nitrogen deposition changes from 1850 to current day with historical data, and then to 2100 with the CMIP6 SSP1-2.6 scenario</use_case_desc>

<!-- Have a minimal list of things set here, sim_year, sim_year_range, and ssp_rcp, other things should be dependent on these and
set in a namelist_defaults xml file -->

<sim_year>1850</sim_year>

<sim_year_range>1850-2100</sim_year_range>

<ssp_rcp>SSP1-2.6</ssp_rcp>

<clm_demand >flanduse_timeseries</clm_demand>

</namelist_defaults>
19 changes: 19 additions & 0 deletions bld/namelist_files/use_cases/1850-2100_SSP2-4.5_transient.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
<?xml version="1.0"?>

<namelist_defaults>

<use_case_desc >Simulate transient land-use, and aerosol deposition changes from 1850 to current day with historical data, and then to 2100 with the CMIP6 SSP2-4.5 scenario</use_case_desc>
<use_case_desc use_cn=".true." >Simulate transient land-use, aerosol deposition, and Nitrogen deposition changes from 1850 to current day with historical data, and then to 2100 with the CMIP6 SSP2-4.5 scenario</use_case_desc>

<!-- Have a minimal list of things set here, sim_year, sim_year_range, and ssp_rcp, other things should be dependent on these and
set in a namelist_defaults xml file -->

<sim_year>1850</sim_year>

<sim_year_range>1850-2100</sim_year_range>

<ssp_rcp>SSP2-4.5</ssp_rcp>

<clm_demand >flanduse_timeseries</clm_demand>

</namelist_defaults>
19 changes: 19 additions & 0 deletions bld/namelist_files/use_cases/1850-2100_SSP3-7.0_transient.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
<?xml version="1.0"?>

<namelist_defaults>

<use_case_desc >Simulate transient land-use, and aerosol deposition changes from 1850 to current day with historical data, and then to 2100 with the CMIP6 SSP3-7.0 scenario</use_case_desc>
<use_case_desc use_cn=".true." >Simulate transient land-use, aerosol deposition, and Nitrogen deposition changes from 1850 to current day with historical data, and then to 2100 with the CMIP6 SSP3-7.0 scenario</use_case_desc>

<!-- Have a minimal list of things set here, sim_year, sim_year_range, and ssp_rcp, other things should be dependent on these and
set in a namelist_defaults xml file -->

<sim_year>1850</sim_year>

<sim_year_range>1850-2100</sim_year_range>

<ssp_rcp>SSP3-7.0</ssp_rcp>

<clm_demand >flanduse_timeseries</clm_demand>

</namelist_defaults>
19 changes: 19 additions & 0 deletions bld/namelist_files/use_cases/1850-2100_SSP4-3.4_transient.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
<?xml version="1.0"?>

<namelist_defaults>

<use_case_desc >Simulate transient land-use, and aerosol deposition changes from 1850 to current day with historical data, and then to 2100 with the CMIP6 SSP4-3.4 scenario</use_case_desc>
<use_case_desc use_cn=".true." >Simulate transient land-use, aerosol deposition, and Nitrogen deposition changes from 1850 to current day with historical data, and then to 2100 with the CMIP6 SSP4-3.4 scenario</use_case_desc>

<!-- Have a minimal list of things set here, sim_year, sim_year_range, and ssp_rcp, other things should be dependent on these and
set in a namelist_defaults xml file -->

<sim_year>1850</sim_year>

<sim_year_range>1850-2100</sim_year_range>

<ssp_rcp>SSP4-3.4</ssp_rcp>

<clm_demand >flanduse_timeseries</clm_demand>

</namelist_defaults>
19 changes: 19 additions & 0 deletions bld/namelist_files/use_cases/1850-2100_SSP4-6.0_transient.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
<?xml version="1.0"?>

<namelist_defaults>

<use_case_desc >Simulate transient land-use, and aerosol deposition changes from 1850 to current day with historical data, and then to 2100 with the CMIP6 SSP4-6.0 scenario</use_case_desc>
<use_case_desc use_cn=".true." >Simulate transient land-use, aerosol deposition, and Nitrogen deposition changes from 1850 to current day with historical data, and then to 2100 with the CMIP6 SSP4-6.0 scenario</use_case_desc>

<!-- Have a minimal list of things set here, sim_year, sim_year_range, and ssp_rcp, other things should be dependent on these and
set in a namelist_defaults xml file -->

<sim_year>1850</sim_year>

<sim_year_range>1850-2100</sim_year_range>

<ssp_rcp>SSP4-6.0</ssp_rcp>

<clm_demand >flanduse_timeseries</clm_demand>

</namelist_defaults>
19 changes: 19 additions & 0 deletions bld/namelist_files/use_cases/1850-2100_SSP5-3.4_transient.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
<?xml version="1.0"?>

<namelist_defaults>

<use_case_desc >Simulate transient land-use, and aerosol deposition changes from 1850 to current day with historical data, and then to 2100 with the CMIP6 SSP5-3.4 scenario</use_case_desc>
<use_case_desc use_cn=".true." >Simulate transient land-use, aerosol deposition, and Nitrogen deposition changes from 1850 to current day with historical data, and then to 2100 with the CMIP6 SSP5-3.4 scenario</use_case_desc>

<!-- Have a minimal list of things set here, sim_year, sim_year_range, and ssp_rcp, other things should be dependent on these and
set in a namelist_defaults xml file -->

<sim_year>1850</sim_year>

<sim_year_range>1850-2100</sim_year_range>

<ssp_rcp>SSP5-3.4</ssp_rcp>

<clm_demand >flanduse_timeseries</clm_demand>

</namelist_defaults>
19 changes: 19 additions & 0 deletions bld/namelist_files/use_cases/1850-2100_SSP5-8.5_transient.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
<?xml version="1.0"?>

<namelist_defaults>

<use_case_desc >Simulate transient land-use, and aerosol deposition changes from 1850 to current day with historical data, and then to 2100 with the CMIP6 SSP5-8.5 scenario</use_case_desc>
<use_case_desc use_cn=".true." >Simulate transient land-use, aerosol deposition, and Nitrogen deposition changes from 1850 to current day with historical data, and then to 2100 with the CMIP6 SSP5-8.5 scenario</use_case_desc>

<!-- Have a minimal list of things set here, sim_year, sim_year_range, and ssp_rcp, other things should be dependent on these and
set in a namelist_defaults xml file -->

<sim_year>1850</sim_year>

<sim_year_range>1850-2100</sim_year_range>

<ssp_rcp>SSP5-8.5</ssp_rcp>

<clm_demand >flanduse_timeseries</clm_demand>

</namelist_defaults>
36 changes: 36 additions & 0 deletions bld/namelist_files/use_cases/2014_control.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
<?xml version="1.0"?>

<namelist_defaults>

<use_case_desc>Conditions to simulate 2014 land-use</use_case_desc>

<sim_year>2000</sim_year>

<sim_year_range>constant</sim_year_range>

<irrigate use_crop=".true." phys="clm5_0" use_cndv=".false.">.true.</irrigate>
<irrigate use_crop=".true." phys="clm5_0" use_cndv=".true." >.false.</irrigate>
<irrigate use_crop=".true." phys="clm4_5" >.false.</irrigate>

<stream_year_first_ndep phys="clm4_0" bgc="cn" >2014</stream_year_first_ndep>
<stream_year_last_ndep phys="clm4_0" bgc="cn" >2014</stream_year_last_ndep>

<stream_year_first_ndep phys="clm4_0" bgc="cndv" >2014</stream_year_first_ndep>
<stream_year_last_ndep phys="clm4_0" bgc="cndv" >2014</stream_year_last_ndep>

<stream_year_first_ndep phys="clm4_5" use_cn=".true." >2014</stream_year_first_ndep>
<stream_year_last_ndep phys="clm4_5" use_cn=".true." >2014</stream_year_last_ndep>

<stream_year_first_ndep phys="clm5_0" use_cn=".true." >2014</stream_year_first_ndep>
<stream_year_last_ndep phys="clm5_0" use_cn=".true." >2014</stream_year_last_ndep>

<stream_year_first_popdens phys="clm4_5" cnfireson=".true." >2014</stream_year_first_popdens>
<stream_year_last_popdens phys="clm4_5" cnfireson=".true." >2014</stream_year_last_popdens>

<stream_year_first_popdens phys="clm5_0" cnfireson=".true." >2014</stream_year_first_popdens>
<stream_year_last_popdens phys="clm5_0" cnfireson=".true." >2014</stream_year_last_popdens>

<stream_year_first_urbantv phys="clm5_0" >2014</stream_year_first_urbantv>
<stream_year_last_urbantv phys="clm5_0" >2014</stream_year_last_urbantv>

</namelist_defaults>
19 changes: 19 additions & 0 deletions bld/namelist_files/use_cases/2101-2300_SSP5-8.5_transient.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
<?xml version="1.0"?>

<namelist_defaults>

<use_case_desc >Simulate transient land-use, and aerosol deposition changes from 1850 to current day with historical data, and then to 2100 with the CMIP6 SSP5-8.5 scenario</use_case_desc>
<use_case_desc use_cn=".true." >Simulate transient land-use, aerosol deposition, and Nitrogen deposition changes from 1850 to current day with historical data, and then to 2100 with the CMIP6 SSP5-8.5 scenario</use_case_desc>

<!-- Have a minimal list of things set here, sim_year, sim_year_range, and ssp_rcp, other things should be dependent on these and
set in a namelist_defaults xml file -->

<sim_year>1850</sim_year>

<sim_year_range>2100-2300</sim_year_range>

<ssp_rcp>SSP5-8.5</ssp_rcp>

<clm_demand >flanduse_timeseries</clm_demand>

</namelist_defaults>
14 changes: 12 additions & 2 deletions cime_config/buildnml
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,7 @@ def buildnml(case, caseroot, compname):
run_reftod = case.get_value("RUN_REFTOD")
glc_nec = case.get_value("GLC_NEC")
mask = case.get_value("MASK_GRID")
ocn_grid = case.get_value("OCN_GRID")

# -----------------------------------------------------
# Set clmconf
Expand Down Expand Up @@ -230,8 +231,17 @@ def buildnml(case, caseroot, compname):
create_namelist_infile(case, user_nl_file, namelist_infile, "\n".join(infile_lines))

cmd = os.path.join(lnd_root,"bld","build-namelist")

command = ("%s -cimeroot %s -infile %s -csmdata %s -inputdata %s %s -namelist \"&clm_inparm start_ymd=%s %s/ \" "
if ocn_grid == "tnx1v1" or ocn_grid == "tnx0.25v1" or ocn_grid == "tnx1v3" or ocn_grid == "tnx1v4" or ocn_grid == "tnx0.25v3" or ocn_grid == "tnx0.25v4":
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 "
"-lnd_frac %s -glc_nec %s -co2_ppmv %s -co2_type %s -config %s "
"%s %s %s %s -mask %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,
clm_bldnml_opts, spinup, tuning, gridmask, ocn_grid))
else:
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 "
"-lnd_frac %s -glc_nec %s -co2_ppmv %s -co2_type %s -config %s "
"%s %s %s %s"
Expand Down
Loading

0 comments on commit 9fee9b4

Please sign in to comment.