=============================================================== Tag name: ctsm5.2.003 Originator(s): samrabin (Sam Rabin, UCAR/TSS, samrabin@ucar.edu) Date: Thu May 2 14:06:54 MDT 2024 One-line Summary: Merge b4b-dev Purpose and description of changes ---------------------------------- Brings in 4 PRs from b4b-dev to master: - Regional CTSM Simulations and Capability of Creating Mesh Files (ESCOMP/CTSM#1892; Negin Sobhani and Adrianna Foster) - Add line about documentation in PR template (ESCOMP/CTSM#2488; Sam Rabin) - CTSM5.2 2000 fsurdat T42 64x128 file (ESCOMP/CTSM#2495; Sam Levis) - Move plumber2 scripts to python directory (ESCOMP/CTSM#2505; Teagan King) 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.] [ ] clm6_0 [ ] clm5_1 [ ] clm5_0 [ ] ctsm5_0-nwp [ ] clm4_5 Bugs fixed ---------- List of CTSM issues fixed (include CTSM Issue # and description): - Resolves ESCOMP/CTSM#1513: Need a process to subset ESMF mesh files from global ones for regional grids - Resolves ESCOMP/CTSM#1773: High resolution regional simulations - Resolves ESCOMP/CTSM#2187: Move new PLUMBER2 scripts to python directory to enable python testing - Resolves ESCOMP/CTSM#2486: Temporarily add back a T42 dataset for CAM Notes of particular relevance for users --------------------------------------- Changes to documentation: - Adds documentation for making mesh files Notes of particular relevance for developers: --------------------------------------------- Changes to tests or testing: - Adds testing for mesh-making Python scripts - Adds testing for plumber2_surf_wrapper Testing summary: ---------------- regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing): derecho ----- OK izumi ------- OK Other details ------------- Pull Requests that document the changes (include PR ids): - ESCOMP/CTSM#2513: Merge b4b-dev 2024-05-02 - Constituent PRs: - ESCOMP/CTSM#1892: Regional CTSM Simulations and Capability of Creating Mesh Files (https://github.com/ESCOMP/CTSM/pull/1892) - ESCOMP/CTSM#2488: Add line about documentation in PR template (https://github.com/ESCOMP/CTSM/pull/2488) - ESCOMP/CTSM#2495: CTSM5.2 2000 fsurdat T42 64x128 file (https://github.com/ESCOMP/CTSM/pull/2495) - ESCOMP/CTSM#2505: Move plumber2 scripts to python directory (https://github.com/ESCOMP/CTSM/pull/2505) =============================================================== =============================================================== Tag name: ctsm5.2.002 Originator(s): glemieux (Gregory Lemieux, LBNL, glemieux@lbl.gov) Date: Fri 26 Apr 2024 11:13:46 AM MDT One-line Summary: FATES default allometry parameter file update Purpose and description of changes ---------------------------------- This updates the default FATES parameter file which includes a number of changes: - Default global tree pft allometry update - New allometric mode options - New scaling coefficients for alternative leaf maintenance respiration - New switch to control the use of host land model day length scaling factor This also incorporates some testing additions and clean up, including: - Removes cheyenne expected failure tests that have been converted to derecho - Adds a 5x5_amazon test to aux_clm and the expected failures list - Temporarilry converts a fates 5x5_amazon test to f10 test - Adds namelist check and corresponding unit test to make sure fates hydro and fates satellite phenology mode can not be used together The FATES externals tag is also updated which includes a number of bug fixes and the addition of new history output. 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.] [ ] clm6_0 [ ] clm5_1 [ ] clm5_0 [ ] ctsm5_0-nwp [ ] clm4_5 Notes of particular relevance for users --------------------------------------- Caveats for users (e.g., need to interpolate initial conditions): NOTE: FATES hydro mode and FATES satellite phenology mode can not be used in conjunction as of this API update Changes made to namelist defaults (e.g., changed parameter values): FATES parameter file default updated to fates_params_api.35.0.0_12pft_c240326.nc Notes of particular relevance for developers: --------------------------------------------- Changes to tests or testing: A 5x5_amazon smoke test, not using MPI-serial has been added to the test list and list of expected failures to track issue #2423. Out-of-date cheyenne tests on the expected failure list have been removed. Testing summary: ---------------- [PASS means all tests PASS; OK means tests PASS other than expected fails.] build-namelist tests (if CLMBuildNamelist.pm has changed): derecho - PASS regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing): derecho ----- OK izumi ------- OK fates tests: (give name of baseline if different from CTSM tagname, normally fates baselines are fates--) derecho ----- OK izumi ------- OK Answer changes -------------- Changes answers relative to baseline: Yes, only for FATES configurations Summarize any changes to answers, i.e., - what code configurations: FATES - what platforms/compilers: ALL - nature of change (roundoff; larger than roundoff/same climate; new climate): larger than roundoff The FATES externals update incorporates a number of bug fixes and the new allometry default paramters result in a new scientific baseline. Other details ------------- List any externals directories updated (cime, rtm, mosart, cism, fates, etc.): FATES: sci.1.72.2_api.34.0.0 -> sci.1.73.0_api.35.0.0 Pull Requests that document the changes (include PR ids): (https://github.com/ESCOMP/ctsm/pull) #2436 -- FATES API35 parameter file update NGEET#1093 -- Update default allometry parameters for tree PFTs NGEET#1128 -- New allometric modes NGEET#1149 -- Alternative vertical scaling of leaf maintenance respiration NGEET#1161 -- Adding day length factor switch =============================================================== =============================================================== Tag name: ctsm5.2.001 Originator(s): erik (Erik Kluzek,UCAR/TSS,303-497-1326) Date: Mon 22 Apr 2024 02:10:55 PM MDT One-line Summary: Merge b4b-dev Purpose and description of changes ---------------------------------- Some fixes for run_neon that came up in ctsm5.1.dev172. Small bug fix for units of vector format hillslope hydrology. Start adding PLUMBER2 users-mods (NOT functional) 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.] [ ] clm6_0 [ ] clm5_1 [ ] clm5_0 [ ] ctsm5_0-nwp [ ] clm4_5 Bugs fixed ---------- List of CTSM issues fixed (include CTSM Issue # and description) [one per line]: #2470 -- NEON case won't build #2471 -- run_neon calendar issues #2474 -- externals prevent creation of directory #2414 -- Correct subset_data error checking #2437 -- externals update broke NEON features #2435 -- Issues with run_neon with the --experiment flag starting in ctsm5.1.dev172 Partial for #2137 -- Create csv file and user-mod directories for PLUMBER2 sites Notes of particular relevance for users --------------------------------------- Caveats for users (e.g., need to interpolate initial conditions): NOTE: The new PLUMBER2 user-mods can NOT be used right now! More changes need to happen before PLUMBER2 sites can be run Changes to CTSM's user interface (e.g., new/renamed XML or namelist variables): New namelist item: lai_dtlimit (when use_lai_streams is on) User-mod directories are coming in for: PLUMBER2 Notes of particular relevance for developers: --------------------------------------------- Caveats for developers (e.g., code that is duplicated that requires double maintenance): Introduces some NCL scripts for PLUMBER2 that we need to convert to python Testing summary: regular ---------------- [PASS means all tests PASS; OK means tests PASS other than expected fails.] build-namelist tests (if CLMBuildNamelist.pm has changed): derecho - PASS python testing (if python code has changed; see instructions in python/README.md; document testing done): derecho - PASS regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing): derecho ----- OK izumi ------- OK If the tag used for baseline comparisons was NOT the previous tag, note that here: Answer changes -------------- Changes answers relative to baseline: No bit-for-bit Other details ------------- Pull Requests that document the changes (include PR ids): (https://github.com/ESCOMP/ctsm/pull) @ekluzek @olyson @slevis-lmwg @TeaganKing @wwieder #2155 -- PLUMBER2 plumbing (csv file, wrapper script, usermods, and scripts). #2477 -- One-line fix for izumi NEON-MOAB test error introduced in #2472 #2472 -- B4b neon tag: simple bfb #2475 -- fix units for vector hh output #2435 -- experiment bug fix =============================================================== =============================================================== Tag name: ctsm5.2.0 Originator(s): many (see below) Date: Sat 20 Apr 2024 12:33:33 AM MDT One-line Summary: New surface datasets and new mksurfdata_esmf tool to create them Purpose and description of changes ---------------------------------- Changes to CTSM: ================ All new surface datasets. Transient urban and lake by default turned on for transient cases. Ocean is run as baresoil rather than wetland (for clm6_0). The urban streams file was also updated. The new surface datasets have new updated input datasets (see below). Update the README files. New surface datasets: ===================== The new surface datasets are incompatible with previous versions (for example the ctsm5.1 series) ctsm5.2.0 and following versions also can NOT use the previous ctsm5.1 datasets. See the section below about the new datasets used in their creation. Improvements in how landunits on coastal areas was also done. The following fields were added and removed to the list of fields on the datasets. Fields added: ORGC, BULK, CFRAG, PHAQ (soil data) (currently NOT used by CTSM) mapunits (map units from the soil dataset) LANDFRAC_MKSURFDATA (for reference NOT used by CTSM) PCT_OCEAN (previously PCT_WETLAND was used) Fields removed: AREA, PFTDATA_MASK New mksurfdata_esmf Tool: ========================= Implement a parallel version of mksurfdata (mksurfdata_esmf) that uses ESMF regridding directly in mksurfdata so that offline mapping files don't have to be created as a separate step. This allows mksurfdata to create surface datasets at much higher resolutions The build for the tool is based on the CESM/CIME build system and uses cmake. This allows the build to be kept up with changes in CESM. Currently it's only setup and working on Derecho. But, this design will enable it to be built and run on any CESM supported machine (or a machine that a user ports to). Any input grid from ccs_config can be used, or the user can supply their own mesh file to define the output grid. The user no longer has to add to the list of valid resolutions as in mksurfdata_map. Creation of supported single point datasets. These datasets are created through the use of subset_data. Test datasets for dynUrban, dynLake, and dynPFT is done with a simple NCO script. All datasets can be easily made by running "make all" in the tools/mksurfdata_esmf directory. For instructions see: tools/mksurfdata_esmf/README.md New input datasets to mksurfdata_esmf: ====================================== New soil dataset: ISRIC/WISE dataset Batjes (2016) https://doi.org/10.1016/j.geoderma.2016.01.034 New PFT, soil-color, LAI dataset: Created by Lawrence P.J. 2022 New Glacier datasets: Glacier outlines from RGI version 6 (Arendt et al., 2017). vector data for GrIS and AIS retrieved from BedMachine version 4 and version 2 (Morlighem et al., 2017, 2020), respectively. 30-arcsec topography/land mask retrieved GMTED2010 (Danielson and Gesch, 2011). New urban datasets: Gao and O'Neill (2021) and Gao and Pesaresi (2022), Oleson and Feddema (2020) New lake datasets: HydroLake: Messager et. al. (2016) Contributors ------------ @mvertens @ekluzek @slevis-lmwg @jedwards4b @billsacks @wwieder @lawrencepj1 @negin513 @dlawrenncar @olyson @keerzhang1 @fang-bowen @Face2sea @adamrher @samsrabin 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.] [x] clm6_0 (new) [x] clm5_1 [x] clm5_0 [x] ctsm5_0-nwp [x] clm4_5 Bugs fixed ---------- CTSM issues fixed (include CTSM Issue #): Fixes #1903 Create new surface datasets, CTSM5.2 branch Fixes #1716 Wetland area and areas of landunits in coastal grid cells should be determined more rigorously Fixes #1556 Remake PCT_PFT raw datasets to NOT force landunit area to 100%, and some other fixes needed to PCT_PFT raw datasets Fixes #1878 Convert wetlands to bare ground Fixes #2131 Add a "successfully completed" message to mksurfdata_esmf when the landuse.timeseries file is made Fixes #2218 CTSM5.2 branch dies weirdly when clm5.0/ctsm5.1 datasets are used -- die with an error Fixes #1483 hcru surface datasets Fixes #2228 sys test requirements for mksurfdata_esmf Fixes #90 Remove need for fatmgrid Fixes #80 Improve modularity of mksurfdata_map Fixes #1878 Convert wetlands to bare-ground Notes of particular relevance for users --------------------------------------- Caveats for users (e.g., need to interpolate initial conditions): These surface datasets can NOT be used in previous versions of the model Older surface datasets can NOT be used with this model version IMPORTANT NOTE FOR USERS FOR REGIONAL CASES: Because of this issue: https://github.com/ESCOMP/CTSM/issues/2430 We recommend that users use subset_data to subset your region from a global grid. This could mean creating a global grid at the resolution you need (if not standard) and then use subset_data on it to get the region of interest. Changes to CTSM's user interface (e.g., new/renamed XML or namelist variables): New CLM_PHYSICS_VERSION option of clm6_0 added (use it rather than clm5_1) New compsets for Clm60 added New namelist item: convert_ocean_to_land (default true for clm5_1 and clm6_0 physics) Changes made to namelist defaults (e.g., changed parameter values): clm5_1 physics options copied to clm6_0 do_transient_lake and do_transient_urban set to TRUE for transient cases Changes to the datasets (e.g., parameter, surface or initial files): New ctsm6.0 parameter file copied from the ctsm5.1 verison fsurdat and landuse.timeseries datasets all updated urbantv streams datasets updated Some initial condition datasets updated to go with the new datasets Things being deprecated (which will be removed): manage_externlas will be removed for git submodules mkmapgrids and other NCL scripts tools/test directory Notes of particular relevance for developers: --------------------------------------------- Caveats for developers (e.g., code that is duplicated that requires double maintenance): The namelist_defaults_ctsm.xml file was simplified which should make it easier to work with Changes to tests or testing: New system test in prealpha and aux_clm to create a surface dataset and run with it ctsm_sci testlist updated to run all CESM3 supported datasets See this document for the list of supported grids: https://docs.google.com/spreadsheets/d/1Osq56e423CF107zhoNQ0VS7-iH_JXLF9AtCvBdXyfJ4 Testing summary: regular ctsm_sci fates mosart rtm tools python ---------------- [PASS means all tests PASS; OK means tests PASS other than expected fails.] build-namelist tests (if CLMBuildNamelist.pm has changed): derecho - PASS (1396 tests compare different because of the namelist changes) python testing (if python code has changed; see instructions in python/README.md; document testing done): derecho - PASS regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing): derecho ----- OK izumi ------- OK fates tests: (fates-sci.1.72.2_api.34.0.0-ctsm5.2.0) derecho ----- OK izumi ------- OK any other testing (give details below): mksurfdata_esmf derecho ---- run "make all" to create all datasets (completes in 2-6 hours) (crop-global-SSP2-4.5-ne30 was longest at 6 hr, most completed in 3.5 hours) ctsm_sci (ctsm_sci-ctsm5.2.0) derecho ---- PASS rtm (rtm1_0_79_ctsm5.2.0) derecho ---- PASS mosart (mosart1_0_49_ctsm5.2.0) derecho ---- OK izumi ----- PASS If the tag used for baseline comparisons was NOT the previous tag, note that here: ctsm5.1.dev176 Answer changes -------------- Changes answers relative to baseline: Yes! Summarize any changes to answers, i.e., - what code configurations: All - what platforms/compilers: All - nature of change: new climate Discussion on the new datasets and new results are here: https://github.com/ESCOMP/CTSM/discussions/1868 It includes case comparision Other details ------------- Pull Requests that document the changes (include PR ids): (https://github.com/ESCOMP/ctsm/pull) #2464 -- Update ctsm5.2 branch to ctsm5.1.dev176 and some small updates #2417 -- Addition of clm6_0 physics option #2447 -- Update ctsm5.2 branch to ctsm5.1.dev175 #2427 -- Merge ctsm5.2 branch up to ctsm5.1.dev174 #2424 -- Clean up "make all" for 5.2 branch tag: bfb type: code cleanup #2318 -- Workaround for transient Smallville tests #1673 + testing all new datasets #1586 -- Enable the mksurfdata_map to generate landuse_timeseries for dynamic urban and lake #2327 -- Working on Derecho #2008 -- Get the Makefile working for CTSM5.2 surface dataset creation #2164 -- Distinguish between ocean and wetland in fsurdat files #2016 -- Preparing alpha-ctsm5.2.mksrf.16_ctsm5.1.dev123 tag #1946 -- Newest raw datasets for pft, lai, soilcolor #1873 -- Ctsm52 various updates #1920 -- mksurfdata: Rework mapping of landunits to handle coastal areas more rigorously #1890 -- Add option to convert wetlands to land; apply it by default for CLM51 physics #1866 -- Remove pftmask from history and PFTDATA_MASK from fsurdat files #1732 -- New soiltex for ctsm5.2.mksurfdata #1853 -- Implement GaoOneill raw urban datasets and OlesonFeddema urban properties into mksurfdata_esmf. #1796 -- Add consistency checks for mesh_nx mesh_ny relative to mesh_file in gen_mksurfdata_namelist.py #1748 -- Enable mksurfdata esmf to build and run on casper and izumi #1756 -- Add mksurfdata_esmf system test to test-suite tag: support tools only #1721 -- cmake build working on cheyenne for mksurfdata_esmf #1746 -- Change repo_url from git@... to https:... for ccs_config #1728 -- Accelerate generation of transient data with mksurfdata_esmf #1663 -- New parallel surface dataset generation with online regridding =============================================================== =============================================================== Tag name: ctsm5.1.dev176 Originator(s): afoster (Adrianna Foster,UCAR/TSS,303-497-1728) Date: Thu 04 Apr 2024 06:29:36 PM MDT One-line Summary: Merge b4b-dev Purpose and description of changes ---------------------------------- change needed for the addition of a dglc component in cdeps #2449 Move the dust emission source function soil erodibility for the Zender scheme from CAM to CTSM #1967 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.) [ ] clm5_1 [ ] clm5_0 [ ] ctsm5_0-nwp [ ] clm4_5 Bugs fixed ---------- [Remove any lines that don't apply. Remove entire section if nothing applies.] CTSM issues fixed (include CTSM Issue #): Closes #2222 - Fixing Negative Ice Fluxes from Ocean to Glacier Closes #2117 - Add LND_TUNING_MODE for CAM4, CAM5, CAM7 Addresses #2149 - Change handling of LND_TUNING_MODE so user is warned of which option is used, add more supported options Addresses part of #1836 - Move the soil erodibility dataset dust emission source function from CAM to CTSM Helps with ESCOMP/CAM#651 - Move the dust emission source function and global tuning factor from CAM to CTSM Known bugs introduced in this tag (include issue #): Notes of particular relevance for users --------------------------------------- Changes to CTSM's user interface (e.g., new/renamed XML or namelist variables): new namelist options for dust Testing summary: ---------------- build-namelist tests (if CLMBuildNamelist.pm has changed): derecho - PASS regular tests derecho ----- OK izumi ------- OK Pull Requests that document the changes (include PR ids): (https://github.com/ESCOMP/ctsm/pull): https://github.com/ESCOMP/CTSM/pull/2455 =============================================================== =============================================================== Tag name: ctsm5.1.dev175 Originator(s): slevis (Samuel Levis,UCAR/TSS,303-665-1310) Date: Thu 21 Mar 2024 05:49:04 PM MDT One-line Summary: merge-b4bdev-20240321 Purpose and description of changes ---------------------------------- Merge master 20240313 #2421 (Update of externals to what's expected in cesm2_3_beta17) Fix for cray compiler format issue #2391 Remove LILAC references to mct #2374 Refactoring of neon_site into tower_site and neon_site #2363 Fix misplaced stopf in CNDriverMod.F90 #2358 Update some PE layouts on Derecho #2429 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_1 [ ] clm5_0 [ ] ctsm5_0-nwp [ ] clm4_5 Bugs fixed ---------- CTSM issues fixed (include CTSM Issue #): Listed in Purpose and Description above Testing summary: ---------------- [PASS means all tests PASS; OK means tests PASS other than expected fails.] regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing): derecho ----- OK izumi ------- OK Answer changes -------------- Changes answers relative to baseline: NO Other details ------------- List any externals directories updated (cime, rtm, mosart, cism, fates, etc.): See #2421 for update of externals to what's expected in cesm2_3_beta17 Pull Requests that document the changes (include PR ids): https://github.com/ESCOMP/ctsm/pull/2431 =============================================================== =============================================================== Tag name: ctsm5.1.dev174 Originator(s): olyson (Keith Oleson,UCAR/TSS) Date: Thu 14 Mar 2024 04:56:37 PM MDT One-line Summary: Improve vegetation health at high latitudes Purpose and description of changes ---------------------------------- The corresponding changes: Remove snicar_snobc_intmix from EXPERIMENTAL endrun (allow it to be true) Remove flg_snoage_scl in SNICAR such that xdrdt can have an effect (fixes #2298 ) New parameter file and namelist values for clm5_1: - snow_thermal_cond_method = Sturm1997 (default for clm5_1) - snicar_snobc_intmix = .true. (default for clm5_1) - ctsm51_params.c240208.nc is the new CTSM parameter file (changes: froot_leaf(11:12)=1.2, FUN_fracfixers(11:12)=1, xdrdt=5, scvng_fct_mlt_sf=0.5, snw_rds_refrz=1500, fresh_snw_rds_max=400) - New history fields for coupler history verification (default off) - Add snow5d_thresh_for_onset to parameter file, set to 0.2 for clm51 and 0.1 (unchanged) for clm50 and clm45. 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.] [X] clm5_1 [ ] clm5_0 [ ] ctsm5_0-nwp [ ] clm4_5 Bugs fixed ---------- CTSM issues fixed (include CTSM Issue #): Fixes #2298 Fixes LMWG_dev discussion #3 New bug discovered or introduced: Relevant post appears in #2348 on 2024/3/14 Notes of particular relevance for users --------------------------------------- Changes to CTSM's user interface (e.g., new/renamed XML or namelist variables): New namelist defaults including new parameter files: ctsm51_params.c240208.nc clm50_params.c240208.nc clm45_params.c240208.nc ctsm51_ciso_cwd_hr_params.c240208.nc Testing summary: ---------------- [PASS means all tests PASS; OK means tests PASS other than expected fails.] regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing): derecho ----- OK izumi ------- OK any other testing (give details below): Keith Oleson replicated simulation in LMWG_dev issue #51 as bfb when snow5d_thresh_for_onset on ctsm51_ciso_cwd_hr_params.c240208.nc was set to original value of 0.1. Answer changes -------------- Changes answers relative to baseline: YES Summarize any changes to answers, i.e., - what code configurations: clm51 - what platforms/compilers: all - nature of change: new climate at high latitudes See LMWG_dev discussion #3 and simulations discussed therein, including (though possibly not limited to) LMWG_dev issues #51, 52, 54, 57. slevis will add this tag with the label "SIGNIFICANT" to the Answer-changing-tags wiki: https://github.com/ESCOMP/CTSM/wiki/Answer-changing-tags Other details ------------- Pull Requests that document the changes (include PR ids): https://github.com/ESCOMP/ctsm/pull/2348 =============================================================== =============================================================== Tag name: ctsm5.1.dev173 Originator(s): rgknox (Ryan Knox,LAWRENCE BERKELEY NATIONAL LABORATORY) Date: Wed 13 Mar 2024 04:46:37 PM MDT One-line Summary: New FATES namelist variable, fates_history_dimlevel Purpose and description of changes ---------------------------------- This set of changes introduces a new namelist setting that allows more control over fates history diagnostics. This setting, fates_history_dimlevel accepts two integers, comma-delimited, from 0-2. The first specifies the history output dimension level for high-frequency output (ie model timestep) and the second is for output at the dynamics timestep. A value of 0 indicates no history variables should be processed. A value of 1 indicates that only site-level mean values should be processed. A value of 2 indicates that all variables, including those that use an extra dimension should be processed. This is different from adding and excluding history variable names from the namelist, in that these settings not only omit variables from the output file, but they prevent their allocations and calculations all together. Processing history diagnostics in FATES takes a non-trivial amount of time. Significant changes to scientifically-supported configurations -------------------------------------------------------------- These changes have no non-trivial impacts on any scientific configurations, this is a refactor. Bugs fixed ---------- No bugs fixed, feature addition only. Notes of particular relevance for users --------------------------------------- Users should be aware of the new namelist setting fates_history_dimlevel. Omitting this setting will default to a level of "2" which enables all output and should maintain existing model behavior. Substantial timing or memory changes: The FATES model is somewhere on the order of 10% faster for level 0 and 1, versus 2, for large gridded runs with non satellite phenology, on derecho. Notes of particular relevance for developers: --------------------------------------------- None of note. Testing summary: ---------------- build-namelist tests (if CLMBuildNamelist.pm has changed): derecho - OK (64 fates tests differ) python testing (if python code has changed; see instructions in python/README.md; document testing done): derecho - PASS regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing): derecho ----- OK izumi ------- OK fates tests: (give name of baseline if different from CTSM tagname, normally fates baselines are fates--) derecho ----- OK izumi ------- OK If the tag used for baseline comparisons was NOT the previous tag, note that here: (used ctsm5.1.dev172) Answer changes -------------- Answer changes for FATES tests were detected. All diffs were small enough to be consistent with order of operations changes, with the exception of some variables that were updated to have ignore values used for non-vegetated patches instead of zero. =============================================================== =============================================================== Tag name: ctsm5.1.dev172 Originator(s): erik (Erik Kluzek,UCAR/TSS,303-497-1326) Date: Tue 12 Mar 2024 11:59:48 PM MDT One-line Summary: Merge b4b-dev Purpose and description of changes ---------------------------------- Update of externals to what's expected in cesm2_3_beta17. Some documentation updates including a rebuild of the documentation and updating how images are handled with git lfs. Improvements to the documentation for residue removal and tillage for prognostic crops. 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_1 [ ] clm5_0 [ ] ctsm5_0-nwp [ ] clm4_5 Bugs fixed ---------- CTSM issues fixed (include CTSM Issue #): Fixes #2351 Update to cesm2_3_beta17 externals Fixes #2380 ctsm_pylib on izumi can use python3.7.9 Fixes #2331 py_env_create fails on izumi Fixes #1910 modify_singlept_neon on izumi Fixes #1658 malformed file on izumi Fixes #2412 Check current directory isn't being removed in run_neon Notes of particular relevance for users --------------------------------------- Notes of particular relevance for developers: --------------------------------------------- NOTE: Be sure to review the steps in README.CHECKLIST.master_tags as well as the coding style in the Developers Guide [Remove any lines that don't apply. Remove entire section if nothing applies.] Caveats for developers (e.g., code that is duplicated that requires double maintenance): ccs_config config_machines.xml files were updated from v2 to v3 The timing and memory usage information was moved from drv.log to med.log for nuopc runs. This allows the creating of the baselines cpl-mem.log and cpl-tput.log files. SMP_PRESENT removed and BUILD_THREADED added. Changes to tests or testing: Bring back DEBUG testing with intel for mpi-serial cases. Testing summary: regular ---------------- [PASS means all tests PASS; OK means tests PASS other than expected fails.] build-namelist tests (if CLMBuildNamelist.pm has changed): derecho - PASS python testing (if python code has changed; see instructions in python/README.md; document testing done): derecho - PASS clm_pymods test suite on derecho - PASS regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing): derecho ----- OK izumi ------- OK If the tag used for baseline comparisons was NOT the previous tag, note that here: Answer changes -------------- Changes answers relative to baseline: no bit-for-bit Other details ------------- List any externals directories updated (cime, rtm, mosart, cism, fates, etc.): manage externals cismwrap_2_1_97 = rtm1_0_79 mosart1_0_49 ccs_config_cesm0.0.92 cime6.0.217_httpsbranch03 cmeps0.14.50 cdeps1.0.28 share1.0.18 Pull Requests that document the changes (include PR ids): (https://github.com/ESCOMP/ctsm/pull) #2396 Explain residue removal #2385 Update externals #2394 Fix tillage instructions and images #2389 Minor docs updates =============================================================== =============================================================== Tag name: ctsm5.1.dev171 Originator(s): olyson (Keith Oleson,UCAR/TSS) Date: Mon 04 Mar 2024 10:33:55 AM MST One-line Summary: Set initial t_soisno=272 for soils and 274K for urban road Purpose and description of changes ---------------------------------- Issue #2338 and PR #2355 explain: Soil temperature initialization not implemented correctly in ctsm5.1.dev058 and thus subsequent tags. 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_1 [ ] clm5_0 [ ] ctsm5_0-nwp [ ] clm4_5 Bugs fixed ---------- CTSM issues fixed (include CTSM Issue #): Fixes #2338 Notes of particular relevance for developers: --------------------------------------------- Changes to tests or testing: SMS_Lm3_D_Mmpi-serial.1x1_brazil.I2000Clm50FatesCruRsGs.izumi_intel.clm-FatesColdHydro added to expected failures, issue #2373, to be revisited when #2384 is resolved. Testing summary: ---------------- [PASS means all tests PASS; OK means tests PASS other than expected fails.] regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing): derecho ----- OK izumi ------- OK Answer changes -------------- Changes answers relative to baseline: YES Summarize any changes to answers, i.e., - what code configurations: all - what platforms/compilers: all - nature of change: larger than roundoff but not climate-changing The original diagnostics for this change are here: https://webext.cgd.ucar.edu/I2000/ctsm51c6_PPEn08ctsm51d023_2deg_GSWP3V1_Sparse400_cs_ts_tsoisno272_2000AD/lnd/ctsm51c6_PPEn08ctsm51d023_2deg_GSWP3V1_Sparse400_cs_ts_tsoisno272_2000AD.381_400-ctsm51c6_PPEn08ctsm51d023_2deg_GSWP3V1_Sparse400_cs_ts_2000AD.381_400/setsIndex.html Other details ------------- Pull Requests that document the changes (include PR ids): https://github.com/ESCOMP/ctsm/pull/2355 =============================================================== =============================================================== Tag name: ctsm5.1.dev170 Originator(s): samrabin (Sam Rabin, UCAR/TSS, samrabin@ucar.edu) Date: Wed Feb 28 11:01:43 MST 2024 One-line Summary: Add hillslope hydrology Purpose and description of changes ---------------------------------- Changes include multiple soil columns per vegetated landunit, additional meteorological downscaling, new subsurface lateral flow equations, and a hillslope routing parameterization. Described in: Swenson, S. C., Clark, M., Fan, Y., Lawrence, D. M., & Perket, J. (2019). Representing intra-hillslope lateral subsurface flow in the community land model. Journal of Advances in Modeling Earth Systems, 11, 4044–4065. https://doi.org/10.1029/2019MS001833 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_1 [ ] clm5_0 [ ] ctsm5_0-nwp [ ] clm4_5 Notes of particular relevance for developers: --------------------------------------------- Changes to tests or testing: * oldhyd test changes answers due to removal of origflag parameter * Adds several hillslope-specific tests Testing summary: ---------------- regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing): derecho ----- DIFF izumi ------- DIFF Answer changes -------------- Summarize any changes to answers, i.e., - what code configurations: all - what platforms/compilers: all - nature of change: roundoff If bitwise differences were observed, how did you show they were no worse than roundoff? Roundoff differences means one or more lines of code change results only by roundoff level (because order of operation changes for example). Roundoff changes to state fields usually grow to greater than roundoff as the simulation progresses. * FSDS answers change due to rounding differences, since the history field now uses a column-level variable instead of a gridcell-level one. Note that this is JUST the history field that's affected, which is why there are no diffs in any other variable. (Confirmed using branch at https://github.com/samsrabin/CTSM/tree/hillslope-revert-fsds-diffs.) * The origflag parameter (used to reproduce CLM4 behavior) was removed, so anything using that will break. This includes the oldhyd test. Other details ------------- Pull Requests that document the changes (include PR ids): * ESCOMP/CTSM#1715: Hillslope hydrology (https://github.com/ESCOMP/CTSM/pull/1715) * ESCOMP/CTSM#2390: Hillslope merge (https://github.com/ESCOMP/CTSM/pull/2390) =============================================================== =============================================================== Tag name: ctsm5.1.dev169 Originator(s): samrabin (Sam Rabin, UCAR/TSS, samrabin@ucar.edu) Date: Thu 22 Feb 2024 09:42:57 AM MST One-line Summary: Merge b4b-dev Purpose and description of changes ---------------------------------- Brings in 3 PRs from b4b-dev to master: - Do not crash "make all" even if pylint isn't clean (ESCOMP/CTSM#2353; Sam Rabin) - Resolve pylint issues (ESCOMP/CTSM#2354; Sam Rabin) - Move FSURDATMODIFYCTSM test to Derecho (ESCOMP/CTSM#2364; Sam Rabin) 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.) [ ] clm5_1 [ ] clm5_0 [ ] ctsm5_0-nwp [ ] clm4_5 Bugs fixed ---------- CTSM issues fixed: - Fixes ESCOMP/CTSM#2255: make lint is not clean in ctsm5.1.dev152 - Fixes ESCOMP/CTSM#2316: "make all" doesn't run black if lint fails - FIXES ESCOMP/CTSM#2362: FSURDATMODIFYCTSM test should be moved to Derecho or Izumi Notes of particular relevance for developers: --------------------------------------------- Changes to tests or testing: - FSURDATMODIFYCTSM test changed from derecho_intel (didn't work in debug mode) to derecho_gnu. I.e., from FSURDATMODIFYCTSM_D_Mmpi-serial_Ld1.5x5_amazon.I2000Clm50SpRs.derecho_intel to FSURDATMODIFYCTSM_D_Mmpi-serial_Ld1.5x5_amazon.I2000Clm50SpRs.derecho_gnu Testing summary: ---------------- [PASS means all tests PASS; OK means tests PASS other than expected fails.] regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing): derecho ----- OK izumi ------- OK any other testing (give details below): - "make all" in python/ is clean. Other details ------------- Pull Requests that document the changes (include PR ids): - ESCOMP/CTSM#2353: Do not crash "make all" even if pylint isn't clean (https://github.com/ESCOMP/CTSM/pull/2353) - ESCOMP/CTSM#2354: Resolve pylint issues (https://github.com/ESCOMP/CTSM/pull/2354) - ESCOMP/CTSM#2364: Move FSURDATMODIFYCTSM test to Derecho (https://github.com/ESCOMP/CTSM/pull/2364) =============================================================== =============================================================== Tag name: ctsm5.1.dev168 Originator(s): slevis (Samuel Levis,UCAR/TSS,303-665-1310) Date: Fri 16 Feb 2024 01:27:41 PM MST One-line Summary: Remove a source of negative snocan in CanopyFluxesMod Purpose and description of changes ---------------------------------- In ctsm5.2 testing, this test LWISO_Ld10.f10_f10_mg37.I2000Clm50BgcCrop.derecho_gnu.clm-coldStart complained of a tiny negative ice1_grc tracer not matching the bulk value. My troubleshooting led me to more than tiny negative snocan originating in a line of code that this PR now changes to prevent negative values. 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_1 [ ] clm5_0 [ ] ctsm5_0-nwp [ ] clm4_5 Bugs fixed ---------- CTSM issues fixed (include CTSM Issue #): Fixes #2366 Notes of particular relevance for developers: --------------------------------------------- Caveats for developers (e.g., code that is duplicated that requires double maintenance): It was suggested at the ctsm software meeting yesterday that, in addition to including "max(0._r8," in this line of code, that I reorder the code by bringing "liqcan(p) =" before "snocan(p) =". I have decided against this because the existing order repeats in a following paragraph of code right after this one. It's likely that the group's suggestion would have worked, but I did not want to delay this PR for a longer evaluation because CTSM5.2 is waiting for this merge, in order to proceed with next steps. Testing summary: ---------------- regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing): derecho ----- OK izumi ------- OK Answer changes -------------- Changes answers relative to baseline: YES Summarize any changes to answers, i.e., - what code configurations: all - what platforms/compilers: all - nature of change: roundoff A short test, e.g. SMS_Ln9.ne30pg2_ne30pg2_mg17.I1850Clm50Sp.derecho_intel.clm-clm50cam6LndTuningMode has these maximum differences: RMS H2OCAN 4.7359E-19 NORMALIZED 4.0163E-18 RMS SNOCAN 4.4873E-19 NORMALIZED 9.1036E-18 while the differences grow in longer tests. Other details ------------- Pull Requests that document the changes (include PR ids): https://github.com/ESCOMP/ctsm/pull/2371 =============================================================== =============================================================== Tag name: ctsm5.1.dev167 Originator(s): samrabin (Sam Rabin, UCAR/TSS, samrabin@ucar.edu) Date: Thu 08 Feb 2024 01:56:05 PM MST One-line Summary: Delete _FillValue and history from parameter files Purpose and description of changes ---------------------------------- Updates parameter files to c240207b. These are the same as c240105 except: - Attribute _FillValue has been removed from all variables - Global attributes history, history_of_appended_files, and latest_git_log have been removed 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.) [ ] clm5_1 [ ] clm5_0 [ ] ctsm5_0-nwp [ ] clm4_5 Bugs fixed ---------- CTSM issues fixed (include CTSM Issue #): - Fixes #2347 Testing summary: ---------------- regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing): derecho ----- OK izumi ------- OK Other details ------------- Pull Requests that document the changes (include PR ids): - #2350: Delete _FillValue and history from parameter files (https://github.com/ESCOMP/CTSM/pull/2350) =============================================================== =============================================================== Tag name: ctsm5.1.dev166 Originator(s): slevis (Samuel Levis,UCAR/TSS,303-665-1310), tking (Teagan King), samrabin (Sam Rabin) Date: Wed 24 Jan 2024 05:39:41 PM MST One-line Summary: BFB merge tag Purpose and description of changes ---------------------------------- #2315 @TeaganKing Refactoring run_neon for PLUMBER2 part1 #2213 @samsrabin Automatically assign high priority items to project 25 #2330 @samsrabin Add Izumi version of the aux_clm unit testing #2326 @samsrabin run_sys_tests: Check Python environment for FatesColdTwoStream tests 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_1 [ ] clm5_0 [ ] ctsm5_0-nwp [ ] clm4_5 Bugs fixed ---------- CTSM issues fixed (include CTSM Issue #): Fixes #2315 Fixes #2213 Fixes #2330 Fixes #2326 Known bugs introduced in this tag (include issue #): - New feature coming in with #2213 where user will receive email from github when pushing to their remote: "Run failed: .github/workflows/assign-to-project.yml" - New feature that also affects older tags: The izumi FatesColdTwoStream test submitted from ./run_sys_tests will fail at CREATE_NEWCASE unless users introduce "module load lang/python/3.7.0" in their .bash_profile. Longterm solution discussed in #2335. The test also works when submitted manually with ./create_test. Notes of particular relevance for developers: --------------------------------------------- Changes to tests or testing: #2315 New unit tests for arg_parse and NeonSite #2330 New test in aux_clm that does unit testing on izumi because unit testing does not work on derecho, yet Testing summary: ---------------- [PASS means all tests PASS; OK means tests PASS other than expected fails.] python testing (if python code has changed; see instructions in python/README.md; document testing done): derecho - OK, pylint gives long list of warnings (expected) regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing): derecho ----- OK izumi ------- OK Answer changes -------------- Changes answers relative to baseline: No Other details ------------- Pull Requests that document the changes (include PR ids): https://github.com/ESCOMP/ctsm/pull/2334 =============================================================== =============================================================== Tag name: ctsm5.1.dev165 Originator(s): slevis (Samuel Levis,UCAR/TSS,303-665-1310), oleson (Keith Oleson), samrabin (Sam Rabin) Date: Fri 19 Jan 2024 06:40:36 PM MST One-line Summary: Turn Meier2022, tillage, and residue removal on for ctsm5.1, fix #2212 Purpose and description of changes ---------------------------------- Answer-changing merge-tag: - Turn Meier2022 on for ctsm5.1. Had turned off temporarily while fixing a bug. - Bring in Urban answer fix #2212. - Turn tillage and residue removal on for ctsm5.1. 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.] [x] clm5_1 [ ] clm5_0 [ ] ctsm5_0-nwp [ ] clm4_5 Bugs fixed ---------- CTSM issues fixed (include CTSM Issue #): Fixes #2212 Notes of particular relevance for users --------------------------------------- Changes made to namelist defaults (e.g., changed parameter values): - Making Meier2022 the default for ctsm5.1 again. - Making tillage low by default for ctsm5.1. - Making residue removal 0.5 by default for ctsm5.1. Testing summary: ---------------- [PASS means all tests PASS; OK means tests PASS other than expected fails.] regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing): derecho ----- OK izumi ------- OK Answer changes -------------- Changes answers relative to baseline: YES [ If a tag changes answers relative to baseline comparison the following should be filled in (otherwise remove this section). And always remove these three lines and parts that don't apply. ] Summarize any changes to answers, i.e., - what code configurations: ALL - what platforms/compilers: ALL - nature of change:i clm45 and clm50: larger than roundoff clm51: possibly climate changing Effect of Meier2022 was documented here: https://github.com/NCAR/LMWG_dev/issues/38 Effect of tillage and residue removal may require an Answer Changing Tag simulation Other details ------------- Pull Requests that document the changes (include PR ids): https://github.com/ESCOMP/ctsm/pull/2323 =============================================================== =============================================================== Tag name: ctsm5.1.dev164 Originator(s): rgknox (Ryan Knox) Date: Wed 17 Jan 2024 12:38:18 PM MST One-line Summary: Compatibility and tests for FATES 2-Stream Purpose and description of changes ---------------------------------- This set of changes enables compatibility and testing for FATES two-stream radiation scattering. Two stream radiation is selected by setting the FATES parameter file variable fates_rad_mod = 2. This is an alternative to Norman radiation. The FATES default radiation model will continue to be Norman for the time being, but is expected to transition to two-stream in the near future. 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_1 [ ] clm5_0 [ ] ctsm5_0-nwp [ ] clm4_5 Bugs fixed ---------- CTSM issues fixed (include CTSM Issue #): 2305 Known bugs introduced in this tag (include issue #): none, but testing was modified to catch a pre-existing bug via test: SMS_D_Ld3.f09_g17.I2000Clm51FatesSpCruRsGs.derecho_gnu.clm-FatesColdSatPhen_prescribed. This has been documented in CTSM issue #2321 Notes of particular relevance for users --------------------------------------- Caveats for users (e.g., need to interpolate initial conditions): none Changes to CTSM's user interface (e.g., new/renamed XML or namelist variables): none Changes made to namelist defaults (e.g., changed parameter values): none Changes to the datasets (e.g., parameter, surface or initial files): none Substantial timing or memory changes: [e.g., check PFS test in the test suite and look at timings, if you expect possible significant timing changes] If a fates user does opt to use two-stream radiation, they should expect changes in simulation time compared with norman radiation. This difference varies and is somewhere between equal or 20% slower at a maximum. Most tests seemed to be about 10-15% slower for regions with high vegetation demographic diversity. Notes of particular relevance for developers: --------------------------------------------- NOTE: Be sure to review the steps in README.CHECKLIST.master_tags as well as the coding style in the Developers Guide [Remove any lines that don't apply. Remove entire section if nothing applies.] Caveats for developers (e.g., code that is duplicated that requires double maintenance): Changes to tests or testing: New tests were added to the fates and aux_clm regression suites, with suffix clm-FatesColdTwoStream. One of them uses fixed giogeography and no cross-pft competition. Testing summary: ---------------- regular tests, baseline: ctsm5.1.dev163 derecho ----- OK izumi ------- OK fates tests: baseline: fates-sci.1.70.0_api.32.0.0-ctsm5.1.dev163 derecho ----- OK izumi ------- (being run after tag was made) any other testing (give details below): If the tag used for baseline comparisons was NOT the previous tag, note that here: Answer changes -------------- All answers are B4B with baselines mentioned above, except for one fates variable: FATES_RAD_ERROR. This variable was changed to report the maximum of VIS and NIR, instead of just VIS. A follow up set of changes will change the dimension of this variable. This change was expected. Other details ------------- This set of changes is synchronized with the new FATES tag: sci.1.71.0_api.33.0.0 PR: https://github.com/NGEET/fates/pull/1141 =============================================================== =============================================================== Tag name: ctsm5.1.dev163 Originator(s): samrabin (Sam Rabin, UCAR/TSS, samrabin@ucar.edu) Date: Wed Jan 10 13:03:34 MST 2024 One-line Summary: Add tillage and residue removal Purpose and description of changes ---------------------------------- Adds capability for cropland soil tillage and post-harvest residue removal. Tillage: This PR brings in the tillage code written by Sam Levis and Michael Graham and used in Graham et al. (2021, ERL, doi:10.1088/1748-9326/abe6c6). Low- and high-intensity tillage here work by increasing the decomposition rate of different soil carbon pools. These "decomposition multipliers" vary based on soil pool and how long it's been since the crop was planted; they are set with new paramfile variables till_decompk_multipliers and mimics_till_decompk_multipliers. Note that tillage is off by default. Residue removal: Adds a parameter hat represents what fraction of post-harvest crop residues (stems and leaves) should be removed to the crop product pool rather than being transferred to litter. 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_1 [ ] clm5_0 [ ] ctsm5_0-nwp [ ] clm4_5 Bugs fixed ---------- CTSM issues fixed (include CTSM Issue #): - Resolves #112 (https://github.com/ESCOMP/CTSM/issues/112) - Contributes to #2310 (https://github.com/ESCOMP/CTSM/issues/2310) by adding NEON tests to expected failure list) - run_sys_tests no longer fails on Izumi Notes of particular relevance for users --------------------------------------- Changes to CTSM's user interface (e.g., new/renamed XML or namelist variables): - Adds parameter tillage_mode with options off (default), low, and high. - Adds parameter use_original_tillage_phases (false by default; see Add soil tillage for crops #2040). - Adds parameter max_tillage_depth (cm). - Adds parameter crop_residue_removal_frac (default 0) Notes of particular relevance for developers: --------------------------------------------- Changes to tests or testing: - Changes SMS_Ld5.f10_f10_mg37.I1850Clm45BgcCrop.derecho_gnu.clm-crop to use tillage and residue removal; now SMS_Ld5.f10_f10_mg37.I1850Clm45BgcCrop.derecho_gnu.clm-till--clm-remove_residues - Changes PEM_Ld1.f10_f10_mg37.I2000Clm51BgcCrop.izumi_intel.clm-crop to use tilllage; now PEM_Ld1.f10_f10_mg37.I2000Clm51BgcCrop.izumi_intel.clm-till Testing summary: ---------------- [PASS means all tests PASS; OK means tests PASS other than expected fails.] python testing (if python code has changed; see instructions in python/README.md; document testing done): (any machine) - PASS regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing): derecho ----- OK izumi ------- PASS Other details ------------- Pull Requests that document the changes (include PR ids): - #2311: Add tillage and residue removal (https://github.com/ESCOMP/CTSM/pull/2311) which is a combination of: - #2040: Add soil tillage for crops (https://github.com/ESCOMP/CTSM/pull/2040) - #2297: Add crop residue removal (https://github.com/ESCOMP/CTSM/pull/2297) =============================================================== =============================================================== Tag name: ctsm5.1.dev162 Originator(s): samrabin (Sam Rabin, UCAR/TSS, samrabin@ucar.edu) Date: Fri Jan 5 15:57:23 MST 2024 One-line Summary: Improvements to processing of crop calendar files Purpose and description of changes ---------------------------------- In python/ctsm/crop_calendars/, process_ggcmi_shdates.py and regrid_ggcmi_shdates.py are used to convert the raw GGCMI crop calendar files into CTSM-compatible versions. This update fixes some bugs, removes dependencies on the nco utilities, enables the use of surface datasets as template files (in addition to the existing ability to use CTSM output files), and standardizes things for consistency with other CTSM Python tools. 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_1 [ ] clm5_0 [ ] ctsm5_0-nwp [ ] clm4_5 Bugs fixed or introduced ------------------------ CTSM issues fixed (include CTSM Issue #): * Fixes #2167: run_ctsm_py_tests failures at os.getcwd() (https://github.com/ESCOMP/CTSM/issues/2167) Notes of particular relevance for users --------------------------------------- These scripts can now be called using the wrapper scripts in tools/crop_calendars/. Notes of particular relevance for developers: --------------------------------------------- Changes to tests or testing: * Adds test_sys_regrid_ggcmi_shdates and test_unit_utils_import_coord * Fixes bugs that were causing failures using `python/run_ctsm_py_tests` even when `make all` was fine. Testing summary: ---------------- [PASS means all tests PASS; OK means tests PASS other than expected fails.] python testing (if python code has changed; see instructions in python/README.md; document testing done): (derecho) - PASS clm_pymods test suite on derecho - PASS Other details ------------- Pull Requests that document the changes (include PR ids): * #2292: Improvements to processing of crop calendar files (v2) (https://github.com/ESCOMP/CTSM/pull/2292) =============================================================== =============================================================== Tag name: ctsm5.1.dev161 Originator(s): samrabin (Sam Rabin, UCAR/TSS, samrabin@ucar.edu) Date: Thu Jan 4 09:00:28 MST 2024 One-line Summary: Refactor 20-year running means of crop GDD accumulation Purpose and description of changes ---------------------------------- Three variables track the 20-year running mean of GDD accumulation (base temperatures 0, 8, and 10°C) during the "growing season" (April through September in the Northern Hemisphere, October through March in the Southern Hemisphere). This PR refactors those to use accumulMod, resolving overly-strong weighting of the first few years after a crop becomes active. 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.] [X] clm5_1 [X] clm5_0 [X] ctsm5_0-nwp [X] clm4_5 Bugs fixed ---------- CTSM issues fixed (include CTSM Issue #): * Fixes #75. Testing summary: ---------------- regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing): derecho ----- DIFF izumi ------- DIFF Answer changes -------------- Changes answers relative to baseline: YES Summarize any changes to answers, i.e., - what code configurations: All crop configurations - what platforms/compilers: All - nature of change (roundoff; larger than roundoff/same climate; new climate): larger than roundoff/same climate GDD020, GDD820, and GDD1020 will differ, most strongly in the first few years after a crop becomes active. This will have downstream effects on lots of variables, since those are used in determining sowing date and maturity requirements. Other details ------------- Pull Requests that document the changes (include PR ids): * #2060: Refactor 20-year running means of crop GDD accumulation (https://github.com/ESCOMP/CTSM/pull/2060) =============================================================== =============================================================== Tag name: ctsm5.1.dev160 Originator(s): glemieux (Gregory Lemieux, LBNL, glemieux@lbl.gov) Date: Sat 30 Dec 2023 11:23:47 PM MST One-line Summary: FATES landuse version 1 Purpose and description of changes ---------------------------------- This tag enables FATES to utilize the state and transitions data from the Land Use Harmonization (https://luh.umd.edu/) data sets. This data has been preprocessed using tooling provided by FATES via a separate pull request (FATES#1032). A new module has been added to the dyn_subgrid directory that largely adapts the dynHarvest module to import and read this minimially processed data, which is data is passed to fates. 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_1 [ ] clm5_0 [ ] ctsm5_0-nwp [ ] clm4_5 Bugs fixed ---------- CTSM issues fixed (include CTSM Issue #): #1077 -- Read in full LUH2 dataset for use by FATES #2283 -- fates wood product flux not being correctly reported during CBalanceCheck endrun diagnostic output Notes of particular relevance for users --------------------------------------- Changes made to namelist defaults (e.g., changed parameter values): New namelist item: fluh_timeseries and use_fates_luh Notes of particular relevance for developers: --------------------------------------------- Changes to tests or testing: FATES landuse testmod, FatesColdLUH2, added IMPORTANT NOTE ON BASELINES: FATES baseline tests have a change in namelists because the fluh_timeseries file is listed in the baselines but was removed in a last minute change. Compare to baseline other than that change are exact though. Testing summary: ---------------- [PASS means all tests PASS; OK means tests PASS other than expected fails.] build-namelist tests (if CLMBuildNamelist.pm has changed): derecho - PASS (66 FATES tests differ because of new fates param file) regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing): derecho ----- OK izumi ------- PASS fates tests: (give name of baseline if different from CTSM tagname, normally fates baselines are fates--) derecho ----- OK izumi ------- OK Answer changes -------------- Changes answers relative to baseline: yes, for FATES only Summarize any changes to answers, i.e., - what code configurations: FATES - what platforms/compilers: ALL - nature of change (roundoff; larger than roundoff/same climate; new climate): larger than roundoff The fates tag update incorporates bug fixes and hydraulic mortality fixes, as well as the restructured disturbance code necessary to accomodate the new landuse transitions capability. As such, small differences were observed in testmods that engaged specific disturbance modes or were long enough to trigger other default disturbances (e.g. fire) Other details ------------- List any externals directories updated (cime, rtm, mosart, cism, fates, etc.): fates: sci.1.69.0_api.31.0.0 -> fates-sci.1.70.0_api.32.0.0 Pull Requests that document the changes (include PR ids): https://github.com/ESCOMP/ctsm/pull/2076 https://github.com/NGEET/fates/pull/1040 =============================================================== =============================================================== Tag name: ctsm5.1.dev159 Originator(s): multiple (slevis (Sam Levis), afoster (Adrianna Foster), erik (Erik Kluzek), wwieder (Will Wieder), glemieux (Greg Lemieux), oleson (Keith Oleson), sacks (Bill Sacks), samrabin (Sam Rabin), santos (Sean Patrick Santos)) Date: Tue 12 Dec 2023 11:10:26 AM MST One-line Summary: Various BFB fixes and updates Purpose and description of changes ---------------------------------- #2253 Fix subset_data error (slevis) #2271 bfb bug-fix allowing us to make Meier2022 the default; making it the default comes in a later tag (slevis) #2267 Fix run_neon CIME path import (afoster, erik, wwieder) #2075 Add xesmf to the standard python env (glemieux) #2229 Fix misplaced if statement and end model run if no-isotope to isotope run with user_init_interp=.false. (oleson, sacks, wwieder) #2239 Add comment in LakeHydrology (samrabin, santos) 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_1 [ ] clm5_0 [ ] ctsm5_0-nwp [ ] clm4_5 Bugs fixed or introduced ------------------------ CTSM issues fixed (include CTSM Issue #): Fixes #2253 Fixes #2271 Fixes #2267 Fixes #2075 Fixes #2229 Fixes #2239 Testing summary: ---------------- [PASS means all tests PASS; OK means tests PASS other than expected fails.] python testing (if python code has changed; see instructions in python/README.md; document testing done): derecho - PASS regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing): derecho ----- OK izumi ------- PASS Answer changes -------------- Changes answers relative to baseline: NO Other details ------------- List any externals directories updated (cime, rtm, mosart, cism, fates, etc.): Pull Requests that document the changes (include PR ids): https://github.com/ESCOMP/ctsm/pull/2253 https://github.com/ESCOMP/ctsm/pull/2271 https://github.com/ESCOMP/ctsm/pull/2267 https://github.com/ESCOMP/ctsm/pull/2075 https://github.com/ESCOMP/ctsm/pull/2229 https://github.com/ESCOMP/ctsm/pull/2239 =============================================================== =============================================================== Tag name: ctsm5.1.dev158 Originator(s): erik (Erik Kluzek,UCAR/TSS,303-497-1326) Date: Thu 07 Dec 2023 10:22:46 PM MST One-line Summary: First tag with testing moved to Derecho and working PE-layouts for Derecho Purpose and description of changes ---------------------------------- First tag for CTSM working and tested on Derecho. Update CDEPS so that we can run with the NAG compiler. Working PE layouts. Changes from CESM3_dev over to main-dev. Testing added for Derecho. Do some work to get tools testing working on Derecho, not completed. Add Derecho to the README files under tools/modify_input_files and tools/site_and_regional Remove some /glade/p references in the code. This is still an issue in the: doc, lilac, tools/mksurfdata_map, tools/contrib, tools/mkmapdata directories, and the namelist_defaults_ctsm_tools file. 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_1 [ ] clm5_0 [ ] ctsm5_0-nwp [ ] clm4_5 Bugs fixed or introduced ------------------------ CTSM issues fixed (include CTSM Issue #): Resolves Derecho transition: Tests and test infrastructure #1995 Resolves Updating Externals for Derecho causes Izumi nag tests to fail #2280 Resolves Transient simulation with ne30np4.pg3 fails due to floating point error #2268 Resolves Need to move location of DA_multidrv finidat files from /glade/p to /glade/campaign #2282 Works on Add support to test/tools/test_driver.sh for Derecho for NEON tools #2276 Notes of particular relevance for users --------------------------------------- Changes to CTSM's user interface (e.g., new/renamed XML or namelist variables): Added clm5_1_cam6 option to LND_TUNING_MODE This is important in order to enable using latest clm5_1 physics with fully coupled cases Changes made to namelist defaults (e.g., changed parameter values): Make sure there are finidat files for clm5_1 with CAM6 for 1850 and 2000 (from clm5_0 version at f09 Make sure ne30np4.pg3 is setup Some adjustments for ne30np4 and ne30np4.pg3 to make sure landuse.timeseries files are correct Notes of particular relevance for developers: --------------------------------------------- Changes to tests or testing: Add cesm3_dev test list from the CESM3_dev branch Make sure ne30np4.pg3 Unit tests fail on Derecho because of ESMCI/ccs_config_cesm#131 Derecho tests with DEBUG=T, intel compiler, and mpi-serial fail because of ESMCI/ccs_config_cesm#130 Testing summary: regular + fates + ctsm_sci + cesm3_dev ---------------- [PASS means all tests PASS; OK means tests PASS other than expected fails.] build-namelist tests (if CLMBuildNamelist.pm has changed): derecho - PASS python testing (if python code has changed; see instructions in python/README.md; document testing done): derecho - PASS regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing): cheyenne ---- OK derecho ----- OK izumi ------- OK fates tests: (give name of baseline if different from CTSM tagname, normally fates baselines are fates--) derecho ----- OK izumi ------- OK Answer changes -------------- Changes answers relative to baseline: No, bit-for-bit Other details ------------- [Remove any lines that don't apply. Remove entire section if nothing applies.] List any externals directories updated (cime, rtm, mosart, cism, fates, etc.): cdeps cdeps -> cdeps1.0.24 (allows to run with NAG compiler) Pull Requests that document the changes (include PR ids): #2269 -- First tag with testing moved to Derecho and working PE layouts (https://github.com/ESCOMP/ctsm/pull) =============================================================== =============================================================== Tag name: ctsm5.1.dev157 Originator(s): samrabin (Sam Rabin, UCAR/TSS, samrabin@ucar.edu) Date: Tue Dec 5 09:48:26 MST 2023 One-line Summary: Update Externals to work on Derecho Purpose and description of changes ---------------------------------- Updates Externals.cfg to work on Derecho. 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_1 [ ] clm5_0 [ ] ctsm5_0-nwp [ ] clm4_5 Bugs fixed or introduced ------------------------ CTSM issues fixed (include CTSM Issue #): * Resolves #2217 ("Tags for building CTSM library on Derecho [WRF-CTSM]", https://github.com/ESCOMP/CTSM/issues/2217) * Resolves #2090 ("Update to cesm2_3_beta16 externals.", https://github.com/ESCOMP/CTSM/issues/2090) Known bugs introduced in this tag (include issue #): * #2280: Updating Externals for Derecho causes Izumi nag tests to fail (https://github.com/ESCOMP/CTSM/issues/2280) Notes of particular relevance for developers: --------------------------------------------- Changes to tests or testing: * All Izumi nag tests fail early in the run phase. This should be fixed in the next tag, which will be a more comprehensive Derecho-focused update. Testing summary: ---------------- [PASS means all tests PASS; OK means tests PASS other than expected fails.] regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing): cheyenne ---- OK izumi ------- PASS (except nag) Other details ------------- List any externals directories updated (cime, rtm, mosart, cism, fates, etc.): * cime: cime6.0.125 -> cime6.0.175 * cmeps: cmeps0.14.21 -> cmeps0.14.43 * cdeps: cdeps1.0.13 -> cdeps1.0.23 * cpl7: cpl77.0.5 -> cpl77.0.7 * parallelio: pio2_5_10 -> pio2_6_2 Pull Requests that document the changes (include PR ids): * #2270: Update Externals.cfg to work on Derecho (https://github.com/ESCOMP/CTSM/pull/2270) =============================================================== =============================================================== Tag name: ctsm5.1.dev156 Originator(s): samrabin (Sam Rabin, UCAR/TSS, samrabin@ucar.edu) Date: Thu Nov 30 15:27:18 MST 2023 One-line Summary: Do not use Meier roughness by default Purpose and description of changes ---------------------------------- ctsm5.1.dev155 had turned on Meier2022 surface roughness calculation by default for 5.1 compsets. Several bugs have recently emerged that were not caught by pre-merge testing, so this tag reverts that change. Thus, the ZengWang2007 method is default for all compsets again. 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.] [X] clm5_1 [ ] clm5_0 [ ] ctsm5_0-nwp [ ] clm4_5 Notes of particular relevance for users --------------------------------------- Changes made to namelist defaults (e.g., changed parameter values): 5.1 compsets now use ZengWang2007 method (instead of Meier2022) for roughness calculation. Testing summary: ---------------- regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing): cheyenne ---- DIFF izumi ------- DIFF Answer changes -------------- Changes answers relative to baseline: YES Summarize any changes to answers, i.e., - what code configurations: 5.1 compsets - what platforms/compilers: All - nature of change (roundoff; larger than roundoff/same climate; new climate): new climate No climate-evaluating run performed, as this change is reverting part of a commit thats barely a week old. Other details ------------- Pull Requests that document the changes (include PR ids): (https://github.com/ESCOMP/ctsm/pull) * #2273: Do not use Meier roughness by default, even with 5.1. (https://github.com/ESCOMP/CTSM/pull/2273) =============================================================== =============================================================== Tag name: ctsm5.1.dev155 Originator(s): samrabin (Sam Rabin, UCAR/TSS, samrabin@ucar.edu) Date: Mon Nov 27 21:16:51 MST 2023 One-line Summary: Use baset_latvary parameters Purpose and description of changes ---------------------------------- Namelist parameters baset_latvary_slope and baset_latvary_intercept were never actually used, with values of 0.4 and 12 being hard-coded in the relevant subroutine instead. This PR fixes that, and also adds unit testing of a refactored function that uses them. 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_1 [ ] clm5_0 [ ] ctsm5_0-nwp [ ] clm4_5 Testing summary: ---------------- [PASS means all tests PASS; OK means tests PASS other than expected fails.] regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing): cheyenne ---- OK izumi ------- PASS Other details ------------- Pull Requests that document the changes (include PR ids): * #2240: Use baset_latvary parameters (https://github.com/ESCOMP/CTSM/pull/2240) =============================================================== =============================================================== Tag name: ctsm5.1.dev154 Originator(s): slevis (Samuel Levis,UCAR/TSS,303-665-1310) Date: Wed Nov 22 09:53:01 MST 2023 One-line Summary: New params files: Changes for Meier roughness, MIMICS, and SNICAR, and changes to leafcn and k*_nonmyc Purpose and description of changes ---------------------------------- This PR (#2258) addresses several issues: 1) Start using existing new params file for Meier roughness: /glade/campaign/cesm/cesmdata/inputdata/lnd/clm2/paramdata/ctsm51_params.RMz0.c231011.nc and include bug-fix #2219. 2) Update forcing heights per #2071. 3) Update params file for MIMICS per #1845. 4) Make leafcn for pfts 15 and 16 the same per #2184. 5) Switch the values of params kc_nonmyc and kn_nonmyc per #2120. 6) Move SNICAR parameters to ctsm51, clm50, and clm45 params files per #2247. See #2258 and the above issues for a list of contributors. 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.] [x] clm5_1 [x] clm5_0 [x] ctsm5_0-nwp [x] clm4_5 Bugs fixed or introduced ------------------------ CTSM issues fixed (include CTSM Issue #): Fixes #2219 Fixes #2071 Fixes #1845 Fixes #2184 Fixes #2120 Fixes #2247 Notes of particular relevance for users --------------------------------------- Changes to CTSM's user interface (e.g., new/renamed XML or namelist variables): SNICAR namelist variable fresh_snw_rds_max moved to the params file. Changes made to namelist defaults (e.g., changed parameter values): SNICAR namelist variable fresh_snw_rds_max moved to the params file. Pointing to new params files for clm4_5, clm5_0, clm5_1. Changes to the datasets (e.g., parameter, surface or initial files): New clm5_1 params file with new parameters and with modified values of existing parameters. New clm5_0 and clm4_5 params files with new parameters for SNICAR. ./rimport on the new params files fails with "No space left on device" but the 4 files are safe here: /glade/u/home/slevis/paramfiles/*_params.c231117.nc Notes of particular relevance for developers: --------------------------------------------- Changes to tests or testing: - Remove clm50 Meier test. Should be clm51 but the compset I1850Clm51BgcNoAnthro does not exist. - Remove Meier testmod directory and remove such reference from corresponding tests. - Change mimics tests from clm50 to clm51. - For details, see the updated testlist_clm.xml file. Testing summary: ---------------- [PASS means all tests PASS; OK means tests PASS other than expected fails.] regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing): cheyenne ---- OK izumi ------- OK Answer changes -------------- Changes answers relative to baseline: YES Summarize any changes to answers, i.e., - what code configurations: ALL - what platforms/compilers: ALL - nature of change: Larger than roundoff/same climate? I will post this tag on the Answer changing tags wiki page as "SIGNIFICANT" and will run a simulation and diagnostics to compare against dev145. I used the izumi test-suite to perform one bfb sanity test: I backed up my branch to 6dc1966 (before the snicar mods), then I put back the changes of the commit right after snicar (71e174f). Comparing to dev154 (this tag's new baseline), the izumi test-suite passed bfb (12 gnu, 18 intel, and 32 nag tests). Other mods are quite confined and clear, so I will not pursue other sanity tests. Changes to answers commit-by-commit in this PR: f9978db and b8c71fa: These two change answers for Meier2022 and, therefore, clm51 only 626f520: Takes out if (z0param_method == 'Meier2022'), so changes answers for all three CLMs 319d194: Changes answers for mimics and, therefore clm51 only (order of ops, so roundoff) 2ee6943: Changes clm51 params file, so affects clm51 only (expect more than roundoff) f185a31: bfb 6dc1966: This git merge escomp/master probably does change answers from previous commit 29ca5ad and 71e174f: Puts snicar params on the params files for all three CLMs; sanity test gave bfb Other details ------------- Pull Requests that document the changes (include PR ids): https://github.com/ESCOMP/ctsm/pull/2258 =============================================================== =============================================================== Tag name: ctsm5.1.dev153 Originator(s): afoster (Adrianna Foster) and johnpaulalex (John Paul Alex) Date: Fri Nov 17 11:53:14 MST 2023 One-line Summary: Call new FATES-side FatesReadParameters Purpose and description of changes ---------------------------------- Have CTSM use the new code path in FATES that allows passing in a `fates_param_reader_type`, which does the actual work reading the parameter files, in lieu of calling CTSM methods. Also updated NEON usermods to use version 2 data by default, rather than latest. 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.) [ ] clm5_1 [ ] clm5_0 [ ] ctsm5_0-nwp [ ] clm4_5 Bugs fixed or introduced ------------------------ Some progress towards CTSM#2006 and FATES#1076 Testing summary: ---------------- regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing): cheyenne ---- OK izumi ------- OK fates tests: (give name of baseline if different from CTSM tagname, normally fates baselines are fates--) cheyenne ---- OK izumi ------- OK fates baseline: `fates-sci.1.68.2_api.31.0.0-ctsm5.1.dev153` Answer changes -------------- None Other details -------------- List any externals directories updated (cime, rtm, mosart, cism, fates, etc.): fates Pull Requests that document the changes (include PR ids): https://github.com/NGEET/fates/pull/1096 https://github.com/ESCOMP/CTSM/pull/2198 =============================================================== =============================================================== Tag name: ctsm5.1.dev152 Originator(s): multiple (tking (Teagan King); slevis (Sam Levis); AdrienDams (Adrien Damseaux); afoster (Adrianna Foster); samrabin (Sam Rabin); ekluzek (Erik Kluzek); wwieder (Will Wieder); sacks (Bill Sacks); a few others listed below) Date: Tue Nov 14 17:09:43 MST 2023 One-line Summary: Mv tools to /python and add tests; add snow_thermal_cond_method; a few fixes / refactors Purpose and description of changes ---------------------------------- #2156 tking, slevis Move the following scripts to /python/ctsm/site_and_regional and make wrapper scripts for them in /tools/site_and_regional: - run_neon.py - neon_surf_wrapper.py - modify_singlept_site_neon.py Add unit testing for: - iso_utils - modify_singlept_site_neon - neon_surf_wrapper - run_neon Add system testing for: - modify_singlept_site_neon - run_neon #2148 Adrien Damseaux (AWI, Germany), Victoria Dutch, Leanne Wake Add namelist option snow_thermal_cond_method to select between Jordan (1991) (default) and Sturm et al. (1997). Sturm option described for single point runs by Dutch et al. (2022). #2233 afoster, sacks Fix a compiler error (for GNU 13.2) within cropcalStreamMod. Simple fix was to change whole-array assignments/references for the starts and ends arrays to specifically reference bounds (begp and endp). #2235 srabin, wwieder Refactor ssp_anomaly_forcing script to make it easier to read and more amenable to future development. - Adds --output-dir option; default ./anomaly_forcing reproduces previous behavior - Makes synonyms for options with hyphens replacing underscores #2237 srabin Add the following fields to restart files: - repr_grainc_to_seed_perharv_patch - swindow_starts_thisyr_patch - swindow_ends_thisyr_patch #2044 ekluzek More confined regular expression for NEON and a few simple fixes. 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_1 [ ] clm5_0 [ ] ctsm5_0-nwp [ ] clm4_5 Bugs fixed or introduced ------------------------ CTSM issues fixed (include CTSM Issue #): Closes #2156 Fixes #1441 Closes #2148 Closes #2233 Fixes #2232 Closes #2235 Closes #2237 Fixes #2236 Closes #2044 Fixes #2039 Fixes #2103 Fixes #2028 Fixes #1506 Fixes #1499 Known Issues: pylint errors from previous work remain in this tag. Notes of particular relevance for users --------------------------------------- Changes to CTSM's user interface (e.g., new/renamed XML or namelist variables): #2156 New wrapper scripts don't have .py suffixes. #2148 New namelist option snow_thermal_cond_method as described above. #2133 None #2135 New --output-dir option; default ./anomaly_forcing reproduces previous behavior. Also makes synonyms for options with hyphens replacing underscores. #2137 None #2044 None Notes of particular relevance for developers: --------------------------------------------- Changes to tests or testing: #2156 Numerous changes were made to include new tests. README.md for testing was updated to clarify that arguments should be used. Testing summary: ---------------- [PASS means all tests PASS; OK means tests PASS other than expected fails.] python testing (if python code has changed; see instructions in python/README.md; document testing done): (any machine) - cheyenne OK (pylint suggestions from previous work remain) regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing): cheyenne ---- OK izumi ------- OK, the following PASS/FAILs are expected: PASS ERS_Lm20_Mmpi-serial.1x1_smallvilleIA.I2000Clm50BgcCropQianRs.izumi_gnu.clm-cropMonthlyNoinitial COMPARE_base_rest (UNEXPECTED: expected FAIL) FAIL ERS_Lm20_Mmpi-serial.1x1_smallvilleIA.I2000Clm50BgcCropQianRs.izumi_gnu.clm-cropMonthlyNoinitial BASELINE ctsm5.1.dev151: DIFF FAIL SMS_Ld10_D_Mmpi-serial.CLM_USRDAT.I1PtClm51Bgc.izumi_nag.clm-default--clm-NEON-NIWO BASELINE ctsm5.1.dev151: DIFF FAIL SMS_Ld10_D_Mmpi-serial.CLM_USRDAT.I1PtClm51Bgc.izumi_nag.clm-NEON-MOAB--clm-PRISM BASELINE ctsm5.1.dev151: DIFF Answer changes -------------- Changes answers relative to baseline: #2156 NO #2148 NO #2233 NO #2235 NO, adds attributes to write_climo files' dimension variables #2237 ONLY Smallville "no initial" restarts; specifically, this previously failing (COMPARE_base_rest) aux_clm test ERS_Lm20_Mmpi-serial.1x1_smallvilleIA.I2000Clm50BgcCropQianRs.izumi_gnu.clm-cropMonthlyNoinitial now differs from the baseline as follows: SUMMARY of cprnc: A total number of 76 fields were compared and 3 had differences in fill patterns A total number of 2 fields could not be analyzed diff_test: the two files seem to be DIFFERENT #2044 ONLY the NEON tests listed above due to the one-line change in cime_config/usermods_dirs/NEON/defaults/shell_commands in #2044 Other details ------------- Pull Requests that document the changes (include PR ids): https://github.com/ESCOMP/ctsm/pull/2156 https://github.com/ESCOMP/ctsm/pull/2148 https://github.com/ESCOMP/ctsm/pull/2233 https://github.com/ESCOMP/ctsm/pull/2235 https://github.com/ESCOMP/ctsm/pull/2237 https://github.com/ESCOMP/ctsm/pull/2044 =============================================================== =============================================================== Tag name: ctsm5.1.dev151 Originator(s): rgknox (Ryan Knox,LAWRENCE BERKELEY NATIONAL LABORATORY,510-495-2153) Date: Sat Nov 11 16:53:01 MST 2023 One-line Summary: Fixes to FATES long run restarts Purpose and description of changes ---------------------------------- This is a set of changes that enables exact restart tests to pass with FATES, for longer periods, particularly those that have elapsed over a year. We removed calls that were incrementing, uncecessary calls, and added key new variables to the restart file (such as the leaf layer carbon balance vector). Collaborators: @mvdebolskiy, @mvertens, @glemieux, @ekluzek, @ckoven, @rosiealice Significant changes to scientifically-supported configurations -------------------------------------------------------------- No changes to scientifically-supported configurations. Bugs fixed or introduced ------------------------ Fixes: FATES#1051 https://github.com/NGEET/fates/issues/1051 Notes of particular relevance for users --------------------------------------- This set of changes is introduced, while there is a known test failure in: ERS_Lm20_Mmpi-serial.1x1_smallvilleIA.I2000Clm50BgcCropQianRs.izumi_gnu.clm-cropMonthlyNoinitial This is documented in issue: 2236 and a fix is slated for integration. The nature of the changes in this PR where obviously orthogonal to the issue. Substantial timing or memory changes: None Notes of particular relevance for developers: --------------------------------------------- A new test was added to aux_clm and fates test suites. The walltime for this test was 29 minutes. This is an important new test for FATES because it is the first gridded test that spans significantly over a year (and passes). Various test configurations were explored to find a gridded test that completed 25 months with some attempt at expedience in walltime. A walltime allowance of 60 minutes is set in the test. Here is the test: ERS_P144x1_Lm25.f10_f10_mg37.I2000Clm51Fates clm-FatesColdNoComp Testing summary: ---------------- regular tests: cheyenne ---- ok izumi ------- ok Answer changes -------------- No answer changes Other details ------------- List any externals directories updated (cime, rtm, mosart, cism, fates, etc.): fates API30 Pull Requests that document the changes (include PR ids): https://github.com/ESCOMP/CTSM/pull/2199 https://github.com/NGEET/fates/pull/1098 =============================================================== =============================================================== Tag name: ctsm5.1.dev150 Originator(s): rgknox (Ryan Knox,LAWRENCE BERKELEY NATIONAL LABORATORY,510-495-2153) Date: Mon Nov 6 14:12:37 MST 2023 One-line Summary: FATES API fix to support future fates npp-fixation coupling, and urgent coupling fixes with E3SM. Purpose and description of changes ---------------------------------- This set of changes accomodates an API change on the FATES side of the code. Those changes are needed to accomodate a bug-fix in E3SM. These changes will also accomodate correct coupling with free-living nitrogen fixation when it is enabled in clm-fates. Significant changes to scientifically-supported configurations -------------------------------------------------------------- none Bugs fixed or introduced ------------------------ Supports fixes FATES issues: https://github.com/NGEET/fates/issues/1113 https://github.com/NGEET/fates/issues/1106 CTSM issues fixed (include CTSM Issue #): none Known bugs introduced in this tag (include issue #): Notes of particular relevance for users --------------------------------------- none Notes of particular relevance for developers: --------------------------------------------- This set of changes is introduced, while there is a known test failure in: ERS_Lm20_Mmpi-serial.1x1_smallvilleIA.I2000Clm50BgcCropQianRs.izumi_gnu.clm-cropMonthlyNoinitial This is documented in issue: 2236 and a fix is slated for integration. The nature of the changes in this PR where obviously orthogonal to the issue. Changes to tests or testing: none Testing summary: ---------------- regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing): cheyenne ---- ok izumi ------- ok fates tests: (give name of baseline if different from CTSM tagname, normally fates baselines are fates--) cheyenne ---- ok Answer changes -------------- no answer changes Other details ------------- none Pull Requests that document the changes (include PR ids): https://github.com/ESCOMP/CTSM/pull/2231 =============================================================== =============================================================== Tag name: ctsm5.1.dev149 Originator(s): samrabin (Sam Rabin, UCAR/TSS, samrabin@ucar.edu) Date: Fri Nov 3 19:52:44 MDT 2023 One-line Summary: Rearrange leaf/stem "harvest" and fix soil gas diffusivity Purpose and description of changes ---------------------------------- 1. Rearranges the calculation of how much leaf and livestem C and N goes to biofuels vs. litter, in anticipation of adding crop residue removal. Also makes the affected subroutine easier to read. 2. Resolves two bugs in the calculation of diffusion in SoilBiogeochemNitrifDenitrif(). Also does some rearranging and renaming to improve clarity. 3. Includes unrelated documentation updates from Documentation Week Oct. 2023. 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.) [X] clm5_1 [X] clm5_0 [X] ctsm5_0-nwp [X] clm4_5 Bugs fixed or introduced ------------------------ CTSM issues fixed (include CTSM Issue #): * Resolves #1990: Problems about the soil gas diffusivity in methane code and nitrification-denitrification mod (https://github.com/ESCOMP/CTSM/issues/1990) Testing summary: ---------------- regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing): cheyenne ---- DIFF izumi ------- DIFF Answer changes -------------- Changes answers relative to baseline: Summarize any changes to answers, i.e., - what code configurations: virtually all - what platforms/compilers: cheyenne and izumi; intel, gnu, and nag - nature of change (roundoff; larger than roundoff/same climate; new climate): larger than roundoff/same climate If bitwise differences were observed, how did you show they were no worse than roundoff? Roundoff differences means one or more lines of code change results only by roundoff level (because order of operation changes for example). Roundoff changes to state fields usually grow to greater than roundoff as the simulation progresses. * Roundoff-level differences were observed for the rearrangement of leaf/stem "harvest" code. * Notable differences were observed for the soil gas diffusivity bugfix, but only for output variable diffus. Other details ------------- Pull Requests that document the changes (include PR ids): * #2154: Rearrange calculation of leaf/livestem C and N to biofuels/litter (https://github.com/ESCOMP/CTSM/pull/2154) * #2157: Soil gas diffusivity bugfix (https://github.com/ESCOMP/CTSM/pull/2157) =============================================================== =============================================================== Tag name: ctsm5.1.dev148 Originator(s): samrabin (Sam Rabin, UCAR/TSS, samrabin@ucar.edu) Date: Fri Nov 3 07:56:43 MDT 2023 One-line Summary: Add GRAINN outputs Purpose and description of changes ---------------------------------- In response to a user request for GRAINN_TO_FOOD outputs, this adds *_N_TO_FOOD(_ANN) and *_N_TO_SEED(_ANN) outputs for reproductive N pools. These are off by default, unlike their C counterparts. Note that the results are not scientifically supported, and tests have revealed unrealistic values. (Also adds GRAINC_TO_SEED_ANN output.) 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.) [ ] clm5_1 [ ] clm5_0 [ ] ctsm5_0-nwp [ ] clm4_5 Testing summary: ---------------- [PASS means all tests PASS; OK means tests PASS other than expected fails.] regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing): cheyenne ---- OK (with some fieldlist diffs) izumi ------- PASS (with some fieldlist diffs) Other details ------------- Pull Requests that document the changes (include PR ids): * #2074 (https://github.com/ESCOMP/CTSM/pull/2074) =============================================================== =============================================================== Tag name: ctsm5.1.dev147 Originator(s): samrabin (Sam Rabin, UCAR/TSS, samrabin@ucar.edu) Date: Mon Oct 30 16:53:20 MDT 2023 One-line Summary: Add sowing window input files Purpose and description of changes ---------------------------------- Previously, one could run crops with either (a) sowing windows defined by the hemisphere-specific start and end dates on the paramfile or (b) prescribed sowing dates specified by input file stream_fldFileName_sdate. This PR replaces the latter with two new input files, stream_fldFileName_swindow_start and stream_fldFileName_swindow_end. 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_1 [ ] clm5_0 [ ] ctsm5_0-nwp [ ] clm4_5 Notes of particular relevance for users --------------------------------------- Changes to CTSM's user interface (e.g., new/renamed XML or namelist variables): * Replaces input file stream_fldfilename_sdate (prescribed sowing date) with stream_fldFileName_swindow_start (start of sowing window) and stream_fldFileName_swindow_end (end of sowing window). * Any gridcell with sowing window start == end will experience prescribed sowing, matching previous behavior with stream_fldfilename_sdate. * Setting new parameter allow_invalid_swindow_inputs to .true. makes it so that gridcell-crops without values in provided sowing window files will fall back to paramfile sowing windows. Otherwise, such cells will cause an error. Testing summary: ---------------- [PASS means all tests PASS; OK means tests PASS other than expected fails.] build-namelist tests (if CLMBuildNamelist.pm has changed): cheyenne - PASS regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing): cheyenne ---- OK (some diffs in field lists) izumi ------- OK (some diffs in field lists) any other testing (give details below): * RXCROPMATURITY test passes. Other details ------------- Pull Requests that document the changes (include PR ids): * #2193 (https://github.com/ESCOMP/CTSM/pull/2193) =============================================================== =============================================================== Tag name: ctsm5.1.dev146 Originator(s): glemieux (Gregory Lemieux, LBNL, glemieux@lbl.gov) Date: Tue Oct 24 20:13:17 MDT 2023 One-line Summary: FATES cross-grid seed dispersal Purpose and description of changes ---------------------------------- This PR enables FATES to disperse seeds across neighboring grid cells using MPI. The API update includes calls to new fates dispersal procedures. There are four parameters that are utilized to control the dispersal kernel, although these were introduced in ctsm5.1.dev130 so no new default FATES parameter file is necessary with this update. A new namelist parameter has been added to enable the use of the seed dispersal mode. 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_1 [ ] clm5_0 [ ] ctsm5_0-nwp [ ] clm4_5 Bugs fixed or introduced ------------------------ Known bugs introduced in this tag (include issue #): - ESCOMP/CTSM#1089 (Cross-grid seed dispersal mechanism is not b4b for PE layout changes) Notes of particular relevance for users --------------------------------------- Changes to CTSM's user interface (e.g., new/renamed XML or namelist variables): - New namelist option, fates_seeddisp_cadence, added. This option Setting the switch value to zero turns off dispersal. Setting the switch to 1, 2, or 3 sets the dispersal cadence to daily, monthly or yearly. Substantial timing or memory changes: - Users should be careful to limit the maximum dispersal distance parameter, fates_seed_dispersal_max_dist, to a reasonable value based on the gridcell resolution used. Using a very large value will increase the memory requirements to store the gridcell neighborhood information. Notes of particular relevance for developers: --------------------------------------------- Caveats for developers (e.g., code that is duplicated that requires double maintenance): - This PR introduces MPI calls to subroutines that are called by clm_driver. Comments have been provided in code to make future developers aware of these calls so as to avoid moving them into OpenMP threaded regions. Changes to tests or testing: - Two new testmods have been added into the fates suite to test seed dispersal. One of the tests is to track issue CTSM#1089 which was introduced with this PR. Testing summary: ---------------- [PASS means all tests PASS; OK means tests PASS other than expected fails.] regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing): cheyenne ---- OK izumi ------- PASS fates tests: (give name of baseline if different from CTSM tagname, normally fates baselines are fates--) cheyenne ---- OK izumi ------- OK Answer changes -------------- Changes answers relative to baseline: Only fates testmods in aux_clm are answer changing due to science updates associated with externals update. Other details ------------- List any externals directories updated (cime, rtm, mosart, cism, fates, etc.): - fates: sci.1.67.2_api.27.0.0 -> sci.1.68.0_api.28.0.0 Pull Requests that document the changes (include PR ids): https://github.com/ESCOMP/CTSM/pull/2077 https://github.com/NGEET/fates/pull/1005 =============================================================== =============================================================== Tag name: ctsm5.1.dev145 Originator(s): @cenlinhe (Cenlin He,UCAR/RAL), slevis (Samuel Levis,UCAR/TSS,303-665-1310) Date: Thu Oct 19 14:34:25 MDT 2023 One-line Summary: SNICAR snow albedo scheme updates Purpose and description of changes ---------------------------------- Notes copied here from the PR #1861: A few substantial changes in the SNICAR module for the following updated snow albedo calculation features: - Updated ice optical properties from Flanner et al. (2021), with multiple types for ice refractive indices. - Updated aerosol optical properties from Flanner et al. (2021) with multiple dust types & new BC and OC optics. - Updated downward solar spectra from Flanner et al. (2021) for multiple condition types. - More accurate radiative transfer solver (adding-doubling) from Dang et al. (2019). - Nonspherical snow grain scheme from He et al. (2017). - BC-snow internal mixing scheme from He et al. (2017). - Dust-snow internal mixing scheme from He et al. (2019). - Hyperspectral (480-band, 10-nm spectral res) capability with all the above features. - New namelist controls for aerosol in snow and additional snow albedo diagnostic output variables. Specific notes - Code contributors: Cenlin He (NCAR/RAL) with advice from Dave Lawrence (NCAR/CGD) and Mark Flanner (UMich). - The manuscript to report this update is Cenlin He, Mark Flanner, David M Lawrence, Yu Gu: New features and enhancements in Community Land Model (CLM5) snow albedo modeling: description, sensitivity, and evaluation. Authorea. June 08, 2023. DOI:10.22541/essoar.168626390.01530324/v1 - These updates will change the snow and surface albedo results along with other surface fluxes changes. - There are a few new namelist options related to SNICAR scheme added to the namelist control. 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.] [X] clm5_1 [X] clm5_0 [X] ctsm5_0-nwp [X] clm4_5 Bugs fixed or introduced ------------------------ CTSM issues fixed (all three unrelated to this PR): Fixes #2173 Fixes #2107 Fixes #2129 Notes of particular relevance for users --------------------------------------- Changes to CTSM's user interface (e.g., new/renamed XML or namelist variables): New namelist variables: snicar_numrad_snw = 5 or 480 wavelength bands, default 5 snicar_solarspec, default "mid_latitude_winter" among six available options snicar_dust_optics, default "sahara" among three avail. options snicar_snw_shape, default "hexagonal_plate" among fourn avail. options snicar_use_aerosol, default .true. snicar_snobc_intmix and snicar_snodst_intmix, default .false. means do not activate bc-snow and dust-snow internal mixing do_sno_oc, default .false., already appeared in previous code but in caps use_snicar_frc, default .false., existed before fsnowoptics now points to an updated 5-band file and gives the option for a 480-band file Substantial timing or memory changes: [e.g., check PFS test in the test suite and look at timings, if you expect possible significant timing changes] Notes of particular relevance for developers: --------------------------------------------- Changes to tests or testing: Testing summary: ---------------- [PASS means all tests PASS; OK means tests PASS other than expected fails.] regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing): cheyenne ---- OK izumi ------- OK Answer changes -------------- Changes answers relative to baseline: YES Summarize any changes to answers, i.e., - what code configurations: All - what platforms/compilers: All - nature of change: larger than roundoff; new climate? Namelist defaults are such that phys="clm5.0" and phys="clm4.5" give different answers only due to the changed fsnowoptics file. Namelist defaults are such that phys="clm5.1" changes answers as a result of new parameterizations. If this tag changes climate, I will document such information on https://github.com/ESCOMP/CTSM/wiki/Answer-changing-tags Other details ------------- Pull Requests that document the changes (include PR ids): https://github.com/ESCOMP/ctsm/pull/1861 =============================================================== =============================================================== Tag name: ctsm5.1.dev144 Originator(s): samrabin (Sam Rabin, UCAR/TSS, samrabin@ucar.edu) Date: Thu Oct 19 13:30:02 MDT 2023 One-line Summary: Remove a deprecated shr_mpi_bcast call Purpose and description of changes ---------------------------------- Removes a use of the deprecated shr_mpi_mod, replacing with ESMF_VMBroadcast. In addition, since the last tag, some minor documentation changes have been made. 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_1 [ ] clm5_0 [ ] ctsm5_0-nwp [ ] clm4_5 Testing summary: ---------------- [PASS means all tests PASS; OK means tests PASS other than expected fails.] regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing): cheyenne ---- OK izumi ------- OK If the tag used for baseline comparisons was NOT the previous tag, note that here: Compared ctsm5.1.dev142 to a version of this branch (1f39800e1) with ctsm5.1.dev142 merged in. Answer changes -------------- Changes answers relative to baseline: No Other details ------------- [Remove any lines that don't apply. Remove entire section if nothing applies.] List any externals directories updated (cime, rtm, mosart, cism, fates, etc.): Pull Requests that document the changes (include PR ids): * #1991 (https://github.com/ESCOMP/CTSM/pull/1991) =============================================================== =============================================================== Tag name: ctsm5.1.dev143 Originator(s): rgknox (Ryan Knox,LAWRENCE BERKELEY NATIONAL LABORATORY,510-495-) Date: Fri Oct 13 08:53:38 MDT 2023 One-line Summary: Zeroing of wood product fluxes on fates columns Purpose and description of changes ---------------------------------- This is a small change that initializes wood product fluxes on fates columns to zero. These products are otherwise zero'd in a p2c() routine that is incompatible with fates. When wood product fluxes become available via fates, these routines will be updated. These fluxes were previously left as uninitialized, which was causing math issues on some compilers. Significant changes to scientifically-supported configurations -------------------------------------------------------------- There are no changes to scientifically-supported configurations. [ ] clm5_1 [ ] clm5_0 [ ] ctsm5_0-nwp [ ] clm4_5 Bugs fixed or introduced ------------------------ Fixes CTSM issue 2165 Notes of particular relevance for users --------------------------------------- No caveats, no bugs, no issues of relevance. No noticable timing changes. Notes of particular relevance for developers: --------------------------------------------- None Testing summary: ---------------- regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing): cheyenne ---- OK izumi ------- PASS Compared against baseline: ctsm5.1.dev142 Answer changes -------------- Answer changes only on FATES tests, and only on the specific wood product fluxes modified. These values are now zeros, instead of being uninitialized. Everything else is b4b. Other details ------------- No other details. Pull Requests that document the changes (include PR ids): #2168 -- GRU update for FATES #2134 -- Update to documentation for Meier et al. (2022) roughness length parameterization https://github.com/ESCOMP/CTSM/pull =============================================================== =============================================================== Tag name: ctsm5.1.dev142 Originator(s): samrabin (Sam Rabin, UCAR/TSS, samrabin@ucar.edu) Date: Tue Sep 19 11:30:22 MDT 2023 One-line Summary: Merge 5 bit-for-bit pull requests Purpose and description of changes ---------------------------------- Merge 5 bit-for-bit pull requests; see "Other details." 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.) [ ] clm5_1 [ ] clm5_0 [ ] ctsm5_0-nwp [ ] clm4_5 Bugs fixed or introduced ------------------------ CTSM issues fixed (include CTSM Issue #): * Add unit test for making fsurdat with all crops everywhere (#2079) * Rework master_list_(no)?fates.rst? (#2083) * conda run -n can fail if a conda environment is already active (#2109) * conda fails to load for SystemTests (#2111) Notes of particular relevance for developers: --------------------------------------------- Changes to tests or testing: * FSURDATMODIFYCTSM system test should now work for everyone. Testing summary: ---------------- [PASS means all tests PASS; OK means tests PASS other than expected fails.] build-namelist tests (if CLMBuildNamelist.pm has changed): cheyenne - PASS python testing (if python code has changed; see instructions in python/README.md; document testing done): cheyenne - PASS clm_pymods test suite on cheyenne - PASS regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing): cheyenne ---- OK izumi ------- OK Other details ------------- Pull Requests that document the changes (include PR ids): * Add system and unit tests for making fsurdat with all crops everywhere (#2081) * Rework master_list* files etc. (#2087) * Fixes to methane Tech Note (#2091) * Add is_doy_in_interval() function (#2158) * Avoid using subprocess.run() in FSURDATMODIFYCTSM (#2125) =============================================================== =============================================================== Tag name: ctsm5.1.dev141 Originator(s): slevis (Samuel Levis,UCAR/TSS,303-665-1310) Date: Wed Sep 13 13:58:04 MDT 2023 One-line Summary: Change small snocan to zero Purpose and description of changes ---------------------------------- Issues #2041 and #2048 discuss and resolve a test failure in the ctsm5.2 branch. The failure goes away when we reset small snocan to zero. Bill Sacks recommended merging this change in ctsm5.1 and then updating the ctsm5.2 branch to the latest ctsm5.1. 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_1 [ ] clm5_0 [ ] ctsm5_0-nwp [ ] clm4_5 Bugs fixed or introduced ------------------------ CTSM issues fixed (include CTSM Issue #): Fixes #2041 Fixes #2048 Testing summary: ---------------- [PASS means all tests PASS; OK means tests PASS other than expected fails.] regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing): cheyenne ---- OK izumi ------- OK Answer changes -------------- Changes answers relative to baseline: Yes Summarize any changes to answers, i.e., - what code configurations: All - what platforms/compilers: All - nature of change: roundoff The answer changes are expected to be roundoff-level because the code change just truncates roundoff-level greater-than-zero states to exactly zero for snocan that most likely needed to be zero anyway. The answer changes grow to greater than roundoff, but the cprnc.out file from a 20-year izumi test-suite case does not contain differences of concerning magnitude. Other details ------------- Pull Requests that document the changes (include PR ids): https://github.com/ESCOMP/ctsm/pull/2053 =============================================================== =============================================================== Tag name: ctsm5.1.dev140 Originator(s): afoster (Adrianna Foster) Date: Tue Sep 12 14:47:06 MDT 2023 One-line Summary: add lai_streams capability for FATES Purpose and description of changes ---------------------------------- Removed checks in clm_driver and CLMBuildNamelist.pm so that now FATES can run when use_lai_streams=.true. I also had to modify the init in cpl/share_esmf/laiStreamMod to allocate the g_to_ig array in the lai_init method (rather than in the lai_advance method. This was required because SatellitePhenology is called in clim_initializedMod in FATES cases (here). This happens before lai_advance is ever called so at that point the g_to_ig array was not yet allocated. Moving the allocation/initialization to the lai_init method fixes this. 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.) [ ] clm5_1 [ ] clm5_0 [ ] ctsm5_0-nwp [ ] clm4_5 Bugs fixed or introduced ------------------------ CTSM issues fixed (include CTSM Issue #): #1722 - Should be able to use lai streams with FATES-SP mode Notes of particular relevance for developers: --------------------------------------------- build-namelist tests (if CLMBuildNamelist.pm has changed): added tests to make sure use_lai_streams failed correctly Changes to tests or testing: Added a test for lai_streams with FATES Testing summary: ---------------- regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing): cheyenne ---- OK izumi ------- OK fates tests: (give name of baseline if different from CTSM tagname, normally fates baselines are fates--) cheyenne ---- OK izumi ------- OK Answer changes -------------- Changes answers relative to baseline: None Other details ------------- List any externals directories updated (cime, rtm, mosart, cism, fates, etc.): fates Pull Requests that document the changes (include PR ids): #2054 (https://github.com/ESCOMP/ctsm/pull) =============================================================== =============================================================== Tag name: ctsm5.1.dev139 Originator(s): slevis (Samuel Levis) Date: Fri Aug 25 16:47:45 MDT 2023 One-line Summary: Fix problems uncovered by nag -nan tests Purpose and description of changes ---------------------------------- Fix problems uncovered by adding the -nan compilation flag for the Nag compiler. 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_1 [ ] clm5_0 [ ] ctsm5_0-nwp [ ] clm4_5 Bugs fixed or introduced ------------------------ CTSM issues fixed (include CTSM Issue #): Makes progress on issue #1994 (same title) Testing summary: ---------------- [PASS means all tests PASS; OK means tests PASS other than expected fails.] regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing): cheyenne ---- OK izumi ------- PASS Answer changes -------------- Changes answers relative to baseline: No Other details ------------- Pull Requests that document the changes (include PR ids): https://github.com/ESCOMP/ctsm/pull/2051 =============================================================== =============================================================== Tag name: ctsm5.1.dev138 Originator(s): slevis (Samuel Levis,UCAR/TSS,303-665-1310) Date: Fri Aug 25 14:44:22 MDT 2023 One-line Summary: Refactor max_patch_per_col and maxsoil_patches loops Purpose and description of changes ---------------------------------- Refactor such loops for clearer and more efficient code, as recommended in issue #2025. 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_1 [ ] clm5_0 [ ] ctsm5_0-nwp [ ] clm4_5 Bugs fixed or introduced ------------------------ CTSM issues fixed (include CTSM Issue #): Fixes #2025 "Refactor loops that use max_patch_per_col?" Testing summary: ---------------- [PASS means all tests PASS; OK means tests PASS other than expected fails.] regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing): cheyenne ---- OK izumi ------- OK Answer changes -------------- Changes answers relative to baseline: No Other details ------------- Pull Requests that document the changes (include PR ids): https://github.com/ESCOMP/ctsm/pull/2056 =============================================================== =============================================================== Tag name: ctsm5.1.dev137 Originator(s): Ronny Meier, slevis (Samuel Levis,UCAR/TSS,303-665-1310) Date: Tue Aug 22 14:34:53 MDT 2023 One-line Summary: Surface roughness modifications Purpose and description of changes ---------------------------------- Surface roughness (z0) modifications that appear in this publication: https://doi.org/10.5194/gmd-15-2365-2022 When changing the namelist input z0param_method from ZengWang2007 (default) to Meier2022 the following modifications are activated: - A new parameterization of the vegetation surface roughness based on Raupach (1992) with optimized parameters to match the data collected in Hu et al. (2020) for different types of vegetation. This requires several new PFT-specific input parameters in the parameter file. - A spatially explicit z0m input field for bare soil based on the data of Prigent et al. (2005). This may be activated specifically by the user through the namelist input use_z0mg_2d. This requires a new input variable in the fsurdat file. - The parameterization of z0m for snow based on accumulated snow melt as proposed in Brock et al. (2006). This may be activated specifically by the user through the namelist input use_z0m_snowmelt. - The parameterization of Yang et al. (2008) for z0h and z0q over bare soil, snow, and glaciers. - The study in GMD also proposes new globally constant values for the z0m of bare soil, snow, and ice. To "activate" those the parameter file needs to be changed at the moment. The original and modified parameter files and fsurdat files will be shared by ftp. Open issues/questions (discussed with @ekluzek, @dlawrenncar, @olyson): - How to incorporate the data of Prigent et al. (2005) in the surfdata generation. I will write an email about this to Catherine Prigent. - One statement marked in CanopyFluxesMod should probably be changed when using Meier2022 (i.e., Yang et al. (2008) formulation should be used instead of Zeng and Dickinson (1998)). - At the moment one needs to change the parameter file to switch between the original and proposed globally constant z0m values for bare soil, snow, and ice. This is obviously not very user friendly and prone to mistakes. - The introduction of Yang et al. (2008) frequently results in z0h and z0q larger than z0m. This is only rarely observed in the field and in contradiction to the theory that z0h and z0q should be smaller because heat and water vapor need to be transported through molecular diffusion in the surface sublayer. 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_1 [ ] clm5_0 [ ] ctsm5_0-nwp [ ] clm4_5 Bugs fixed or introduced ------------------------ CTSM issues fixed (include CTSM Issue #): Fixes #1316 Fixes #1596 Notes of particular relevance for users --------------------------------------- Details already discussed in the description above. Notes of particular relevance for developers: --------------------------------------------- Changes to tests or testing: New tests are in place for this new code. Testing summary: ---------------- [PASS means all tests PASS; OK means tests PASS other than expected fails.] regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing): cheyenne ---- OK izumi ------- OK Answer changes -------------- Changes answers relative to baseline: No, unless user chooses to run in non-default Meier2022 mode. Other details ------------- Pull Requests that document the changes (include PR ids): https://github.com/ESCOMP/ctsm/pull/2045 =============================================================== =============================================================== Tag name: ctsm5.1.dev136 Originator(s): jedwards (Jim Edwards), sacks (Bill Sacks) Date: Tue Aug 22 13:10:28 MDT 2023 One-line Summary: Change order of history fields to improve performance on derecho Purpose and description of changes ---------------------------------- Instead of just ordering history fields alphabetically, order them first by the name of their level dimension (with fields without a level dimension appearing first), then alphabetically within a given level dimension. This changed ordering gives a significant performance improvement especially noticeable on lustre file systems such as on derecho. 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_1 [ ] clm5_0 [ ] ctsm5_0-nwp [ ] clm4_5 Notes of particular relevance for users --------------------------------------- Caveats for users (e.g., need to interpolate initial conditions): - History fields will now appear in a different order from tools like ncdump, etc. Testing summary: ---------------- regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing): cheyenne ---- OK izumi ------- OK In addition to expected fails, the test FSURDATMODIFYCTSM_D_Mmpi-serial_Ld1.5x5_amazon.I2000Clm50SpRs.cheyenne_intel also failed as in https://github.com/ESCOMP/CTSM/issues/2111 Answer changes -------------- Changes answers relative to baseline: NO Other details ------------- Pull Requests that document the changes (include PR ids): https://github.com/ESCOMP/CTSM/pull/2114 =============================================================== =============================================================== Tag name: ctsm5.1.dev135 Originator(s): slevis (Samuel Levis,UCAR/TSS,303-665-1310) Date: Mon Aug 21 15:06:35 MDT 2023 One-line Summary: Rename hist fields to track them down more easily Purpose and description of changes ---------------------------------- Renaming history fields to make easier to find in lists, e.g. when using ncview. For example, litter fields like MET_LIT and STR_LIT will be LIT_MET and LIT_STR. 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_1 [ ] clm5_0 [ ] ctsm5_0-nwp [ ] clm4_5 Bugs fixed or introduced ------------------------ CTSM issues fixed (include CTSM Issue #): Fixes #2095 Testing summary: ---------------- [Remove any lines that don't apply.] [PASS means all tests PASS; OK means tests PASS other than expected fails.] regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing): cheyenne ---- OK izumi ------- OK any other testing (give details below): Sam L. ran the LMWG diag. pkg and found only one plot affected by this PR's changes. In particular, set 6 CWD_C, which was CWDC Answer changes -------------- Changes answers relative to baseline: No. Field lists differ. In some tests, the namelists differ. Other details ------------- Pull Requests that document the changes (include PR ids): https://github.com/ESCOMP/ctsm/pull/2106 =============================================================== =============================================================== Tag name: ctsm5.1.dev134 Originator(s): rgknox (Ryan Knox,LBNL EESA), erik (Erik Kluzek,UCAR/TSS,303-497-1326) Date: Wed Aug 16 17:20:27 MDT 2023 One-line Summary: Migration of FATES to share normal soil BGC call sequence and functionality Purpose and description of changes ---------------------------------- This set of changes enables the normal soil biogeochemistry that is used for CN, to be used for FATES as well. FATES had been using a simplified subset of soil biogeochemistry in its own module. This change required coordination of litter flux and methane boundary conditions from FATES to CLM. CNVEG datastructures were given trivial allocation (of size one on index zero) to prevent inappropriate use of CNVEG datastructures while FATES is active. Note that now the carbon balance checking for the soil is now active when FATES is active. Various accomodations have also been put in place to enable nitrogen cycling between the two models. 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_1 [ ] clm5_0 [ ] ctsm5_0-nwp [ ] clm4_5 Bugs fixed or introduced ------------------------ Surprisingly, nvhpc tests are now working, but it may just be coincidental. All existing aux_clm tests are passing. Tests without FATES are b4b, with roundoff differences in just TOTCOLC and TOTCOLN. CTSM issues fixed (include CTSM Issue #): We think #1879 -- "AD spinup issues for FATES", is fixed but haven't proved it #2112 -- black check on SystemTest file Notes of particular relevance for users --------------------------------------- A CLM-FATES simulation will turn on nitrogen supplementation, this enables sufficient immobilization and decomposition. Until FATES and CLM can handle fully coupled nitrogen exchange, which would include root uptake of the mineralized aqueous forms (NH4 and NO3), N limitations in the soil are meaningless when FATES is on. Caveats for users (e.g., need to interpolate initial conditions): FATES MUST have suplnitro='ALL' now (was NONE). When fates_parteh_mode>=1 other settings are allowed. More checking for use_luna and suplnitro is added for FATES in the build-namelist Changes made to namelist defaults (e.g., changed parameter values): FATES runs now supplement N suplnitro set to ALL for FATES use_luna set to .false. for FATES and clm4_5 physics Notes of particular relevance for developers: --------------------------------------------- Caveats for developers (e.g., code that is duplicated that requires double maintenance): We should update defaults for suplnitro, when Nitrogen nutrients are allowed in FATES The black checdk github action has to duplicate actions for each source file or directory We should move to using the Makefile in the python directory when we figure it out Testing summary: ---------------- aux_clm test run on cheyenne and izumi. See: izumi: OK /scratch/cluster/rgknox/tests_0814-095624iz cheyenne: OK /glade/scratch/rgknox/tests_0814-134713ch Answer changes -------------- Changes answers relative to baseline: Two diganostic fields (TOTCOLC and TOTCOLN) Baseline changes will be reported for many tests, all tests were combed to identify RMS diffs, all non-FATES tests had at most, roundoff level (-) cheyenne ---- OK izumi ------- OK If the tag used for baseline comparisons was NOT the previous tag, note that here: Note that the previous ctsm5.1.dev132 tag was generated using FATES tagname sci.1.66.1_api.25.5.0. This api update includes intermediate FATES science tags that are non-b4b, so aux_clm FATES tests result in DIFFs as expected. Answer changes -------------- Changes answers relative to baseline: Yes, but only for aux_clm fates tests. Other details ------------- List any externals directories updated (cime, rtm, mosart, cism, fates, etc.): sci.1.66.1_api.25.5.0 -> sci.1.67.1_api.26.0.0 ccs_config_cesm0.0.64 -> ccs_config_cesm0.0.65 Pull Requests that document the changes (include PR ids): (https://github.com/ESCOMP/ctsm/pull) https://github.com/ESCOMP/CTSM/pull/2000 -- refactor https://github.com/ESCOMP/CTSM/pull/2089 -- Change template update https://github.com/NGEET/fates/pull/1024 -- FATES refactor =============================================================== =============================================================== Tag name: ctsm5.1.dev132 Originator(s): mvdebolskiy (NORCE, Bergen, Norway), slevis (Samuel Levis,UCAR/TSS,303-665-1310) Date: Fri Aug 4 17:52:45 MDT 2023 One-line Summary: Add parameterization to allow excess ice in soil and subsidence Purpose and description of changes ---------------------------------- As described in PR #1787: Parameterization for excess ice described in Lee et al. (2014): http://dx.doi.org/10.1088/1748-9326/9/12/124006 This code is a modified version of code provided by Lei Cai: https://github.com/lca041/ctsm/tree/clm5.0.dev92_exice Works only for the nuopc driver. Files changed: bld/CLMBuildNamelist.pm, bld/namelist_files/namelist_defaults_ctsm.xml, bld/namelist_files/namelist_definitionss_ctsm.xml -- added namelist options; src/main/clm_varctl.F90, src/main/controlMod.F90 -- added option to switch excess ice physics and read namelist option; src/biogeophys/WaterStateType.F90 -- added prognostic excess ice variable and a history field; src/biogeophys/WaterStateBulkType.F90, src/main/clm_instMod.F90, -- added arguments to soubrutiens for proper initialization; src/biogeophys/TemperatureType.F90 -- initial soil temperature set to 268.15 K at the cold start (possibly redundant because #1460 is closed) src/biogeophys/WaterDiagnosticBulkType.F90 -- added two diagnostic excess ice variables and two history fields; src/biogeophys/SoilTemperatureMod.F90 -- added main excess ice calculations; src/biogeophys/TotalWaterAndHeatMod.F90 -- added excess ice to total water for balance checks; src/biogeophys/SoilHydrologyMod.F90 -- added excess ice for ice fraction calculation; New files: src/cpl/share_esmf/ExcessIceStreamType.F90 -- routines to read dataset with initial excess ice concentration 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_1 [ ] clm5_0 [ ] ctsm5_0-nwp [ ] clm4_5 Bugs fixed or introduced ------------------------ CTSM issues fixed (include CTSM Issue #): Fixes #1229 -- excess ice Notes of particular relevance for users --------------------------------------- Caveats for users (e.g., need to interpolate initial conditions): Excess ice can EITHER be turned on by using the stream file, OR a restart file that has excess ice on it. Since, excess ice is expected to melt as time goes on, the use of a restart file is preferred. But, use of a restart file requires a simulation that was spun up to that point. Changes to CTSM's user interface (e.g., new/renamed XML or namelist variables): New namelist options added: - use_excess_ice (logical, in clm_inparm) default = .false.; turns on excess ice physics - stream_meshfile_exice, stream_fldfilename_exice, stream_mapalgo_exice (char, in exice_streams) meshfile, stream file, spatial interpolation algorithm for initial values of excess ice defaults - lnd/clm2/paramdata/exice_init_0.125x0.125_ESMFmesh_c20220516.nc, lnd/clm2/paramdata/exice_init_0.125x0.125_c20220516.nc and bilinear Dataset interpolated to 0.125x0.125 degrees grid from Brown et al. (1997) can be found here: https://drive.google.com/file/d/1mA457Oa52zG_MtLGB7KHuUYQvsS2-P5o/view?usp=sharing Dataset used only in cold start or hybrid runs (or starting with finidat) that do not have excess ice Notes of particular relevance for developers: --------------------------------------------- Changes to tests or testing: New tests in place for this new code Testing summary: ---------------- [Remove any lines that don't apply.] [PASS means all tests PASS; OK means tests PASS other than expected fails.] build-namelist tests (if CLMBuildNamelist.pm has changed): cheyenne - PASS regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing): heyenne ---- OK izumi ------- OK any other testing (give details below): If the tag used for baseline comparisons was NOT the previous tag, note that here: Answer changes -------------- Changes answers relative to baseline: No Other details ------------- Pull Requests that document the changes (include PR ids): https://github.com/ESCOMP/ctsm/pull/1787 =============================================================== =============================================================== Tag name: ctsm5.1.dev131 Originator(s): samrabin (Sam Rabin,UCAR/TSS) Date: Thu Jul 27 14:24:07 MDT 2023 One-line Summary: Enable prescribed crop calendars. Purpose and description of changes ---------------------------------- This branch enables CLM to read in externally-prescribed crop sowing dates and "cultivar" maturity requirements (growing degree-days, GDDs). This has so far only been tested with static values, and the results indicate that yield performance is worsened. However, this capability is required by the GGCMI phase 3 / ISIMIP3 Agriculture protocol. Briefly, the way this works is that an offline run is first performed with prescribed sowing dates and 364-day seasons. Instantaneous GDD accumulation is saved daily. A Python script then cross-references those daily outputs with a map of mean sowing dates to determine the mean accumulated GDDs in the growing season, saving the result as a file for use as prescribed maturity requirements. 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_1 [ ] clm5_0 [ ] ctsm5_0-nwp [ ] clm4_5 Bugs fixed or introduced ------------------------ CTSM issues fixed (include CTSM Issue #): Resolves #281 -- Clean up CropPhenology logic Resolves #519 -- Read in crop planting and harvest dates Fixes #2042 -- Issue running SystemTests due to "conda activate" error Some on #1649 -- Additional "annual" (per growing season) crop outputs Notes of particular relevance for users --------------------------------------- Caveats for users: Untested but theoretically possible: * Time-varying inputs * Running at any resolution other than one matching the crop calendar inputs Changes to CTSM's user interface (e.g., new/renamed XML or namelist variables): Adds optional namelist variables: * stream_fldfilename_sdate: Filename of input stream data for sowing dates * stream_fldfilename_cultivar_gdds: Filename of input stream data for cultivar growing degree-day targets * stream_meshfile_cropcal: Filename of input stream data for crop calendar inputs * stream_year_first_cropcal: First year to loop over for crop calendar data * stream_year_last_cropcal: Last year to loop over for crop calendar data * model_year_align_cropcal: Simulation year that aligns with stream_year_first_cropcal value * generate_crop_gdds: Set to .true. in order to override crop harvesting logic and to instead harvest the day before the next sowing date. Used to generate growing-degree day outputs that can be used with an external script to generate new GDD requirement ("cultivar") files. * use_mxmat: Set to .false. in order to ignore crop PFT parameter for maximum growing season length (mxmat). Must be set to .false. when generate_crop_gdds is .true. Notes of particular relevance for developers: --------------------------------------------- Changes to tests or testing: * Adds RXCROPMATURITY SystemTest, with an example added to ctsm_sci test suite. * Removes 12 MCT tests from testlist_clm.xml, as discussed in CTSM SE standup 2023-06-26. Testing summary: ---------------- [PASS means all tests PASS; OK means tests PASS other than expected fails.] build-namelist tests (if CLMBuildNamelist.pm has changed): cheyenne - PASS regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing): cheyenne ---- OK izumi ------- OK python testing (if python code has changed; see instructions in python/README.md; document testing done): cheyenne - PASS Answer changes -------------- Changes answers relative to baseline: YES for Clm45BgcCrop compsets only Summarize any changes to answers, i.e., - what code configurations: Clm45BgcCrop - what platforms/compilers: Cheyenne intel and gnu, Izumi intel and nag - nature of change (roundoff; larger than roundoff/same climate; new climate): roundoff 5 tests in aux_clm showed true DIFFs (i.e., not just field list differences / new output files): - SMS_D_Ly6_Mmpi-serial.1x1_smallvilleIA.IHistClm45BgcCropQianRs.izumi_intel.clm-cropMonthOutput - ERP_D_P36x2_Ld3.f10_f10_mg37.I2000Clm45BgcCrop.cheyenne_gnu.clm-no_subgrid_fluxes - LGRAIN2_Ly2_P72x1.f10_f10_mg37.I1850Clm45BgcCrop.cheyenne_gnu.clm-ciso--clm-cropMonthOutput - ERS_Ly5_P72x1.f10_f10_mg37.IHistClm45BgcCrop.cheyenne_intel.clm-cropMonthOutput - SMS_D_Ld1_P48x1.f10_f10_mg37.I2000Clm45BgcCrop.izumi_nag.clm-oldhyd The first four were likely due to an order-of-operations change in CNOffsetLitterfall(), as they resolve with the patch at https://github.com/samsrabin/CTSM/commit/c30320cbd6583bccbcc290ffe536e8500e6ec358 The last is resolved with an additional patch that removes all my changes to CNOffsetLitterfall()---changes which *should* only affect new diagnostic variables: https://github.com/samsrabin/CTSM/commit/e025f555e74584c63d50f27c4df38326fa64bc4f Other details ------------- List any externals directories updated (cime, rtm, mosart, cism, fates, etc.): cime cime: cime6.0.108 -> cime6.0.125 Pull Requests that document the changes (include PR ids): https://github.com/ESCOMP/CTSM/pull/1863 =============================================================== =============================================================== Tag name: ctsm5.1.dev130 Originator(s): glemieux (Greg Lemieux,LBL/NGEET,510-486-5049) Date: Sun Jul 9 23:24:29 MDT 2023 One-line Summary: FATES parameter file and test definition update Purpose and description of changes ---------------------------------- This tag incorporates updates to the FATES parameter file and test definitions to be consistent with updates to the drought deciduous phenology model in FATES. This also updates the external FATES pointer to the tag associated with the drought deciduous phenology update. 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_1 [ ] clm5_0 [ ] ctsm5_0-nwp [ ] clm4_5 Bugs fixed or introduced ------------------------ CTSM issues fixed (include CTSM Issue #): Fixes #2043 -- Five izumi NEON tests fail (for me) because the testnames include L10d instead of Ld10 Known bugs found since the previous tag (include issue #): #2049 -- Use of 0.01_r8 as a magic number #2042 -- Issue running SystemTests due to "conda activate" error #2039 -- Conditional for NEON usermods is too broad Notes of particular relevance for users --------------------------------------- Changes made to namelist defaults (e.g., changed parameter values): FATES parameter file default updated to fates_params_api.25.5.0_12pft_c230628.nc Testing summary: ---------------- [PASS means all tests PASS; OK means tests PASS other than expected fails.] regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing): cheyenne ---- OK izumi ------- OK fates tests: (give name of baseline if different from CTSM tagname, normally fates baselines are fates--) cheyenne ---- OK izumi ------- OK Answer changes -------------- Changes answers relative to baseline: YES for FATES tests only Summarize any changes to answers, i.e., - what code configurations: FATES - what platforms/compilers: ALL - nature of change (roundoff; larger than roundoff/same climate; new climate): larger than roundoff If this tag changes climate describe the run(s) done to evaluate the new climate (put details of the simulations in the experiment database) See FATES #958 for discussion. The update increased the dimensions of some FATES history output from site-level to pft-level. As such, these have been removed from some test cases to keep the test light weight and added to the AllVars test to maintain coverage. Note that this FATES update also incorporates a number of additional science updates since the previous tag. Other details ------------- List any externals directories updated (cime, rtm, mosart, cism, fates, etc.): fates fates: sci.1.65.3_api.25.4.0 -> fates-sci.1.66.0_api.25.5.0 Pull Requests that document the changes (include PR ids): https://github.com/ESCOMP/ctsm/pull/2009 https://github.com/NGEET/fates/pull/958 =============================================================== =============================================================== Tag name: ctsm5.1.dev129 Originator(s): erik (Erik Kluzek,UCAR/TSS,303-497-1326) Date: Thu Jun 22 01:21:56 MDT 2023 One-line Summary: NEON fixes for TOOL and user-mods, add SP for NEON, some history file updates, black refactor for buildlib/buildnml Purpose and description of changes ---------------------------------- Merge the NEON fixes for TOOL and allowing SP mode, as well as a few simple history PR's, and a black reformat. Fixes NEON bug identified at the NCAR-NEON workshop. Corrects the dominant PFT at TOOL site & usermods_dirs Some small changes for quality of life improvements for the run_neon script. Some documentation and code cleanup type changes regarding history code (delete a unused subroutine). Do a black reformat of python files buildlib/buildnml (and CTSM SystemTests) for consistency across CESM. Also add running them through black in the python Specific notes: - fixed a couple lines so that python will stop complaining about deprecated things - added print statements about warning messages being not an issue, and that building/running may take a while - added a "success" print statement - I'm not sure this will actually only print if "successful" - Add more documentation to history tape code - Add more breadcrumbs between related variables and methods - Put related history namelist flags/methods together - Update some out of date comments in history code 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_1 [ ] clm5_0 [ ] ctsm5_0-nwp [ ] clm4_5 Bugs fixed or introduced ------------------------ CTSM issues fixed (include CTSM Issue #): Fixes #2013 -- Incorrect PFT at TOOL Fixes #2014 -- NEON usermods not working as intended Fixes #2029 -- fire_method is used before it's set and hence fire_res isn't set to none Fixes #2030 -- Logic in build-namelist not functioning correctly for FATES with light_res Updates conda environment so that #1974 works Known bugs found since the previous tag (include issue #): #2037 -- shell_commands for tests with two testmods listed don't concatenate both together #2036 -- Remove setting of STOP options in user-mod directories #2017 -- subset_data does not function for regional grids that span across Greenwich longitude zero #2024 -- snow fraction is uninitialized when passed to fates during cold-starts Notes of particular relevance for users --------------------------------------- Caveats for users (e.g., need to interpolate initial conditions): Ability to run for SP sites was added for NEON, but run-neon.py doesn't have an option for it Changes to CTSM's user interface (e.g., new/renamed XML or namelist variables): New --light_res option for 106x74 for NEON lightning data added (can be set in CLM_BLDNML_OPTS) This is the default for NEON sites (with $CLM_USRDAT_NAME == NEON or NEON.PRISM) It fails for non CLM_USRDAT resolutions and gives a warning for non-NEON CLM_USRDAT resolutions) Changes made to namelist defaults (e.g., changed parameter values): Add NEON 106x74 lightning dataset Changes to the datasets (e.g., parameter, surface or initial files): New NEON surface datasets Notes of particular relevance for developers: --------------------------------------------- Changes to tests or testing: Add a NEON case that runs in SP mode Change one of the FATES tests to turn fire on and require lightning data Testing summary: regular NEON-tools ---------------- [PASS means all tests PASS; OK means tests PASS other than expected fails.] build-namelist tests (if CLMBuildNamelist.pm has changed): cheyenne - PASS (57 tests different from baseline) tools-tests (test/tools) (if tools have been changed): cheyenne - PASS (NEON test list passes) python testing (if python code has changed; see instructions in python/README.md; document testing done): cheyenne - PASS regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing): cheyenne ---- OK izumi ------- OK other testing: izumi -- PASS (tests of changed NEON sites, see list in #2031) If the tag used for baseline comparisons was NOT the previous tag, note that here: Answer changes -------------- Changes answers relative to baseline: bit-for-bit (except some NEON sites) Summarize any changes to answers, i.e., - what code configurations: NEON TOOL site and other NEON sites with namelist changes - what platforms/compilers: all - nature of change: new climate Other details ------------- Pull Requests that document the changes (include PR ids): (https://github.com/ESCOMP/ctsm/pull) #2031 -- Merge of below... #2015 -- Address NEON bugs #2021 -- Small changes to fix warnings, add print statements for clarity #2023 -- Document side effects of htapes_fieldlist #2022 -- Delete unued hist_add_subscript #2020 -- Add more documentation to history tape code #2007 -- black reformat python files for consistancy across cesm =============================================================== =============================================================== Tag name: ctsm5.1.dev128 Originator(s): glemieux (Gregory Lemieux,LBL/NGEET,510-486-5049) Date: Thu Jun 1 15:31:52 MDT 2023 One-line Summary: Update FATES tests to double precision Purpose and description of changes ---------------------------------- This pull request updates the fates tests to set the output precision to double precision. The usermod fates_sp is similarly updated. 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.) [ ] clm5_1 [ ] clm5_0 [ ] ctsm5_0-nwp [ ] clm4_5 Bugs fixed or introduced ------------------------ CTSM issues fixed (include CTSM Issue #): - Resolves https://github.com/ESCOMP/CTSM/issues/1986 Testing summary: ---------------- [PASS means all tests PASS; OK means tests PASS other than expected fails.] regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing): cheyenne ---- OK izumi ------- OK fates tests: (give name of baseline if different from CTSM tagname, normally fates baselines are fates--) cheyenne ---- OK izumi ------- OK If the tag used for baseline comparisons was NOT the previous tag, note that here: FATES tests run against fates-sci.1.65.6_api.25.4.0-ctsm5.1.dev127 baseline Answer changes -------------- Changes answers relative to baseline: Yes, but only for fates tests and compsets Summarize any changes to answers, i.e., - Differences are due to changing hist_ndens to 1 (double precision) Other details ------------- Pull Requests that document the changes (include PR ids): https://github.com/ESCOMP/CTSM/pull/2010 =============================================================== =============================================================== Tag name: ctsm5.1.dev127 Originator(s): sacks (Bill Sacks) Date: Fri May 19 04:48:30 MDT 2023 One-line Summary: Fix nuopc cplhist test Purpose and description of changes ---------------------------------- Make some changes to the cplhist testmod that fix the cplhist test, based on testing done by Keith Oleson: - Point to new cplhist forcing data generated and used by Adam Herrington and Keith Oleson - Use DATM_PRESNDEP=none until https://github.com/escomp/ctsm/issues/1844 is resolved Also, remove mct cplhist test. 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_1 [ ] clm5_0 [ ] ctsm5_0-nwp [ ] clm4_5 Bugs fixed or introduced ------------------------ CTSM issues fixed (include CTSM Issue #): - Takes steps towards addressing ESCOMP/CTSM#1844 (Create new auxiliary history file for cplhist test with ndep data) Notes of particular relevance for developers: --------------------------------------------- Changes to tests or testing: - Changes cplhist test; new test is SMS_D_Ld1.ne30pg3_t061.I1850Clm50BgcSpinup.cheyenne_intel.clm-cplhist - Removes mct cplhist test Testing summary: ---------------- regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing): cheyenne ---- PASS izumi ------- PASS Note that there were no baselines for the new test (SMS_D_Ld1.ne30pg3_t061.I1850Clm50BgcSpinup.cheyenne_intel.clm-cplhist) Answer changes -------------- Changes answers relative to baseline: NO Other details ------------- List any externals directories updated (cime, rtm, mosart, cism, fates, etc.): - cdeps: cdeps1.0.12 -> cdeps1.0.13 Pull Requests that document the changes (include PR ids): https://github.com/ESCOMP/CTSM/pull/1999 =============================================================== =============================================================== Tag name: ctsm5.1.dev126 Originator(s): jpalex (John Alex) Date: Thu May 18 17:21:59 MDT 2023 One-line Summary: Clean up some loops in UrbanTimeVarType Purpose and description of changes ---------------------------------- Refactor some inefficient and confusing looping structures in UrbanTimeVarType.F90 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_1 [ ] clm5_0 [ ] ctsm5_0-nwp [ ] clm4_5 Bugs fixed or introduced ------------------------ CTSM issues fixed (include CTSM Issue #): - Resolves ESCOMP/CTSM#1514 (Inefficient and confusing looping structures in UrbanTimeVarType.F90) Testing summary: ---------------- regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing): cheyenne ---- PASS izumi ------- PASS Answer changes -------------- Changes answers relative to baseline: NO Other details ------------- Pull Requests that document the changes (include PR ids): https://github.com/ESCOMP/CTSM/pull/2005 =============================================================== =============================================================== Tag name: ctsm5.1.dev125 Originator(s): jpalex (John Alex) Date: Sun Jul 9 21:04:13 MDT 2023 One-line Summary: Added cache for clock step_size in clm_time_manager.F90 Purpose and description of changes ---------------------------------- Added cache for clock step_size in clm_time_manager.F90 to improve performance. 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_1 [ ] clm5_0 [ ] ctsm5_0-nwp [ ] clm4_5 Bugs fixed or introduced ------------------------ CTSM issues fixed (include CTSM Issue #): - Resolves ESCOMP/CTSM#207 (Improve performance of get_step_size) Testing summary: ---------------- regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing): cheyenne ---- PASS izumi ------- PASS Answer changes -------------- Changes answers relative to baseline: NO Other details ------------- Pull Requests that document the changes (include PR ids): https://github.com/ESCOMP/CTSM/pull/2004 =============================================================== =============================================================== Tag name: ctsm5.1.dev124 Originator(s): erik (Erik Kluzek,UCAR/TSS,303-497-1326) / mvertens / adamrher / MiCurry / jtrusdal / TeaganKing Date: Tue May 9 16:52:05 MDT 2023 One-line Summary: Initialization memory update, new surface datasets for new grids, add option for running NEON with PRISM data Purpose and description of changes ---------------------------------- Lower memory usage at initialization: Some work by Mariana Vertenstein to lower the memory usage at initiatlization. New Low Resolutions for SE grids: ne3np4.pg3, ne5np4.pg3, ne16np4.pg3 New MPASA Resolutions: mpasa480 --------- Course resolution mpasa120 --------- Near 1-degree mpasa60, mpasa30 - High resolution mpasa15 ---------- Very high resolution This merge adds the surface data and landuse.timeseries files for the CAM-MPAS dycore. At present, these grids are: mpasa480 - 480 km quasi-uniform, global with 2,462 horizontal grid columns mpasa120 - 120 km quasi-uniform, global with 40,962 horizontal grid columns mpasa60 - 60 km quasi-uniform, global with 163,842 horizontal grid columns mpasa30 - 30 km quasi-uniform, global with 655,362 horizontal grid columns mpasa15 - 15 km quasi-uniform, global with 2,621,442 horizontal grid columns Option to Run NEON with PRISM preciption data: Some NEON sites have bad or incomplete precitation data. By setting CLM_USRDAT_NAME="NEON.PRISM" the PRISM 4km CONUS ReAnayslis data is used in place of the NEON precipitation data. This is helpful for several NEON sites: MLBS, MOAB, ONAQ, SJER, NIWO, TEAK, WREF, YELL Allow PRISM precipitation to be used as a new datm stream. Updates to cime_config/config_component.xml include additional valid values for PRECIP data stream names. Changes in cime_config/usermods_dirs/NEON/defaults/user_nl_datm_streams specify which input variables are gathered from which streams and specifies file location for PRISM data. Using PRISM precipitation instead of NEON precipitation does have a substantial impact on CTSM output (eg. latent heat flux biases). 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_1 [ ] clm5_0 [ ] ctsm5_0-nwp [ ] clm4_5 Bugs fixed or introduced ------------------------ CTSM issues fixed (include CTSM Issue #): Fixes #1969 -- Move dynGrossUnrepMod.F90 from biogeochem to dyn_subgrid subdirectory Fixes #1904 -- Other precipitation streams for NEON Fixes #1927 -- Course SE resolutions support Fixes #1313 -- MPASA resolution support Notes of particular relevance for users --------------------------------------- Caveats for users (e.g., need to interpolate initial conditions): New resolutions do NOT have specific initial conditions for them, they use the general ones Changes to CTSM's user interface (e.g., new/renamed XML or namelist variables): NEON cases will give a warning about spinup data for non default transient cases if you set a NEON case with CLM_USRDAT_NAME=NEON.PRISM, PRISM data will be used for precip Two new options to run_neon.py "--prism" and "--experiment" Changes made to namelist defaults (e.g., changed parameter values): "v3" data option for NEONVERSION Changes to the datasets (e.g., parameter, surface or initial files): New surface and landuse.timeseries datasets for: ne3np4.pg3, ne5np4.pg3, ne16np4.pg3 mpasa480, mpasa120, mpasa60, mpasa30, mpasa15 Notes of particular relevance for developers: --------------------------------------------- Changes to tests or testing: Add new tests for new resolutions Testing summary: regular, tools ---------------- [PASS means all tests PASS; OK means tests PASS other than expected fails.] build-namelist tests (if CLMBuildNamelist.pm has changed): cheyenne - PASS (81 new tests) tools-tests (test/tools) (if tools have been changed): cheyenne - OK cheyenne - PASS (tests_pretag_nompi_neon) python testing (if python code has changed; see instructions in python/README.md; document testing done): cheyenne - PASS regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing): cheyenne ---- OK izumi ------- OK any other testing (give details below): If the tag used for baseline comparisons was NOT the previous tag, note that here: Answer changes -------------- Changes answers relative to baseline: No bit-for-bit Other details ------------- List any externals directories updated (cime, rtm, mosart, cism, fates, etc.): cdeps Update CDEPS to cdeps1.0.12 Pull Requests that document the changes (include PR ids): (https://github.com/ESCOMP/ctsm/pull) #1998 -- combination of below PR's... #1954 -- PRISM #1973 -- SE #1501 -- MPASA #1899 -- memory scaling =============================================================== =============================================================== Tag name: ctsm5.1.dev123 Originator(s): sacks (Bill Sacks) Date: Mon May 1 11:37:51 MDT 2023 One-line Summary: Updates needed for pFUnit 4 and other externals updates Purpose and description of changes ---------------------------------- (1) Lots of small changes needed for the update to pFUnit4. Note that this is a backwards-incompatible update, so we will require pFUnit 4 moving forward. (2) Externals updates: some of these are needed for the update to pFUnit 4; others are included to update externals to those in a recent CESM alpha tag. Notes of particular relevance for developers: --------------------------------------------- Caveats for developers (e.g., code that is duplicated that requires double maintenance): - Running the Fortran unit tests now requires pFUnit 4 - I didn't run the mksurfdata_map unit tests... these will be removed soon anyway with the replacement of mksurfdata_map with mksurfdata_esmf Testing summary: ---------------- regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing): cheyenne ---- PASS izumi ------- PASS Note: most testing run on 46968da7b; reran just izumi-nag testing on the latest version (the only difference was in the version of the ccs_config external, and the only diff there was for nag). any other testing (give details below): - Fortran unit tests (under src) on izumi and my Mac Answer changes -------------- Changes answers relative to baseline: NO Other details ------------- List any externals directories updated (cime, rtm, mosart, cism, fates, etc.): - ccs_config: ccs_config_cesm0.0.58 -> ccs_config_cesm0.0.64 - cime: cime6.0.100 -> cime6.0.108 - cmeps: cmeps0.14.17 -> cmeps0.14.21 - cdeps: cdeps1.0.7 -> cdeps1.0.9 - cpl7: cpl7.0.14 -> cpl77.0.5 - share: share1.0.16 -> share1.0.17 Pull Requests that document the changes (include PR ids): https://github.com/ESCOMP/CTSM/pull/1989 =============================================================== =============================================================== Tag name: ctsm5.1.dev122 Originator(s): sacks (Bill Sacks) Date: Sun Apr 23 19:36:37 MDT 2023 One-line Summary: Rework handling of evaporation constraint in SoilFluxes Purpose and description of changes ---------------------------------- Occasionally, h2osoi_ice was going significantly negative in UpdateState_TopLayerFluxes - see https://github.com/ESCOMP/CTSM/issues/1979. As noted in that issue, this seems to be due to h2osoi_ice having a very different magnitude from h2osoi_liq, leading to greater-than-roundoff-level differences from zero final state in a relative sense (i.e., relative to the magnitude of h2osoi_ice) - I think because of the appearance of the sum (h2osoi_ice + h2osoi_liq) in the equations that limit fluxes. To try to deal with this, I have reworked the handling of the evaporation constraint to directly limit both the liqevap and solidevap, so that both of them should result in the equivalent liq or ice states going to 0 within roundoff. To do that, I needed to move the partitioning of the total flux into liquid and solid to earlier in the subroutine and then recalculate those partitioning fluxes in conditions where we're applying an evaporation constraint. Note that I applied a max of 0 to the new fluxes because many initial conditions files have roundoff-level negative H2OSOI_LIQ, so without this limit, we were getting roundoff-level negative fluxes. 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_1 [ ] clm5_0 [ ] ctsm5_0-nwp [ ] clm4_5 Bugs fixed or introduced ------------------------ CTSM issues fixed (include CTSM Issue #): - Resolves ESCOMP/CTSM#1979 (Need some changes to avoid negative h2osoi_ice in UpdateState_TopLayerFluxes) Testing summary: ---------------- regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing): cheyenne ---- OK izumi ------- OK Tests passed, some baseline differences as expected. Answer changes -------------- Changes answers relative to baseline: YES Summarize any changes to answers, i.e., - what code configurations: potentially all - what platforms/compilers: potentially all - nature of change (roundoff; larger than roundoff/same climate; new climate): roundoff Differences were only observed in a few tests: - ERP_P36x2_Ld30.f45_f45_mg37.I2000Clm51FatesSpCruRsGs.cheyenne_intel.clm-FatesColdSatPhen - ERI_D_Ld9_P48x1.T31_g37.I2000Clm50Sp.izumi_nag.clm-reduceOutput - SMS_D_Ln9_P36x3.f19_g17.IHistClm50Sp.cheyenne_intel.clm-waccmx_offline - SMS_D_Ln9_P36x3_Vmct.f19_g17.IHistClm50Sp.cheyenne_intel.clm-waccmx_offline If bitwise differences were observed, how did you show they were no worse than roundoff? Only two tests had greater-than-roundoff-level differences in the cprnc output: SMS_D_Ln9_P36x3.f19_g17.IHistClm50Sp.cheyenne_intel.clm-waccmx_offline and the mct equivalent, SMS_D_Ln9_P36x3_Vmct.f19_g17.IHistClm50Sp.cheyenne_intel.clm-waccmx_offline. To verify that differences were fundamentally no greater than roundoff-level, I introduced temporary code; this minimal diff ended up being enough to give just roundoff-level differences from baseline: diff --git a/src/biogeophys/SoilFluxesMod.F90 b/src/biogeophys/SoilFluxesMod.F90 index c316d30fe..6a958c0ee 100644 --- a/src/biogeophys/SoilFluxesMod.F90 +++ b/src/biogeophys/SoilFluxesMod.F90 @@ -45,7 +45,7 @@ subroutine SoilFluxes (bounds, num_urbanl, filter_urbanl, & ! Update surface fluxes based on the new ground temperature ! ! !USES: - use clm_time_manager , only : get_step_size_real + use clm_time_manager , only : get_step_size_real, get_nstep use clm_varcon , only : hvap, cpair, grav, vkc, tfrz, sb use landunit_varcon , only : istsoil, istcrop use column_varcon , only : icol_roof, icol_sunwall, icol_shadewall, icol_road_perv @@ -79,7 +79,9 @@ subroutine SoilFluxes (bounds, num_urbanl, filter_urbanl, & real(r8) :: t_grnd0(bounds%begc:bounds%endc) ! t_grnd of previous time step real(r8) :: lw_grnd real(r8) :: evaporation_limit ! top layer moisture available for evaporation - real(r8) :: evaporation_demand ! evaporative demand + real(r8) :: evaporation_demand ! evaporative demand + real(r8) :: qflx_liqevap_orig + real(r8) :: qflx_solidevap_orig !----------------------------------------------------------------------- associate( & @@ -291,6 +293,7 @@ subroutine SoilFluxes (bounds, num_urbanl, filter_urbanl, & qflx_evap_soi(p) = qflx_evap_soi(p) - frac_sno_eff(c)*(evaporation_demand - evaporation_limit) qflx_liqevap_from_top_layer(p) = max(h2osoi_liq(c,j)/(frac_sno_eff(c)*dtime), 0._r8) qflx_solidevap_from_top_layer(p) = max(h2osoi_ice(c,j)/(frac_sno_eff(c)*dtime), 0._r8) + ! conserve total energy flux eflx_sh_grnd(p) = eflx_sh_grnd(p) + frac_sno_eff(c)*(evaporation_demand - evaporation_limit)*htvp(c) endif @@ -307,6 +310,24 @@ subroutine SoilFluxes (bounds, num_urbanl, filter_urbanl, & qflx_ev_snow(p) = qflx_evap_soi(p) qflx_liqevap_from_top_layer(p) = max(h2osoi_liq(c,j)/dtime, 0._r8) qflx_solidevap_from_top_layer(p) = max(h2osoi_ice(c,j)/dtime, 0._r8) + + if (h2osoi_liq(c,j) + h2osoi_ice(c,j) > 0._r8) then + qflx_liqevap_orig = max(qflx_evap_soi(p)*(h2osoi_liq(c,j)/ & + (h2osoi_liq(c,j)+h2osoi_ice(c,j))), 0._r8) + else + qflx_liqevap_orig = 0._r8 + end if + qflx_solidevap_orig = qflx_evap_soi(p) - qflx_liqevap_orig + if (qflx_solidevap_from_top_layer(p) == 0._r8 .and. & + qflx_solidevap_orig < 0._r8 .and. & + qflx_solidevap_orig > -1.e-16_r8) then + write(iulog,'(a, i0, 1x, i0, 1x, 5e24.17)') & + 'WJS adj urb: solid orig le 0, new 0: nstep, p, orig, new, qflx_evap_soi, h2osoi_liq, h2osoi_ice = ', & + get_nstep(), p, qflx_solidevap_orig, qflx_solidevap_from_top_layer(p), & + qflx_evap_soi(p), h2osoi_liq(c,j), h2osoi_ice(c,j) + qflx_solidevap_from_top_layer(p) = qflx_solidevap_orig + end if + ! conserve total energy flux eflx_sh_grnd(p) = eflx_sh_grnd(p) +(evaporation_demand -evaporation_limit)*htvp(c) endif (Note that the diffs in ERP_P36x2_Ld30.f45_f45_mg37.I2000Clm51FatesSpCruRsGs.cheyenne_intel.clm-FatesColdSatPhen were ambiguous as to whether they were roundoff-level due to the single-precision output in that test; I reran with double precision for the baseline and the branch and was able to verify that the diffs were only double-precision roundoff-level.) Other details ------------- Pull Requests that document the changes (include PR ids): https://github.com/ESCOMP/CTSM/pull/1987 =============================================================== =============================================================== Tag name: ctsm5.1.dev121 Originator(s): glemieux (Gregory Lemieux,LBL/NGEET,510-486-5049) Date: Wed Apr 5 13:34:09 MDT 2023 One-line Summary: Changes soil moisture initialization logic for FATES Purpose and description of changes ---------------------------------- This PR changes the logic for soil moisture initialization to initialize with wetter soils (75% of saturated water content, as opposed to 15% of absolute water content) for all FATES configurations. The rationale for this is that in FATES-nocomp simulations, Jessica Needham was finding very high initial mortality rates in some seasonal tropical forest regions which she traced it back to the initial soil moisture killing off plants before the ecosystem could get established. This also updates the fates externals pointer to the latest tag which includes a number of science updates since the last tag update and updates the the default parameter file. 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_1 [ ] clm5_0 [ ] ctsm5_0-nwp [ ] clm4_5 Bugs fixed or introduced ------------------------ Externals issues fixed (include issue #): Partially addresses FATES#994 -- Bare ground establishment problem and increased soil moisture Known bugs found since the previous tag (include issue #): #1979 -- Need to loosen tolerance on near-zero truncation of h2osoi_ice in UpdateState_TopLayerFluxes Notes of particular relevance for users --------------------------------------- Changes made to namelist defaults (e.g., changed parameter values): fates_paramfile updated to fates_params_api.25.4.0_12pft_c230327.nc Notes of particular relevance for developers: --------------------------------------------- Caveats for developers (e.g., code that is duplicated that requires double maintenance): This changes the starting level for a COLD start of soil moisture for ALL FATES cases to a much higher value than for non-FATES. In the long run we'd like to have these the same and/or have the value changable on the namelist. Testing summary: ---------------- [PASS means all tests PASS; OK means tests PASS other than expected fails.] regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing): cheyenne ---- OK izumi ------- OK fates tests: (give name of baseline if different from CTSM tagname, normally fates baselines are fates--) cheyenne ---- OK izumi ------- OK If the tag used for baseline comparisons was NOT the previous tag, note that here: FATES tests run against fates-sci.1.65.3_api.25.4.0-ctsm5.1.dev120 baseline Answer changes -------------- Changes answers relative to baseline: Changes answers in fates suite for all non-hydro fates tests since the soil moisture initialization matches that of fates hydro now. Changes answer for all fates testmods in the aux_clm suite as the science tag has iterated forward by 4 minor version updates. All diffs accounted for with prior fates suite tests. Other details ------------- List any externals directories updated (cime, rtm, mosart, cism, fates, etc.): - FATES: sci.1.61.0_api.25.0.0 -> sci.1.65.3_api.25.4.0 Pull Requests that document the changes (include PR ids): (https://github.com/ESCOMP/ctsm/pull) https://github.com/ESCOMP/CTSM/pull/1962 -- Cold start moisture for FATES increased https://github.com/ESCOMP/CTSM/pull/1978 -- revert some commits now that FUNITCTSM works again =============================================================== =============================================================== Tag name: ctsm5.1.dev120 Originator(s): sacks (Bill Sacks) Date: Sat Mar 25 17:49:27 MDT 2023 One-line Summary: Update externals and minor fixes Purpose and description of changes ---------------------------------- Main change is to update externals to cesm2_3_alpha12c-ish. Doing this exposed a few issues that are also fixed here. Also, reduce GU_LULCC tests down to a single test. 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_1 [ ] clm5_0 [ ] ctsm5_0-nwp [ ] clm4_5 Bugs fixed or introduced ------------------------ CTSM issues fixed (include CTSM Issue #): - Resolves ESCOMP/CTSM#1968 (Reduce the GULU tests down to one) - Resolves ESCOMP/CTSM#1971 (fsurdatmodifyctsm test should abort if it has trouble running the python script) Known bugs introduced in this tag (include issue #): - ESCOMP/CTSM#1972 (FUNITCTSM test fails when run through run_sys_tests in upcoming ctsm5.1.dev120) Notes of particular relevance for developers: --------------------------------------------- Changes to tests or testing: - Fortran unit tests now need to be run manually, since FUNITCTSM is failing when run through run_sys_tests - Reduced GU_LULCC tests down to a single test Testing summary: ---------------- regular tests: - aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing - Fortran unit tests on cheyenne (until https://github.com/ESCOMP/CTSM/issues/1972 is resolved): from src, run: ../cime/scripts/fortran_unit_testing/run_tests.py --build-dir `mktemp -d --tmpdir=. unit_tests.XXXXXXXX` aux_clm on cheyenne ------------ OK aux_clm on izumi --------------- OK Fortran unit tests on cheyenne - PASS For the two new tests (with BFAILs), ran them from dev119 with comparison against this branch: - ERP_D_Ld10_P36x2.f10_f10_mg37.IHistClm51BgcCrop.cheyenne_intel.clm-ciso_decStart - SMS_Ld3_PS.f09_g17.IHistClm50BgcCrop.cheyenne_intel.clm-f09_dec1990Start_GU_LULCC (with start date in the test mod changed to match the new version) Answer changes -------------- Changes answers relative to baseline: YES, but just for certain compilers Summarize any changes to answers, i.e., - what code configurations: all on certain compilers - what platforms/compilers: - nvhpc on cheyenne in non-debug cases (can be explained from differences in compilation flags for non-debug cases, and also some module differences) - intel on izumi in debug cases (there were updates in ESMF modules, though that's the same for other izumi compilers; I'm not seeing other relevant diffs in ccs_config, so I'm not sure why we're getting diffs here. I tried investigating, but ran into trouble trying to get things to compile with the old ccs_config, so gave up on tracking down the source of this difference) - nature of change (roundoff; larger than roundoff/same climate; new climate): not investigated Other details ------------- List any externals directories updated (cime, rtm, mosart, cism, fates, etc.): - ccs_config: ccs_config_cesm0.0.38 -> ccs_config_cesm0.0.58 - cime: cime6.0.45 -> cime6.0.100 - cmeps: cmeps0.13.71 -> cmeps0.14.17 - cdeps: cdeps0.12.65 -> cdeps1.0.7 - share: share1.0.13 -> share1.0.16 - pio: pio2_5_7 -> pio2_5_10 =============================================================== =============================================================== Tag name: ctsm5.1.dev119 Originator(s): slevis (Samuel Levis,SLevis Consulting,303-665-1310), ekluzek Erik Kluzek), lawrencepj1 (Peter Lawrence) Date: Thu Mar 16 14:13:37 MDT 2023 One-line Summary: Allow gross unrepresented land use transitions (PR #309) Purpose and description of changes ---------------------------------- Get gross unrepresented land use transitions working in CLM5.1. This is additional optional data added to the landuse.timeseries files for transient simulations. The current landuse.timseries files have this data, but it's set to zero. This data will be part of the CTSM5.2 surface dataset (that is upcoming) and be on by default for clm5_3 physics. Significant changes to scientifically-supported configurations -------------------------------------------------------------- Does this tag change answers significantly for any of the following physics onfigurations? (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 hanges.] [ ] clm5_1 [ ] clm5_0 [ ] ctsm5_0-nwp [ ] clm4_5 Bugs fixed or introduced ------------------------ Known bugs introduced in this tag (include issue #): #1968 #1968 -- Reduce the GULU tests down to one Notes of particular relevance for users --------------------------------------- Changes made to namelist defaults (e.g., changed parameter values): New namelist variable: do_grossunrep Changes to the datasets (e.g., parameter, surface or initial files): Surface datasets may now contain non-zero gross unrepresented land use transitions. Notes of particular relevance for developers: --------------------------------------------- Changes to tests or testing: Erik introduced new tests that can be identified by the GU_LULCC in their names. I ran these with the test-suites and generated baselines for them. Testing summary: ---------------- [PASS means all tests PASS; OK means tests PASS other than expected fails.] regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing): cheyenne ---- OK izumi ------- OK Answer changes -------------- Changes answers relative to baseline: NO (unless see next) Code configurations: do_grossunrep = .true. and surface dataset includes non-zero gross unrepresented land use transitions. I (slevis) have not investigated the nature of the changes. Other details ------------- Pull Requests that document the changes (include PR ids): https://github.com/ESCOMP/ctsm/pull/309 -- Added new files to allow Gross Unrepresented Land Use transition https://github.com/ESCOMP/ctsm/pull/1965 -- update README (NOT a PR) Update manage externals =============================================================== =============================================================== Tag name: ctsm5.1.dev118 Originator(s): slevis (Samuel Levis,SLevis Consulting,303-665-1310) Date: Sun Feb 5 18:31:29 MST 2023 One-line Summary: Use conda environment rather than ncar_pylib with the fsurdat_modifier system test Purpose and description of changes ---------------------------------- Reason: ncar_pylib is going away soon. The fsurdat_modifier system test that we're discussing in this tag and corresponding pull request (PR #1798) FSURDATMODIFYCTSM_D_Mmpi-serial_Ld1.5x5_amazon.I2000Clm50SpRs.cheyenne_intel stopped working when I updated the PR to dev117. The test worked in the PR when I was still in dev115. The test worked in vanilla dev117. I fixed the failure by removing a restriction added in dev116 and the corresponding override --allow_ideal_and_include_non_veg. I am removing another restriction added in dev116 and the corresponding override --allow_dom_pft_and_idealized. This one didn't cause a test to fail but unnecessarily restricted usage of the fsurdat_modifier tool. 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_1 [ ] clm5_0 [ ] ctsm5_0-nwp [ ] clm4_5 Bugs fixed or introduced ------------------------ CTSM issues fixed (include CTSM Issue #): Fixes #1786 -- ncar_pylib Fixes #1925 -- replace ncar_pylib Testing summary: ---------------- [PASS means all tests PASS; OK means tests PASS other than expected fails.] clm_pymods test suite on cheyenne - PASS (softlinks created for baselines to previous tag since this is bit-for-bit) any other testing (give details below): make all (in /python directory) - PASS If the tag used for baseline comparisons was NOT the previous tag, note that here: Answer changes -------------- Changes answers relative to baseline: NO Other details ------------- Pull Requests that document the changes (include PR ids): https://github.com/ESCOMP/ctsm/pull/1798 -- Have fsurdat_modifier system test use conda environment rather than ncar_pylib =============================================================== =============================================================== Tag name: ctsm5.1.dev117 Originator(s): afoster (Adrianna Foster) Date: Thu Feb 2 10:34:23 MST 2023 One-line Summary: Updates to facilitate running FATES at NEON sites Purpose and description of changes ---------------------------------- Small updates to facilitate creation, modification, and use of FATES-usable (i.e. 16-PFT) NEON surface data files and user-mods for FATES NEON cases. Updated neon_surf_wrapper.py and modify_singlept_site_neon.py to include a --16pft argument that will create and/or modify the 16-PFT versions of the surface datasets, as well as a --mixed flag to the neon_surf_wrapper.py which tells subset_data to not overwrite the surfae dataset to be just 100% one PFT. Also corrects lat-lon being used for ONAQ NEON site and updates the surface datasets for all NEON sites. Also adds a check to ensure that fire emission (-fire_emis) is not on if FATES is being run. 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.) [ ] clm5_1 [ ] clm5_0 [ ] ctsm5_0-nwp [ ] clm4_5 Bugs fixed or introduced ------------------------ CTSM issues fixed (include CTSM Issue #): - Partially addresses ESCOMP/CTSM#1609(Get FATES working for NEON) Known bugs introduced in this tag (include issue #): #1949 - Duplication problems in user_mods Known bugs found since the previous tag (include issue #): #1948 - FATES and 78PFT surface datasets FATES#983 - PRT2 test failing on izumi Notes of particular relevance for users --------------------------------------- Changes to the datasets (e.g., parameter, surface or initial files): updated surface datasets for all NEON sites for big-leaf (78-PFT) and FATES (16-PFT) Notes of particular relevance for developers: --------------------------------------------- Caveats for developers (e.g., code that is duplicated that requires double maintenance): Files changed in cime_config/usermods_dirs/NEON for big-leaf CLM must also be changed in similar files in cime_config/usermods_dirs/NEON/FATES, as these are currently duplicated. This duplication should be fixed at a later date. Changes to tests or testing: Added a test in bld/unit_testers/build-namelist_test.pl to check that FATES and fire emission cannot be on at the same time. Testing summary: ---------------- build-namelist tests (if CLMBuildNamelist.pm has changed): cheyenne - PASS regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing): cheyenne ---- OK izumi ------- OK fates tests: (give name of baseline if different from CTSM tagname, normally fates baselines are fates--) cheyenne ---- OK izumi ------- OK Answer changes -------------- Changes answers relative to baseline: Only for NEON sites. Summarize any changes to answers, i.e., - what code configurations: All configurations at NEON sites - what platforms/compilers: All platforms when running NEON sites - nature of change: updated surface datasets Other details ------------- #1933 - Update neon_sites_dompft.csv #1932 - NEON FATES capabilities Pull Requests that document the changes (include PR ids): (https://github.com/ESCOMP/ctsm/pull) =============================================================== =============================================================== Tag name: ctsm5.1.dev116 Originator(s): erik (Erik Kluzek,UCAR/TSS,303-497-1326) Date: Thu Jan 26 02:17:27 MST 2023 One-line Summary: Small answer changes with bug fixes, zetamaxstable=2 for BHS, new single point fsurdat files Purpose and description of changes ---------------------------------- Change zetamaxstable to 2 when biomass-heat-storage is on. This changes simulation answers once they run long enough to exceed that threshold. Also fix an issue with maintence respiration (MR) for BGC simulations. This changes answers for most BGC cases once they run long enough. Live course MR wasn't included. Make the default for MOSART to send negative flow to river outlets. Also fix an issue with this mode. Bring in new surface datasets for the single point sites. We now make these sites using subset_data rather than mksurfdata. Some new capability to the subset_data and modify_fsurdat tools. subset_data add options: --out-surface -- To name the surface dataset on the command line rather than based on the current date --cfg-file ----- Enter the default configure file to use rather than assume a fixed one modify_fsurdat add options: --fsurdat_in -- to input on command line rather than config file --fsurdat_out -- to input on command line rather than config file --allow_ideal_and_include_non_veg -- to allow idealized and include_non_veg at the same time --allow_dom_pft_and_idealized -- to allow dom_pft and idealized at the same time --overwrite -- allow output file to be overwritten config file options: process_subgrid_section -- Read in an optional section to set the PCT_* fractions process_var_list_section - Read in an optional section to set any variable on the file Add --silent option to python tools. 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.] [X] clm5_1 [x] clm5_0 [ ] ctsm5_0-nwp [x] clm4_5 Bugs fixed or introduced ------------------------ CTSM issues fixed (include CTSM Issue #): Fixes #1676 -- live coarse maintenance respiration is not included in the root respiration Fixes #1674 -- Change mksurfdata_map/mksurfdata_esmf Makefile to build single-point datasets using subset_data Fixes #1809 -- Add ability to name a different default config file for subset_data Fixes #1941 -- Add --silent option to ctsm_logging python infrastructure Fixes #1942 -- Move py_env_create outside of tools test driver, as fails on compute nodes on cheyenne Fixes #1924 -- Some updates to fsurdat_modifier script Fixes #1690 -- Set and use zetamaxstable for BHS cases Fixes #1689 -- Set zetamaxstable to 2 consistently for BHS Externals issues fixed (include issue #): MOSART #58 Make negative and direct_to_outlet the default option MOSART #56 Some issues with direct_to_outlet Notes of particular relevance for users --------------------------------------- Changes to CTSM's user interface (e.g., new/renamed XML or namelist variables): tools Just to the subset_data and fsurdat_modifier tools as outlined above Changes made to namelist defaults (e.g., changed parameter values): zetamaxstable now 2.0 is use_biomass_heat_storage is on Changes to the datasets (e.g., parameter, surface or initial files): Single point fsurdat 1x1_brazil, 1x1_numaIA, 1x1_smallvilleIA, 1x1_vancouverCAN, 1x1_mexicocityMEX, 1x1_urbanc_alpha surface datasets and 1x1_brazil landuse.timeseries Notes of particular relevance for developers: --------------------------------------------- Caveats for developers (e.g., code that is duplicated that requires double maintenance): tools test now just activates the ctsm_py conda environment rather than creating it There are seperate configure files for each urban surface dataset for modify_fsurdat There is a 1850 configure file for subset_data Changes to tests or testing: fsurdatmodifyctsm.py script adjusted to compensate for changes python directory changes include unit and system tests to support updates Single point mksurdata_map tests were removed Testing summary: regular tools ---------------- [PASS means all tests PASS; OK means tests PASS other than expected fails.] build-namelist tests (if CLMBuildNamelist.pm has changed): cheyenne - PASS tools-tests (test/tools) (if tools have been changed): cheyenne - PASS python testing (if python code has changed; see instructions in python/README.md; document testing done): cheyenne - PASS regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing): cheyenne ---- OK izumi ------- OK Answer changes -------------- Changes answers relative to baseline: Summarize any changes to answers, i.e., - what code configurations: clm5_1, supported single point resolutions - what platforms/compilers: All - nature of change: adjusted climate clm5_1 changes because zetmaxstable set to 2.0. If a simulation runs long enough this max will be hit and it will change answers once it does. But if stability doesn't hit the max answers can be identical. clm5_0 and clm4_5 also change if biomass heat storage is turned on single point resolutions (i.e. 1x1_smallvilleIA, 1x1_brazil, 1x1_mexicocityMEX) have differences maintenence respiration If this tag changes climate describe the run(s) done to evaluate the new climate (put details of the simulations in the experiment database) Keith Oleson ran experiments with changing zetamaxstable some slides showing this are here: https://docs.google.com/presentation/d/1u6ycr7F97QYYRcRfEdD9yIxH75diUx2r Other details ------------- List any externals directories updated (cime, rtm, mosart, cism, fates, etc.): mosart mosart updated to mosart1_0_48 Pull Requests that document the changes (include PR ids): (https://github.com/ESCOMP/ctsm/pull) #1812 -- Get single point surface datasets from subset_data rather than mksurfdata #1802 -- Make zetamaxstable consistently 2.0 when BHS on #1915 -- Fix issue #1864 in release documentation Update manage_externals (direct push to main-dev) =============================================================== =============================================================== Tag name: ctsm5.1.dev115 Originator(s): rgknox (Ryan Knox) Date: Fri Dec 2 15:45:32 MST 2022 One-line Summary: API compatability with FATES V2 nutrient dynamics Purpose and description of changes ---------------------------------- This set of changes allows CTSM to continue API compatability with changes to the FATES API. FATES has updated its nutrient dynamics routine, and required a modification to the test environment, some minor updates to variable dimensions in the history, and a call to a new FATES history routine. Implicitly, the updating of the FATES tag introduces new content in the FATES model since the last API update (mostly bug fixes). Significant changes to scientifically-supported configurations -------------------------------------------------------------- The changes here will only affect FATES simulations. Any FATES simulation will be affected. Carbon-only FATES simulations will not have qualitatively different results since the last API update (but will have bit-for-bit differences). Nutrient enabled FATES simulations (not fully coupled to CLM, only via prognosed plant N,P boundaries), and FATES-Hydro simulations (bug fix) will be different. Bugs fixed or introduced ------------------------ See the descriptions in FATES tags between sci.1.57.4_api.24.0.0 to sci.1.60.0_api.25.0.0 for details on FATES changes in this tag. CTSM issues fixed (include CTSM Issue #): None Externals issues fixed (include issue #): None Known bugs introduced in this tag (include issue #): None Known bugs found since the previous tag (include issue #): None Notes of particular relevance for users --------------------------------------- This set of changes comes with an updated FATES parameter file. This includes format changes only. No changes to variable values were introduced. Format changes are relegated to new parameters and/or name changes only. These changes are encapsulated in: fates/parameter_files/archive/apichange_24.2to25.xml Notes of particular relevance for developers: --------------------------------------------- Nothing of note regarding changes for developers. Changes to tests or testing: New history variables were added to the FATES PRT2 user_nl_clm. Testing summary: ---------------- regular regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing): cheyenne ---- nominal: /glade/scratch/rgknox/tests_1201-121507ch izumi ------- nominal: /scratch/cluster/rgknox/tests_1201-122133iz fates tests: (give name of baseline if different from CTSM tagname, normally fates baselines are fates--) cheyenne ---- nominal against ctsm5.1_dev112 /glade/scratch/rgknox/tests_1130-082657ch izumi ------- NA Answer changes -------------- Changes answers relative to baseline: FATES answers changed relative to base. Explanation already provided (nutrient and hydro changes are qualitative). Other details ------------- FATES external was updated. Pull Requests that document the changes (include PR ids): https://github.com/ESCOMP/CTSM/pull/1874 https://github.com/NGEET/fates/pull/880 =============================================================== =============================================================== Tag name: ctsm5.1.dev114 Originator(s): erik (Erik Kluzek,UCAR/TSS,303-497-1326)/@wwieder/@olyson/@ka7eh Date: Sat Nov 19 18:11:15 MST 2022 One-line Summary: Some NEON updates fixing AG sites, update MOSART, small fixes Purpose and description of changes ---------------------------------- Minor changes to python scripts and usermod_dirs for NEON cases. Also update the lightning mesh file so that it goes with the smaller lightning file. Have NEON use new use-cases for 2018 and 2018-PD conditions for CLM. Have NEON Agricultural sites run with prognostic crop. Simple fix for warning about NaN's in import/export data from/to coupler. Get NEON tests working on izumi, add --inputdata-dir to subset_data and modify_singlept_site_neon.py so they aren't tied to only running on cheyenne. Also update MOSART with fixed for direct_to_outlet option. Add error checking in ParitionWoodFluxes. Fix value of albgrd_col in SurfaceAlbefdoType.F90. Previously, the wrong value (albgri_col) was being set in InitHistory. 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_1 [ ] clm5_0 [ ] ctsm5_0-nwp [ ] clm4_5 Bugs fixed or introduced ------------------------ CTSM issues fixed (include CTSM Issue #): Fixes #1871 -- Error in NEON surface datasets for AG sites Fixes #1876 -- NEON data in container Fixes #1889 -- NEON AG sites are running without prognostic crop Fixes #1363 -- 2018_control and 2018-PD_transient use-cases for NEON Fixes #1896 -- Improve misleading error message in check_for_nans Fixes #1263 -- Fix partitionWood fluxes Fixes #1788 -- Fix albgrd_col Fixes #1901 -- Fix NEONSITE YELL Some on #1910 -- add pandas version check to modify_singlept_site_neon.py so will abort cleanly if version not updated Known bugs found since the previous tag (include issue #): #1910 -- modify_singlept_site_neon.py has trouble on izumi Notes of particular relevance for users --------------------------------------- Caveats for users (e.g., need to interpolate initial conditions): NEON users: use neon_gcs_upload now. Filenames for NEON surface datasets are changed. Start and end of simulations is different for some sites, and managed by the user-mod-directories. The NEON user-mod assumes transient cases will run with a transient compset and the settings are slightly different for transient vs control including pointing to 2018_control or 2018-PD_transient use-cases. Changes to CTSM's user interface (e.g., new/renamed XML or namelist variables): Add notes to python tools to run using conda environment setup in py_env_create Changes made to namelist defaults (e.g., changed parameter values): New use cases: 2018_control and 2018-PD_transient Changes to the datasets (e.g., parameter, surface or initial files): New updated NEON surface datasets Notes of particular relevance for developers: --------------------------------------------- Caveats for developers (e.g., code that is duplicated that requires double maintenance): Remove toolchain python scripts as this work was moved over to the ctsm5.2 development Changes to tests or testing: Add a run_black target to the python directory Makefile to run black and not just do a black check Add python modules needed for neon scripts to conda py_create_env conda environment Testing summary: regular, tools ---------------- [PASS means all tests PASS; OK means tests PASS other than expected fails.] build-namelist tests (if CLMBuildNamelist.pm has changed): cheyenne - OK (141 NEON tests are different than baseline) tools-tests (test/tools) (if tools have been changed): cheyenne - OK cheyenne (NEON) - PASS izumi (NEON) -- OK (modify_singlept_site_neon.py test fails due to #1910) izumi -- OK python testing (if python code has changed; see instructions in python/README.md; document testing done): Acheyenne -- PASS regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing): cheyenne ---- OK izumi ------- OK any other testing (give details below): run_neon.py ran for all NEON sites ad, post-ad, and transient Answer changes -------------- Changes answers relative to baseline: No (other than NEON sites, and if direct_to_outlet turned on in MOSART) Summarize any changes to answers, i.e., - what code configurations: NEON or if bypass_routing_option==direct_to_outlet in MOSART - what platforms/compilers: all - nature of change: NEON AG sites are significantly different NEON sites reran and reevaluated MOSART direct_to_outlet option evaluated by @swensosc and @olyson Other details ------------- List any externals directories updated (cime, rtm, mosart, cism, fates, etc.): mosart mosart updated from mosart1_0_45 to to mosart1_0_47 (asynchronous changes, and direct_to_outlet fixes) Pull Requests that document the changes (include PR ids): (https://github.com/ESCOMP/ctsm/pull) #1872 -- NEON updates #1814 -- Add error checking in partitionWoodFluxes #1810 -- Fix albdgrd_col value =============================================================== =============================================================== Tag name: ctsm5.1.dev113 Originator(s): sacks (Bill Sacks), ekluzek (Erik Kluzek), jedwards (Jim Edwards) Date: Fri Oct 28 11:00:26 MDT 2022 One-line Summary: Fix some compsets; add only clauses for ESMF use statements Purpose and description of changes ---------------------------------- (1) Fix I1850Clm51BgcCrop compset (was using CLM50 instead of CLM51) - Resolves https://github.com/ESCOMP/CTSM/issues/1882 (2) Change LND_TUNING_MODE for DATM%CPLHIST compsets to use CAM tunings since these cases typically use atmosphere forcings from CAM. - Resolves https://github.com/ESCOMP/CTSM/issues/1885 (3) Add "only" clauses to ESMF use statements - Resolves https://github.com/ESCOMP/CTSM/issues/1846 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_1 [ ] clm5_0 [ ] ctsm5_0-nwp [ ] clm4_5 Bugs fixed or introduced ------------------------ CTSM issues fixed (include CTSM Issue #): - Resolves https://github.com/ESCOMP/CTSM/issues/1882 (I1850Clm51BgcCrop actually uses CLM50) - Resolves https://github.com/ESCOMP/CTSM/issues/1885 (CPLHIST compsets should use same land tunings as for CAM compsets) - Resolves https://github.com/ESCOMP/CTSM/issues/1846 (Add "only" clause to a problematic use statement in lnd_comp_nuopc for cce compiler) Known bugs introduced in this tag (include issue #): - https://github.com/ESCOMP/CTSM/issues/1887 (Gnu MCT builds will fail starting in ctsm5.1.dev113) Testing summary: ---------------- regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing): cheyenne ---- OK izumi ------- OK Answer changes -------------- Changes answers relative to baseline: YES, but just for limited cases Summarize any changes to answers, i.e., - what code configurations: - Cases with I1850Clm51BgcCrop compset - Cases with DATM%CPLHIST - what platforms/compilers: all - nature of change (roundoff; larger than roundoff/same climate; new climate): Larger than roundoff; may be new climate Other details ------------- Pull Requests that document the changes (include PR ids): https://github.com/ESCOMP/CTSM/pull/1870 =============================================================== =============================================================== Tag name: ctsm5.1.dev112 Originator(s): adrifoster (Adrianna Foster), glemieux (Gregory Lemieux, LBL/NGEET) Date: Sat Oct 15 16:26:28 MDT 2022 One-line Summary: Rework fates test definitions and add new fates tests Purpose and description of changes ---------------------------------- This tag includes a number of updates to the fates test definitions and test list to gain more coverage: (1) Reorder and update the fates test definitions so that fates satellite phenology mode can be configured for cases using a compset. (2) Add a long-term exact restart test to catch issues that may arise due to updates to fates procedure calls during end of year simulation dates. (3) Add a no-competition + fixed biogeography, non-satellite phenology test definition to provide additional mode combination configuration. (4) Update the fates externals tag to incorporate a fix a vegetation temperature exact restart issue discovered while implementing (1) above. (5) Truncate all testmods starting with "Fates" to mitigate running over the limits on the length of testnames, typically when specifying custom `test_id` using `run_sys_test`. (6) Updates the expected failures list. 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_1 [ ] clm5_0 [ ] ctsm5_0-nwp [ ] clm4_5 Bugs fixed or introduced ------------------------ CTSM issues fixed (include CTSM Issue #): Fixes #1839 - Add more FATES tests that are longer than one year Fixes #1817 - Make sure at least one test running FatesSp just uses the compset and not a test-mod directory Fixes #1551 - Add FATES NoComp + FixedBiogeog regression test to the fates category of tests Externals issues fixed (include issue #): FATES#908 - Bareground area_pft not being carried over during restarts FATES#911 - 24-hr running mean vegetation temperature is not b4b on threaded exact restart SatPhen test Notes of particular relevance for developers: --------------------------------------------- Changes to tests or testing: FATES#897 is still unresolved, but is now covered by this updated test list. FATES#701 was reopened Testing summary: ---------------- [PASS means all tests PASS; OK means tests PASS other than expected fails.] build-namelist tests (if CLMBuildNamelist.pm has changed): cheyenne - PASS regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing): cheyenne ---- OK izumi ------- OK fates tests: (give name of baseline if different from CTSM tagname, normally fates baselines are fates--) cheyenne ---- OK izumi ------- OK any other testing (give details below): If the tag used for baseline comparisons was NOT the previous tag, note that here: FATES tests run against both fates-sci.1.58.1_api.24.1.0-ctsm5.1.dev111 to check the fates update against the previous baseline is in line with expected DIFFs and fates-sci.1.59.7_api.24.1.0-ctsm5.1.dev111. Answer changes -------------- Changes answers relative to baseline: Yes, for fates run modes only due non-b4b updates in multiple fates tags. These include both software bug fixes and answer changing science updates. Other details ------------- List any externals directories updated (cime, rtm, mosart, cism, fates, etc.): fates Pull Requests that document the changes (include PR ids): https://github.com/ESCOMP/CTSM/pull/1827 https://github.com/ESCOMP/CTSM/pull/1849 =============================================================== =============================================================== Tag name: ctsm5.1.dev111 Originator(s): jedwards (Jim Edwards), wwieder (Will Wieder), sacks (Bill Sacks) Date: Wed Oct 5 13:05:52 MDT 2022 One-line Summary: Fixes for NEON cases Purpose and description of changes ---------------------------------- Two sets of fixes for NEON cases: (1) Fixes for leap year handling when there are discrepancies between the model and the DATM forcing data in terms of whether the current year is a leap year. This involved updates to the share and cdeps externals from Jim Edwards. (2) Other fixes for NEON cases from Will Wieder, as documented in https://github.com/ESCOMP/CTSM/issues/1860 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_1 [ ] clm5_0 [ ] ctsm5_0-nwp [ ] clm4_5 Bugs fixed or introduced ------------------------ CTSM issues fixed (include CTSM Issue #): - Resolves ESCOMP/CTSM#1858 (calendar error in ESMF) - Resolves ESCOMP/CTSM#1860 (run_neon not working as expected) Testing summary: ---------------- regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing): cheyenne ---- PASS izumi ------- OK Answer changes -------------- Changes answers relative to baseline: YES, but just for NEON cases Summarize any changes to answers, i.e., - what code configurations: NEON cases - what platforms/compilers: all - nature of change (roundoff; larger than roundoff/same climate; new climate): larger than roundoff In testing, answer changes only show up in SMS_D_Mmpi-serial.CLM_USRDAT.I1PtClm51Bgc.izumi_nag.clm-default--clm-NEON-NIWO Other details ------------- List any externals directories updated (cime, rtm, mosart, cism, fates, etc.): - cdeps: cdeps0.12.63 -> cdeps0.12.65 - share: share1.0.12 -> share1.0.13 Pull Requests that document the changes (include PR ids): https://github.com/ESCOMP/CTSM/pull/1862 =============================================================== =============================================================== Tag name: ctsm5.1.dev110 Originator(s): slevis (Samuel Levis, 303-665-1310) Date: Mon Sep 26 17:31:22 MDT 2022 One-line Summary: Introduction of modify_meshes tool for use in I-cases and F-cases Purpose and description of changes ---------------------------------- Merging the modify_meshes tool to main. This tool is a follow-up to the modify_fsurdat tool for I- and F-cases where users are adding land to areas that by default were expected as ocean. In such cases, fsurdat modifications will take effect only if users also modify the mask_mesh file which ultimately determines the landmask used by the CTSM. Details in the tool's README. Adding test_sys_mesh_modifier.py to python system tests. Combining /modify_fsurdat and /modify_mesh_mask directories into one directory: /modify_input_files 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_1 [ ] clm5_0 [ ] ctsm5_0-nwp [ ] clm4_5 Bugs fixed or introduced ------------------------ CTSM issues fixed (include CTSM Issue #): Fixes #1644 -- Prospective new tool for user to easily modify ocn/lnd mask in their CESM cases Notes of particular relevance for developers: --------------------------------------------- Changes to tests or testing: Adding test_sys_mesh_modifier.py to python system tests. This requires "module load nco" before running "make stest" or "make all" in the /python directory. Testing summary: ---------------- [Remove any lines that don't apply.] [PASS means all tests PASS; OK means tests PASS other than expected fails.] python testing (if python code has changed; see instructions in python/README.md; document testing done): cheyenne - PASS izumi - mostly PASS if approp. environment is loaded, but one test fails because it requires "module load nco" clm_pymods on cheyenne - PASS If the tag used for baseline comparisons was NOT the previous tag, note that here: Answer changes -------------- Changes answers relative to baseline: No Other details ------------- Pull Requests that document the changes (include PR ids): https://github.com/ESCOMP/CTSM/pull/1677 -- Modify mesh mask with new mesh_mask_modifier tool =============================================================== =============================================================== Tag name: ctsm5.1.dev109 Originator(s): slevis (Samuel Levis,SLevis Consulting,303-665-1310) Date: Mon Sep 26 10:46:33 MDT 2022 One-line Summary: If not MIMICS, do not output certain MIMICS history fields Purpose and description of changes ---------------------------------- Surrounded the "MIC" variables with mimics if-statements to prevent from sending to history when not mimics. The MICC_HR fields are already inactive, so nothing will appear different in history for these. The TOTMIC* fields are active, so they will stop appearing in history when not mimics. In SoilBiogeochemCarbonFluxType.F90 T_SCALAR is Century-specific, so I put a corresponding if-statement around that one. We could stop sending to history a few more fields when mimics is off, but they would require if-statements while looping through ndecomp_cascade_transitions or ndecomp_pools. All such fields are already "inactive" in SoilBiogeochemCarbonFluxType.F90. The test-suite with all those fields changed to "active" PASSed. So not adding if statements for those. Other checks: - I looked at MICC_HR in a CENTURY simulation and in a MIMICS simulation and it looked the same: Zeros over land and 1e36 over ocean. - The rest of the "inactive" variables are valid variables for both CENTURY and MIMICS. 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_1 [ ] clm5_0 [ ] ctsm5_0-nwp [ ] clm4_5 Bugs fixed or introduced ------------------------ CTSM issues fixed (include CTSM Issue #): #1737 Testing summary: ---------------- [PASS means all tests PASS; OK means tests PASS other than expected fails.] regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing): cheyenne ---- OK izumi ------- PASS any other testing (give details below): See description text at top. Answer changes -------------- Changes answers relative to baseline: NO (but field lists differ) Other details ------------- Pull Requests that document the changes (include PR ids): https://github.com/ESCOMP/ctsm/pull/1745 =============================================================== =============================================================== Tag name: ctsm5.1.dev108 Originator(s): adrifoster (Adrianna Foster) Date: Thu Sep 8 08:22:38 MDT 2022 One-line Summary: Connect ozone from atmosphere Purpose and description of changes ---------------------------------- Allow atmospheric input of ozone partial pressure (monthly, mol/mol) to CTSM and use this ozone in the OzoneMod module. Specific notes: Add ozone to atm2lndType and also add as an output history variable (ATM_O3). Read in O3 in lnd_import_export. Connect to the OzoneMod module: in CalcOzoneUptakeOnePoint we now use this input ozone, rather than a static parameter. Significant changes to scientifically-supported configurations -------------------------------------------------------------- Does this tag change answers significantly for any of the following physics configurations? No [ ] clm5_1 [ ] clm5_0 [ ] ctsm5_0-nwp [ ] clm4_5 Bugs fixed or introduced ------------------------ CTSM issues fixed (include CTSM Issue #): - Partially addresses ESCOMP/CTSM#270 (Receive ozone from atmosphere) Notes of particular relevance for users --------------------------------------- Caveats for users (e.g., need to interpolate initial conditions): Note that currently ozone is used as an interpolated monthly variable, and is not yet downscaled to the sub-daily scale. This will be done in a susequent PR. Changes to the datasets (e.g., parameter, surface or initial files): New ozone input files used in DATM mode to drive OzoneMod Testing summary: ---------------- regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing): All pass with only FIELDLIST diffs except for O3 tests, which have BASELINE DIFFs and NLCOMP fails. This makes sense because we are using different ozone values to drive the OzoneMod: ERP_D_Ld5_P48x1.f10_f10_mg37.I2000Clm50Sp.izumi_nag.clm-o3lombardozzi2015 ERP_P72x2_Ly3.f10_f10_mg37.I2000Clm50BgcCrop.cheyenne_intel.clm-irrig_o3falk_reduceOutput cheyenne ---- OK izumi ------- PASS Answer changes -------------- Changes answers relative to baseline: Yes Summarize any changes to answers, i.e., - what code configurations: when o3_veg_stress_method = 'stress_falk' or 'stress_lombardozzi2015' in user_nl_clm - what platforms/compilers: all - nature of change: larger than roundoff Other details ------------- Pull Requests that document the changes (include PR ids): https://github.com/ESCOMP/ctsm/pull/1837 =============================================================== =============================================================== Tag name: ctsm5.1.dev107 Originator(s): adrifoster (Adrianna Foster) Date: Wed Sep 7 14:40:33 MDT 2022 One-line Summary: Update Externals Purpose and description of changes ---------------------------------- Brings CTSM up to date with the latest versions of CDEPS, CMEPS, and CPL7 to facilitate needed changes in those components. Significant changes to scientifically-supported configurations -------------------------------------------------------------- [X] clm5_1 [X] clm5_0 [X] ctsm5_0-nwp [X] clm4_5 Bugs fixed or introduced ------------------------ CTSM issues fixed (include CTSM Issue #): - Resolves ESCOMP/CTSM#1822 (seq_drydep_mod should be replaced by shr_drydep_mod) Known bugs introduced in this tag (include issue #): - ESCOMP/CTSM#1844 (Create new auxiliary history file for cplhist test with ndep data) Notes of particular relevance for users --------------------------------------- Caveats for users: You can no longer run cplhist-forced cases with old cplhist files. You will need to either use an older version of CTSM or use an updated version of the cplhist files. Testing summary: ---------------- build-namelist tests (if CLMBuildNamelist.pm has changed): cheyenne - PASS regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing): cheyenne ---- OK izumi ------- PASS Two expected fails on cheyenne, one new expected fail due to issue just introduced (#1844) FAIL SMS_D_Ld1_PS.f09_g17.I1850Clm50BgcSpinup.cheyenne_intel.clm-cplhist RUN time=62 (EXPECTED FAILURE) FAIL SMS_D.f10_f10_mg37.I2000Clm51BgcCrop.cheyenne_nvhpc.clm-crop RUN time=12 (EXPECTED FAILURE) Answer changes -------------- Changes answers relative to baseline: YES Summarize any changes to answers, i.e., - what code configurations: almost all configurations due to major change on CDEPS side to coszen angle time interpolation (https://github.com/ESCOMP/CDEPS/pull/149). DIFFS for single-point cases from update to how ZBOT is set (https://github.com/ESCOMP/CDEPS/pull/169), and NLDAS cases from a fix for zero pressure in nldas2 configurations (https://github.com/ESCOMP/CDEPS/pull/159). - what platforms/compilers: all - nature of change (roundoff; larger than roundoff/same climate; new climate): larger than roundoff Other details ------------- List any externals directories updated: -cdeps: cdeps0.12.41 -> cdeps0.12.63 -cmeps: cmeps0.13.68 -> cmeps0.13.71 -cpl7: cpl7.0.13 -> cpl7.0.14 Pull Requests that document the changes (include PR ids): https://github.com/ESCOMP/ctsm/pull/1843 =============================================================== =============================================================== Tag name: ctsm5.1.dev106 Originator(s): mvertens (Mariana Vertenstein), sacks (Bill Sacks) Date: Thu Aug 4 15:11:31 MDT 2022 One-line Summary: Reuse some files generated in initialization when rerunning Purpose and description of changes ---------------------------------- A new directory is now in your run directory init_generated_files. These two run time generated files - finidat_interp_dest.nc and the land fraction file ctsm_landfrac.nc (which is new in this PR) - are put in that directory when they are created. Then, if they already exist, they are reused rather than being regenerated. (Technically, it looks for a status file that flags successful creation of this file.) This applies when you rerun a startup (non-restart) run a second or subsequent time, as is common when doing development and testing. For tests, theinit_generated_files directory is removed before running, so that rerunning a test will do the same thing the second time. There are occasional, rare cases when a user would need to manually remove the init_generated_files directory – e.g., when changing things about N dominant landunits or PFTs. Also, output was cleaned up in a few cases so that it did not span multiple lines. 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_1 [ ] clm5_0 [ ] ctsm5_0-nwp [ ] clm4_5 Notes of particular relevance for users --------------------------------------- Caveats for users (e.g., need to interpolate initial conditions): - If you do a run, then change a runtime parameter that makes the previous finidat_interp_dest.nc file incompatible with the new configuration (e.g., changing N dominant landunits or PFTs) then rerun, you will need to remove the contents of the run/init_generated_files subdirectory before rerunning. (You do *not* need to remove this directory when changing finidat in user_nl_clm: in this specific case, CTSM detects the change and regenerates finidat_interp_dest even if one already exists.) Changes to CTSM's user interface (e.g., new/renamed XML or namelist variables): - Removed finidat_interp_dest from the namelist; it is now hard-coded to finidat_interp_dest.nc. (This seemed not to be used much, if ever, and supporting this would have complicated the logic in this PR.) Notes of particular relevance for developers: --------------------------------------------- Changes to tests or testing: - Added a new test using a new test type (defined in CIME): REUSEINITFILES. This runs two cases and compares them: the first runs a case as normal; the second copies in the init_generated_files directory from case one and then does a run that uses these saved init_generated_files. This ensures that using the init_generated_files does not change answers. Testing summary: ---------------- regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing): cheyenne ---- PASS izumi ------- PASS Two tests failed initially due to what appeared to be system issues: - ERP_P36x2_D_Ld5.f10_f10_mg37.I1850Clm45BgcCru.cheyenne_intel.clm-default (runtime error initially, passed upon rerun) - SMS_Ly5_Mmpi-serial.1x1_brazil.IHistClm50BgcQianRs.izumi_intel.clm-newton_krylov_spinup (build failure initially; passed after removing the build directory, rebuilding and rerunning) Answer changes -------------- Changes answers relative to baseline: NO Most FATES tests had baseline comparison failures, just for the field fates_levcdam, but this turned out to be due to an error in the stored baselines for ctsm5.1.dev104 that has now been corrected. Other details ------------- List any externals directories updated (cime, rtm, mosart, cism, fates, etc.): - cime: cime6.0.40 -> cime6.0.45 Pull Requests that document the changes (include PR ids): https://github.com/ESCOMP/CTSM/pull/1793 =============================================================== =============================================================== Tag name: ctsm5.1.dev105 Originator(s): slevis (Samuel Levis,SLevis Consulting,303-665-1310) Date: Tue Jul 26 23:57:31 MDT 2022 One-line Summary: make interfaces more similar between fsurdat_modifier and subset_data tools Purpose and description of changes ---------------------------------- The tools modify_fsurdat and subset_data have similar options modify_fsurdat: zero_nonveg subset_data: include-nonveg modify_fsurdat: dom_plant subset_data: dom-pft Make more similar and use README file for documenting modify_fsurdat. There's potential for additional changes to be addressed later. Change name of manage_python_env to py_env_create as agreed in CTSM software meeting 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_1 [ ] clm5_0 [ ] ctsm5_0-nwp [ ] clm4_5 Bugs fixed or introduced ------------------------ CTSM issues fixed (include CTSM Issue #): #1662 Testing summary: ---------------- [PASS means all tests PASS; OK means tests PASS other than expected fails.] python testing (if python code has changed; see instructions in python/README.md; document testing done): cheyenne - PASS clm_pymods test suite on cheyenne - PASS If the tag used for baseline comparisons was NOT the previous tag, note that here: Answer changes -------------- Changes answers relative to baseline: No Other details ------------- Pull Requests that document the changes (include PR ids): https://github.com/ESCOMP/ctsm/pull/1714 https://github.com/ESCOMP/ctsm/pull/1799 =============================================================== =============================================================== Tag name: ctsm5.1.dev104 Originator(s): glemieux (Gregory Lemieux,LBL/NGEET,510-486-5049) Date: Mon Jul 18 15:45:00 MDT 2022 One-line Summary: Update to fates history names and machine configuration Purpose and description of changes ---------------------------------- This PR includes a number of minor fixes and updates associated with FATES. A duplicate filter for all soils that was introduced during the the initial implementation of FATES-SP mode is removed. A small set of FATES history variable names have been updated necessitating an update to the testmod user namelists. The ccs_config and cime externals have been updated to include the FATES development workstation, lobata. The cime tag update is necessary to include a fix enabling support for module initilization on certain linux distributions (https://github.com/ESMCI/cime/issues/4260). Finally, a minor fix was included to the initialization of the fates_levcdam dimension that was introduced with the last fates api update. 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_1 [ ] clm5_0 [ ] ctsm5_0-nwp [ ] clm4_5 Bugs fixed or introduced ------------------------ [Remove any lines that don't apply. Remove entire section if nothing applies.] CTSM issues fixed (include CTSM Issue #): Fixes #1794 -- Get lobata in ccs_config and working with NUOPC Fixes #1488 -- Remove all_soil_patches filter and use and filter_inactive_and_active(nc)%soilp in it's place Testing summary: ---------------- [PASS means all tests PASS; OK means tests PASS other than expected fails.] tools-tests (test/tools) (if tools have been changed): cheyenne - PASS python testing (if python code has changed; see instructions in python/README.md; document testing done): cheyenne - PASS regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing): cheyenne ---- OK izumi ------- OK fates tests: (give name of baseline if different from CTSM tagname, normally fates baselines are fates--) cheyenne ---- OK izumi ------- OK If the tag used for baseline comparisons was NOT the previous tag, note that here: FATES tests run against fates-sci.1.58.0_api.24.0.0-ctsm5.1.dev103 baseline Answer changes -------------- Changes answers relative to baseline: Changes answers due to a correction only for a subset of fates testmods for the fates_levcdam dimension. NLCOMP and FIELDLIST differences only due to expected ccs_config and fates updates. Other details ------------- List any externals directories updated (cime, rtm, mosart, cism, fates, etc.): - CIME: cime6.0.27 -> cime6.0.40 - ccs_config: ccs_config_cesm0.0.36 -> ccs_config_cesm0.0.38 - FATES: sci.1.58.0_api.24.0.0 -> sci.1.58.1_api.24.1.0 Pull Requests that document the changes (include PR ids): (https://github.com/ESCOMP/ctsm/pull) https://github.com/ESCOMP/CTSM/pull/1515 https://github.com/NGEET/fates/pull/854 =============================================================== =============================================================== Tag name: ctsm5.1.dev103 Originator(s): sacks (Bill Sacks) Date: Tue Jul 12 22:27:30 MDT 2022 One-line Summary: Fix accumulation variables when changing model time step Purpose and description of changes ---------------------------------- Accumulation variables (e.g., 1-day or 10-day averages) were writing and reading their accumulation period (expressed in time steps) to the restart file. This caused incorrect behavior when changing the model time step relative to what was used to create the initial conditions file (typically a 30-minute time step). So, for example, if you are using a 15-minute time step with an initial conditions file that originated from a run with a 30-minute time step (at some point in its history), then an average that was supposed to be 10-day instead becomes 5-day; an average that was supposed to be 1-day becomes 12-hour, etc. (The issue is that the number of time steps in the averaging period was staying fixed rather than the actual amount of time staying fixed.) For our out-of-the-box initial conditions files, this only impacts runs that use something other than a 30-minute time step. Typically this situation arises in configurations with an active atmospheric model that is running at higher resolution than approximately 1 degree. It appears that the biggest impacts are on VOC emissions and in BGC runs; we expect the impact to be small (but still non-zero) in prescribed phenology (SP) runs that don't use VOC emissions. This tag fixes this issue by no longer writing or reading accumulation variables' PERIOD to / from the restart file: this isn't actually needed on the restart file. See some discussion in https://github.com/ESCOMP/CTSM/issues/1789 for more details, and see https://github.com/ESCOMP/CTSM/pull/1802#issuecomment-1182743649 for some discussion of outstanding weirdness that can result for accumulation variables when changing the model time step. The summary of that comment is: There could be some weirdness at the start of a run, but at least for a startup or hybrid run, that weirdness should work itself out within about the first averaging period. A branch or restart run could have some longer-term potential weirdness, so for now I think we should recommend that people NOT change the time step on a branch or restart run. With (significant?) additional work, we could probably avoid this additional weirdness, but my feeling is that it isn't worth the effort right now. In any case, I feel like my proposed fix will bring things much closer to being correct than they currently are when changing the time step. 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_1 [ ] clm5_0 [ ] ctsm5_0-nwp [ ] clm4_5 Bugs fixed or introduced ------------------------ CTSM issues fixed (include CTSM Issue #): - Resolves ESCOMP/CTSM#1789 (A bug in calculating accumulated fields (24/240 hours averaged) when using a smaller timestep) Known bugs found since the previous tag (include issue #): - ESCOMP/CTSM#1804 (NSTEPS 0 everywhere for accumulation fields on some initial conditions files) Testing summary: ---------------- regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing): cheyenne ---- OK izumi ------- PASS Also ran these tests with comparisons against baselines: SMS_D_Ld3.f10_f10_mg37.I1850Clm50BgcCrop.cheyenne_intel.clm-shortts SMS_D_Ld3.f10_f10_mg37.I1850Clm50Sp.cheyenne_intel.clm-shortts SMS_Lm1.f10_f10_mg37.I1850Clm50Sp.cheyenne_intel.clm-shortts where 'clm-shortts' was a temporary testmod inheriting from default and adding "./xmlchange ATM_NCPL=96". Answer changes -------------- Changes answers relative to baseline: YES, but just for configurations with a time step that is not the standard 30-minute time step. Summarize any changes to answers, i.e., - what code configurations: Simulations with a time step that is not 30-minutes - what platforms/compilers: all - nature of change (roundoff; larger than roundoff/same climate; new climate): Not investigated carefully. There can be substantial differences for VOC emissions, and differences may also be significant in BGC cases. Differences in SP cases appear to be more limited, since it looks like the only differences in SP cases (other than VOC emissions) come from differences in the T10 field (10-day average temperature), which is used in some photosynthesis calculations. For I compset configurations in the test suite, the only configurations with time steps differing from 30 minutes are: - mexicocity tests (but for the SP cases in the test suite, the answer changes are diagnostic-only in a couple of fields, and the short tests in the test suite don't produce any CLM history files, so answer changes don't show up) - vancouver tests that are long enough to produce history files so that the diagnostic-only differences show up - USUMB tests - waccmx_offline (but, as with the mexicocity tests, these tests are too short to produce history output) The only specific tests in the test suite with answer changes are: SMS_Ld12_Mmpi-serial.1x1_vancouverCAN.I1PtClm50SpRs.cheyenne_gnu.clm-output_sp_highfreq SMS_D_Lm1_Mmpi-serial.CLM_USRDAT.I1PtClm50SpRs.cheyenne_intel.clm-USUMB_nuopc SMS_D_Vmct_Lm1_Mmpi-serial.CLM_USRDAT.I1PtClm50SpRs.cheyenne_intel.clm-USUMB_mct Other details ------------- Pull Requests that document the changes (include PR ids): https://github.com/ESCOMP/CTSM/pull/1802 =============================================================== =============================================================== Tag name: ctsm5.1.dev102 Originator(s): sacks (Bill Sacks) Date: Mon Jul 11 12:14:48 MDT 2022 One-line Summary: Fix LILAC interface to PIO Purpose and description of changes ---------------------------------- Fixes the LILAC interface to PIO. This involved splitting shr_pio_mod into two pieces: (1) Reading configuration files and initializing PIO appropriately (2) Storing information about PIO (io system descriptors, io types, io formats) and providing an interface to query this information Piece (2) lives in the share code and is used regardless of the driver. Piece (1) is driver-specific, so for now we have three versions of that piece: one in CMEPS (created by extracting the initialization pieces from cmeps/cesm/nuopc_cap_share/shr_pio_mod.F90), one in the cpl7 repo (created by extracting the initialization pieces from share/src/shr_pio_mod.F90), and one in CTSM's LILAC directory (which is essentially identical to the one in the cpl7 repo). Piece (2) – the actual share code piece – is used by components (their use statements stay exactly as they are now) as well as by piece (1) (which is responsible for setting the module-level variables in piece (2)). See https://github.com/ESCOMP/CTSM/issues/1759#issuecomment-1171779485 for more context. Much of the work here was in externals: https://github.com/ESCOMP/CESM_share/pull/34, https://github.com/ESCOMP/CMEPS/pull/306 and https://github.com/ESCOMP/CESM_CPL7andDataComps/pull/16. So this PR updates those externals to versions with those changes. In addition, changes were needed within LILAC - to implement the LILAC version of piece (1) described above. 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_1 [ ] clm5_0 [ ] ctsm5_0-nwp [ ] clm4_5 Bugs fixed or introduced ------------------------ CTSM issues fixed (include CTSM Issue #): - Resolves ESCOMP/CTSM#1759 (LILAC test failing in ctsm5.1.dev095 with cime/share/pio update) Externals issues fixed (include issue #): - https://github.com/ESCOMP/CESM_share/issues/33 (ctsm lilac should use old shr_pio_mod.F90) Testing summary: ---------------- regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing): cheyenne ---- PASS izumi ------- PASS In addition, to verify that the LILAC changes don't change answers, I ran LILACSMOKE_D_Ld2.f10_f10_mg37.I2000Ctsm50NwpSpAsRs.cheyenne_intel.clm-lilac with my changes rebased onto dev097 (in order to avoid recent answer changing tags), with comparisons against dev094 (which was the last time that test passed). It was bit-for-bit. Answer changes -------------- Changes answers relative to baseline: NO Other details ------------- List any externals directories updated (cime, rtm, mosart, cism, fates, etc.): - CMEPS: cmeps0.13.63 -> cmeps0.13.68 - CPL7: cpl7.0.12 -> cpl7.0.13 - share: share1.0.11 -> share1.0.12 Pull Requests that document the changes (include PR ids): https://github.com/ESCOMP/CTSM/pull/1800 https://github.com/ESCOMP/CESM_share/pull/34 https://github.com/ESCOMP/CMEPS/pull/306 https://github.com/ESCOMP/CESM_CPL7andDataComps/pull/16 =============================================================== =============================================================== Tag name: ctsm5.1.dev101 Originator(s): samrabin (Sam Rabin) Date: Mon Jul 11 11:48:48 MDT 2022 One-line Summary: Fix winter wheat sowing window bugs Purpose and description of changes ---------------------------------- Fixes problems with winter wheat sowing criteria: The "normal" sowing condition for winter wheat only accounted for whether today is on/after the first day of the planting window; it did not also require that today is on/before the last day of the window. Additionally, the "last chance" condition allowed planting anytime on/after the last day of the window. See https://github.com/ESCOMP/CTSM/issues/1691 for details. Winter wheat is not present in our standard surface datasets, so this has no impact on typical simulations. 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_1 [ ] clm5_0 [ ] ctsm5_0-nwp [ ] clm4_5 Bugs fixed or introduced ------------------------ CTSM issues fixed (include CTSM Issue #): - Resolves ESCOMP/CTSM#1691 (Problems with winter wheat sowing criteria) Testing summary: ---------------- regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing): cheyenne ---- OK izumi ------- OK Answer changes -------------- Changes answers relative to baseline: YES, but just for winter wheat Summarize any changes to answers, i.e., - what code configurations: Only configurations that include winter wheat (this is non-standard, but winter wheat is included in smallville tests, so smallville tests change answers) - what platforms/compilers: all - nature of change (roundoff; larger than roundoff/same climate; new climate): not investigated, but expected to be larger than roundoff/same climate (with possibly large local changes in areas with large amounts of winter wheat) Other details ------------- Pull Requests that document the changes (include PR ids): https://github.com/ESCOMP/CTSM/pull/1692 =============================================================== =============================================================== Tag name: ctsm5.1.dev100 Originator(s): erik (Erik Kluzek,UCAR/TSS,303-497-1326) Date: Tue Jul 5 17:40:21 MDT 2022 One-line Summary: Start bringing in matrixcn overall options and sparse matrix multiplier code, misc updates Purpose and description of changes ---------------------------------- First Commit of CN Matrix Solution: Start bringing in the use_matrixcn and use_soil_matrixcn control options for the Carbon/Nitrogen BGC model using the matrix solution methodology developed by Dr. Yiqi Luo and his EcoLab members: Drs. Xingjie Lu, Yuanyuan Huang and Zhengguang Du, at Northern Arizona University Work on Anomaly forcing for SSEP scenarios: Do some work on anomoly forcing for SSP scenarios. Update the script in tools/contrib to work with the latest data and replicate results of Keith Oleson and Sean Swenson. Add some test cases for it. Python Environment Management using Conda: More work on the manage_python_env script to setup the "ctsm_py" conda environment. This now works for UCAR machines (such as cheyenne and casper) as well as CGD machines (like izumi). This script can also be called for tools, and the test tools mechanism is now using it rather than ncar_pylib. ./manage_python_env SCAM Fix: Add checkimport method for CMEPS so that single-column case can work with SCAM, from Jim Edwards. Black Formatter for Python Code: Run "black" python code reformatter on all code under the "python" directory. Add the commits to .git-blame-ignore-revs so they can be ignored when "git blame" is used, if you add this to each clone where you want this to apply: git config blame.ignoreRevsFile .git-blame-ignore-revs You can do it for your worktrees, but since the file only applies to CTSM for ctsm5.1.dev100 and forward, you'll need to do it for each CTSM clone seperately. Also there is now a github action that checks that python code under the "python" subdirectory is black clean. If it's not the action will fail and send you an email about it. Make Map Data Fix: Simple fix from Sam Rabin. Fix for DISPLA on History Output: Fix from Keith Oleson to set history output for DISPLA (displa_patch) to zero when vegetation is buried by snow. 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_1 [ ] clm5_0 [ ] ctsm5_0-nwp [ ] clm4_5 Bugs fixed or introduced ------------------------ CTSM issues fixed (include CTSM Issue #): Fixes #1300 -- Update Anomaly forcing data and contrib scrip Fixes #1396 -- Add test for Anomaly forcing and rename test for bias correction Fixes #987 -- Anomaly Forcings Fixes #1795 -- SMS_D.f45_f45_mg37.I2000Clm50FatesRs.cheyenne_gnu.clm-FatesColdDefDryDep fails in ctsm5.1.dev099 Fixes #1755 -- Handle python environments for CTSM tools Fixes #1471 -- Add support for using "black" as a python formatter to our python coding process Handles #1794 -- conda environment on CGD systems currently limits python versions to 3.7.0 Some work on #1796 for deprecation of ncar_pylib. Remove it's use in tools testing and in some documentation. Some work on #1580 to add a file with the latest conda environment that will work Notes of particular relevance for users --------------------------------------- Caveats for users (e.g., need to interpolate initial conditions): Notes of particular relevance for developers: --------------------------------------------- Caveats for developers (e.g., code that is duplicated that requires double maintenance): There is the introduction of lots of if statements for use_matrixcn and use_soil_matrixcn. These if statements are added, but they are hardcoded off, so inactive. In some cases the if statements could be reduced with some work, but maintaing both versions will be important until that does happen. These statements need to be kept in the code, as well as a few places where variables that will be needed for the Matrix solution code are added in, even though they aren't needed in this version. Some development was done on the tools/contrib/ssp_anomaly_forcing_smooth script, but the guts should be moved over to the python directory, and the top level script moved outside of the contrib directory. Changes to tests or testing: Change name of bias-correction test Add new tests for anomaly forcing for SSP cases Remove Fates-Drydep test that is a known fail Testing summary: regular tools ---------------- [PASS means all tests PASS; OK means tests PASS other than expected fails.] build-namelist tests (if CLMBuildNamelist.pm has changed): cheyenne - PASS tools-tests (test/tools) (if tools have been changed): cheyenne - OK izumi ---- OK python testing (if python code has changed; see instructions in python/README.md; document testing done): cheyenne - PASS regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing): cheyenne ---- OK izumi ------- PASS If the tag used for baseline comparisons was NOT the previous tag, note that here: Answer changes -------------- Changes answers relative to baseline: No, bit-for-bit Other details ------------- Pull Requests that document the changes (include PR ids): (https://github.com/ESCOMP/ctsm/pull) Start bringing in matrixcn overall options and sparse matrix multiplier code #1771 add checkimport to clm for scam case #1770 Apply black to python directory #1577 Fix missing hostname/CSMDATA in mkmapdata.sh #1765 Fix issue #1569 (History output for DISPLA is incorrect when vegetation is buried by snow) #1570 Fix issues #1769, #1607, #1389 in master documentation #1779 =============================================================== =============================================================== Tag name: ctsm5.1.dev099 Originator(s): rgknox (Ryan Knox) Date: Tue Jun 21 03:20:42 PM EDT 2022 One-line Summary: Enabling FATES control over the number of patches on the natural land unit Purpose and description of changes ---------------------------------- This set of changes 1) allows FATES to dictate the number of patches on the naturaly vegetated land unit and 2) is compatible with a version of FATES that updates the parameter file format (changes in parameter naming and parameter set). Efforts were made to adhere to the system of how patches are looped and loop bounds are defined. There is interaction with the reading of the surface file, which previously dictated all patch counts based on the number of PFTs in the file. FATES-SP and biogeography preserves the ability to use surface file weighting factors associated with PFTs and CFTs to drive area fractions in FATES. This change is motivated by FATES-side updates to the parameter file, which includes new settings where the user can control the number of primary "fates_maxpatch_primary" and secondary "fates_maxpatch_secondary" patches. Users should also be aware of a new namelist setting "use_fates_tree_damage" which defaults to false (inoperative). Significant changes to scientifically-supported configurations -------------------------------------------------------------- Does this tag change answers significantly for any of the following physics configurations? None [ ] clm5_1 [ ] clm5_0 [ ] ctsm5_0-nwp [ ] clm4_5 Bugs fixed or introduced ------------------------ CTSM Issues Fixed: Fixes #1764 "fates test fails to run on dev095" Fixes #1762 "Change threaded fates test from P32x2 to P36x2" Fixes #1784 "Get dry-deposition working with FATES-SP mode" Known bugs introduced in this tag (include issue #): None Known bugs found since the previous tag (include issue #): None Notes of particular relevance for users --------------------------------------- Relevant issue #1785 "Refactor surfrd for FATES" Relevant issue #1780 "Some collapse options should be disabled with FATES" In the process of this PR, we learned that FATES is fundamentally incompatible with the dry-deposition code. FATES-SP may be compatibile, but still needs investigation. Changes to CTSM's user interface (e.g., new/renamed XML or namelist variables): There is a new namelist setting for FATES simulations that turns on the crown damage module: "use_fates_tree_damage". Settings for this module can be found in the FATES parameter file. This namelist variable is a binary true/false, and it defaults to false. Changes to the datasets (e.g., parameter, surface or initial files): Users should also be aware that FATES has a new parameter file format and API. The default file on the ucar dataserver has been updated. Substantial timing or memory changes: none that we're aware of, but with more refined control of patch counts and allocation should come improvements in memory usage. Notes of particular relevance for developers: --------------------------------------------- Caveats for developers (e.g., code that is duplicated that requires double maintenance): None. Some new code was added to surfrdMod.F90, but this is not redundant. Efforts may be made in the future to have more unification there when we have FATES compatable with crops on the crop land-unit. Changes to tests or testing: Tests were added to cover the new crown damage module, and combinations of dry-deposition and megan with FATES-SP. The build system is also aware that these features will not and should not be used with FATES in a non-SP framework. Testing summary: ---------------- regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing): cheyenne ---- OK izumi ------- OK fates tests : cheyenne ---- OK izumi ------- OK If the tag used for baseline comparisons was NOT the previous tag, note that here: dev098 was updated to point to the moost recent FATES tag: sci.1.57.4_api.23.0.0. Answer changes -------------- Changes answers relative to baseline: NLCOMP changes (differences in namelist fields) were the only differences and they were expected. All other tests generated B4B results. =============================================================== =============================================================== Tag name: ctsm5.1.dev098 Originator(s): swensosc (Sean Swenson) Date: Fri May 20 18:15:53 MDT 2022 One-line Summary: Correct perched water table calculation Purpose and description of changes ---------------------------------- Modifies the calculation of the frost table and perched water table layers. This brings in the answer-changing aspects of the Hillslope Hydrology branch (https://github.com/ESCOMP/CTSM/pull/1715). Specific changes are: * PerchedWaterTable 1) Frost table depth a) original frost table determination looped from the top of the soil column downward to the index of the first layer whose temperature was <= freezing, and whose neighbor above had a temperature above freezing. The frost table depth is then given by the node of that soil layer, i.e. z(k_frz). b) in the new method, the same index is found, but the depth of the frost table is given by the depth of the top of the frozen layer, i.e. zi(k_frz-1). Note zi(k_frz) would be the bottom of layer k_frz. 2) Perched water table depth a) in the original formulation, a loop from k_frz to layer 1 was used to identify the deepest layer in 1:k_frz whose volumetric soil moisture was greater than a threshold given by sat_lev (e.g. sat_lev = 0.9). b) in the new method, the search is only done if k_frz is greater than 1. The rationale is that if k_frz = 1, then zwt_perched has already been initialized to the frost_table depth (which is equal to the top of the uppermost soil layer), and therefore no search is required. 3) Determining perched water table depth within layer identified by index k_perch in 2) a) in the original formulation, the perched water table depth was calculated by linearly interpolating between layers k_perch and k_perch+1, with no consideration of their relative values. In the case where the deeper layer was drier than the layer above it, this could result in values far outside the soil layer. b) in the new formulation, if the deeper layer is drier than the layer above it (s1 > s2), then the perched water table depth is simply given by the depth of the upper surface of layer k_perch, i.e. zi(c,k_perch-1). * PerchedLateralFlow 1) Removal of icefrac calculation a) in the original calculation, the frozen layer was included, so an ice impedance factor was calculated using icefrac. If only unfrozen layers are used, no ice impedance factor is needed. b) in the new formulation, the icefrac variable and loop are removed. 2) Move loop calculating frost and perched water table depths a) in the original formulation, the frost and perched water table depths were calculated in the same loop as the calculation of the lateral flow from the perched saturated zone. b) in preparation for the hillslope hydrology branch, this calculation is moved into its own loop. 3) q_perch calculation a)in the original formulation, q_perch was calculated by summing over layers k_perch to k_frost. However, because k_frost is now identified as the frozen layer, and its depth the top of the frozen layer, it should not be included in the calculation; only the unfrozen layers above it should be included. b) in the new formulation, the loop is bounded by k_frost-1 instead of k_frost. 4) Removal of water from perched saturated zone a) the in the original method, the frozen layer (k_frost) was included in the loop. Also, the drainage was defined to be negative, which was confusing. b) in the new method, the frozen layer is not included in the loop; water is only removed from the unfrozen layers above k_frost. Calculate drainage as positive values, which are then subtracted from the soil moisture in each layer. 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.] [X] clm5_1 [X] clm5_0 [X] ctsm5_0-nwp [ ] clm4_5 Testing summary: ---------------- regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing): cheyenne ---- OK izumi ------- OK Answer changes -------------- Changes answers relative to baseline: YES Summarize any changes to answers, i.e., - what code configurations: All Clm50 and Clm51 cases - what platforms/compilers: All - nature of change (roundoff; larger than roundoff/same climate; new climate): Larger than roundoff; small changes to surface climate due to differences originating in soil moisture Other details ------------- Pull Requests that document the changes (include PR ids): https://github.com/ESCOMP/CTSM/pull/1738 =============================================================== =============================================================== Tag name: ctsm5.1.dev097 Originator(s): sacks (Bill Sacks) Date: Fri May 20 15:30:17 MDT 2022 One-line Summary: Update ccs_config to fix issue on izumi and maybe elsewhere Purpose and description of changes ---------------------------------- Point to latest ccs_config This fixes an issue I had on izumi where I couldn't run anything (https://github.com/ESMCI/ccs_config_cesm/issues/45). 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_1 [ ] clm5_0 [ ] ctsm5_0-nwp [ ] clm4_5 Bugs fixed or introduced ------------------------ Externals issues fixed (include issue #): https://github.com/ESMCI/ccs_config_cesm/issues/45 Notes of particular relevance for developers: --------------------------------------------- Changes to tests or testing: - Added LILAC test to the expected fails list (this has been failing for the last 2 tags) Testing summary: ---------------- regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing): cheyenne ---- PASS izumi ------- PASS Answer changes -------------- Changes answers relative to baseline: NO Other details ------------- List any externals directories updated (cime, rtm, mosart, cism, fates, etc.): - ccs_config: ccs_config_cesm0.0.35 -> ccs_config_cesm0.0.36 =============================================================== =============================================================== Tag name: ctsm5.1.dev096 Originator(s): erik (Erik Kluzek,UCAR/TSS,303-497-1326) Date: Wed May 18 12:44:01 MDT 2022 One-line Summary: Fix a few glitches from the last tag Purpose and description of changes ---------------------------------- Update cime to fix DAE issue modify_neon issue When FatesSp is on, make soil_decomp None by default 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_1 [ ] clm5_0 [ ] ctsm5_0-nwp [ ] clm4_5 Bugs fixed or introduced ------------------------ Issues fixed (include CTSM Issue #): Fixes #1744 -- DAE tests fail Fixes #1743 -- NEON test failing Fixes #1749 -- cime path Fixes #1752 -- modify_neon script CIME Issues fixed (include issue #): Fix DAE tests Known bugs introduced in this tag (include issue #): #1759 -- LILAC test fails Notes of particular relevance for users --------------------------------------- Caveats for users (e.g., need to interpolate initial conditions): manage_python_env is at a prototype stage and not fully developed Changes to CTSM's user interface (e.g., new/renamed XML or namelist variables): When use_fates_sp is set -- by default soil_decomp_method will be None Notes of particular relevance for developers: --------------------------------------------- Changes to tests or testing: Add a simple FatesSp test to aux_clm testlist Testing summary: regular ---------------- [PASS means all tests PASS; OK means tests PASS other than expected fails.] build-namelist tests (if CLMBuildNamelist.pm has changed): cheyenne - PASS tools-tests (test/tools) (if tools have been changed): cheyenne - PASS (neon tools) python testing (if python code has changed; see instructions in python/README.md; document testing done): cheyenne - PASS clm_pymods test suite on cheyenne - regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing): cheyenne ---- OK izumi ------- PASS If the tag used for baseline comparisons was NOT the previous tag, note that here: Answer changes -------------- Changes answers relative to baseline: No bit-for-bit Other details ------------- [Remove any lines that don't apply. Remove entire section if nothing applies.] List any externals directories updated (cime, rtm, mosart, cism, fates, etc.): cime, ccs_config cime to cime6.0.27 ccs_config to ccs_config_cesm0.035 Pull Requests that document the changes (include PR ids): (https://github.com/ESCOMP/ctsm/pull) #1753 -- Fix modify_singlept_site_neon.py script #1750 -- Correct the path to cime python code #1747 -- Fix a few glitches in last tag =============================================================== =============================================================== Tag name: ctsm5.1.dev095 Originator(s): erik (Erik Kluzek,UCAR/TSS,303-497-1326) Date: Mon May 9 05:02:41 MDT 2022 One-line Summary: Turn soil BGC off for FATES-SP mode, externals updates, FatesSP user-mod directory and compset Purpose and description of changes ---------------------------------- Bring in externals updates that include adding AWS as a supported machine. Add a FatesSP compset and user-mod directory. Turn soil-BGC off when running FatesSP. Replace PGI tests on izumi with nvhpc tests on cheyenne. Fix an issue with a particular gnu compiler version in ch4Mod.F90 in DEBUG mode. Add some more threading tests for Fates. Start adding a prescribed-LAI tests for FatesSp Add a file to setup a python environment in conda for the python testing. Set line length for black to same as pylint (100). Add some extra excludes for black to the pylint checking. Paths for CIME python code was changed, which required changes to some CTSM python code. 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_1 [ ] clm5_0 [ ] ctsm5_0-nwp [ ] clm4_5 Bugs fixed or introduced ------------------------ Issues fixed (include CTSM Issue #): Fixes: #1720 -- Get FatesSp to run without soil-BGC Fixes: #1726 -- Tutorial tasks Fixes: #1729 -- SIGFPE in ch4Mod with DEBUG=TRUE Fixes: #1610 -- Replace izumi_pgi tests with cheyenne_nvhpc Initial add of FatesSP compset: #1697 Starts adding a test mod for: #1722 FatesSP with prescribed LAI Some part of #1736 threading tests for Fates Known bugs introduced in this tag (include issue #): #1744 -- DAE tests fail #1743 -- NEON test fails on izumi Notes of particular relevance for users --------------------------------------- Caveats for users (e.g., need to interpolate initial conditions): FatesSp mode MUST be run with soil_decomp_method of None. Changes to CTSM's user interface (e.g., new/renamed XML or namelist variables): Add new compset: I2000Clm51FatesSpCruRsGs Add new long compset trigger for FATES-SP mode: FATES-SP And new user-mod directory: fates_sp Notes of particular relevance for developers: --------------------------------------------- Caveats for developers (e.g., code that is duplicated that requires double maintenance): It's hardcoded in both build-namelist and the FORTRAN code that FatesSp mode must be run with soil_decomp_method set to None. Some if statements would allow this to change, but not all. Changes to tests or testing: Replace izumi_pgi with cheyenne_nvhpc Remove pgi mct test, since DEBUG off nvhpc tests work Add a DEBUG on test for FatesSp that currently fails (for fates testlist) Have FatesColdDefReducedComplexSatPhen test-mod use the new fates_sp user-mod Add FatesSp threaded test (both fates and aux_clm test lists) FatesSp tests use new FatesSp compset Testing summary: regular tools ---------------- [PASS means all tests PASS; OK means tests PASS other than expected fails.] build-namelist tests (if CLMBuildNamelist.pm has changed): cheyenne - PASS (2 tests change from ctsm5.1.dev094) tools-tests (test/tools) (if tools have been changed): cheyenne - OK (to mksrfdt_5x5_amazon_hirespft_2005) python testing (if python code has changed; see instructions in python/README.md; document testing done): cheyenne ---- OK regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing): cheyenne ---- OK izumi ------- OK any other testing (give details below): If the tag used for baseline comparisons was NOT the previous tag, note that here: Answer changes -------------- Changes answers relative to baseline: A few tests some roundoff difference in cpl history files Externals update shows answer changes in very limited circumstances. Only cpl history files show a roundoff difference for these tests: SMS_D_Ld1_Mmpi-serial.f45_f45_mg37.I2000Clm50SpRs.izumi_gnu.clm-ptsROA Other details ------------- List any externals directories updated (cime, rtm, mosart, cism, fates, etc.): ccs_config, cime, cmeps, share, pio ccs_config to ccs_config_cesm0.0.32 cime to cime6.0.26 cmeps to cmeps0.13.63 share to share1.0.11 pio to pio2_5_7 Pull Requests that document the changes (include PR ids): (https://github.com/ESCOMP/ctsm/pull) #1723 -- First pass at turnning Soil-BGC off for FatesSp #1740 -- Workaround for some python unit tests #1741 -- Fixes to run_neon =============================================================== =============================================================== Tag name: ctsm5.1.dev094 Originator(s): negins (Negin Sobhani,UCAR/TSS,303-497-1224) Date: Fri May 6 00:04:54 MDT 2022 One-line Summary: subset_data allows zeroing out nonveg landunits without any dompft selected Purpose and description of changes ---------------------------------- Previously subset_data explicitly checked to make sure the user has chosen at least one of the following options: dominant pft(s) or --include-nonveg (overrides default setting non-veg units to 0%) However, Adrianna pointed out that this limits FATES users who would not want to set a dominant pft(s) and would also want all 100% vegetated at the single point. So I removed this capability. This needed recalculating PCT_CROP and PCT_NATVEG while zero-ing out other land unit types. 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.) [ ] clm5_1 [ ] clm5_0 [ ] ctsm5_0-nwp [ ] clm4_5 Bugs fixed or introduced ------------------------ Issues fixed (include CTSM Issue #): Fixes CTSM/#1707 -- Allowing the user to zero non-veg landunits without any dominant pft given by the user. Notes of particular relevance for users --------------------------------------- Changes to CTSM's user interface (e.g., new/renamed XML or namelist variables): Previously the user needed to choose at least one of the following options for subsetting at single points: --dompft --include-nonveg Now the user is not required to specify either options and can still zero out non-veg landunits without any dominant pft given by the user. Notes of particular relevance for developers: --------------------------------------------- Changes to tests or testing: Added 4 new tests to python/ctsm/test/test_unit_singlept_data_surfdata.py to test recalculation of PCT_CROP and PCT_NATVEG while zero-ing out non-veg land units. Testing summary: ---------------- here is guidance on different available levels of system testing: python testing (if python code has changed; see instructions in python/README.md; document testing done): clm_pymods test suite on cheyenne - PASS pylint -- PASS (10.00/10) (cheyenne + python/3.7.9) Python unit tests -- PASS (cheyenne) Python system tests -- FAIL (cheyenne) (CTSM/Issue #1739) Other details ------------- Pull Requests that document the changes (include PR ids): https://github.com/ESCOMP/CTSM/pull/1727 =============================================================== =============================================================== Tag name: ctsm5.1.dev093 Originator(s): slevis (Samuel Levis) Date: Tue May 3 21:50:20 MDT 2022 One-line Summary: Modifications for FATES-MIMICS to work Purpose and description of changes ---------------------------------- 1) For FATES-MIMICS cases, use ligninNratioAvg calculated by FATES. 2) For FATES-MIMICS cases, use annsum_npp_col calculated by FATES. 3) Small modification to allow carbon-only to work with MIMICS. 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_1 [ ] clm5_0 [ ] ctsm5_0-nwp [ ] clm4_5 Bugs fixed or introduced ------------------------ Issues fixed (include CTSM Issue #): Fixes #1636 -- FATES tests fail with MIMICS active Notes of particular relevance for users --------------------------------------- Caveats for users (e.g., need to interpolate initial conditions): MIMICS-FATES now do work together, but only as long as use_lch4 = .true. Notes of particular relevance for developers: --------------------------------------------- Changes to tests or testing: To confirm that MIMICS-FATES works, I added the testmod mimicsFatesColdDef. Testing summary: ---------------- [PASS means all tests PASS; OK means tests PASS other than expected fails.] regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing): cheyenne ---- PASS izumi ------- OK Answer changes -------------- Changes answers relative to baseline: NO ...but made history variable CWDC_HR active. Other details ------------- Pull Requests that document the changes (include PR ids): https://github.com/ESCOMP/ctsm/pull/1643 =============================================================== =============================================================== Tag name: ctsm5.1.dev092 Originator(s): sacks (Bill Sacks) Date: Fri Apr 29 18:31:48 MDT 2022 One-line Summary: Refactor NutrientCompetition / CNAllocation to provide hooks for AgSys Purpose and description of changes ---------------------------------- Major refactor of NutrientCompetition / CNAllocation to provide hooks for AgSys crop model: separates the NutrientCompetition modules into pieces based on (1) consolidating duplicate code between the Clm45 and FlexibleCN versions, and (2) separating pieces that will vs. won't be used for crop patches when running with the upcoming AgSys crop model. I have restored the old CNAllocationMod, with some of the responsibilities that it used to have. (I'm not sure it's appropriate to have the calculation of gpp and maint resp in CNAllocationMod, but I left it there because it has always been combined with the allocation code, including back when we had a separate CNAllocationMod.) 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_1 [ ] clm5_0 [ ] ctsm5_0-nwp [ ] clm4_5 Testing summary: ---------------- regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing): cheyenne ---- PASS izumi ------- PASS Answer changes -------------- Changes answers relative to baseline: NO - though potential for answer changes in unusual cases One change in this tag has the potential for answer changes in unusual cases, even though no answer changes were observed in testing: Previously, only the FlexibleCN code applied some logic that changed crop allocation fractions during the grainfill period if peaklai had been reached. I have changed this so that this logic is applied with or without FlexibleCN (because I have moved this block of code to the CNAllocation module, which is shared between the FlexibleCN and non-FlexibleCN versions). I thought this would change answers, but it appears not to, at least based on the tests in the test suite as well as an extra 5-year test I did at f19 resolution (ERS_Ly5.f19_g17.IHistClm45BgcCrop.cheyenne_intel.clm-cropMonthOutput). It's possible that this changes answers in rare cases or with an unusual combination of options that we don't test: specifically, it might change answers for the atypical situation where you are running with FUN but not FlexibleCN. (In this case, I believe this change is the correct thing to do.) Other details ------------- Pull Requests that document the changes (include PR ids): https://github.com/ESCOMP/CTSM/pull/1705 =============================================================== =============================================================== Tag name: ctsm5.1.dev091 Originator(s): rgknox (Ryan Knox,rgknox@lbl.gov) Date: Fri Apr 22 14:11:50 EDT 2022 One-line Summary: clm decomp method is now passed to fates to enabled mimics coupling Purpose and description of changes ---------------------------------- This is a small changeset, which only adds the passing of a text based flag to FATES, that defines which soil decomposition method is active. This setting is needed by FATES, so that it can pass specific boundary conditions to CLM (and potentially ELM in the future). This change was necessitated because MIMICS requires a Nitrogen to lignin-carbon ratio in the litter flux, yet other decomposition schemes do not. Moreover, the generation of this boundary condition is not trivial, so it is worth it to avoid its computation if mimics is not on. This change should have NO impact on any tests. 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_1 [ ] clm5_0 [ ] ctsm5_0-nwp [ ] clm4_5 Bugs fixed or introduced ------------------------ None Notes of particular relevance for users --------------------------------------- None, this does not currently have an affect on any functionality, it simply lays groundwork for FATES-MIMICS coupling. There are no changes to memory usage or run-time. Notes of particular relevance for developers: --------------------------------------------- No changes in testing. These changes will enable completion (or progress) on CTSM #1643 Testing summary: ---------------- regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing): cheyenne ---- aux_clm, PASS, b4b against ctsm5.1.dev090 izumi ------- aux_clm, PASS, b4b against ctsm5.1.dev090 Answer changes -------------- None Pull Requests that document the changes (include PR ids): #1700 (https://github.com/ESCOMP/ctsm/pull/1700) =============================================================== =============================================================== Tag name: ctsm5.1.dev090 Originator(s): samrabin (Sam Rabin) Date: Thu Mar 31 15:03:34 MDT 2022 One-line Summary: Fix misleading name of "gddplant" Purpose and description of changes ---------------------------------- 1. Rename `gddplant_patch` to `hui_patch` (and `GDDPLANT` to `HUI`). 2. Add new variable `gddaccum_patch` (output `GDDACCUM`). Output variable `GDDPLANT` (not included by default) is now `HUI`, and new output `GDDACCUM` has been added to track _actual_ accumulation of GDDs since planting without any modifications such as occurs here: https://github.com/ESCOMP/CTSM/blob/d9ae4b48d9c55fe3c998019bcf76817da570db87/src/biogeochem/CNPhenologyMod.F90#L2044-L2046 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_1 [ ] clm5_0 [ ] ctsm5_0-nwp [ ] clm4_5 Bugs fixed or introduced ------------------------ [Remove any lines that don't apply. Remove entire section if nothing applies.] Issues fixed (include CTSM Issue #): - Resolves ESCOMP/CTSM#1655 (gddplant_patch (GDDPLANT) is misleadingly named) Notes of particular relevance for users --------------------------------------- Changes to CTSM's user interface (e.g., new/renamed XML or namelist variables): - See above notes about changes to some output variables Notes of particular relevance for developers: --------------------------------------------- Changes to tests or testing: - Changed variables output in crop testmod (and any testmods that inherit from it) Testing summary: ---------------- regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing): cheyenne ---- PASS izumi ------- PASS Answer changes -------------- Changes answers relative to baseline: NO There are FIELDLIST diffs for cases using the crop testmod or other testmods inheriting from it, but otherwise bit-for-bit. Other details ------------- Pull Requests that document the changes (include PR ids): https://github.com/ESCOMP/CTSM/pull/1684 =============================================================== =============================================================== Tag name: ctsm5.1.dev089 Originator(s): sacks (Bill Sacks) Date: Thu Mar 31 11:44:12 MDT 2022 One-line Summary: For CLM45 apply peaklai to aleaf in grainfill Purpose and description of changes ---------------------------------- This tag makes the crop allocation code in NutrientCompetitionCLM45defaultMod consistent with that in NutrientCompetitionFlexibleCNMod by forcing aleaf to 1e-5 if peaklai has been reached during the grainfill period (in addition to the similar existing check that was already in both places during the vegetative growth period). This reconciliation will be helpful so that I can extract these into a shared subroutine. I thought this would potentially change answers for CLM45 cases, but based on the test suite and from a 5-year run of IHistClm45BgcCrop at f19_g17 resolution, it seems like this won't change answers in our typical configurations: From that 5-year f19_g17 run, whenever peaklai is 1 during the grainfill period, aleaf is already exactly 1e-5. I don't understand why this is always the case; maybe, in Clm45, if peaklai isn't reached before grainfill then it is never reached that growing season? I have come to suspect that the difference between Clm45 and Clm50 in this respect may actually be due to whether you're running with FUN, since running with FUN changes some relevant driver sequencing. So it's possible that this would change answers for the atypical situation where someone was running with FUN but not FlexibleCN; in this case, I think this change would be the right thing to do. In addition, from the test suite, I found this leads to answer changes when using CLM45 together with old hydrology (h2osfcflag = 0 and use_subgrid_fluxes = .false.). 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_1 [ ] clm5_0 [ ] ctsm5_0-nwp [ ] clm4_5 Testing summary: ---------------- regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing): cheyenne ---- OK izumi ------- OK Answer changes -------------- Changes answers relative to baseline: YES, but only in very limited cases Summarize any changes to answers, i.e., - what code configurations: Very limited cases with crop and without FlexibleCN (see below for details) - what platforms/compilers: all - nature of change (roundoff; larger than roundoff/same climate; new climate): not investigated, but suspected to be larger than roundoff / same climate I thought this would potentially change answers for CLM45 cases, but based on the test suite and from a 5-year run of IHistClm45BgcCrop at f19_g17 resolution, it seems like this won't change answers in our typical configurations: From that 5-year f19_g17 run, whenever peaklai is 1 during the grainfill period, aleaf is already exactly 1e-5. I don't understand why this is always the case; maybe, in Clm45, if peaklai isn't reached before grainfill then it is never reached that growing season? I have come to suspect that the difference between Clm45 and Clm50 in this respect may actually be due to whether you're running with FUN, since running with FUN changes some relevant driver sequencing. So it's possible that this would change answers for the atypical situation where someone was running with FUN but not FlexibleCN; in this case, I think this change would be the right thing to do. In addition, from the test suite, I found this leads to answer changes when using CLM45 together with old hydrology (h2osfcflag = 0 and use_subgrid_fluxes = .false.). Tests with answer changes were: ERP_D_P36x2_Ld3.f10_f10_mg37.I2000Clm45BgcCrop.cheyenne_gnu.clm-no_subgrid_fluxes SMS_D_Ld1_P48x1.f10_f10_mg37.I2000Clm45BgcCrop.izumi_nag.clm-oldhyd Other details ------------- Pull Requests that document the changes (include PR ids): https://github.com/ESCOMP/CTSM/pull/1694 =============================================================== =============================================================== Tag name: ctsm5.1.dev088 Originator(s): samrabin (Sam Rabin) Date: Mon Mar 28 10:13:22 MDT 2022 One-line Summary: Add outputs for annual crop sowing and harvest dates Purpose and description of changes ---------------------------------- Added annual outputs of sowing and harvest dates (`SDATES` and `HDATES`, respectively). This should simplify the determination of sowing and harvest date for postprocessing. - Sowing dates are on new dimension `mxgrowseas` (maximum number of growing seasons allowed to begin in a year; currently hard-coded to 1). - Harvest dates are on new dimension `mxharvests` (maximum number of harvests allowed in a year), which is `mxgrowseas`+1. This is needed because in year Y you might harvest a field that was planted in year Y-1, then plant and harvest again. - The lengths of these dimensions are public constants of `clm_varpar`. Additionally, removed `cropplant` as discussed here: . The `mxharvests` concept enables the addition of more such outputs to further simplify crop postprocessing—for example, yield per growing season as a direct output rather than needing to cross-reference daily grain mass against the day of harvest. These changes involved some rework to the crop phenology code that changes answers for crop phenology in some circumstances. All answer changes were determined to be due to issues / oddities in the old code. See discussion in https://github.com/ESCOMP/CTSM/pull/1616 for details (especially see https://github.com/ESCOMP/CTSM/pull/1616#issuecomment-1049247565). To summarize briefly, some issues with the old code were: - Non-winter-cereal patches that had live crops at the beginning of the year did not get planted later that year. - There was some odd behavior for rice patches at exactly 0 deg latitude - Crop root depth had unexpected values outside the growing season; now root depth is set to 0 outside the growing season 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_1 [ ] clm5_0 [ ] ctsm5_0-nwp [ ] clm4_5 Bugs fixed or introduced ------------------------ Issues fixed (include CTSM Issue #): - Resolves ESCOMP/CTSM#1537 (Output of sowing and harvest dates) Notes of particular relevance for developers: --------------------------------------------- Changes to tests or testing: - Added new crop outputs to the cropMonthOutput testmod in a 3rd, annual history file Testing summary: ---------------- regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing): cheyenne ---- OK izumi ------- OK Answer changes -------------- Changes answers relative to baseline: YES, for Crop cases Summarize any changes to answers, i.e., - what code configurations: Crop cases - what platforms/compilers: all - nature of change (roundoff; larger than roundoff/same climate; new climate): Larger than roundoff, expected to be same climate Changes answers for crop cases that are at least a few months long and/or cross the year boundary; also SSP tests with Crop. These changes arise due to fixing some issues / oddities that were present in the old code. Also changes ROOT_DEPTH outside of the crop growing season. See description above for details, and also extensive discussion in https://github.com/ESCOMP/CTSM/pull/1616 . Sam Rabin performed extensive testing to demonstrate that answer changes all arise due to fixing issues with the old code. Other details ------------- Pull Requests that document the changes (include PR ids): https://github.com/ESCOMP/CTSM/pull/1616 =============================================================== =============================================================== Tag name: ctsm5.1.dev087 Originator(s): sacks (Bill Sacks) Date: Thu Mar 24 12:25:10 MDT 2022 One-line Summary: Reduce aux_clm testing cost Purpose and description of changes ---------------------------------- Use small PE counts for aux_clm tests and remove some redundant / unnecessary tests. This tag reduces the PE count for aux_clm tests so that all (I think) tests fit in 4 nodes or less. This should both (1) reduce queue wait time for tests and (2) reduce aux_clm testing cost (since, for high resolution tests, most time is spent in initialization, so having more PEs increases cost significantly without actually making the tests run much, if any, faster). While doing this, I also noticed some tests that felt redundant or unnecessary, and I have removed those. To facilitate these changes, I have introduced new "S" PE layouts for the f09, f19 and 0.125nldas2 resolutions. These layouts use 4 nodes (but with DATM on just 1 node, because it is slightly faster to run it on one node than four nodes). (I considered running DATM on its own node like we do for production PE layouts, but that turns out to only improve runtime slightly while increasing cost significantly, so I am having DATM share one of the nodes used for LND.) Here is a detailed list of the changes: Changes to aux_clm test list: I changed the following: ``` diff 2c2 < SMS_D_Ld9.f09_g17.I1850Clm50BgcNoAnthro.cheyenne_intel.clm-decStart1851_noinitial --- > SMS_D_Ld3_PS.f09_g17.I1850Clm50BgcNoAnthro.cheyenne_intel.clm-decStart1851_noinitial 7c7 < SMS_D_Ld1.f09_g17.I1850Clm50Sp.cheyenne_intel.clm-default # Include a test of this scientifically-supported compset at a scientifically-supported resolution --- > SMS_D_Ld1_PS.f09_g17.I1850Clm50Sp.cheyenne_intel.clm-default # Include a test of this scientifically-supported compset at a scientifically-supported resolution 14,17c14,15 < SMS_D_Ln9_P480x3.f19_g17.IHistClm50Sp.cheyenne_intel.clm-waccmx_offline # Run a transient case with standalone settings similar to the FXHIST waccm test < SMS_D_Ln9_P480x3_Vmct.f19_g17.IHistClm50Sp.cheyenne_intel.clm-waccmx_offline # MCT test covering drydep, megan and Gregorian calendar. --- > SMS_D_Ln9_P36x3.f19_g17.IHistClm50Sp.cheyenne_intel.clm-waccmx_offline # Run a transient case with standalone settings similar to the FXHIST waccm test > SMS_D_Ln9_P36x3_Vmct.f19_g17.IHistClm50Sp.cheyenne_intel.clm-waccmx_offline # MCT test covering drydep, megan and Gregorian calendar. 20c18 < ERI_Ld9.f10_f10_mg37.I2000Clm50BgcCru.cheyenne_intel.clm-drydepnomegan --- > ERI_Ld9.f10_f10_mg37.I2000Clm50BgcCru.cheyenne_gnu.clm-drydepnomegan 32c30 < SMS_Ln9_P360x2.C96_C96_mg17.IHistClm50BgcCrop.cheyenne_intel.clm-clm50cam6LndTuningMode # Want one C96 test in the aux_clm test suite; just a short smoke test to make sure it can get off the ground. Use a PE layout that (1) has threading, because CAM uses threading at this resolution; and (2) has a smaller-than-standard task count in order to get through the queue faster. --- > SMS_Ln9_P72x2.C96_C96_mg17.IHistClm50BgcCrop.cheyenne_intel.clm-clm50cam6LndTuningMode # Want one C96 test in the aux_clm test suite; just a short smoke test to make sure it can get off the ground. Use a PE layout that (1) has threading, because CAM uses threading at this resolution; and (2) has a smaller-than-standard task count in order to get through the queue faster. 36,37c34 < ERP_D_Ld5.f19_g17.I2000Clm50BgcCru.cheyenne_intel.clm-fire_emis --- > ERP_D_Ld5.f10_f10_mg37.I2000Clm50BgcCru.cheyenne_gnu.clm-fire_emis 42c39 < ERP_D_Ld5.f19_g17.IHistClm50SpCru.cheyenne_intel.clm-drydepnomegan --- > ERP_D_Ld5.f10_f10_mg37.IHistClm50SpCru.cheyenne_gnu.clm-drydepnomegan 66,67c62 < ERP_Ld5.f10_f10_mg37.I1850Clm50Bgc.cheyenne_intel.clm-drydepnomegan --- > ERP_D_Ld5.f10_f10_mg37.I1850Clm50Bgc.cheyenne_gnu.clm-drydepnomegan 87,90c78,80 < ERP_P180x2_D.f19_g17.I2000Clm50SpRtmFl.cheyenne_intel.clm-default # include a debug test with flooding on < ERP_P180x2_D_Ld5.f19_g17_gris4.I1850Clm50BgcCropG.cheyenne_intel.clm-glcMEC_increase # cism is not answer preserving across processor changes, but short test length should be ok. < ERP_P180x2_D_Ld5.f19_g17.I2000Clm50Sp.cheyenne_intel.clm-default --- > ERP_P36x2_D.f10_f10_mg37.I2000Clm50SpRtmFl.cheyenne_intel.clm-default # include a debug test with flooding on > ERP_P72x2_D_Ld5.f19_g17_gris4.I1850Clm50BgcCropG.cheyenne_intel.clm-glcMEC_increase # cism is not answer preserving across processor changes, but short test length should be ok. > ERP_P36x2_D_Ld5.f10_f10_mg37.I2000Clm50Sp.cheyenne_gnu.clm-default 106,108c96 < ERS_D_Ld3.f19_g17.I1850Clm50BgcCrop.cheyenne_intel.clm-clm50dynroots --- > ERS_D_Ld3.f10_f10_mg37.I1850Clm50BgcCrop.cheyenne_intel.clm-clm50dynroots 114c102 < ERS_Ld3.f09_g17.I1850Clm50BgcCrop.cheyenne_intel.clm-rad_hrly_light_res_half --- > ERS_Ld3_D.f10_f10_mg37.I1850Clm50BgcCrop.cheyenne_gnu.clm-rad_hrly_light_res_half 128,129c116,117 < LII_D_Ld3.f19_g17.I2000Clm50BgcCrop.cheyenne_intel.clm-default # Basic LII test, covering the standard range of subgrid heterogeneity - particularly, including crop. Uses a year-2000 restart file so that the restart file has non-zero product pools, so that we exercise the gridcell-level code in init_interp. < LII2FINIDATAREAS_D_P360x2_Ld1.f09_g17.I1850Clm50BgcCrop.cheyenne_intel.clm-default # Exercise the init_interp_method='use_finidat_areas' option. See documentation at the top of the python script implementing this test for more details and rationale. This test requires a compatible finidat file (i.e., a file that can be used without interpolation). If no such file is available out-of-the-box, then the test will need to use a testmod that points to a compatible file. --- > LII_D_Ld3_PS.f19_g17.I2000Clm50BgcCrop.cheyenne_intel.clm-default # Basic LII test, covering the standard range of subgrid heterogeneity - particularly, including crop. Uses a year-2000 restart file so that the restart file has non-zero product pools, so that we exercise the gridcell-level code in init_interp. > LII2FINIDATAREAS_D_P72x2_Ld1.f09_g17.I1850Clm50BgcCrop.cheyenne_intel.clm-default # Exercise the init_interp_method='use_finidat_areas' option. See documentation at the top of the python script implementing this test for more details and rationale. This test requires a compatible finidat file (i.e., a file that can be used without interpolation). If no such file is available out-of-the-box, then the test will need to use a testmod that points to a compatible file. 139c127 < SMS_D_Ld1.f09_g17.I1850Clm50BgcSpinup.cheyenne_intel.clm-cplhist --- > SMS_D_Ld1_PS.f09_g17.I1850Clm50BgcSpinup.cheyenne_intel.clm-cplhist 141,142c129,130 < SMS_Vmct_D_Ld1.f09_g17.I1850Clm50BgcSpinup.cheyenne_intel.clm-cplhist # pgi test for MCT driver since nuopc is not passing < SMS_D.f19_f19_mg17.I2010Clm50Sp.cheyenne_intel.clm-clm50cam6LndTuningMode --- > SMS_Vmct_D_Ld1_PS.f09_g17.I1850Clm50BgcSpinup.cheyenne_intel.clm-cplhist # pgi test for MCT driver since nuopc is not passing > SMS_D_Ld1_PS.f19_f19_mg17.I2010Clm50Sp.cheyenne_intel.clm-clm50cam6LndTuningMode 173c161 < SMS_Ld1.f09_g17.I2000Clm50BgcCru.cheyenne_intel.clm-af_bias_v7 --- > SMS_Ld1_PS.f09_g17.I2000Clm50BgcCru.cheyenne_gnu.clm-af_bias_v7 177,178c165 < SMS_Ld2_D.f09_g17.I1850Clm50BgcCropCmip6.cheyenne_intel.clm-basic_interp # This gives a short debug test of the cmip6 configuration as well as a test of the cmip6 configuration at the production resolution, both of which we want. This test needs to use init_interp to work, because of adding virtual Antarctica columns. --- > SMS_Ld2_D_PS.f09_g17.I1850Clm50BgcCropCmip6.cheyenne_intel.clm-basic_interp # This gives a short debug test of the cmip6 configuration as well as a test of the cmip6 configuration at the production resolution, both of which we want. This test needs to use init_interp to work, because of adding virtual Antarctica columns. 186c172 < SMS_Lm13.f19_g17.I2000Clm51BgcCrop.cheyenne_intel.clm-cropMonthOutput # include a relatively long crop test at relatively high resolution --- > SMS_Lm13_PS.f19_g17.I2000Clm51BgcCrop.cheyenne_intel.clm-cropMonthOutput # include a relatively long crop test at relatively high resolution 190c176 < ERP_D_Ld10.f19_g17.I1850Clm51BgcCrop.cheyenne_intel.clm-ADspinup # Include a restart test for AD spinup mode because of specific logic for spinup_state. Lack of this test did cause a problem. --- > ERP_D_Ld10.f10_f10_mg37.I1850Clm51BgcCrop.cheyenne_intel.clm-ADspinup # Include a restart test for AD spinup mode because of specific logic for spinup_state. Lack of this test did cause a problem. 195c181 < ERS_D_Ld5.f09_g17.I2000Clm50FatesRs.cheyenne_intel.clm-FatesColdDef # Want one fates test on a large grid: Since FATES has cohorts, it has potential to be a massive memory consumer and netcdf array size maker, so the large grid test will help smoke out these types of issues (and it's a restart test to cover possible memory/netcdf size issues with the restart file). --- > ERS_D_Ld3_PS.f09_g17.I2000Clm50FatesRs.cheyenne_intel.clm-FatesColdDef # Want one fates test on a large grid: Since FATES has cohorts, it has potential to be a massive memory consumer and netcdf array size maker, so the large grid test will help smoke out these types of issues (and it's a restart test to cover possible memory/netcdf size issues with the restart file). 209c195 < SMS_Ld5.f19_g17.I2000Clm50FatesRs.cheyenne_intel.clm-FatesColdDef --- > SMS_Ld5_PS.f19_g17.I2000Clm50FatesRs.cheyenne_gnu.clm-FatesColdDef 223,224c209,210 < SMS_Ld1.nldas2_rnldas2_mnldas2.I2000Ctsm50NwpSpNldas.cheyenne_gnu.clm-default # Include a short smoke test covering the nldas2 grid and the I2000Ctsm50NwpSpNldas compset, which uses NLDAS datm forcing. < SMS_Ld1.nldas2_rnldas2_mnldas2.I2000Ctsm50NwpSpNldasRs.cheyenne_gnu.clm-default # Include a short smoke test covering the nldas2 grid and the I2000Ctsm50NwpSpNldasRs compset, which uses NLDAS datm forcing. --- > SMS_Ld1_PS.nldas2_rnldas2_mnldas2.I2000Ctsm50NwpSpNldas.cheyenne_gnu.clm-default # Include a short smoke test covering the nldas2 grid and the I2000Ctsm50NwpSpNldas compset, which uses NLDAS datm forcing. > SMS_Ld1_PS.nldas2_rnldas2_mnldas2.I2000Ctsm50NwpSpNldasRs.cheyenne_gnu.clm-default # Include a short smoke test covering the nldas2 grid and the I2000Ctsm50NwpSpNldasRs compset, which uses NLDAS datm forcing. 232c217 < PFS_Ld20.f09_g17.I2000Clm50BgcCrop.cheyenne_intel # Can use this test to determine if there are significant throughput changes, at least for this common and important configuration. Note that this deliberately doesn't have any testmods in order to (1) avoid doing history output (because the timing of output can be very variable, and mixing output timing with other aspects of model time can be confusing), and (2) generally keep the test replicating a production configuration as closely as possible (so, for example, we do NOT set BFBFLAG=TRUE for this test). --- > PFS_Ld10_PS.f19_g17.I2000Clm50BgcCrop.cheyenne_intel # Can use this test to determine if there are significant throughput changes, at least for this common and important configuration. Note that this deliberately doesn't have any testmods in order to (1) avoid doing history output (because the timing of output can be very variable, and mixing output timing with other aspects of model time can be confusing), and (2) generally keep the test replicating a production configuration as closely as possible (so, for example, we do NOT set BFBFLAG=TRUE for this test). ``` In addition, I moved the following tests to ctsm_sci: SMS_Ln9_P144x3.f19_g17.IHistClm50Sp.cheyenne_intel.clm-waccmx_offline2005Start # Do a test similar to FXHIST starting at a 2005 start date, will interpoalte from the 2003 IC file SMS_Lm1.f19_g17.I1850Clm50BgcCropCmip6waccm.cheyenne_intel.clm-basic # The main point of this test is simply to make sure that the CMIP6WACCMDECK modifier works for 2-degree since that resolution turns off Carbon isotopes and I completely removed the following tests: SMS_Ld1.f09_g17.I1850Clm50Bgc.cheyenne_intel.clm-drydepnomegan ERI_Ld9.f10_f10_mg37.I1850Clm50Bgc.cheyenne_gnu.clm-drydepnomegan ERP_D_Ld5.f19_g17.I2000Clm50BgcCru.cheyenne_intel.clm-default ERP_Ld5.f19_g17.I1850Clm50Bgc.cheyenne_intel.clm-default ERP_Ld5.f19_g17.I2000Clm50SpRtmFl.cheyenne_gnu.clm-default ERP_Ld5.f19_g17.I2000Clm50BgcCru.cheyenne_intel.clm-default ERP_Ld3.f09_g17.I1850Clm50BgcCropCru.cheyenne_intel.clm-ciso ERP_P180x2_D_Ld5.f19_g17_gris4.I1850Clm50BgcCropG.cheyenne_intel.clm-default ERS_D_Ld3.f10_f10_mg37.I2000Clm50BgcCru.cheyenne_intel.clm-default ERS_D_Ld3.f10_f10_mg37.I2000Clm50BgcCru.cheyenne_gnu.clm-default SMS_Ld5.f19_g17.IHistClm50Bgc.cheyenne_intel.clm-decStart SMS_Lm1.f19_g17.I1850Clm50Bgc.cheyenne_intel.clm-clm50dynroots In general, these removed tests felt redundant with existing tests (including some low-resolution tests that I happened to notice as feeling redundant as I was reworking the testing). Changes to ctsm_sci test list: See notes above for tests moved from the aux_clm test list to the ctsm_sci test list; other than that, I did not make any changes to the ctsm_sci test list. Changes to prealpha test list I made the following changes to the prealpha test list to keep it in line with the aux_clm test list: ``` diff < prealpha: ERP_Ld5.f19_g17.I2000Clm50SpRtmFl.cheyenne_gnu.clm-default < prealpha: ERP_P180x2_D_Ld5.f19_g17_gris4.I1850Clm50BgcCropG.cheyenne_intel.clm-default < prealpha: ERP_P180x2_D_Ld5.f19_g17.I2000Clm50Sp.cheyenne_intel.clm-default --- > prealpha: ERP_P36x2_D.f10_f10_mg37.I2000Clm50SpRtmFl.cheyenne_intel.clm-default # include a debug test with flooding on > prealpha: ERP_P72x2_D_Ld5.f19_g17_gris4.I1850Clm50BgcCropG.cheyenne_intel.clm-glcMEC_increase # cism is not answer preserving across processor changes, but short test length should be ok. > prealpha: ERP_P36x2_D_Ld5.f10_f10_mg37.I2000Clm50Sp.cheyenne_gnu.clm-default ``` Changes to prebeta test list: I made the following changes to the prealpha test list to keep it in line with the aux_clm test list: ``` diff 1c1 < prebeta: SMS_D_Ld9.f09_g17.I1850Clm50BgcNoAnthro.cheyenne_intel.clm-decStart1851_noinitial --- > prebeta: SMS_D_Ld3_PS.f09_g17.I1850Clm50BgcNoAnthro.cheyenne_intel.clm-decStart1851_noinitial 3,4c3 < prebeta: ERP_D_Ld5.f19_g17.I2000Clm50BgcCru.cheyenne_intel.clm-fire_emis < prebeta: ERP_D_Ld5.f19_g17.IHistClm50SpCru.cheyenne_intel.clm-drydepnomegan --- > prebeta: ERP_D_Ld5.f10_f10_mg37.I2000Clm50BgcCru.cheyenne_gnu.clm-fire_emis > prebeta: ERP_D_Ld5.f10_f10_mg37.IHistClm50SpCru.cheyenne_gnu.clm-drydepnomegan 9,10c8,9 < prebeta: ERS_D_Ld3.f19_g17.I1850Clm50BgcCrop.izumi_intel.clm-clm50dynroots < prebeta: ERS_D_Ld3.f19_g17.I1850Clm50BgcCrop.izumi_pgi.clm-clm50dynroots --- > prebeta: ERS_D_Ld3.f10_f10_mg37.I1850Clm50BgcCrop.izumi_intel.clm-clm50dynroots > prebeta: ERS_D_Ld3.f10_f10_mg37.I1850Clm50BgcCrop.izumi_pgi.clm-clm50dynroots ``` In addition, I removed the following from the prebeta test list: ERP_Ld5.f19_g17.I2000Clm50SpRtmFl.cheyenne_gnu.clm-default SMS_Ld1.f19_g17.I2000Clm50BgcCru.cheyenne_intel.clm-default SMS_Lm1.f19_g17.I1850Clm50BgcCropCmip6waccm.cheyenne_intel.clm-basic # The main point of this test is simply to make sure that the CMIP6WACCMDECK modifier works for 2-degree since that resolution turns off Carbon isotopes For the removed tests, we already have similar tests to these removed tests in the prealpha and/or prebeta test suites. (It is unnecessary to have the same tests in both prealpha and prebeta test lists, because the prebeta test list is generally just run on tags that have already been through prealpha testing.) Other test categories: I did not make any changes to other test categories: fates, aux_cime_baselines, clm_pymods or clm_short. The fates test category has some high resolution tests that should probably be changed similarly to what I did here. Some notes on the changed tests: All of the new (changed) tests pass. Nearly all of them run in less than 10 min (and some of them actually run faster than before); the one exception is `SMS_Lm13_PS.f19_g17.I2000Clm51BgcCrop.cheyenne_intel.clm-cropMonthOutput`, which has a 31 min run time; that is as expected. I feel like that's acceptable: it's in the neighborhood of some of our other long tests, and I feel like it's worth having one more long-running test in order to avoid having anything that might sit in the queue too long. We could consider putting this test on something like 8 nodes instead of 4 if we find that it is consistently the last test to finish, but for now I wanted to try for a goal of having all tests on 4 nodes or fewer. I compared the detailed timing files from the new `PFS_Ld10_PS.f19_g17.I2000Clm50BgcCrop.cheyenne_intel` test with the original `PFS_Ld20.f09_g17.I2000Clm50BgcCrop.cheyenne_intel` test. For the most part, the relative timings of different pieces are about the same in both - at least for the major culprits, which is what I compared. So this is good: I feel like we can use the new test to still give indications of when the timing of a particular section changes significantly, and be reasonably confident that the same result would hold for an f09 test with higher processor count. The total testing time from start to finish is: - cheyenne_gnu: 1:06 - cheyenne_intel: 2:10 - izumi_gnu: 1:09 - izumi_intel: 1:46 - izumi_nag: 1:31 - izumi_pgi: 1:27 Note that I think the izumi tests would have completed sooner if not for the fact that we are limited in how many jobs we can run simultaneously in izumi, so jobs tend to stay stuck in the queue for a while. The test that I was concerned about taking a longer time to run, SMS_Lm13_PS.f19_g17.I2000Clm51BgcCrop.cheyenne_intel.clm-cropMonthOutput, was the second-to-last cheyenne test to finish, but a bunch of other tests finished just one minute before it (and ERS_Ly5_P144x1.f10_f10_mg37.IHistClm51BgcCrop.cheyenne_intel.clm-cropMonthOutput, the last test to finish, finished one minute after it). 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_1 [ ] clm5_0 [ ] ctsm5_0-nwp [ ] clm4_5 Bugs fixed or introduced ------------------------ Issues fixed (include CTSM Issue #): - Partially addresses #275 (Rework CLM test suite: miscellaneous things to do to shorten turnaround time and increase coverage) Notes of particular relevance for developers: --------------------------------------------- Changes to tests or testing: Many changes, as documented above. Testing summary: ---------------- regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing): cheyenne ---- PASS izumi ------- PASS Answer changes -------------- Changes answers relative to baseline: NO (but some BFAILs) Other details ------------- Pull Requests that document the changes (include PR ids): - https://github.com/ESCOMP/CTSM/pull/1688 - https://github.com/ESCOMP/CTSM/pull/1687 =============================================================== =============================================================== Tag name: ctsm5.1.dev086 Originator(s): negins (Negin Sobhani,UCAR/TSS,303-497-1224) Date: Tue Mar 22 01:22:19 MDT 2022 One-line Summary: Updates necessary for NEON v2 files and server updates Purpose and description of changes ---------------------------------- This tag resolves the issues that are caused by NEON moving their storage from Amazon S3 to GCS (Google Cloud Storage) and updated listing files, two issues need to be addressed. To summarize, this tag addresses these issues: 1- run_neon.py is updated to handle the updated listing file and introduction of the new v2 data. 2- CDEPS, CIME, and run_neon.py codes should be updated to point to the GCS bucket instead of the neon S3 bucket. Besides updating run_neon.py this tag points to the updated externals with this updates. 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.) [ ] clm5_1 [ ] clm5_0 [ ] ctsm5_0-nwp [ ] clm4_5 Bugs fixed or introduced ------------------------ Issues fixed (include CTSM Issue #): Fixes CTSM/#1668 -- Updating run_neon.py for v2 files Fixes CTSM/#1675 -- updating externals and pointing to GCS instead of S3 for neon Notes of particular relevance for users --------------------------------------- Changes to CTSM's user interface (e.g., new/renamed XML or namelist variables): ./run_neon.py now has a new option: --neon-version {v1, v2} : Neon data version to use for this simulation. [default: use the latest data available] Notes of particular relevance for developers: --------------------------------------------- Changes to tests or testing: The following tests with PGI on Izumi used to fail in the build phase. It seems like they are not failing in the "build phase" anymore but they are still failing in the "run phase". SMS_D.f10_f10_mg37.I2000Clm51BgcCrop.izumi_pgi.clm-crop SMS.f10_f10_mg37.I2000Clm50BgcCrop.izumi_pgi.clm-crop The ExpectedTestFails.xml is updated to reflect this change. Testing summary: ---------------- build-namelist tests (if CLMBuildNamelist.pm has changed): cheyenne - tools-tests (test/tools) (if tools have been changed): cheyenne - python testing (if python code has changed; see instructions in python/README.md; document testing done): (any machine) - [If python code has changed and you are NOT running aux_clm (e.g., because the only changes are in python code) then also run the clm_pymods test suite; this is a small subset of aux_clm that runs the system tests impacted by python changes. The best way to do this, if you expect no changes from the last tag in either model output or namelists, is: create sym links pointing to the last tag's baseline directory, named with the upcoming tag; then run the clm_pymods test suite comparing against these baselines but NOT doing their own baseline generation. If you are already running the full aux_clm then you do NOT need to separately run the clm_pymods test suite, and you can remove the following line.] clm_pymods test suite on cheyenne - regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing): cheyenne ---- PASS izumi ------- OK fates tests: (give name of baseline if different from CTSM tagname, normally fates baselines are fates--) cheyenne ---- izumi ------- any other testing (give details below): ./run_neon.py tested on Cheyenne for all sites and check if the latest option chose v2 when data was available. At the time of this test v2 was only available for CPER sites and for the rest of neon sites run_neon.py used v1 data. Other details ------------- List any externals directories updated (cime, rtm, mosart, cism, fates, etc.): - ccs_config : 0.0.5 --> 0.0.15 - cime : 6.0.13 --> 6.0.15 - cdeps : 0.12.35 --> 0.12.41 - pio : pio2_5_5 --> pio2_5_6 Pull Requests that document the changes (include PR ids): https://github.com/ESCOMP/CTSM/pull/1669 =============================================================== =============================================================== Tag name: ctsm5.1.dev085 Originator(s): sacks (Bill Sacks) Date: Wed Mar 16 11:08:54 MDT 2022 One-line Summary: Expand crop reproductive pools; remove some unused options Purpose and description of changes ---------------------------------- The main change in this tag is adding placeholder pools (and corresponding fluxes) that will be needed to couple the AgSys crop model: Rather than a single grain pool, AgSys has two different grain pools (meal & oil) as well as two different reproductive structure pools (pod & floret). This tag adds a dynamically-allocated second dimension to the relevant variables to accommodate these new pools. The new CropReprPoolsMod controls the allocation and naming of these pools, and facilitates looping over the new dimension. Currently parameters in there are hard-coded for the current crop model, but this will become more dynamic with the coupling of AgSys. This tag also removes experimental / untested options in NutrientCompetitionFlexibleCNMod. Although this is mostly unrelated to the main change, doing this simplified the changes needed for the main change. This tag also resolves ESCOMP/CTSM#1666 (Isotopic values of grain_mr not set correctly when use_grainproduct is false). Finally, this tag removes or modifies some of the most expensive tests in the aux_clm test suite to reduce the cost of running the test suite. 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_1 [ ] clm5_0 [ ] ctsm5_0-nwp [ ] clm4_5 Bugs fixed or introduced ------------------------ [Remove any lines that don't apply. Remove entire section if nothing applies.] Issues fixed (include CTSM Issue #): - Resolves ESCOMP/CTSM#1666 (Isotopic values of grain_mr not set correctly when use_grainproduct is false) Known bugs introduced in this tag (include issue #): - ESCOMP/CTSM#1667 (Add cft and pool-specific harvested fraction parameters to the param file) Known bugs found since the previous tag (include issue #): - ESCOMP/CTSM#1651 (Discrepancy in handling of crop seed deficit in summary variables for C vs. N) Notes of particular relevance for users --------------------------------------- Changes to CTSM's user interface (e.g., new/renamed XML or namelist variables): - Removes experimental / untested options that are referenced in NutrientCompetitionFlexibleCNMod - downreg_opt: assume false - CN_partition_opt: assume 1 - CN_residual_opt: assume 1 - nscalar_opt: assume true - substrate_term_opt: assume true - temp_scalar_opt: assume true - plant_ndemand_opt: assume 3 Notes of particular relevance for developers: --------------------------------------------- Changes to tests or testing: - Adds new test types (LGRAIN2 and LREPRSTRUCT) to test the new code until AgSys is integrated and tested. - Changes some expensive tests to be less expensive, by using coarser resolution, smaller processor counts, or moving them from aux_clm to ctsm_sci Testing summary: ---------------- build-namelist tests (if CLMBuildNamelist.pm has changed): cheyenne - PASS Ran without comparisons, because I expected all comparisons to fail. regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing): cheyenne ---- PASS izumi ------- PASS any other testing (give details below): Ran the original versions of modified tests with baseline comparisons; these all pass (ran from my branch up to date with ctsm5.1.dev082; I didn't rerun with the latest version) PASS ERI_C2_Ld9.f19_g17.I2000Clm51BgcCrop.cheyenne_intel.clm-default BASELINE ctsm5.1.dev082: PASS ERP_D_Ld3.f09_g17.I2000Clm50Sp.cheyenne_intel.clm-prescribed BASELINE ctsm5.1.dev082: PASS ERP_D_Ld3_Vmct.f09_g17.I2000Clm50Sp.cheyenne_intel.clm-prescribed BASELINE ctsm5.1.dev082: PASS SMS_C2_D_Lh12.f09_g17.I2000Clm50Sp.cheyenne_intel.clm-pauseResume BASELINE ctsm5.1.dev082: PASS SSP_D_Ld10.f19_g17.I1850Clm51Bgc.cheyenne_intel.clm-rtmColdSSP BASELINE ctsm5.1.dev082: PASS SSP_D_Ld4.f09_g17.I1850Clm50BgcCrop.cheyenne_intel.clm-ciso_rtmColdSSP BASELINE ctsm5.1.dev082: PASS SSP_Ld10.f19_g17.I1850Clm50Bgc.cheyenne_intel.clm-rtmColdSSP BASELINE ctsm5.1.dev082: If the tag used for baseline comparisons was NOT the previous tag, note that here: Answer changes -------------- Changes answers relative to baseline: YES, but this doesn't appear in any standard tests Summarize any changes to answers, i.e., - what code configurations: clm45 cases (or any cases with use_grainproduct false) with crop and C isotopes - what platforms/compilers: all - nature of change (roundoff; larger than roundoff/same climate; new climate): just changes a few diagnostic fields Just changes answers for C13_AR, C13_NBP, C14_AR, C14_NBP in clm45 cases (or any cases with use_grainproduct false) with crop and C isotopes, due to fixing ESCOMP/CTSM#1666. (We don't have any such tests in the test suite.) Other details ------------- Pull Requests that document the changes (include PR ids): https://github.com/ESCOMP/CTSM/pull/1670 =============================================================== =============================================================== Tag name: ctsm5.1.dev084 Originator(s): glemieux (Gregory Lemieux,LBL/NGEET,510-486-5049) Date: Thu 15 Mar 2022 10:05:00 MDT One-line Summary: FATES parameter file updated to align with clm pft optical parameters Purpose and description of changes ---------------------------------- This tag incorporates updates to the FATES parameter file which now align the FATES PFT optical parameters with the CLM PFT optical parameters. These parameters are sourced from the recommended parameters in Majasalmi & Bright 2019. 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_1 [ ] clm5_0 [ ] ctsm5_0-nwp [ ] clm4_5 Notes of particular relevance for users --------------------------------------- Caveats for users (e.g., need to interpolate initial conditions): Given that the FATES PFT optical parameters have been updated, FATES users updating to this tag will differences results in FATES cases. Testing summary: ---------------- [PASS means all tests PASS; OK means tests PASS other than expected fails.] regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing): cheyenne ---- OK izumi ------- OK fates tests: (give name of baseline if different from CTSM tagname, normally fates baselines are fates--) cheyenne ---- OK izumi ------- OK any other testing (give details below): ILAMB benchmarking was conduct to help evaluate the differences resulting from the parameter file updates. See FATES #831 for details. Answer changes -------------- Changes answers relative to baseline: YES [ If a tag changes answers relative to baseline comparison the following should be filled in (otherwise remove this section). And always remove these three lines and parts that don't apply. ] Summarize any changes to answers, i.e., - what code configurations: FATES - what platforms/compilers: All - nature of change (roundoff; larger than roundoff/same climate; new climate): larger than roundoff If this tag changes climate describe the run(s) done to evaluate the new climate (put details of the simulations in the experiment database) See FATES #831 for discussion Other details ------------- List any externals directories updated (cime, rtm, mosart, cism, fates, etc.): fates: sci.1.54.0_api.22.0.0 -> fates-sci.1.55.4_api.22.1.0 Pull Requests that document the changes (include PR ids): https://github.com/ESCOMP/CTSM/pull/1681 https://github.com/NGEET/fates/pull/831 =============================================================== =============================================================== Tag name: ctsm5.1.dev083 Originator(s): fang-bowen (Bowen Fang) / oleson (Keith Oleson,UCAR/TSS,303-497-1332) / Face2sea (Lei Zhao) / keerzhang1 (Keer Zhang) / sacks (Bill Sacks) Date: Tue Mar 8 14:12:00 MST 2022 One-line Summary: Implement PCT_URBAN_MAX to minimize dynamic urban memory Purpose and description of changes ---------------------------------- Read in 'PCT_URBAN_MAX' from the landuse timeseries file (maximum urban percentage throughout timeseries) and initialize urban landunits in memory only where PCT_URBAN_MAX is greater than zero. 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_1 [ ] clm5_0 [ ] ctsm5_0-nwp [ ] clm4_5 Bugs fixed or introduced ------------------------ Issues fixed (include CTSM Issue #): - Resolves ESCOMP/CTSM#1572 (Improve mechanism for determining where to allocate memory for urban when running with dynamic urban) Notes of particular relevance for developers: --------------------------------------------- NOTE: Be sure to review the steps in README.CHECKLIST.master_tags as well as the coding style in the Developers Guide Changes to tests or testing: ERS_Lm25.1x1_smallvilleIA.IHistClm50BgcCropQianRs.cheyenne_gnu.clm-smallville_dynurban_monthly has been updated to accomodate PCT_URBAN_MAX Testing summary: ---------------- regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing): cheyenne ---- PASS izumi ------- PASS Answer changes -------------- Changes answers relative to baseline: NO Other details ------------- Pull Requests that document the changes (include PR ids): https://github.com/ESCOMP/ctsm/pull/1661 =============================================================== =============================================================== Tag name: ctsm5.1.dev082 Originator(s): slevis (Samuel Levis,SLevis Consulting,303-665-1310) Date: Mon Feb 28 10:12:16 MST 2022 One-line Summary: Replace dom_nat_pft with dom_plant to enable crop in fsurdat_modifier tool Purpose and description of changes ---------------------------------- Allow user to replace vegetation in fsurdat files with any pft/cft using the fsurdat_modifier tool option dom_plant. This option replaces now obsolete option dom_nat_pft which handled pfts only and not cfts. 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_1 [ ] clm5_0 [ ] ctsm5_0-nwp [ ] clm4_5 Notes of particular relevance for users --------------------------------------- Changes to CTSM's user interface (e.g., new/renamed XML or namelist variables): Instead of dom_nat_pft = UNSET, modify_template.cfg now includes the line dom_plant = UNSET to allow users to set the pft/cft of their choice to replace the existing vegetation. Changes to the datasets (e.g., parameter, surface or initial files): New system test that checks the new code compares a generated file to a baseline file. I added the baseline file to this PR: .../python/ctsm/test/testinputs/surfdata_5x5_amazon_16pfts_Irrig_CMIP6_simyr2000_c171214_modified_with_crop.nc Notes of particular relevance for developers: --------------------------------------------- Changes to tests or testing: Added a system test to test_sys_fsurdat_modifier.py to run with the new option dom_plant set to 15 (i.e. a crop). Testing summary: ---------------- [PASS means all tests PASS; OK means tests PASS other than expected fails.] python testing (if python code has changed; see instructions in python/README.md; document testing done): (any machine) - cheyenne PASS clm_pymods test suite on cheyenne - PASS any other testing (give details below): Answer changes -------------- Changes answers relative to baseline: NO Other details ------------- Pull Requests that document the changes (include PR ids): https://github.com/ESCOMP/ctsm/pull/1615 =============================================================== =============================================================== Tag name: ctsm5.1.dev081 Originator(s): swensosc (Sean Swenson) Date: Thu Feb 24 21:33:35 MST 2022 One-line Summary: Do not subtract irrigation from QRUNOFF diagnostic Purpose and description of changes ---------------------------------- Remove code that subtracts surface irrigation flux from qflx_runoff_col. This is a diagnostic change only. This subtraction no longer makes sense now that irrigation is passed as a separate flux to the ROF model. 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_1 [ ] clm5_0 [ ] ctsm5_0-nwp [ ] clm4_5 Testing summary: ---------------- regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing): cheyenne ---- OK izumi ------- OK Answer changes -------------- Changes answers relative to baseline: YES, but just in a few diagnostic fields Summarize any changes to answers, i.e., - what code configurations: Crop cases with irrigation - what platforms/compilers: All - nature of change (roundoff; larger than roundoff/same climate; new climate): Larger than roundoff, but only impacts a few diagnostic fields: QRUNOFF, QRUNOFF_R, QRUNOFF_TO_COUPLER Other details ------------- Pull Requests that document the changes (include PR ids): https://github.com/ESCOMP/CTSM/pull/1641 =============================================================== =============================================================== Tag name: ctsm5.1.dev080 Originator(s): sacks (Bill Sacks) Date: Thu Feb 24 15:26:02 MST 2022 One-line Summary: Use avg days per year when converting param units Purpose and description of changes ---------------------------------- When converting parameter units from per-year to per-second, use average days per year instead of current number of days per year. This is relevant when running with a Gregorian calendar. See https://github.com/ESCOMP/CTSM/issues/1612 for details. 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_1 [ ] clm5_0 [ ] ctsm5_0-nwp [ ] clm4_5 Bugs fixed or introduced ------------------------ Issues fixed (include CTSM Issue #): - Resolves ESCOMP/CTSM#1612 (Some uses of get_days_per_year should use the average number of days in a year, not the number of days in the current year) Known bugs introduced in this tag (include issue #): - ESCOMP/CTSM#1624 (Change get_average_days_per_year to use ESMF_CalendarGet) Notes of particular relevance for developers: --------------------------------------------- Caveats for developers (e.g., code that is duplicated that requires double maintenance): - Once ESMF supports it, we should change get_average_days_per_year to use ESMF_CalendarGet (see ESCOMP/CTSM#1624) Testing summary: ---------------- cheyenne ---- OK izumi ------- OK Test ERS_Ly3_P72x2_Vmct.f10_f10_mg37.IHistClm50BgcCropG.cheyenne_intel.clm-cropMonthOutput initially failed COMPARE_base_rest and BASELINE comparisons; rerunning solved the issue. Answer changes -------------- Changes answers relative to baseline: YES Summarize any changes to answers, i.e., - what code configurations: Gregorian cases with BGC - what platforms/compilers: all - nature of change (roundoff; larger than roundoff/same climate; new climate): larger than roundoff / same climate Changes a few BGC-related parameters by a small amount (< 1/365 in a relative sense) for Gregorian cases Changes answers for these tests: - SMS_Ly5_Mmpi-serial.1x1_smallvilleIA.IHistClm50BgcCropQianRs.izumi_gnu.clm-gregorian_cropMonthOutput - DAE_C2_D_Lh12.f10_f10_mg37.I2000Clm50BgcCrop.cheyenne_intel.clm-DA_multidrv - DAE_N2_D_Lh12_Vmct.f10_f10_mg37.I2000Clm50BgcCrop.cheyenne_intel.clm-DA_multidrv In principle, might change answers by roundoff for NOLEAP BGC tests on some machines / compilers, but that wasn't seen in any aux_clm testing. Other details ------------- Pull Requests that document the changes (include PR ids): https://github.com/ESCOMP/CTSM/pull/1625 =============================================================== =============================================================== Tag name: ctsm5.1.dev079 Originator(s): sacks (Bill Sacks) Date: Thu Feb 24 14:40:58 MST 2022 One-line Summary: Changes to CropPhenology timing Purpose and description of changes ---------------------------------- Changes to CropPhenology timing to support https://github.com/escomp/ctsm/pull/1616 and other work being done by Sam Rabin: (1) Change CropPhenology to look at the time as of the START of the time step. Previously, CropPhenology looked at time as of the END of the time step. This was somewhat problematic, particularly because it meant that the last time step of the year was considered Jan 1, and so crops with a planting window beginning Jan 1 could be planted at the end of the previous year rather than the start of the new year. This was becoming particularly problematic in the context of Sam Rabin's upcoming prescribed sowing date work (see #1623 and #1616 for some discussion). (2) Call CropPhenology regardless of doalb (however, still do not call CropPhenology on time step 0). (See some discussion in #1626 and #1623.) 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_1 [ ] clm5_0 [ ] ctsm5_0-nwp [ ] clm4_5 Bugs fixed or introduced ------------------------ [Remove any lines that don't apply. Remove entire section if nothing applies.] Issues fixed (include CTSM Issue #): - Resolves ESCOMP/CTSM#1623 (Change CropPhenology to look at the day of year as of the start of the time step, not the end of the time step) Testing summary: ---------------- regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing): cheyenne ---- OK izumi ------- OK Also ran ERS_Ld3_D.f09_g17.I1850Clm50BgcCrop.cheyenne_intel.clm-rad_hrly_light_res_half (a debug version of the one test in the test suite that uses hourly doalb) Answer changes -------------- Changes answers relative to baseline: YES Summarize any changes to answers, i.e., - what code configurations: Crop cases - what platforms/compilers: All - nature of change (roundoff; larger than roundoff/same climate; new climate): Not investigated carefully, but expected to be larger than roundoff/same climate Based on an analysis of the code, the differences should be small, but I haven't investigated this with simulations. In principle, there could be larger answer changes for crops that invoke vernalization in cases where doalb isn't true every time step, but currently I think we don't simulate any crops that invoke vernalization. It's also possible that there are other larger changes in cases where doalb isn't true every time step (i.e., F and B compsets), though from reading through the code, I don't see any potentials for big changes. Other details ------------- Pull Requests that document the changes (include PR ids): https://github.com/ESCOMP/CTSM/pull/1628 =============================================================== =============================================================== Tag name: ctsm5.1.dev078 Originator(s): sacks (Bill Sacks) Date: Thu Feb 24 14:15:46 MST 2022 One-line Summary: Rework single-point testing Purpose and description of changes ---------------------------------- Two changes to make the single-point tests in our test suite run more smoothly. The main motivation for this is that single-point tests have been failing frequently on cheyenne, presumably due to issues with nodes in the share queue. (1) Rework the test list to remove redundant single-point tests and move many of our single-point tests from cheyenne to izumi. (With (2) in place, this isn't really necessary, but given that we're going to be using full nodes for single-point tests, it seems better to do this on izumi rather than wasting all of these processors on the generally more heavily-loaded cheyenne. Also, this helps accomplish the goal of providing better balance between our different machine-compiler permutations, helping to reduce overall testing time.) (2) Change run_sys_tests so that, for the remaining single-point tests on cheyenne, we use the regular queue rather than the share queue. This means that single-point tests use a full node, which is wasteful but makes the tests more reliable. (You can override this behavior with the --queue option to run_sys_tests: To revert to the earlier behavior, where the queue is determined automatically for each test, add '--queue unspecified' to your run_sys_tests invocation. (As before --queue can also be used to specify some other queue to use for all tests.)) 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_1 [ ] clm5_0 [ ] ctsm5_0-nwp [ ] clm4_5 Bugs fixed or introduced ------------------------ Issues fixed (include CTSM Issue #): - Partially addresses ESCOMP/CTSM#275 Notes of particular relevance for developers: --------------------------------------------- Changes to tests or testing: - Overhauls single-point tests. See https://github.com/ESCOMP/CTSM/pull/1660#issuecomment-1049489430 for details. Testing summary: ---------------- python testing (if python code has changed; see instructions in python/README.md; document testing done): cheyenne - PASS regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing): cheyenne ---- PASS izumi ------- PASS Answer changes -------------- Changes answers relative to baseline: NO Other details ------------- Pull Requests that document the changes (include PR ids): https://github.com/ESCOMP/CTSM/pull/1660 =============================================================== =============================================================== Tag name: ctsm5.1.dev077 Originator(s): rgknox (Ryan Knox,,,) Date: Tue Feb 22 12:51:04 EST 2022 One-line Summary: Updates to FATES API, including removal of patch dimensions from fates history and using soil instead of ground layers for fates history. Purpose and description of changes ---------------------------------- This set of changes cleaned up some aspects of the FATES history diagnostics API. Patches are not used in output diagnostics, so they were removed from the history coupling. Also, FATES only "sees" the soil, not the rock layers, so it is more appropriate to only align FATES below ground history output on the soil layers, and not ground layers. Also, the corresponding FATES side changes have some history output names changed. This is an API change as well, and is compatable with FATES: https://github.com/NGEET/fates/releases/tag/sci.1.54.0_api.22.0.0 Significant changes to scientifically-supported configurations -------------------------------------------------------------- Does this tag change answers significantly for any of the following physics configurations? [ ] clm5_1 [ ] clm5_0 [ ] ctsm5_0-nwp [ ] clm4_5 [X] clm5_1-FATES-hydro Notes of particular relevance for users --------------------------------------- FATES users should now benefit from more interpretable history output from soil dimensioned variables, where they won't have to filter out ground layers which previously contained no-data flags. Also, note the following FATES history variable name changes: FATES_ROOTH2O_ABS_SZPF -> FATES_ABSROOT_H2O_SZPF FATES_ROOTH2O_TRANS_SZPF -> FATES_TRANSROOT_H2O_SZPF FATES_STEMH2O_SZPF -> FATES_STEM_H2O_SZPF FATES_LEAFH2O_SZPF -> FATES_LEAF_H2O_SZPF FATES_ROOTH2O_POT_SZPF -> FATES_ABSROOT_H2OPOT_SZPF FATES_ROOTH2O_TRANSPOT_SZPF -> FATES_TRANSROOT_H2OPOT_SZPF FATES_STEMH2O_POT_SZPF -> FATES_STEM_H2OPOT_SZPF FATES_LEAFH2O_POT_SZPF -> FATES_LEAF_H2OPOT_SZPF FATES_ROOT_ABSFRAC_SZPF -> FATES_ABSROOT_CONDFRAC_SZPF FATES_ROOT_TRANSFRAC_SZPF -> FATES_TRANSROOT_CONDFRAC_SZPF FATES_STEMH2O_FRAC_SZPF -> FATES_STEM_CONDFRAC_SZPF FATES_LEAFH2O_FRAC_SZPF -> FATES_LEAF_CONDFRAC_SZPF Caveats for users (e.g., need to interpolate initial conditions): FATES users may have scripts that assume below ground diagnostics are on the ground dimension, and will have to update scripts to use the soil dimension. Changes made to namelist defaults (e.g., changed parameter values): No changes to defaults, but some FATES plant hydraulics history variable names were changed in the corresponding FATES tag. Changes to tests or testing: An update was made to the fates-hydro tests to use updated history variable names. Testing summary: ---------------- d) regular (regular tests on normal machines if CTSM source is modified) cheyenne ---- /glade/scratch/rgknox/tests_0220-124230ch (OK) expected FATES baseline DIFFS izumi ------- /scratch/cluster/rgknox/tests_0220-125238iz (OK) fates tests: fates test suite was run, (OK) Answer changes -------------- Changes answers relative to baseline: All results are B4B with base (dev076), except for two conditions: 1) FATES output that uses the soil dimension has NLCOMP and DIFFS due to the dimension change, and 2) FATES hydro simulations have different results due to bug fixes Other details ------------- List any externals directories updated (cime, rtm, mosart, cism, fates, etc.): fates Pull Requests that document the changes (include PR ids): https://github.com/ESCOMP/CTSM/pull/1592 https://github.com/NGEET/fates/pull/766 =============================================================== =============================================================== Tag name: ctsm5.1.dev076 Originator(s): negins (Negin Sobhani,UCAR/TSS,303-497-1224) Date: Fri Feb 18 13:25:19 MST 2022 One-line Summary: updating subset_data.py script and move to the Python package. Purpose and description of changes ---------------------------------- The purpose of this PR was to update and move the subset_data.py and other relevant python scripts to the CTSM python package so the other python codes (such as fsurdat_modifier) can re-use/import the capabilities of this script. This updated code now adds the capability to create user-mods for a generic singlepoint case. The subset_data.py (top script called subset_data)extracts surface dataset, domain file, landuse, and DATM files at a single point or a region from the available global dataset. Next it modifies the surface dataset based on the user options (command-line arguments) for example dom-pft or zero-ing non-veg types, etc. 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_1 [ ] clm5_0 [ ] ctsm5_0-nwp [ ] clm4_5 Bugs fixed or introduced ------------------------ [Remove any lines that don't apply. Remove entire section if nothing applies.] Issues fixed (include CTSM Issue #): Fixes CTSM/#935 -- Make surface dataset and landuse consistent for singlept Fixes CTSM/#1436 -- Running subset_data from any directory Fixes CTSM/#1437 -- issue with modify_singlept_site_neon for finding latest file Fixes CTSM/#1594 -- try/except for python download neon data Fixes CTSM/#1606 -- NEON tools not handling crop weights correctly. Part of development needed for #1490 -- generic single point simulation. Partially Fixes CTSM/#1622 -- check if file exists and abort if not found + --overwrite Fixes it for subset_data Partially Fixes CTSM/#1441 -- Move critical toolchain script out of tools/contrib Fixes it for subset_data CIME Issues fixed (include issue #): N/A Known bugs introduced in this tag (include issue #): N/A Known bugs found since the previous tag (include issue #): N/A Notes of particular relevance for developers: --------------------------------------------- Changes to tests or testing: Added python/ctsm/test/test_unit_args_utils.py (11 unit tests) Added python/ctsm/test/test_unit_singlept_data.py (10 unit tests) Added python/ctsm/test/test_unit_singlept_data_surfdata.py (24 unit tests) Modified tests in python/ctsm/test/test_unit_utils.py Modified tests in python/ctsm/test/test_unit_modify_fsurdat.py Added 10 new tests in tests/tools/input_tests_master thanks to @ekluzek Added test/tools/tests_pretag_nompi_neon Testing summary: ---------------- python testing (if python code has changed; see instructions in python/README.md; document testing done): clm_pymods test suite on cheyenne - PASS pylint -- PASS (10.00/10) (cheyenne + python/3.7.9) Python unit tests -- PASS (cheyenne) Python system tests -- PASS (cheyenne) tools-tests (test/tools) (if tools have been changed): cheyenne - OK (tests_pretag_nompi_neon + subset_data tests) Answer changes -------------- Changes answers relative to baseline: NO Other details ------------- Pull Requests that document the changes (include PR ids): https://github.com/ESCOMP/CTSM/pull/1461 =============================================================== =============================================================== Tag name: ctsm5.1.dev075 Originator(s): erik (Erik Kluzek,UCAR/TSS,303-497-1326) Date: Wed Feb 16 21:35:40 MST 2022 One-line Summary: Small answer changes: urban ventilation, fire-emission, irrigate off when not crop, fix two SSP ndep files Purpose and description of changes ---------------------------------- The effects of ventilation (exchange of building air with canopy air) are accounted for in the energy budget inside the building. The effects on urban canopy air are not. This remedies that. This fixes an issue with how coefficients are applied to individual fire components. Allow units to be in molecules/m2/sec as well as kg/m2/sec. SSP3-7.0 Nitrogen-deposition file update. Fix SSP2-4.5 Nitrogen-deposition file. Turn irrigation off by default except for future scenarios. Add new external ccs_config_cesm which has the CESM cime configuration files. 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.] [x] clm5_1 [x] clm5_0 [x] ctsm5_0-nwp [ ] clm4_5 Bugs fixed or introduced ------------------------ Issues fixed (include CTSM Issue #): Fixes #1526 -- Switch FATES methane test for methane off Fixes #509 --- irrigate in 1850 is off for runs with use_crop but on for those without Fixes #1578 -- Need to replace SSP370 ndep file with new one Fixes #1631 -- ndep file for SSP2-4.5 is incorrect Known bugs introduced in this tag (include issue #): #1653 -- Use secsphr in UrbBuildTempOleson2015Mod.F90 Notes of particular relevance for users --------------------------------------- Caveats for users (e.g., need to interpolate initial conditions): using older restart files will start ventilation flux at zero. default fsurdat selection can also match irrigate true surface datasets Changes made to namelist defaults (e.g., changed parameter values): irrigate is now default off, except for future scenarios Changes to the datasets (e.g., parameter, surface or initial files): New Nitrogen-deposition file for SSP3-7.0 Correct Nitrogen-deposition file for SSP2-4.5 Notes of particular relevance for developers: --------------------------------------------- Changes to tests or testing: FATES methane on test switched to methane off, since methane on is the default Testing summary: regular ---------------- [PASS means all tests PASS; OK means tests PASS other than expected fails.] build-namelist tests (if CLMBuildNamelist.pm has changed): cheyenne - PASS (345 tests are different than baseline) python testing (if python code has changed; see instructions in python/README.md; document testing done): cheyenne - PASS regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing): cheyenne ---- PASS izumi ------- OK If the tag used for baseline comparisons was NOT the previous tag, note that here: previous Answer changes -------------- Changes answers relative to baseline: Yes Summarize any changes to answers, i.e., - what code configurations: clm5_0/clm5_1 urban ventilation flux, irrigate off now, SSP3-7.0/SSP2-4.5 new ndep file, fire-emissions different - what platforms/compilers: All - nature of change: Similar climate If this tag changes climate describe the run(s) done to evaluate the new climate (put details of the simulations in the experiment database) - casename: oleson/ctsm51_ctsm51d61_1deg_GSWP3V1_CON_VENT_2000 URL for LMWG diagnostics output used to validate new climate: https://webext.cgd.ucar.edu/I2000/ctsm51_ctsm51d61_1deg_GSWP3V1_CON_VENT_2000/lnd/ctsm51_ctsm51d61_1deg_GSWP3V1_CON_VENT_2000.1991_2010-ctsm51_ctsm51d61_1deg_GSWP3V1_CON_2000.1991_2010/set2/set2.html Other details ------------- List any externals directories updated (cime, rtm, mosart, cism, fates, etc.): cism to cismwrap_2_1_95 cime to cime6.0.13 cmeps to cmeps0.13.47 cdeps to cdeps0.12.35 cpl7 to cpl7.0.12 pio to pio2_5_5 Pull Requests that document the changes (include PR ids): (https://github.com/ESCOMP/ctsm/pull) #1535 -- Ventilation flux to urban canyon #1532 -- Fire emissions bug fix =============================================================== =============================================================== Tag name: ctsm5.1.dev074 Originator(s): slevis (Samuel Levis,SLevis Consulting,303-665-1310) Date: Wed Feb 2 00:44:27 MST 2022 One-line Summary: Introduce vert. resolved MIMICS as new method to solve below ground decomp. Purpose and description of changes ---------------------------------- Introducing new option to solve below ground decomposition: MIMICSWieder2015. The old option (CENTURYKoven2013) remains available. User will select one or the other via the namelist variable soil_decomp_method. Elin's MIMICS+ github issue relates: #1260. MIMICS spinup issues relate and are listed in caveats for users. 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_1 [ ] clm5_0 [ ] ctsm5_0-nwp [ ] clm4_5 Bugs fixed or introduced ------------------------ Issues fixed (include CTSM Issue #): #1473 : decomp_depth_efolding appears (with the same value) in the namelist and the params files; the model ends up using the one from the namelist Notes of particular relevance for users --------------------------------------- Caveats for users (e.g., need to interpolate initial conditions): MIMICS spinup method is in development Issues related to spinup #1451 -- MIMICS spinup #1455 -- Additional history output for Newton-Krylov spinup #1457 -- Adding history variables for Newton-Krylov spinup Changes to CTSM's user interface (e.g., new/renamed XML or namelist variables): New option MIMICSWieder2015 for use with namelist variable soil_decomp_method decomp_depth_efolding removed as values on param files was already being used Changes to the datasets (e.g., parameter, surface or initial files): CLM parameter files now include new MIMICS-related parameters prefixed with mimics_. Existing CENTURYKoven-specific parameters were renamed to include the prefix bgc_. Parameters used by both CENTURYKoven2013 and MIMICSWieder2015 have neither prefix. Substantial timing or memory changes: Timing comparison between CENTURYKoven (BGC for short) and MIMICSWieder: In a 1x1_brazil test writing annual output and restarts every 10 yrs, BGC took ~2.8 hrs/100 yrs, MIMICS took ~3.6 hrs/100 yrs. More timing comparisons shown here: https://github.com/ESCOMP/CTSM/pull/1318#issuecomment-1008211485 Notes of particular relevance for developers: --------------------------------------------- Changes to tests or testing: New test-suite tests: ERP_D_P36x2_Ld3.f10_f10_mg37.I1850Clm51BgcCrop.cheyenne_gnu.clm-mimics SMS_Ld5_Mmpi-serial.1x1_brazil.IHistClm50BgcQianRs.izumi_gnu.clm-mimics SMS_Ly5_Mmpi-serial.1x1_brazil.IHistClm50BgcQianRs.cheyenne_intel.clm-newton_krylov_spinup Testing summary: ---------------- [PASS means all tests PASS; OK means tests PASS other than expected fails.] build-namelist tests (if CLMBuildNamelist.pm has changed): cheyenne - PASS (831 tests are different from baseline because of new param files) python testing (if python code has changed; see instructions in python/README.md; document testing done): cheyenne ---- OK (black test fails) regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing): cheyenne ---- PASS izumi ------- OK (see one answer change below) Answer changes -------------- Changes answers relative to baseline: NO (almost) One test in the izumi test-suite fails SMS_Vmct.f10_f10_mg37.I2000Clm50BgcCrop.izumi_pgi.clm-crop and this is due to diffs from baseline (dev073). cprnc.out shows diffs only in one variable: RMS TOTECOSYSC 1.9853E-12 NORMALIZED 6.5087E-17 Other details ------------- Pull Requests that document the changes (include PR ids): https://github.com/ESCOMP/ctsm/pull/1318 -- MIMICS into vertically resolved CTSM =============================================================== =============================================================== Tag name: ctsm5.1.dev073 Originator(s): sacks (Bill Sacks) Date: Tue Jan 25 16:33:06 MST 2022 One-line Summary: Some fixes for Gregorian calendar Purpose and description of changes ---------------------------------- A few bug fixes for running with a Gregorian calendar. These primarily fix the AnnualFluxDribbler, preventing balance errors in transient runs (or in runs starting from restart files that came from transient runs). But these general fixes end up fixing a few other minor issues with Gregorian calendar runs as well. 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_1 [ ] clm5_0 [ ] ctsm5_0-nwp [ ] clm4_5 Bugs fixed or introduced ------------------------ Issues fixed (include CTSM Issue #): - Resolves ESCOMP/CTSM#1590 (Gridcell water balance errors for some PLUMBER2 sites with branch_tags/PPE.n11_ctsm5.1.dev030) Known bugs found since the previous tag (include issue #): Other bugs with Gregorian calendar runs found in the course of making these fixes are: - https://github.com/ESCOMP/CTSM/issues/1595 (Bugs in crop phenology when running with a Gregorian calendar) - https://github.com/ESCOMP/CTSM/issues/1612 (Some uses of get_days_per_year should use the average number of days in a year, not the number of days in the current year) Notes of particular relevance for developers: --------------------------------------------- Changes to tests or testing: - Added a multi-year test with Gregorian calendar (SMS_Ly5_Mmpi-serial.1x1_smallvilleIA.IHistClm50BgcCropQianRs.cheyenne_gnu.clm-gregorian_cropMonthOutput); as expected, this test fails on master but passes on this branch Testing summary: ---------------- regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing): cheyenne ---- ok izumi ------- ok Answer changes -------------- Changes answers relative to baseline: YES, but very limited Summarize any changes to answers, i.e., - what code configurations: Some runs with a Gregorian calendar - what platforms/compilers: all - nature of change (roundoff; larger than roundoff/same climate; new climate): Larger than roundoff, same climate -- only very small changes The only test with answer changes is SMS_C2_D_Lh12.f09_g17.I2000Clm50Sp.cheyenne_intel.clm-pauseResume; that test just has answer changes in the time-0 history file because of the fix to the AnnualFluxDribbler's flux in the last time step of the year (which is the time step used for time 0). There were answer changes in only 6 fields, which are the fields impacted by changes in the land use change correction fluxes dribbled to the atmosphere and river: - EFLX_DYNBAL - FSH_TO_COUPLER - QFLX_ICE_DYNBAL - QFLX_LIQ_DYNBAL - QRUNOFF_ICE_TO_COUPLER - QRUNOFF_TO_COUPLER I can get bit-for-bit with master if I make the following minimal diff to master: diff --git a/src/utils/AnnualFluxDribbler.F90 b/src/utils/AnnualFluxDribbler.F90 index c66e4fdc8..1ef2fb77f 100644 --- a/src/utils/AnnualFluxDribbler.F90 +++ b/src/utils/AnnualFluxDribbler.F90 @@ -306,6 +306,7 @@ contains integer :: i real(r8) :: secs_per_year real(r8) :: dtime + integer :: dtime_int real(r8) :: flux_from_dribbling real(r8) :: flux_from_this_timestep @@ -316,8 +317,9 @@ contains end_index = get_end(bounds, this%bounds_subgrid_level) SHR_ASSERT_ALL_FL((ubound(flux) == (/end_index/)), sourcefile, __LINE__) - secs_per_year = get_days_per_year() * secspday dtime = get_step_size_real() + dtime_int = int(dtime) + secs_per_year = get_days_per_year(offset=-dtime_int) * secspday do i = beg_index, end_index flux_from_dribbling = this%amount_to_dribble(i) / secs_per_year Other answer changes that might be seen in runs with Gregorian calendar are: - Possible answer changes for crop runs (these changes impact some crop phenology code) - Possible answer changes for C iso runs (due to use of get_curr_yearfrac in C14BombSpike and C13TimeSeries), though that may not be impacted - Possible answer changes for CNDV runs (due to use of get_curr_yearfrac) Other details ------------- Pull Requests that document the changes (include PR ids): - https://github.com/ESCOMP/CTSM/pull/1593 =============================================================== =============================================================== Tag name: ctsm5.1.dev072 Originator(s): negins (Negin Sobhani,UCAR/TSS,303-497-1224) Date: Mon Jan 17 10:50:25 MST 2022 One-line Summary: mksurfdat toolchain part 1: gen_mksurf_namelist Purpose and description of changes ---------------------------------- This tag introduces ./gen_mksurf_namelist python script, which generates a user-modifiable control file (namelist) for use with #1430 (mkmap_data.py) within the context of #644 (wrapper tool for generating fsurdat files). The new namelist (control file) format does not have mapping files listed since the mapping file information are stored as part of the metadata for input data. 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_1 [ ] clm5_0 [ ] ctsm5_0-nwp [ ] clm4_5 Bugs fixed or introduced ------------------------ Notes of particular relevance for users --------------------------------------- Caveats for users (e.g., need to interpolate initial conditions): This tag introduces the ./gen_mksurf_namelist script for generating a user-modifiable control file (namelist) for use with the in-development pythonized mkmapdata (#1430). Notes of particular relevance for developers: --------------------------------------------- Caveats for developers (e.g., code that is duplicated that requires double maintenance): Currently resolution options and corresponding destination mesh files are hardwired in this code. This information should be obtained from existing .xml file(s). Testing summary: ---------------- [PASS means all tests PASS; OK means tests PASS other than expected fails.] python testing (if python code has changed; see instructions in python/README.md; document testing done): (any machine) cheyenne make all - PASS If the tag used for baseline comparisons was NOT the previous tag, note that here: Answer changes -------------- Changes answers relative to baseline: NO Other details ------------- Pull Requests that document the changes (include PR ids): https://github.com/ESCOMP/ctsm/pull/1419 =============================================================== =============================================================== Tag name: ctsm5.1.dev071 Originator(s): glemieux (Gregory Lemieux,LBL/NGEET,510-486-5049) Date: Sun Jan 16 20:26:47 MST 2022 One-line Summary: Small changes to enable new fates dimension and update fates tag Purpose and description of changes ---------------------------------- This tag uncomments the fates_levleaf dimension which was added in PR #1540 and rolled into PR #1542, but commented out to avoid junk DIFFs during integration of PR #1542. This variable is necessary to accomodate FATES PR #752, which allows for an exponential spacing to bin widths in the VAI (LAI+SAI) calculations. This latest fates tag also includes a fix to the fates satellite phenology mode exact restart issue. 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_1 [ ] clm5_0 [ ] ctsm5_0-nwp [ ] clm4_5 Bugs fixed or introduced ------------------------ Issues fixed (include CTSM Issue #): Fixes #1485 Forthcoming FATES satellite phenology ERS test fails Fixes #1561 Uncomment fates_levleaf fields Notes of particular relevance for developers: --------------------------------------------- NOTE: Be sure to review the steps in README.CHECKLIST.master_tags as well as the coding style in the Developers Guide Changes to tests or testing: The ERS FatesColdDefReducedComplexSatPhen testmod has been removed from expected test failure list as it now passes due to fates tag sci.1.52.1_api.20.0.0. Testing summary: ---------------- regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing): cheyenne ---- OK izumi -------OK fates tests: (baseline: sci.1.52.1_api.20.0.0-ctsm5.1.dev070) cheyenne ---- OK izumi ------- OK Answer changes -------------- Changes answers relative to baseline: Expected DIFFs for a subset of fates testmods Summarize any changes to answers, i.e., - CBALANCE_ERROR_FATES and FATES_ERRH2O_SCPF have round-off level errors that eventually propagate to downstream calculations for some some fates test mods - Differences are due to changing of the bin widths - Fates PR #752 author reviewed the differences with a separate comparison of the PR branch against fates master branch and determined that the science resulting is as expected. Other details ------------- List any externals directories updated (cime, rtm, mosart, cism, fates, etc.): fates: sci.1.52.0_api.20.0.0 -> fates-sci.1.53.0_api.21.0.0 Pull Requests that document the changes (include PR ids): (https://github.com/ESCOMP/ctsm/pull) FATES #752 -- Variable VAI bin widths #1562 -- Uncomment fates_hdim_levleaf dimension =============================================================== =============================================================== Tag name: ctsm5.1.dev070 Originator(s): sacks (Bill Sacks), mvertens (Mariana Vertenstein), slevis (Samuel Levis) Date: Mon Jan 10 16:52:50 MST 2022 One-line Summary: Update externals, remove need for LND_DOMAIN_FILE and LND_DOMAIN_PATH, etc. Purpose and description of changes ---------------------------------- (1) Update cime and cdeps externals (2) Remove the need for LND_DOMAIN_FILE and LND_DOMAIN_PATH XML variables in NUOPC / LILAC cases (3) Update doc builder to fix issue with git lfs pull command (4) Fix mksurfdata unit tests 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_1 [ ] clm5_0 [ ] ctsm5_0-nwp [ ] clm4_5 Bugs fixed or introduced ------------------------ Issues fixed (include CTSM Issue #): - Resolves ESCOMP/CTSM#1575 (Build problem for mksurfdata tools testers) Notes of particular relevance for developers: --------------------------------------------- Caveats for developers (e.g., code that is duplicated that requires double maintenance): - Running unit tests currently requires setting CIME_NO_CMAKE_MACRO=ON in your environment - LILACSMOKE test now has a hard-coded resolution and domain file Testing summary: ---------------- regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing): cheyenne ---- pass izumi ------- pass Note: SMS_Ld5.f10_f10_mg37.ISSP370Clm50BgcCrop.cheyenne_gnu.clm-ciso_dec2050Start failed with baseline diffs when first run, but passed upon rerun: system glitch? Answer changes -------------- Changes answers relative to baseline: NO Other details ------------- [Remove any lines that don't apply. Remove entire section if nothing applies.] List any externals directories updated (cime, rtm, mosart, cism, fates, etc.): Pull Requests that document the changes (include PR ids): - https://github.com/ESCOMP/CTSM/pull/1581 - https://github.com/ESCOMP/CTSM/pull/1591 =============================================================== =============================================================== Tag name: ctsm5.1.dev069 Originator(s): fang-bowen (Bowen Fang) / oleson (Keith Oleson,UCAR/TSS,303-497-1332) / Face2sea (Lei Zhao) / keerzhang1 (Keer Zhang) / sacks (Bill Sacks) Date: Wed Dec 15 13:01:19 MST 2021 One-line Summary: Implement dynamic (transient) urban capability Purpose and description of changes ---------------------------------- This implements the capability to run transient simulations with changes in urban density types. However, see Caveats for users section below. If transient urban is activated (do_transient_urban=.true.) and an appropriate landuse dataset is provided, the model will read in yearly PCT_URBAN for three density types from the landuse dataset and adjust other landunits accordingly. Water and energy are conserved for these transitions. Urban landunits do not account for carbon and nitrogen, however, see the dynamic urban design document (doc/design/dynamic_urban.rst) for a discussion of this. 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_1 [ ] clm5_0 [ ] ctsm5_0-nwp [ ] clm4_5 Bugs fixed or introduced ------------------------ Issues fixed (include CTSM Issue #): #1445 (partially, work on mksurfdata and reducing computational cost is in progress) Notes of particular relevance for users --------------------------------------- Caveats for users (e.g., need to interpolate initial conditions): Note that this capability is off by default because landuse datasets with transient urban on them are still being developed. Note also that if this capability is activated (e.g., for testing) then run_zero_weight_urban must be set to .true. Changes to CTSM's user interface (e.g., new/renamed XML or namelist variables): Added do_transient_urban namelist variable Changes to the datasets (e.g., parameter, surface or initial files): None. New datasets that include transient urban data will be provided in a future tag. Notes of particular relevance for developers: --------------------------------------------- NOTE: Be sure to review the steps in README.CHECKLIST.master_tags as well as the coding style in the Developers Guide Changes to tests or testing: Added ERS_Lm25.1x1_smallvilleIA.IHistClm50BgcCropQianRs.cheyenne_gnu.clm-smallville_dynurban_monthly to aux_clm Testing summary: ---------------- build-namelist tests (if CLMBuildNamelist.pm has changed): cheyenne - PASS regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing): cheyenne ---- PASS izumi ------- PASS Answer changes -------------- Changes answers relative to baseline: NO Other details ------------- Pull Requests that document the changes (include PR ids): https://github.com/ESCOMP/CTSM/pull/1546 =============================================================== =============================================================== Tag name: ctsm5.1.dev068 Originator(s): slevis (Samuel Levis,SLevis Consulting,303-665-1310), sacks (Bill Sacks) Date: Mon Dec 13 15:42:07 MST 2021 One-line Summary: Adding fsurdat_modifier tool Purpose and description of changes ---------------------------------- I copied the next four paragraphs from /tools/modify_fsurdat/fsurdat_modifier: fsurdat_modifier is a tool that modifies fsurdat files. It reads a surface dataset (fsurdat file) and outputs a modified copy of the same file. Current applications are limited to the simplest CTSM(SP) mode, so bgc, fire, urban, vic, lake, transient, and crop-related variables in the fsurdat file remain unchanged. It differs from modify_singlept_site_neon.py in that the latter specifically modifies soil properties of single-point surface datasets. Some functions could/should become shared for use by fsurdat_modifier. It also differs from the subset_data tool in that the latter subsets fsurdat files to regional or single-point domains. Though subset_data includes some "modify" functionality when subsetting to single-point, we intend for similar functionality to be more extensive and more object oriented in fsurdat_modifier. Again, some functions could/should become shared among these tools. 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_1 [ ] clm5_0 [ ] ctsm5_0-nwp [ ] clm4_5 Notes of particular relevance for developers: --------------------------------------------- NOTE: Be sure to review the steps in README.CHECKLIST.master_tags as well as the coding style in the Developers Guide Changes to tests or testing: Added python/ctsm/test/test_sys_fsurdat_modifier.py Added python/ctsm/test/test_unit_fsurdat_modifier.py Added new unit tests to python/ctsm/test/test_unit_utils.py Added FSURDATMODIFYCTSM test to cime_config/config_tests.xml Testing summary: ---------------- [PASS means all tests PASS; OK means tests PASS other than expected fails.] python testing (if python code has changed; see instructions in python/README.md; document testing done): cheyenne ---- PASS Bill's Mac -- PASS regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing): cheyenne ---- PASS izumi ------- OK Answer changes -------------- Changes answers relative to baseline: NO Other details ------------- Pull Requests that document the changes (include PR ids): https://github.com/ESCOMP/ctsm/pull/1448 =============================================================== =============================================================== Tag name: ctsm5.1.dev067 Originator(s): jedwards4b/negin513/erik (Erik Kluzek,UCAR/TSS,303-497-1326) Date: Mon Dec 13 00:50:01 MST 2021 One-line Summary: NEON UI update, externals updates, small miscellanouse fixes Purpose and description of changes ---------------------------------- Redo options list to remove positional arguments that were difficult to input correctly. Transient runs now use run_type startup and get finidat from s3 server unless --run-from-postad option is used (or finidat is not available). Use mpi instead of mpi-serial, this mod was recommended for container use. Add a new script neon_finidat_upload which allows authorized users to upload finidat files to the s3 server. This includes the following changes to the script for updating the surface dataset at neon sites using available neon data (i.e. modify_singlept_site_neon.py) to address ctsm/issues #1353, #1429, and neon/issue #44: Update Organic calculation to use the following equation based on discussions in https://github.com/ESCOMP/CTSM/pull/1375/files#r669590971 : ORGANIC = estimatedOC * bulkDensity / 0.58 Because estimatedOC is rounded to the nearest integer in neon data, it is sometimes bigger than carbonTot. Therefore, in cases where estimatedOC > carbonTot, we use carbonTot instead of estimatedOC in the above equation. Previously, we had missing data on neon files for some neon soil layers (see Modified NEON surface datasets have errors #1429 (comment)). Therefore, it caused some missing values in the updated dataset. Here, we interpolate to fill in the missing data using different interpolation techniques. Finally, we chose to use linear interpolation to fill in missing data. This includes the scripts for modification of the surface dataset for neon sites to address #1429. Specifically, the following has been addressed in this PR: Update the calculation of ORGANIC to use the new field (CaCO3) from NEON data. For this calculation if CaCO3 data is available, we first calculate inorganic carbon by: inorganic carbon = (caco3 /100.0869)*12.0107 Next, we calculate organic carbon by subtracting inorganic carbon from the total carbon: [organic carbon = carbon_tot - inorganic carbon] If the CaCO3 is not available then the code uses carbonTot and estimatedOC by NEON. Discussed here (Modified NEON surface datasets have errors #1429 (comment)) For the Ag sites (KONA and STER), it changes the PCT_NATVEG, PCT_CROP, and PCT_NAT_PFT to avoid the error that we previously had in spin-up: surfrd_veg_all ERROR: sum of wt_nat_patch not 1.00000000000000 at nl= 1 sum is: 0.000000000000000E+000 Discussed here (Modified NEON surface datasets have errors #1429 (comment)) There was a typo previously in the NEON data for ABBY sites caused by mix of sample measurements. Please note that this was updated by hand once data was downloaded from NEON site. With recent versions of CIME, the LILAC build with a user-defined machine was broken for a couple of reasons. This fixes it. Fix mksurfdata_map for 1x1_brazil. Get tools testing working again. Increase skip_steps by 1, which is needed for a change in CAM where balance checks need to occur after the radiation update now rather than before. glob changed for bsd_glob in perl MkDepends for mksurfdata_map. 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_1 [ ] clm5_0 [ ] ctsm5_0-nwp [ ] clm4_5 Bugs fixed or introduced ------------------------ Issues fixed (include CTSM Issue #): Fixes #1563 increase skip_steps for balance checks by one to permit new CAM physics re-ordering Fixes #1550 In perl code replace glob with bsd_glob Fixes #1574 Trouble with 1x1_brazil for mksurfdata_map because of negative longitude in SCRIP grid file Fixes #1429 Modified NEON surface datasets have errors Fixes #1353 Modify NEON surface data Fixes #1492 Need to update LILAC build process to use cmake macros instead of config_compilers.xml Known bugs found since the previous tag (include issue #): #1575 -- Build problem for mksurfdata tools testers Notes of particular relevance for users --------------------------------------- Changes made to namelist defaults (e.g., changed parameter values): New 1x1_brazil SCRIP grid file and maps Some NEON namelist settings changed. Last year is now 2020 Changes to the datasets (e.g., parameter, surface or initial files): New NEON surface datasets Notes of particular relevance for developers: --------------------------------------------- Caveats for developers (e.g., code that is duplicated that requires double maintenance): pyproject.toml file added to configure for black python formatter in python directory Changes to tests or testing: Got tools testing working again. Testing summary: regular tools ---------------- [PASS means all tests PASS; OK means tests PASS other than expected fails.] build-namelist tests (if CLMBuildNamelist.pm has changed): cheyenne - PASS (47 compare tests fail because of changes to NEON sites) tools-tests (test/tools) (if tools have been changed): cheyenne - OK (1x1_brazil mksurfdata changes, run_neon and modify_subset fail as expected) python testing (if python code has changed; see instructions in python/README.md; document testing done): cheyenne - OK (new black checks do NOT pass as expected) regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing): cheyenne ---- PASS izumi ------- OK If the tag used for baseline comparisons was NOT the previous tag, note that here: Answer changes -------------- Changes answers relative to baseline: No bit-for-bit (other than NEON tests because of updated namelists and surface dataset) Summarize any changes to answers, i.e., - what code configurations: Only NEON sites - what platforms/compilers: all - nature of change: new surface datasets and settings Other details ------------- List any externals directories updated (cime, rtm, mosart, cism, fates, etc.): Update most externals to version in cesm2_3_alpha07c cmeps to cmeps0.13.43 (version with channel depths) cpl7 to cpl7.0.7 share to share1.0.10 Pull Requests that document the changes (include PR ids): (https://github.com/ESCOMP/ctsm/pull) PR #1467 -- Improve UI for NEON script PR #1474 -- Script for modifying neon surface dataset -- updated (negin513) PR #1539 -- Neon modify surfurface dataset (negin513) PR #1571 -- Fix LILAC build with user-defined machine with latest CIME (billsacks) =============================================================== =============================================================== Tag name: ctsm5.1.dev066 Originator(s): rgknox (Ryan Knox,,,) Date: Sat Dec 4 01:58:42 MST 2021 One-line Summary: API change with FATES to enable running means inside fates, includes passing in of model timestep Purpose and description of changes ---------------------------------- This set of changes synchronizes CTSM with API 20 of FATES. API 20 of FATES requires a modification to timing boundary conditions so that FATES can maintain its own internal running means. FATES also no-longer asks CTSM for the 24hour vegetation temperature, since this is a patch(pft) level variable, and FATES has more suitable averaging mechanisms. These changes are synchronized with FATES Pull Request: https://github.com/NGEET/fates/pull/724, which subsequently created tag: https://github.com/NGEET/fates/releases/tag/sci.1.52.0_api.20.0.0 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_1 [ ] clm5_0 [ ] ctsm5_0-nwp [ ] clm4_5 [x] clm_fates Notes of particular relevance for developers: --------------------------------------------- Developers should be aware that FATES does require information on the model timestep, which was not necessarily available in initialize1. Efforts were made to circumvent needing the model timetep at this phase of initialization, so impact on non-fates code was minimal. Testing summary: ---------------- regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing): cheyenne ---- PASS (fates had expectedly different results compared to base) izumi ------- PASS (fates had expectedly different results compared to base) fates tests: (give name of baseline if different from CTSM tagname, normally fates baselines are fates--) cheyenne ---- PASS (fates had expectedly different results compared to base) izumi ------- Additional tests: Multi-decadal simulations were also run to evaluate fates side sensitivity to slightly different averaging scheme. The differences were not so subtle, attributed mostly to fixing an initialization bug (the previous 24hour temperature had initialized at 0K) and a 1-hour phase change in the 24-hour start-stop cycle. Answer changes -------------- Changes answers relative to baseline: all FATES active simulations have different results. =============================================================== =============================================================== Tag name: ctsm5.1.dev065 Originator(s): glemieux (Gregory Lemieux,LBL/NGEET,510-486-5049) Date: Thu Dec 2 00:13:37 MST 2021 One-line Summary: Refactor static fire data input by moving variables into fire_base_type from cnveg_state_type Purpose and description of changes ---------------------------------- This tag refactors the static fire data input methodology to enable a future anthropogenic fire suppression methodology to FATES as described NGEET/fates#673. This future method requires that FATES have access to GDP data that was previously defined in CNVegStateType.F90 as part of cnveg_state_type. As such, the GDP variable has been moved into fire_base_type in FireDataBaseType.F90 to provide the data to the extended fates_fire_base_type for eventual use in FATES. Similarly, the surface dataset read subroutine has been moved along with the peat and ag-fire variables, which utilize the same read subroutine and where also originally part of the cnveg_state_type. 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_1 [ ] clm5_0 [ ] ctsm5_0-nwp [ ] clm4_5 Bugs fixed or introduced ------------------------ Issues fixed (include CTSM Issue #): Fixes #1104 -- Move static fire data into Fire class Notes of particular relevance for developers: --------------------------------------------- Caveats for developers (e.g., code that is duplicated that requires double maintenance): The ncd_io calls for the gdp, peat, and ag-fire data has been moved from the cnveg_state_type InitCold procedure into a new subroutine called surfdataread which is a new fire_base_type procedure. The function GetGDP has been introduced to get the pointer to the GDP data. This has been implemented in clmfates_interfaceMod.F90, but the assignment of this pointer to a FATES-side bc_in variable has been commented out pending a future update to define the necessary FATES GDP variable. A new namelist option has been added to the fates_spitfire_mode series. This option is intended as a simple placeholder for a future FATES fire supression mode. The option is currently being included as a check in clmfates_interfaceMod.F90 to allow for the exercise of the GetGDP function. Testing summary: ---------------- regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing): cheyenne ---- OK izumi ------- OK fates tests: (give name of baseline if different from CTSM tagname, normally fates baselines are fates--) cheyenne ---- N/A izumi ------- N/A any other testing (give details below): A simple fates branch was created to test the potential handoff of the GDP data to FATES, which successfully output the global gdp data. The branch is located here: https://github.com/glemieux/fates/tree/fire-gdp-simpletest Note that this branch was not used in the standard regression tests above. Other details ------------- Pull Requests that document the changes (include PR ids): (https://github.com/ESCOMP/ctsm/pull) #1536 -- Refactor static fire data to enable future use of GDP data in SPITFIRE =============================================================== =============================================================== Tag name: ctsm5.1.dev064 Originator(s): afoster (Adrianna Foster) Date: Mon Nov 29 09:50:50 MST 2021 One-line Summary: Updates to facilitate FATES history variable overhaul Purpose and description of changes ---------------------------------- This tag facilitates updates to FATES history variable names, units, other metadata, and flushing behavior. Variables are now initially flushed to the CTSM ignore value, then flushed to 0.0 on the FATES side. Calls were added to flush_hvars and zero_site_hvars inside the init_coldstart and restart subroutines in clmfates_interfaceMod.F90. FATES history variables names were updated to the new names in the user_nl_clm hist_fincl1 lists in the testmods directory. 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.) [ ] clm5_1 [ ] clm5_0 [ ] ctsm5_0-nwp [ ] clm4_5 Bugs fixed or introduced ------------------------ Issues fixed (include CTSM Issue #): Fixes FATES issues #530 and #535 Notes of particular relevance for users --------------------------------------- Caveats for users (e.g., need to interpolate initial conditions): All FATES output history variable units and names have changed so any post-processing scripts or history variable namelists (e.g. hist_fincl1) will be affected. Notes of particular relevance for developers: --------------------------------------------- Changes to tests or testing: Updated the hist_fincl1 namelists in the user_nl_clm files in the FATES testmods directory to reflect FATES history variable name changes. Updated name of ERS_Ld30.f45_f45_mg37.I2000Clm50FatesCruRsGs.cheyenne_intel.clm-FatesColdDefReducedComplexSatPhen in the ExpectedTestFails.xml list, and changed the phase to RUN, as it is now failing in the run phase. Testing summary: ---------------- regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing): cheyenne ---- OK izumi ------- OK fates tests: (baseline: sci.1.50.1_api.18.0.0-ctsm5.1.dev063) cheyenne ---- OK izumi ------- OK Answer changes -------------- Changes answers relative to baseline: YES Summarize any changes to answers, i.e., - what code configurations: FATES - what platforms/compilers: all - nature of change (roundoff; larger than roundoff/same climate; new climate): diagnostic only All FATES output history variables and/or units changed so we expect DIFF or FIELDLIST differences for all comparisons to baselines. I created a test at a single point to compare FATES variables (over a 5-year simulation) from master (sci.1.50.1_api.18.0.0) and this updated branch. This test confirms that the old variables can be matched to a new variable (except for a select few where we removed some variables due to duplication), and that when we did see changes in the output values, these changes were the expected factor differences based on the intended units change. Other details ------------- List any externals directories updated (cime, rtm, mosart, cism, fates, etc.): fates: sci.1.50.1_api.18.0.0 -> fates-sci.1.51.0_api.19.0.0 Pull Requests that document the changes (include PR ids): (https://github.com/ESCOMP/ctsm/pull) #1542 -- Updates to facilitate FATES history variable overhaul =============================================================== =============================================================== Tag name: ctsm5.1.dev063 Originator(s): glemieux (Gregory Lemieux,LBL/NGEET,510-486-5049) Date: Tue Nov 23 12:51:48 MST 2021 One-line Summary: Provide access to the fraction of canopy covered by snow variable to fates Purpose and description of changes ---------------------------------- This tag provides the FATES model access to the fcansno variable to facilitate a correction of it's radiation transfer code. 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_1 [ ] clm5_0 [ ] ctsm5_0-nwp [ ] clm4_5 Bugs fixed or introduced ------------------------ Issues fixed (include CTSM Issue #): Fixes FATES #744 -- Use of SAI in surface albedo routines. Fixes #1559 -- A few tests in the testlist were for hobart Known bugs found since the previous tag (include issue #): #1559 -- A few tests in the testlist were for hobart Notes of particular relevance for developers: --------------------------------------------- Changes to tests or testing: Replaced the only f19 grid resolution testmod in the izumi fates list with an f45 test since the pes layout change for izumi from ctsm5.1.dev062 results in high resolution grids taking longer to run now. Coverage for high resolution fates tests is provided via cheyenne test lists. For the same reasons as above, I transferred the only high res (f19) grid resolution testmod in the izumi aux_clm list to cheyenne to maintain coverage for this test. The ctsm5.1.dev063 aux_clm baseline on cheyenne has been updated to include this test. Testing summary: regular fates ---------------- [PASS means all tests PASS; OK means tests PASS other than expected fails.] build-namelist tests (if CLMBuildNamelist.pm has changed): cheyenne - PASS python testing (if python code has changed; see instructions in python/README.md; document testing done): cheyenne - PASS regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing): cheyenne ---- OK izumi ------- OK fates tests: (baseline: fates-sci.1.50.1_api.18.0.0-ctsm5.1.dev063) cheyenne ---- OK izumi ------- OK Answer changes -------------- Changes answers relative to baseline: Yes (ONLY for FATES tests due to FATES tag update) Other details ------------- List any externals directories updated (cime, rtm, mosart, cism, fates, etc.): fates fates: sci.1.50.0_api.17.0.0 -> sci.1.50.1_api.18.0.0 Pull Requests that document the changes (include PR ids): (https://github.com/ESCOMP/ctsm/pull) #1531 -- Adding fcansno to FATES interface =============================================================== =============================================================== Tag name: ctsm5.1.dev062 Originator(s): erik (Erik Kluzek,UCAR/TSS,303-497-1326) Date: Fri Nov 19 00:53:29 MST 2021 One-line Summary: Make NUOPC the default driver rather than MCT Purpose and description of changes ---------------------------------- Make NUOPC the default driver rather than MCT. Update externals and switch tests so nuopc tests are explicit for mct. Fix several issues. Update the README files and in-place documentation. Remove MODEL as a setting for the build system, use COMP_NAME instead. Adds a container machine definition in cime. See README.NUOPC_driver.md at the top level for a description of what changes. 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.] [x] clm5_1 [x] clm5_0 [x] ctsm5_0-nwp [x] clm4_5 Bugs fixed or introduced ------------------------ Issues fixed (include CTSM Issue #): Fixes #1557 more procesors on izumi for f09/f19 Fixes #1478 Rework some tests when we go to nuopc Fixes #1365 NUOPC changes DATM_CLMNCEP_YR to DATM_YR Fixes #1083 Use named constants rather than literal strings in NUOPC cap Fixes #1237 Add namelist flag force_send_to_atm Fixes #1502 Make NUOPC the default Fixes #1476 Remove blank lines from ctsm.input_data_list Fixes #1517 Don't allow -namelist as an option to CLM_BLDNML_OPTS Fixes #1523 Change MODEL to COMP_NAME in buildlib Fixes #1545 NUOPC tests that fail with floating point errors Fixes #1192 Incompatible IC files for f09 Fixes #1544 MOSART dies for SSP tests Fixes #1543 usgs mask doesn't work with nuopc Known bugs found since the previous tag (include issue #): #1528 If possible, set more lnd -> mediator coupling fields to spval over ocean Notes of particular relevance for users --------------------------------------- Caveats for users (e.g., need to interpolate initial conditions): domain files are normally no longer used Changes to CTSM's user interface (e.g., new/renamed XML or namelist variables): See README.NUOPC_driver.md for a description of what changes Changes made to namelist defaults (e.g., changed parameter values): New namelist added force_send_to_atm Substantial timing or memory changes: A bit slower, but less overall memory The PFS test shows the following: Model Cost: 265.58 pe-hrs/simulated_year Model Throughput: 165.91 simulated_years/day The previous baseline for the MCT driver showed this Model Cost: 214.41 pe-hrs/simulated_year Model Throughput: 205.52 simulated_years/day The RUN length in TestStatus for dev05* and dev06* versions varied from 58 to 81 seconds so about up to a 20% variation Highwater memory mark is higher (67 vs 131 GB), and last usage (323 vs 165MB) lower than MCT Notes of particular relevance for developers: --------------------------------------------- Changes to tests or testing: Switch nuopc tests for mct. Remove ctsm_sci tests on izumi. Set MOSART_MODE==NULL for spinup tests PTCLM and gen_domain tools tests removed Testing summary: regular fates ctsm_sci tools ---------------- [PASS means all tests PASS; OK means tests PASS other than expected fails.] build-namelist tests (if CLMBuildNamelist.pm has changed): cheyenne - PASS (486 tests differ from baseline as expected) tools-tests (test/tools) (if tools have been changed): cheyenne - OK python testing (if python code has changed; see instructions in python/README.md; document testing done): cheyenne - PASS regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing): cheyenne ---- PASS izumi ------- OK fates tests: cheyenne ---- OK ctsm_sci tests: cheyenne ---- PASS any other testing (give details below): Did run ctsm_sci tests on izumi before we decided to remove them If the tag used for baseline comparisons was NOT the previous tag, note that here: Answer changes -------------- Changes answers relative to baseline: Yes! (because NUOPC is the default driver now rather than MCT) Summarize any changes to answers, i.e., - what code configurations: All where driver changes - what platforms/compilers: All - nature of change: similar climate If this tag changes climate describe the run(s) done to evaluate the new climate (put details of the simulations in the experiment database) /glade/work/oleson/cesm2_3_alpha03a/cime/scripts/ctsm51_cesm23a03a_1deg_GSWP3V1_mct_hist /glade/work/oleson/cesm2_3_alpha03a/cime/scripts/ctsm51_cesm23a03a_1deg_GSWP3V1_nuopc_hist The history output is here (for now): /glade/p/cgd/tss/people/oleson/ctsm51_cesm23a03a_1deg_GSWP3V1_mct_hist /glade/p/cgd/tss/people/oleson/ctsm51_cesm23a03a_1deg_GSWP3V1_nuopc_hist URL for LMWG diagnostics output used to validate new climate: The diagnostics comparing NUOPC to MCT are here: https://webext.cgd.ucar.edu/I20TR/ctsm51_cesm23a03a_1deg_GSWP3V1_nuopc_hist/lnd/ctsm51_cesm23a03a_1deg_GSWP3V1_nuopc_hist.1995_2014-ctsm51_cesm23a03a_1deg_GSWP3V1_mct_hist.1995_2014/setsIndex.html Other details ------------- List any externals directories updated (cime, rtm, mosart, cism, fates, etc.): cism to cismwrap_2_1_93 rtm to rtm1_0_78 mosart to mosart1_0_45 cime to cime6.0.11 cmeps to cmeps0.13.40 cdeps to cmeps0.13.40 cpl7 to cpl7.0.5 share to share1.0.8 fates to sci.1.49.1_api.17.0.0 Pull Requests that document the changes (include PR ids): (https://github.com/ESCOMP/ctsm/pull) #1530 -- Add compsets for multiple ice-sheets #1502 -- Make the NUOPC driver the default #1540 -- Implement fates_levleaf as a FATES 1D dimension variable =============================================================== =============================================================== Tag name: ctsm5.1.dev061 Originator(s): mvertens (Mariana Vertenstein) Date: Tue Oct 19 11:56:30 MDT 2021 One-line Summary: Changes needed to get aux history output with cmeps Purpose and description of changes ---------------------------------- These changes are needed to create auxiliary land history files when the new cmeps configuration variable is set to true. histaux_l2x1yrg = .true. The changes needed in CTSM enable lnd2glc fields to be sent to the mediator even if glc is not present - based on querying the histaux_l2x1yrg setting. This includes a related change to set most lnd -> mediator fields to spval over ocean, instead of sending zero values over ocean. 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_1 [ ] clm5_0 [ ] ctsm5_0-nwp [ ] clm4_5 Bugs fixed or introduced ------------------------ Issues fixed (include CTSM Issue #): - Resolves ESCOMP/CTSM#1238 (In nuopc cap: change logic for when glc fields are sent to facilitate writing cpl aux hist files) Testing summary: ---------------- regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing): cheyenne ---- ok izumi ------- ok Answer changes -------------- Changes answers relative to baseline: YES Summarize any changes to answers, i.e., - what code configurations: NUOPC only - what platforms/compilers: all - nature of change (roundoff; larger than roundoff/same climate; new climate): Just changes missing value patterns for lnd -> mediator fields Most lnd -> mediator fields now have missing value over ocean instead of sending zero values over ocean. This shows up as FILLDIFFs in most nuopc tests. Other details ------------- Pull Requests that document the changes (include PR ids): https://github.com/ESCOMP/CTSM/pull/1495 =============================================================== =============================================================== Tag name: ctsm5.1.dev060 Originator(s): glemieux (Gregory Lemieux,LBL/NGEET,510-486-5049) Date: Mon Oct 18 13:13:03 MDT 2021 One-line Summary: Izumi aux_clm test fixes for fates testmods Purpose and description of changes ---------------------------------- This tag corrects an accidental inclusion of non-debug, nag compiled fates testmods into the izumi aux_clm test list. It also makes corrections to the expected failures list as well as adjusts the fates izumi test list as well as updates the externals file to point to the most recent fates tag (which includes a science update so answers change for FATES). 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_1 [ ] clm5_0 [ ] ctsm5_0-nwp [ ] clm4_5 Bugs fixed or introduced ------------------------ Issues fixed (include CTSM Issue #): FATES #790 -- NAG compiler runtime error in FatesHydroWTFMod Known bugs found since the previous tag (include issue #): #1525 -- ERS fates hydro test failing with nag compiler due to use_lch4 #1526 -- Switch FATES methane test for methane off FATES #795 -- NAG compiler runtime error in hydraulics_bs Notes of particular relevance for developers: --------------------------------------------- Changes to tests or testing: Changed the non-debug fates testmods in the izumi aux_clm list to compile with intel instead of nag to avoid fates issue 771 and provide testing parity with the cheyenne aux_clm list. Removed two tests from the fates izumi test list: - FatesColdDefAllVars testmod as it takes too long to complete due to history writes - f19, 3-day, ERP fates testmod due to a sporadic memleak Testing summary: ---------------- regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing): cheyenne ---- ok izumi ------- ok fates tests: cheyenne ---- ok izumi ------- ok Answer changes -------------- Changes answers relative to baseline: Yes (ONLY for FATES tests because of the FATES tag update) Other details ------------- List any externals directories updated (cime, rtm, mosart, cism, fates, etc.): fates: sci.1.47.0_api.17.0.0 -> sci.1.48.0_api.17.0.0 Pull Requests that document the changes (include PR ids): (https://github.com/ESCOMP/ctsm/pull) # 1524 -- Switch izumi aux_clm category non-debug fates testmods from nag to intel =============================================================== =============================================================== Tag name: ctsm5.1.dev059 Originator(s): glemieux (Gregory Lemieux,LBL/NGEET,510-486-5049) Date: Wed Oct 13 10:46:06 MDT 2021 One-line Summary: Update fates tests and list for diversity and coverage Purpose and description of changes ---------------------------------- This tag changes the list of fates testmod represented in the aux_clm category test list to provide an updated set of testmods to improve coverage and diversity of fates modes to be checked during ctsm updates now that fates is updating directory to the ctsm main/master branch. A number of updates were made to the fates category list as well, including test name changes, variables including for fates testmods, and the addition of a fates landuse testmod. 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_1 [ ] clm5_0 [ ] ctsm5_0-nwp [ ] clm4_5 Bugs fixed or introduced ------------------------ Issues fixed (include CTSM Issue #): Fixes #1273 -- Add testmod for FATES land use Fixes #1265 -- Diversifying fates testmods included in aux_clm test suite CIME Issues fixed (include issue #): Known bugs introduced in this tag (include issue #): FATES #790 -- NAG compiler runtime error in FatesHydroWTFMod #1518 -- FATES P32x2 test appears to fail reliably when using I2000FatesCruRsGs compset #1520 -- Short clm ERS test hits reasonable wall clock limit on izumi nag Notes of particular relevance for developers: --------------------------------------------- NOTE: Be sure to review the steps in README.CHECKLIST.master_tags as well as the coding style in the Developers Guide Changes to tests or testing: - The list of fates testmods that are included as part of the aux_clm testlist has been updated to change older compset coverage for newer Clm50 compsets. It also changes the list of fates testmods to improve coverage for stable fates run mode options. - The list of tests for the fates test category on all machines has been updated to use river stub compsets for most tests in an effort to reduce test runtime. - The list of tests for the fates test category on izumi has been change to only include debug-only tests as a short term work around for FATES #771 - The output variables for most all fates testmods is updated to only include site-level variables in an effort to decrease history write time for any given test - Updates the expected failure test list to remove out-of-date entries failures - Many of the fates testmods have been renamed to be have a more broadly consistent naming scheme that denotes which testmod is a baseline for a given testmod - FatesColdDefLandUse testmod has been added to gain coverage for the do_harvest mode Testing summary: ---------------- regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing): cheyenne ---- ok izumi ------- ok fates tests: cheyenne ---- ok any other testing (give details below): Note that since testnames and variable inclusion list was changed for all fates testmods, test results are not automatically comparable by cprnc. Manually comparison was done to validate output for fates testmods. See PR #1275 details for more thorough explanation of testing results. Answer changes -------------- Changes answers relative to baseline: No (only for non-fates testsmods) Other details ------------- List any externals directories updated (cime, rtm, mosart, cism, fates, etc.): none Pull Requests that document the changes (include PR ids): (https://github.com/ESCOMP/ctsm/pull) #1275 -- FATES testing update and cleanup =============================================================== =============================================================== Tag name: ctsm5.1.dev058 Originator(s): erik (Erik Kluzek,UCAR/TSS,303-497-1326) Date: Thu Oct 7 20:47:14 MDT 2021 One-line Summary: Some miscellaneous small answer changes Purpose and description of changes ---------------------------------- Change ceta from 450 to 358 for CTSM5.1 See Leo VanKamenhout's work on this in https://github.com/ESCOMP/CTSM/pull/250. Note, this is used in the PPE work. See van Kampenhout et al. (2017). Turn Medlyn on for PHS off for clm51 and clm50. Make max CO2 partial pressure consistent in Photosynthesis. Change surface datasets to only use 78PFT versions Fix GSSUN and GSSHA history variables so now not just writing missing values. Changes FATES to run with use_nitrif_dentrif=T by default. Change dynlakes test to methane/use_nitrif_=T. 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.] [x] clm5_1 [ ] clm5_0 [ ] ctsm5_0-nwp [ ] clm4_5 Bugs fixed or introduced ------------------------ Issues fixed (include CTSM Issue #): Fixes #1504 -- Transient Sp cases fail when using mismatched crop surface/landuse-timeseries datasets #1504 Fixes #1503 -- VIC cases can't use crop surface datasets because of missing vic data #1503 Fixes #1462 -- GSSUN and GSSHA are not set on history files #1462 Fixes #1394 -- Max partial pressure of CO2 be should be 1.e-6 rather than 10.e-6 which it is for ci_func_PHS #1394 Fixes #1460 -- Initialize t_soisno to 272K instead of 274K to avoid deep soil carbon in permafrost regions #1460 Fixes #1465 -- Change FATES to run with use_nitrif_dentrif TRUE #1465 Worked on #1356 -- Remove the CN (non CENTURY) version of Carbon-Nitrogen soil biogeochemistry code and its testing #1356 Fixes #1496 -- SP NoAnthro case fails... #1496 Notes of particular relevance for users --------------------------------------- Changes made to namelist defaults (e.g., changed parameter values): stomatalcond_method is now Medlyn2011 for clm5_0 and clm5_1 use_nitrif_denitrif is now TRUE when using FATES Changes to the datasets (e.g., parameter, surface or initial files): New parameter file for clm5_1 (changes ceta) Notes of particular relevance for developers: --------------------------------------------- Caveats for developers (e.g., code that is duplicated that requires double maintenance): Surface datasets are now labeled with use_vichydro=TRUE in the xml. This also means that some files listed in the XML are listed twice for VIC both on and off (that's important for FATES since it still requires non-crop datasets (see #1505) Also the logic for finding both fsurdat and flanduse_timeseries files needs to be the same in first asking for a crop version and then an exact match if it isn't found (unless it's FATES and then you just do the exact match). Changes to tests or testing: Dynamic lakes test now has methane on, which works because we turn off methane conservation check after restart See #43 for more information on this. Testing summary: regular ---------------- [PASS means all tests PASS; OK means tests PASS other than expected fails.] build-namelist tests (if CLMBuildNamelist.pm has changed): cheyenne - OK (306 tests different than baseline) python testing (if python code has changed; see instructions in python/README.md; document testing done): cheyenne - PASS regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing): cheyenne ---- OK izumi ------- PASS If the tag used for baseline comparisons was NOT the previous tag, note that here: previous Answer changes -------------- Changes answers relative to baseline: Yes Summarize any changes to answers, i.e., - what code configurations: Most - what platforms/compilers: all - nature of change: similar climate most changes are near roundoff level All clm5_1 physics change answers because of change in ceta parameter. When PHS off for clm5_1 and clm5_0 changes answers because of Medlyn photosynthesis over Ball-Berry. Photosynthesis potentially changes all the time because a maximum parameter was off. Answer should be close to roundoff for Sp and Bgc cases without Crop because we now use crop surface datasets. FATES changes answers since user_nitrif_dentrif is now on by default COLDSTART BGC cases will change answers because of a change in initial soil temperature clm4_5 and clm5_0 vichydro results are identical clm4_5 and clm5_0 single point urban tests are identical Some tests are still identical mostly crop-cases non-cold-start In some cases GSSUN and GSSHA will be different. Other details ------------- Pull Requests that document the changes (include PR ids): (https://github.com/ESCOMP/ctsm/pull) #1497 -- Miscellaneous small answer changes =============================================================== =============================================================== Tag name: ctsm5.1.dev057 Originator(s): Sam Rabin Date: Mon Sep 20 10:07:26 MDT 2021 One-line Summary: Consolidate duplicated crop phenology code Purpose and description of changes ---------------------------------- Consolidate duplicated code related to crop planting 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_1 [ ] clm5_0 [ ] ctsm5_0-nwp [ ] clm4_5 Bugs fixed or introduced ------------------------ Issues fixed (include CTSM Issue #): - Resolves ESCOMP/CTSM#1479 (Suggested cleanup in CropPhenology(): Removing duplicated sowing code) Testing summary: ---------------- regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing): cheyenne ---- ok izumi ------- ok Answer changes -------------- Changes answers relative to baseline: NO Other details ------------- Pull Requests that document the changes (include PR ids): https://github.com/ESCOMP/CTSM/pull/1482 =============================================================== =============================================================== Tag name: ctsm5.1.dev056 Originator(s): glemieux (Gregory Lemieux,LBL/NGEET,510-486-5049) Date: Fri Sep 17 15:41:57 MDT 2021 One-line Summary: FATES Satellite Phenology mode implemented Purpose and description of changes ---------------------------------- This PR enables FATES TLAI, TSAI, and HTOP to be driven by the host land model satellite data sets. The parameter file has been updated to include an array mapping the indices of the host land model pfts to fates pfts. FATES satellite phenology mode automatically enables two additional reduced complexity modes: fixed biogeography and no competition. The former had previously been implimented although this update corrected an error associated with this mode. The latter is a new mode introduced in this PR as well and a corresponding regression test has been added along with a new sp mode regression test. 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_1 [ ] clm5_0 [ ] ctsm5_0-nwp [ ] clm4_5 Bugs fixed or introduced ------------------------ Issues fixed (include CTSM Issue #): Adds FATES-SP mode as part of #1047 (a FATES v1 requirement) Known bugs introduced in this tag (include issue #): #1485 -- Forthcoming FATES satellite phenology ERS test fails COMPARE_base_rest #1488 -- FATES SP mode filter comparison: all_soil_patches and soil #1489 -- Add graceful build failure for additional modes that are incompatible with use_fates_sp Known bugs found since the previous tag (include issue #): MOSART #45 -- frivinp_rtm is still required even if MOSART is turned off Notes of particular relevance for users --------------------------------------- Caveats for users (e.g., need to interpolate initial conditions): The SPITFIRE model is set to fail gracefully if accidentally enabled in conjunction with sp mode. There is a known error in the satellite phenology exact restart, so restarts should not be attempted until issue #1485 has been resolved. Changes to CTSM's user interface (e.g., new/renamed XML or namelist variables): History variables TLAI, TSAI, and HTOP are updated to reflect the fates sp mode outputs by means of overwriting the existing history outputs. The original canopystate variables are still calculated, but not available to the user. Changes made to namelist defaults (e.g., changed parameter values): Add namelist option: use_fates_sp, use_fates_nocomp Changes to the datasets (e.g., parameter, surface or initial files): New fates paramter file which include hlm to fates pft indexing map Substantial timing or memory changes: None Notes of particular relevance for developers: --------------------------------------------- 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): All single site fates suite tests need to be manually built and submitted given MOSART #45. PR #1275 will resolve this by switching to a non-MOSART compset. Changes to tests or testing: A temporary SMS test has been added for Satellite Phenology testmod given the known ERS failure (issue #1485). Testing summary: ---------------- [PASS means all tests PASS; OK means tests PASS other than expected fails.] build-namelist tests (if CLMBuildNamelist.pm has changed): cheyenne - PASS regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing): cheyenne ---- OK izumi ------- OK ok: NLCOMP failures due to new fates namelist options added fates tests: cheyenne ---- OK ok: FixedBiogeo DIFF deemed acceptable due to error correction from previous baseline. fates baseline: fates-sci.1.46.2_api.16.1.0-ctsm5.1.dev055 Answer changes -------------- Changes answers relative to baseline: No (except for FATES FixedBiogeo) Summarize any changes to answers, i.e., - what code configurations: FATES FixedBiogeo mode only - what platforms/compilers: all - nature of change: larger than roundoff due to corrected hlm-fates pft mapping Other details ------------- List any externals directories updated (cime, rtm, mosart, cism, fates, etc.): fates: sci.1.46.2_api.16.1.0 -> sci.1.47.0_api.17.0.0 Pull Requests that document the changes (include PR ids): (https://github.com/ESCOMP/ctsm/pull) #1182 -- FATES SP api FATES #703 -- Fates SP mode =============================================================== =============================================================== Tag name: ctsm5.1.dev055 Originator(s): slevis (Samuel Levis,SLevis Consulting,303-665-1310) Date: Fri Sep 10 11:25:08 MDT 2021 One-line Summary: Updates to master_list_file.rst Purpose and description of changes ---------------------------------- Added code that writes a disclaimer and a few of the case's flags near the top of master_list_file.rst. Added code to generate a FATES version of master_list_file.rst. Named new file master_list_file_fates.rst and renamed existing file master_list_file_nofates.rst. Updated .rst files in the documentation accordingly. Significant changes to scientifically-supported configurations -------------------------------------------------------------- Does this tag change answers significantly for any of the following physics configurations? No. (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_1 [ ] clm5_0 [ ] ctsm5_0-nwp [ ] clm4_5 Bugs fixed or introduced ------------------------ None. Notes of particular relevance for users --------------------------------------- Changes to CTSM's user interface (e.g., new/renamed XML or namelist variables): The changes described above mainly affect the documentation. If a user sets hist_master_list_file = .true. to see the list of history fields available in their case, then they will see the changes to master_list_file.rst described above. Notes of particular relevance for developers: --------------------------------------------- None. Testing summary: ---------------- [PASS means all tests PASS; OK means tests PASS other than expected fails.] regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing): cheyenne ---- OK izumi ------- OK Note 1. On izumi I got four NLCOMP failures that seem unexpected: ERI_D_Ld9_P48x1_Vnuopc.f10_f10_mg37.I2000Clm50Sp.izumi_nag.clm-SNICARFRC ERS_D_Mmpi-serial_Ld5_Vnuopc.1x1_brazil.I2000Clm50FatesRs.izumi_nag.clm-FatesColdDef SMS_D_Ld1_P48x1_Vnuopc.f10_f10_mg37.I2000Clm50BgcCru.izumi_nag.clm-af_bias_v7 SMS_D_Vnuopc_Mmpi-serial.CLM_USRDAT.I1PtClm51Bgc.izumi_nag.clm-default--clm-NEON-NIWO with errors like this: Comparison failed between '/scratch/cluster/slevis/tests_0908-183947iz/ERI_D_Ld9_P48x1_Vnuopc.f10_f10_mg37.I2000Clm50Sp.izumi_nag.clm-SNICARFRC.GC.0908-183947iz_nag/CaseDocs/lnd_in' with '/fs/cgd/csm/ccsm_baselines/ctsm5.1.dev054/ERI_D_Ld9_P48x1_Vnuopc.f10_f10_mg37.I2000Clm50Sp.izumi_nag.clm-SNICARFRC/CaseDocs/lnd_in' missing variable: 'fatmlndfrc' Note 2. On cheyenne I got an expected NLCOMP failure due to the Fates test that I modified to output the master_list_fates.rst file. If the tag used for baseline comparisons was NOT the previous tag, note that here: Answer changes -------------- Changes answers relative to baseline: No. The contents of master_list_nofates.rst have changed relative to the earlier copy named master_list_file.rst, due to changes in the list of available history fields introduced in previous tags. Other details ------------- Pull Requests that document the changes (include PR ids): https://github.com/ESCOMP/ctsm/pull/1481 =============================================================== =============================================================== Tag name: ctsm5.1.dev054 Originator(s): erik (Erik Kluzek,UCAR/TSS,303-497-1326) Date: Thu Sep 2 01:18:31 MDT 2021 One-line Summary: New parameters on paramsfile, many bit-for-bit changes, new history fields for IWUELN,VPD_2M, allow Medlyn Photosynthesis for non-PHS cases, fixes to HumanStressIndex Purpose and description of changes ---------------------------------- Brings more hardcoded parameters to the paramsfile. Some bit-for-bit cleanup. A fix for HumanStressIndex. Adding IWUELN and VPD_2M diagnostic to history output. Add in ability to run Medlyn photosynthesis for non-PHS cases (not turned on yet though). Most of the addition of parameters is from Keith Oleson. Daniel Kennedy added two new diagnostic fields available for history outuput. IWUELN: the intrinsic water use efficiency at local noon (umolCO2/molH2O) VPD_2M: vapor pressure deficit at 2m reference height (pascals) The Medlyn stomatal conductance functionality was deployed for CLM5. It had not been implemented for use_hydrstress=.false (i.e. SMS). Previously if we opted for: use_hydrstress=.false and stomatalcond_method = 'Medlyn2011', the model would actually use the Ball-Berry stomatal conductance model. Daniel Kennedy adds the changes to allow this for non-PHS. Human Stress index changes are from Jonathan Buzan and Keith Oleson. Some clean-up work on arctic vegetation changes. Also removal of the option to run non-CENTRY based soil decomposition model. CN options are removed along with use_century_decomp and use_vertsoilc. use_nitrif_dentrif and use_lch4 are still retained, but recommended to be always on, and will be removed later. 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_1 [ ] clm5_0 [ ] ctsm5_0-nwp [ ] clm4_5 Bugs fixed or introduced ------------------------ Issues fixed (include CTSM Issue #): Fixes #1472 - hist_master_list_file dies if master_list_file.rst already exists Fixes #1469 - Remove unused 0.1x0.1 grid Fixes #1468 - Remove vestiges of ch4 0.9x1.25 grid in mksurfdata_map/mkmapdata Fixes #1427 - Division of critical day length by 2 is incorrect Fixes #1403 - Invalid test running single-point forcing data before or after it's valid data series Fixes #1401 - 1-Degree methane finundated stream data is labeled as if it's 2-degree Fixes #1399 - Some cleanup for arctic luna changes Fixes #1296 - Make a checklist of issues to check for when running a simulation. Fixes #1245 - intrinsic water use efficiency diagnosti Fixes #1250 - Error in HumanIndexMod (QSat_2 subroutine) Fixes #1284 - change where stem_biomass is set Fixes #1382 - write out friction velocity to history files by default Fixes #1379 - Invalid xml for namelist_definition file: missing end tag Fixes #1185 - Remove wrtdia Fixes #1168 - Remove duplication between phys versions in CLM_BLDNML_OPTS settings (and fix some others) in config_component.xml Fixes #886 -- Warning if FUN is on, but FlexibleCN is not Fixes #808 -- Remove camdenNJ test from prebeta test list, replace it with working tests Partial work on #1356 (but use_lch4, use_nitrif_dentrif remain) Known bugs found since the previous tag (include issue #): #1462 -- GSSUN and GSSHA are not set on history files #1460 -- Initialize t_soisno to 272K instead of 274K to avoid deep soil carbon in permafrost regions Notes of particular relevance for users --------------------------------------- Caveats for users (e.g., need to interpolate initial conditions): Vertical soil carbon is now hardcoded to on. This means that if you had run a simulation with it turned off -- you won't be able to use it's restart files in this versions and after. Likewise with CENTURY-BGC. Changes to CTSM's user interface (e.g., new/renamed XML or namelist variables): Removed namelist options: wrtdia, use_vertsoilc, use_century_decomp, min_wind_snowcompact Added namelist options: min_critical_dayl_method, soil_decomp_method New options for min_critical_dayl_method, DependsOnVeg and DependsOnLatAndVeg Remove 1x1_camdenNJ and 1x1_asphaltjungleNJ grid options Remove some uneeded grids and files, correct 360x720cru grid for mksurfdata_map Remove vestiges of ch4 files in mksurfdata_map Remove the "cn" option to "-bgc" in CLM_BLDNML_OPTS and remove Cn compsets and tests New history variables: VPD2M, IWUELN (FV made default active) Changes to the datasets (e.g., parameter, surface or initial files): New parameter files Notes of particular relevance for developers: --------------------------------------------- Caveats for developers (e.g., code that is duplicated that requires double maintenance): After we turn on methane and nitrfication-dentrification for all configurations we can remove the use_lch4 and use_nitrif_denitrif options Changes to tests or testing: Removed CN and 1x1_camdenNJ tests as well as NoVSNoNI Shortened 1x1_cancouverCAN test as it ran beyond the end of data Changed name of "rootlit" test to "anoxia" as that was the only thing it does, it now also runs with vertical soil Carbon profile Testing summary: regular, tools ---------------- [PASS means all tests PASS; OK means tests PASS other than expected fails.] build-namelist tests (if CLMBuildNamelist.pm has changed): cheyenne - OK tools-tests (test/tools) (if tools have been changed): cheyenne - OK python testing (if python code has changed; see instructions in python/README.md; document testing done): cheyenne - PASS regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing): cheyenne ---- OK izumi ------- OK any other testing (give details below): If the tag used for baseline comparisons was NOT the previous tag, note that here: Answer changes -------------- Changes answers relative to baseline: No bit-for-bit (except diagnostic fields when HumanStress is turned on) Summarize any changes to answers, i.e., - what code configurations: When human-stress turned on - what platforms/compilers: All - nature of change: Small (only to diagnostic fields) Also now can't run with use_vertsoilc off anoxia tests are different from rootlit tests as use_vertsoilc is now hardcoded on Other details ------------- Pull Requests that document the changes (include PR ids): (https://github.com/ESCOMP/ctsm/pull) #1164 -- Some more hardcoded parameters to the params file #1250 -- Error in HumanIndexMod (QSat_2 subroutine) #1267 -- Adding IWUELN and VPD_2M diagnostic #1321 -- Medlyn-SMS =============================================================== =============================================================== Tag name: ctsm5.1.dev053 Originator(s): sacks (Bill Sacks) Date: Fri Aug 13 10:17:42 MDT 2021 One-line Summary: Add Antarctica compset and change min_snow_to_keep Purpose and description of changes ---------------------------------- (1) Add a compset for running CISM with Antarctica (2) Change min_snow_to_keep (see https://github.com/ESCOMP/CTSM/issues/1425 for details) 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_1 [ ] clm5_0 [ ] ctsm5_0-nwp [ ] clm4_5 Bugs fixed or introduced ------------------------ Issues fixed (include CTSM Issue #): - Resolves ESCOMP/CTSM#1425 (Need to increase min_snow_to_keep) Testing summary: ---------------- regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing): cheyenne ---- ok izumi ------- ok any other testing (give details below): If the tag used for baseline comparisons was NOT the previous tag, note that here: Answer changes -------------- Changes answers relative to baseline: YES, but very limited circumstances Summarize any changes to answers, i.e., - what code configurations: rarely, when have large snow capping flux - what platforms/compilers: all (potentially) - nature of change (roundoff; larger than roundoff/same climate; new climate): slightly larger than roundoff when it occurs Changes only appear if removing the entire bottom layer of the snow pack in one time step due to snow capping. The only test in the test suite that changes answers is: ERS_D.f10_f10_mg37.I1850Clm50BgcCrop.cheyenne_intel.clm-reseedresetsnow =============================================================== =============================================================== Tag name: ctsm5.1.dev052 Originator(s): negins/jedwards/erik (Erik Kluzek,UCAR/TSS,303-497-1326) Date: Wed Aug 11 21:58:47 MDT 2021 One-line Summary: Wrapper script for running NEON sites, and some NEON updates Purpose and description of changes ---------------------------------- This is a wrapper script for running CTSM simulation for one or more neon sites using CIME case objects. This script accomplishes the following: Downloads and parses neon listing file for the available neon data : https://neon-ncar.s3.data.neonscience.org/listing.csv Create a base generic case and clone other cases from this generic base case. Enable the user to run in AD, Post-AD, and transient mode. Currently, there is no case dependency or case status check in the code. Which means that the user cannot run Post-AD +AD + transient all at the same time. If we add case dependency, then the code that checks the status of a case (e.g. spinup) every 2 seconds and once it is finished successfully submit the next phase (e.g. transient.) Externals are also updated to fix some NEON issues. New tools subdirectory site_and_regional and current scripts for handling single-point moved underneath. Also README files and tools testing changed for this move. Also tools test added for the new wrapper script talked about above. Fix an issue in subset_data.py where it couldn't be run from outside of a git directory because it checks for the git hash. Changes so that CTSM will write restarts as signaled at end of simulation by the CMEPS mediator. 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_1 [ ] clm5_0 [ ] ctsm5_0-nwp [ ] clm4_5 Bugs fixed or introduced ------------------------ Issues fixed (include CTSM Issue #): Fixes #1354 Batch run single point sites Fixes #1454 run_sys_test improve error for rerun option Fixes #1456 Missing files for test tools Fixes #1407 mkmapdata.sh failing for regional grid Fixes #1446 modifiy_neon script changes dimension for zbedrock Fixes #1429 Modified neon datasets have errors Known bugs introduced in this tag (include issue #): #1459 -- Change run_neon to run from any directory and add some additional options for testing Known bugs found since the previous tag (include issue #): #1443 -- NEON site data requirements #1442 -- Rename NEON files for CLM #1433 -- Bring in eval data from NEON Notes of particular relevance for developers: --------------------------------------------- Changes to tests or testing: tools testing modified add a tools test for the run_neon script Testing summary: regular and tools ---------------- [PASS means all tests PASS; OK means tests PASS other than expected fails.] build-namelist tests (if CLMBuildNamelist.pm has changed): cheyenne - PASS tools-tests (test/tools) (if tools have been changed): cheyenne - OK PTCLM testing (tools/shared/PTCLM/test): (if cime or cime_config are changed) (PTCLM is being deprecated, so we only expect this to be done on occasion) cheyenne - OK python testing (if python code has changed; see instructions in python/README.md; document testing done): cheyenne - PASS regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing): cheyenne ---- OK izumi ------- OK any other testing (give details below): If the tag used for baseline comparisons was NOT the previous tag, note that here: Answer changes -------------- Changes answers relative to baseline: No bit-for-bit Other details ------------- [Remove any lines that don't apply. Remove entire section if nothing applies.] List any externals directories updated (cime, rtm, mosart, cism, fates, etc.): cism, cime, cmeps, cdeps cism to cismwrap_2_1_87 cime to cime6.0.4 cmeps to cmeps0.13.23 cdeps to cdeps0.12.19 Pull Requests that document the changes (include PR ids): (https://github.com/ESCOMP/ctsm/pull) #1444 -- Wrapper script for batch running NEON sites, and NEON fixes =============================================================== =============================================================== Tag name: ctsm5.1.dev051 Originator(s): Stefanie Falk, Sunniva Indrehus, Bill Sacks Date: Fri Aug 6 10:30:32 MDT 2021 One-line Summary: New LUNA-specific ozone stress option Purpose and description of changes ---------------------------------- Add a new ozone stress option that modifies jmax; this stress option is specific to LUNA. See https://github.com/ESCOMP/CTSM/issues/1224 for a detailed description. 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_1 [ ] clm5_0 [ ] ctsm5_0-nwp [ ] clm4_5 Bugs fixed or introduced ------------------------ Issues fixed (include CTSM Issue #): - Resolves ESCOMP/CTSM#1224 (Add new feature: Ozone impact on Jmax in LUNA (OzoneLUNA)) Known bugs introduced in this tag (include issue #): - https://github.com/ESCOMP/CTSM/issues/1381 (Distinction between sunlit vs. shaded leaves in Luna (e.g., for ozone stress)) Notes of particular relevance for users --------------------------------------- Changes to CTSM's user interface (e.g., new/renamed XML or namelist variables): - use_ozone logical replaced by o3_veg_stress_method string Notes of particular relevance for developers: --------------------------------------------- Changes to tests or testing: - Ozone tests reworked so that one covers this new option Testing summary: ---------------- regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing): cheyenne ---- ok izumi ------- ok any other testing (give details below): - Ran ERP_D_Ld5_P72x2.f10_f10_mg37.I2000Clm50BgcCrop.cheyenne_intel.clm-o3falk (passes) - Ran the two old ozone tests that have been replaced; these passed and were bit-for-bit (other than fieldlist diffs due to new ozone diagnostic fields added in this tag) If the tag used for baseline comparisons was NOT the previous tag, note that here: Answer changes -------------- Changes answers relative to baseline: YES, just roundoff-level for pgi Summarize any changes to answers, i.e., - what code configurations: anything with LUNA - what platforms/compilers: pgi - nature of change (roundoff; larger than roundoff/same climate; new climate): roundoff If bitwise differences were observed, how did you show they were no worse than roundoff? I verified that the answer changes just arise due to an extra multiplication by 1 in LUNA, which must change order of operations for pgi. (I compared with this one-off from master and was bit-for-bit: https://github.com/billsacks/ctsm/commit/011c79fc361a98c04a42824b74ca81209262da7c) Other details ------------- Pull Requests that document the changes (include PR ids): https://github.com/ESCOMP/CTSM/pull/1232 https://github.com/ESCOMP/CTSM/pull/1370 =============================================================== =============================================================== Tag name: ctsm5.1.dev050 Originator(s): sacks (Bill Sacks) Date: Mon Aug 2 17:17:10 MDT 2021 One-line Summary: Improve and document method for getting diagnostics on a problem point Purpose and description of changes ---------------------------------- Following from the changes in ctsm5.1.dev047 to change the lower bounds to 1 on all processors: The one downside of that change was that it made it a bit harder to write diagnostics on a given point. This PR cleans up the method for writing these diagnostics and adds relevant documentation. 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_1 [ ] clm5_0 [ ] ctsm5_0-nwp [ ] clm4_5 Bugs fixed or introduced ------------------------ Issues fixed (include CTSM Issue #): - Resolves ESCOMP/CTSM#164 (BalanceCheck: Calls get_proc_bounds from threaded region) - Resolves ESCOMP/CTSM#1424 (Change all the endrun calls to write out the point context information) Testing summary: ---------------- regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing): cheyenne ---- ok izumi ------- ok Answer changes -------------- Changes answers relative to baseline: NO Other details ------------- List any externals directories updated (cime, rtm, mosart, cism, fates, etc.): - cdeps: cdeps0.12.14 -> cdeps0.12.17 Pull Requests that document the changes (include PR ids): https://github.com/ESCOMP/CTSM/issues/1424 =============================================================== =============================================================== Tag name: ctsm5.1.dev049 Originator(s): jedwards4b/erik (Erik Kluzek,UCAR/TSS,303-497-1326) Date: Mon Jul 26 01:31:04 MDT 2021 One-line Summary: Update externals, NEON updates, fix stop_option=date, move neon niwo test to match user_mods, local time option Purpose and description of changes ---------------------------------- Move the NEON_NIWO test to NEON/NIWO to match the names in usermods. Output particular fields for the NEON cases, and use a reduced size dataset for lightning for NEON sites. Update NEON surface datasets with new scripts included here. Fix stop option for NUOPC. NEON NIWO test in testlist explicity uses the user-mod as well as the defaults testmod. This script is for modifying the surface dataset at neon sites using data available from the neon server. Also add the ability to output history fields for a particular time of day (in seconds) with the LXXXXX history averaging option from Ronny Meier. Externals are updated extensively to the version with cpl7 cime directories split out for CESM. Significant changes to scientifically-supported configurations -------------------------------------------------------------- Does this tag change answers significantly for any of the following physics configurations? No (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_1 [ ] clm5_0 [ ] ctsm5_0-nwp [ ] clm4_5 Bugs fixed or introduced ------------------------ Issues fixed (include CTSM Issue #): #1412 Fixes #1412 -- Reduce data requirements for NEON single point sites Fixes #1353 -- Need script to modify NEON surface datasets CIME Issues fixed (include issue #): #3915 Fixes cime/#3915 -- CESM nuopc build fails on izumi_nag Known bugs introduced in this tag (include issue #): #1437 -- modify_singlept_site_neon.py seems to have trouble finding latest file and creates hidden file for output #1436 -- Need subset_data.py script to be able to run from any directory Known bugs found since the previous tag (include issue #): #1429 -- Modified NEON surface datasets have errors Notes of particular relevance for users --------------------------------------- Caveats for users (e.g., need to interpolate initial conditions): NEON cases now download data to $RUNDIR Changes to the datasets (e.g., parameter, surface or initial files): NEON sufdata Notes of particular relevance for developers: --------------------------------------------- NOTE: Be sure to review the steps in README.CHECKLIST.master_tags as well as the coding style in the Developers Guide [Remove any lines that don't apply. Remove entire section if nothing applies.] Caveats for developers (e.g., code that is duplicated that requires double maintenance): Note when you have a test with two testmod directories it won't be able to reduce any deuplication that happens in directories used between the two. Changes to tests or testing: Test mods in testlists can now include multiple test mod directories and this is used for the NEON test Testing summary: regular ---------------- [PASS means all tests PASS; OK means tests PASS other than expected fails.] build-namelist tests (if CLMBuildNamelist.pm has changed): cheyenne - PASS (47 tests differ from before because of NEON surface dataset update) tools-tests (test/tools) (if tools have been changed): cheyenne - OK python testing (if python code has changed; see instructions in python/README.md; document testing done): cheyenne - PASS regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing): cheyenne ---- OK izumi ------- OK Answer changes -------------- Changes answers relative to baseline: No bit-for-bit ------------- List any externals directories updated (cime, rtm, mosart, cism, fates, etc.): cism, mosart, rtm, cime, cmeps, cdeps (cime split) cism to cismwrap_2_1_85 mosart to mosart1_0_43 rtm to rtm1_0_77 cime to cime6.0.3 cmeps to cmeps0.13.15 cdeps to cdeps0.12.14 New cime-split externals: cpl7.0.3 share1.0.2 MCT_2.11.0 pio2_5_4 Pull Requests that document the changes (include PR ids): (https://github.com/ESCOMP/ctsm/pull) #1411 -- fix stop_option=date, move neon niwo test to match user_mods #1375 -- Script for modifying neon surface dataset #1374 -- Local solar time option for average flag =============================================================== =============================================================== Tag name: ctsm5.1.dev048 Originator(s): slevis (Samuel Levis,SLevis Consulting,303-665-1310) Date: Sat Jul 10 11:39:55 MDT 2021 One-line Summary: Make certain history fields descriptive inst. of labeling by number Purpose and description of changes ---------------------------------- I used existing infrastructure to add descriptive strings to certain history fields that I had labeled by number in #1340. While doing this, I applied the change to a bunch of other history fields that needed it. Some variable names for pools was also changed to use terms consistent with the new names as well. 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_1 [ ] clm5_0 [ ] ctsm5_0-nwp [ ] clm4_5 Bugs fixed or introduced ------------------------ Issues fixed (include CTSM Issue #): #1392 #1392 -- Some soil decomposition history fields have the pool number rather than a description in their name Notes of particular relevance for users --------------------------------------- Caveats for users (e.g., need to interpolate initial conditions): The names of certain history fields have changed to be more descriptive in place of using numbers to differentiate them. history field name change as follows... LITR1 becomes MET_LIT (metabolic) LITR2 becomes CEL_LIT (cellulosic) LITR3 becomes LIG_LIT (lignin) SOIL1 becomes ACT_SOM (active) SOIL2 becomes SLO_SOM (slow) SOIL3 becomes PAS_SOM (passive) Testing summary: ---------------- build-namelist tests (if CLMBuildNamelist.pm has changed): cheyenne - PASS python testing (if python code has changed; see instructions in python/README.md; document testing done): cheyenne - PASS [PASS means all tests PASS; OK means tests PASS other than expected fails.] regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing): cheyenne ---- OK izumi ------- OK Answer changes -------------- Changes answers relative to baseline: NO bit-for-bit Other details ------------- Pull Requests that document the changes (include PR ids): https://github.com/ESCOMP/ctsm/pull/1413 =============================================================== =============================================================== Tag name: ctsm5.1.dev047 Originator(s): mvertens (Mariana Vertenstein) Date: Thu Jul 8 12:03:31 MDT 2021 One-line Summary: Start bounds at 1; remove references to MCT Purpose and description of changes ---------------------------------- Users: take note of (1), and in particular the caveat for users noted below (in the "Notes of particular relevance for users"). (1) All global index arrays on a given processor now have a starting index of 1 - bounds_proc for each subgrid level has a starting index of 1 for each level - bounds_clump for each subgrid level has a starting index of 1 for just the first clump on the processor - but all the other clumps on the processor do not start at 1 - but rather are offset with the number of gridcells, columns, ...etc on the preceeding clumps (2) There are no longer any references to any mct data structures other than in the mct cap - All references to gsmap have been removed from decompMod.F90 and replaced with new global index arrays for the various subgrid levels - decompInitMod has been refactored to calculated these global index arrays using pure MPI rather than mct - ncdio_pio_F90.in has been refactored to use the new global index arrays rather than the gsmap data structures - the data struture ldecomp is no longer needed - the module spmdGathScatMod.F90 is no longer needed and has been removed 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_1 [ ] clm5_0 [ ] ctsm5_0-nwp [ ] clm4_5 Bugs fixed or introduced ------------------------ Issues fixed (include CTSM Issue #): - Addresses the first part of ESCOMP/CTSM#293 (Rework threading to be done at a higher level, simplifying array argument passing) Notes of particular relevance for users --------------------------------------- Caveats for users (e.g., need to interpolate initial conditions): - Until now, if the model produced an error message with a gridcell or subgrid index (e.g., "Error at p = 1234"), you could rerun the model with write statements in conditionals like "if (p == 1234) then". With the changes in this tag, this simple conditional is no longer possible. Instead, you will need to also reference the processor number that produces the error. If the error message is produced in the lnd log file, then you can have a conditional like: if (masterproc .and. p == 1234) then If the error message is produced in the cesm log file, then you can have a conditional like: if (iam == X .and. p == 1234) then where X is the processor number that produced the message. On some machines (including cheyenne), this processor number is printed at the start of each line in the cesm log file. In addition, some aborts will now print "proc_id = X", and that value can be used. Soon we will update https://escomp.github.io/ctsm-docs/versions/master/html/users_guide/trouble-shooting/trouble-shooting.html to document the new recommended procedure. Testing summary: ---------------- regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing): cheyenne ---- ok izumi ------- ok Answer changes -------------- Changes answers relative to baseline: NO Other details ------------- Pull Requests that document the changes (include PR ids): https://github.com/ESCOMP/CTSM/pull/1420 =============================================================== =============================================================== Tag name: ctsm5.1.dev046 Originator(s): rgknox (Ryan Knox,,,) Date: Fri Jul 2 14:36:44 MDT 2021 One-line Summary: Updating external fates has to tag sci.1.46.2_api.16.1.0. FATES side changes expand the FATES parameter file to include new fields (unused at present). This also includes sci.1.46.1_api.16.0.0 which contained a sublte bug-fix on how FATES passes fragmentation fluxes (correcting seed decay fragmentation). Purpose and description of changes ---------------------------------- This change brings the fates external up to sci.1.46.2_api.16.1.0. FATES side changes expand the FATES parameter file to include new fields. New and UNUSED parameters include: fates_hydr_htftype_node fates_prt_organ_id fates_hydr_organname_node fates_litterclass_name fates_allom_zroot_k fates_allom_zroot_max_dbh fates_allom_zroot_max_z fates_allom_zroot_min_dbh fates_allom_zroot_min_z fates_hydr_k_lwp fates_hydr_vg_alpha_node fates_hydr_vg_m_node fates_hydr_vg_n_node fates_hlm_pft_map fates_maintresp_model fates_photo_temp_acclim_timescale fates_photo_tempsens_model fates_vai_top_bin_width fates_vai_width_increase_factor New parameters that now over-ride previously hard-coded parameters: fates_theta_cj_c3 fates_theta_cj_c4 New parameters that are unset for developer convenience: fates_dev_arbitrary_pft fates_dev_arbitrary Significant changes to scientifically-supported configurations -------------------------------------------------------------- Does this tag change answers significantly for any of the following physics configurations? No (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_1 [ ] clm5_0 [ ] ctsm5_0-nwp [ ] clm4_5 Bugs fixed or introduced ------------------------ Issues fixed (include CTSM Issue #): Fixes #1383 -- changes shebang lines to python3 fates issue: https://github.com/NGEET/fates/issues/753 Notes of particular relevance for users --------------------------------------- The FATES parameter file now contains new fields. Users must update their personal parameter files to contain these new fields. See src/fates/parameter_files/fates_params_default.cdl Notes of particular relevance for developers: --------------------------------------------- Caveats for developers (e.g., code that is duplicated that requires double maintenance): Developers should also be aware of the new fates parameter file format. Changes to tests or testing: None Testing summary: regular ---------------- [PASS means all tests PASS; OK means tests PASS other than expected fails.] build-namelist tests (if CLMBuildNamelist.pm has changed): cheyenne - PASS (60 compare tests differ to previous tag) python testing (if python code has changed; see instructions in python/README.md; document testing done): cheyenne - PASS regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing): cheyenne ---- OK izumi ------- OK fates tests: cheyenne ---- OK any other testing (give details below): If the tag used for baseline comparisons was NOT the previous tag, note that here: Original testing was done compared to ctsm5.1.dev044, but testing is being rerun now Answer changes -------------- Changes answers relative to baseline: Just for FATES Summarize any changes to answers, i.e., - what code configurations: Just when running FATES - what platforms/compilers: All - nature of change: minor changes related to a bug-fix Other details ------------- List any externals directories updated (cime, rtm, mosart, cism, fates, etc.): FATES fates to sci.1.46.2_api.16.1.0 Pull Requests that document the changes (include PR ids): (https://github.com/ESCOMP/ctsm/pull) #1414 -- Fates api16.1 (parameter file updates) =============================================================== =============================================================== Tag name: ctsm5.1.dev045 Originator(s): slevis (Samuel Levis,SLevis Consulting,303-665-1310) Date: Tue Jun 29 20:05:21 MDT 2021 One-line Summary: Include CWD in heterotrophic respiration (HR) Purpose and description of changes ---------------------------------- Params file sets the respiration fractions for CWD to zero: rf_cwdl2_bgc = 0 rf_cwdl3_bgc = 0 The model has no code to handle rf_cwd* > 0. So... - I have introduced cwdhr_col to track this HR the same way that we track lithr_col for litter. - I have removed if-statements that prevented CWD HR pools and decomposition from writing to history. - I have introduced a new test to the cheyenne test-suite that makes active seven history fields pertaining to CWD HR and points to a params file with rf_cwd* > 0. I have confirmed that the new test returns the new active variables as greater than 0 when pointing to the new params file and equal to 0 when pointing to the default params file. 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_1 [ ] clm5_0 [ ] ctsm5_0-nwp [ ] clm4_5 Bugs fixed or introduced ------------------------ Notes of particular relevance for users --------------------------------------- Notes of particular relevance for developers: --------------------------------------------- Testing summary: ---------------- [PASS means all tests PASS; OK means tests PASS other than expected fails.] build-namelist tests (if CLMBuildNamelist.pm has changed): cheyenne - OK (2 tests fail compare because of fix in #1417) python testing (if python code has changed; see instructions in python/README.md; document testing done): cheyenne - PASS regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing): cheyenne ---- OK izumi ------- OK Answer changes -------------- Changes answers relative to baseline: No Other details ------------- Pull Requests that document the changes (include PR ids): https://github.com/ESCOMP/CTSM/pull/1414 =============================================================== =============================================================== Tag name: ctsm5.1.dev044 Originator(s): mvertens (Mariana Vertenstein) Date: Thu Jun 24 15:59:08 MDT 2021 One-line Summary: New stream functionality when using NUOPC or LILAC Purpose and description of changes ---------------------------------- This tag creates new stream functionality when using the NUOPC and LILAC caps, and maintains backwards compatibility with the older CPL7 stream functionality when using the MCT cap. - New stream code has been placed in src/cpl/share_esmf (so that they can also be leveraged by LILAC) - Older stream code for mct is now in src/cpl/mct - LILAC interface has been changed to leverage the new stream code as well Where possible share code was used. In particular, this holds for SatellitePhenologyMod.F90. 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_1 [ ] clm5_0 [ ] ctsm5_0-nwp [ ] clm4_5 Notes of particular relevance for users --------------------------------------- Changes to CTSM's user interface (e.g., new/renamed XML or namelist variables): - New mesh stream entries are needed now for NUOPC and LILAC compsets Substantial timing or memory changes: None for mct. For ERS_Ly3_P72x2_Vnuopc.f10_f10_mg37.IHistClm50BgcCropG.cheyenne_intel.clm-cropMonthOutput, overall run time is slightly less than the baseline - probably within machine variability. A more careful investigation would be needed to determine if the CDEPS streams have changed performance significantly relative to the MCT-based streams, but the overall timing suggests that there probably aren't *large* differences. Testing summary: ---------------- regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing): cheyenne ---- ok izumi ------- ok Ran most testing on eb696be8d; from this hash, there were FIELDLIST diffs for SP cases. Reran the tests with FIELDLIST diffs from the final version and generated new, fixed baselines. Answer changes -------------- Changes answers relative to baseline: YES, just for NUOPC/LILAC configurations Summarize any changes to answers, i.e., - what code configurations: NUOPC/LILAC - what platforms/compilers: all - nature of change (roundoff; larger than roundoff/same climate; new climate): Larger than roundoff / same climate. Diffs arise due to changes in the interpolation used in cdeps streams vs. the old mct-based streams. Diffs generally keep 3-4 digits of equivalence or better. Other details ------------- List any externals directories updated (cime, rtm, mosart, cism, fates, etc.): - cime: cime5.8.47 -> branch_tags/cime5.8.47_a01 - cdeps: cdeps0.12.4 -> cdeps0.12.11 Pull Requests that document the changes (include PR ids): https://github.com/escomp/ctsm/issues/1356 =============================================================== =============================================================== Tag name: ctsm5.1.dev043 Originator(s): slevis/ekluzek (Samuel Levis,SLevis Consulting,303-665-1310) Date: Thu Jun 3 17:14:30 MDT 2021 One-line Summary: Refactor in preparation for MIMICS Purpose and description of changes ---------------------------------- Refactor aspects of the CTSM in preparation for our introduction of MIMICS, which has started in #1318 . Significant changes to scientifically-supported configurations -------------------------------------------------------------- Does this tag change answers significantly for any of the following physics configurations? NO (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_1 [ ] clm5_0 [ ] ctsm5_0-nwp [ ] clm4_5 Bugs fixed or introduced ------------------------ Known bugs introduced in this tag (include issue #): #1356, #1392 #1356 -- CN is no longer just deprecated it breaks when you try to use it #1392 -- Some soil decomposition history fields have the pool number rather than a descr. Notes of particular relevance for users --------------------------------------- Changes to CTSM's user interface (e.g., new/renamed XML or namelist variables): Moved initial_Cstocks_depth_bgc and initial_Cstocks_bgc from the namelist to the params file. Also renamed tau_cwd to tau_cwd_bgc and k_frag to k_frag_cn in the params file according to the models that use these parameters. Changes made to namelist defaults (e.g., changed parameter values): initial_Cstocks_depth_bgc and initial_Cstocks_bgc are not namelist variables anymore. Changes to the datasets (e.g., parameter, surface or initial files): There are new params files for clm45, clm50, and ctsm51. Substantial timing or memory changes: FAIL PFS_Ld20.f09_g17.I2000Clm50BgcCrop.cheyenne_intel MEMCOMP Error: Memory usage increase > 10% from baseline Throughput doesn't seem to change. There might be an increase in memory as it's indicated for 20 tests. And some arrays were changed to add an extra dimension. Testing summary: ---------------- [PASS means all tests PASS; OK means tests PASS other than expected fails.] build-namelist tests (if CLMBuildNamelist.pm has changed): cheyenne - PASS (785 tests are different because of new params files and removed namelist items) python testing (if python code has changed; see instructions in python/README.md; document testing done): cheyenne - PASS regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing): cheyenne ---- OK (read above in "bugs introduced" about CN failures) izumi ------- OK (read below in "other testing" about pgi failures) any other testing (give details below): Two unexpected tests fail on izumi, so I performed additional testing. The tests that fail: 1) SMS_D.f10_f10_mg37.I2000Clm51BgcCrop.izumi_pgi.clm-crop BASELINE ctsm5.1.dev042: DIFF roundoff 2) SMS.f10_f10_mg37.I2000Clm50BgcCrop.izumi_pgi.clm-crop BASELINE ctsm5.1.dev042: DIFF greater than roundoff for CH4-related vars I confirmed same result with my earlier commit against BASELINE dev033. Same tests but with gnu/intel instead of pgi pass on izumi for both comparisons to dev042 and to dev033. These tests are part of the izumi test-suite already. Additional testing: Repeated these gnu/intel tests (had to run for baseline first) on cheyenne and they passed. If the tag used for baseline comparisons was NOT the previous tag, note that here: Answer changes -------------- Changes answers relative to baseline: NO Other details ------------- Pull Requests that document the changes (include PR ids): https://github.com/ESCOMP/CTSM/pull/1340 =============================================================== =============================================================== Tag name: ctsm5.1.dev042 Originator(s): erik (Erik Kluzek,UCAR/TSS,303-497-1326) Date: Fri May 28 14:07:45 MDT 2021 One-line Summary: Small answer changes for double precision constants and limit on organic soil Purpose and description of changes ---------------------------------- Change more constants to double precision. Add in limits on organic matter in soil that @olyson added to the PPE branch (Perturbed Parameter Ensemble). 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_1 [ ] clm5_0 [ ] ctsm5_0-nwp [ ] clm4_5 Bugs fixed or introduced ------------------------ Issues fixed (include CTSM Issue #): #1380 -- Missing NCL script #142 --- hard coded constants aren't all double precision (some work was done on this) Notes of particular relevance for developers: --------------------------------------------- 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): There are still more constants that should be converted to double precision. Testing summary: regular ---------------- [PASS means all tests PASS; OK means tests PASS other than expected fails.] build-namelist tests (if CLMBuildNamelist.pm has changed): cheyenne - PASS python testing (if python code has changed; see instructions in python/README.md; document testing done): cheyenne - PASS regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing): cheyenne ---- OK izumi ------- OK If the tag used for baseline comparisons was NOT the previous tag, note that here: Answer changes -------------- Changes answers relative to baseline: Yes! Summarize any changes to answers, i.e., - what code configurations: All - what platforms/compilers: All - nature of change: mostly single-precision roundoff many constants that were single precision are now double some limits put on soil organic that weren't there previously Other details ------------- Pull Requests that document the changes (include PR ids): (https://github.com/ESCOMP/ctsm/pull) #1384 -- Change some constants to double precision, and add some soil limits =============================================================== =============================================================== Tag name: ctsm5.1.dev041 Originator(s): Ryan Knox Date: Thu May 27 01:10:40 MDT 2021 One-line Summary: Updates to coupling interface to enable FATES-CH4, and to be compatible with FATES-CNP. Purpose and description of changes ---------------------------------- These changes are only relegated to the API with FATES. Boundary conditions were prepared within FATES to enable proper use of the methane model. Further, some minor changes were made to the FATES interface code (clmfates_interfaceMod.F90) allowing compatibility with FATES tag sci.1.46.0_api.16.0.0 (https://github.com/NGEET/fates/releases/tag/sci.1.46.0_api.16.0.0). Most of these changes have to do with how the FATES history interface is instantiated. Significant changes to scientifically-supported configurations -------------------------------------------------------------- [ ] clm5_1 [ ] clm5_0 [ ] ctsm5_0-nwp [ ] clm4_5 Bugs fixed or introduced ------------------------ No bugs fixed or introduced. Notes of particular relevance for users --------------------------------------- This tag brings compatibility with FATES tag: sci.1.46.0_api.16.0.0 CTSM-FATES users should also be aware that the FATES parameter file has been updated. An example is found here: https://github.com/NGEET/fates/blob/sci.1.46.0_api.16.0.0/parameter_files/fates_params_default.cdl Notes of particular relevance for developers: --------------------------------------------- A new test was added to check FATES-CH4 coupling: ERS_Ld9.f10_f10_mg37.I2000Clm50FatesCru.cheyenne_intel.clm-FatesColdDefCH4 Testing summary: ---------------- build-namelist tests (if CLMBuildNamelist.pm has changed): cheyenne - PASS (60 test different because of fates paramfile) python testing (if python code has changed; see instructions in python/README.md; document testing done): cheyenne - PASS regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing): cheyenne ---- OK izumi ------- OK fates tests: cheyenne ---- OK Answer changes -------------- Changes answers relative to baseline: All FATES tests will have different answers with tag: sci.1.46.0_api.16.0.0 This is mostly due to the passing of thaw-depth into more of the rooting depth algorithm. List any externals directories updated (cime, rtm, mosart, cism, fates, etc.): fates fates to sci.1.46.0_api.16.0.0 Pull Requests that document the changes (include PR ids): #1371 (https://github.com/ESCOMP/ctsm/pull) #1371 -- FATES parteh scale fixes api (ie nutrient + methane coupling) =============================================================== =============================================================== Tag name: ctsm5.1.dev040 Originator(s): slevis (Samuel Levis,SLevis Consulting,303-665-1310) Date: Thu May 20 08:28:20 MDT 2021 One-line Summary: Replace masked with "nomask" SRC files for use with mkmapdata and mksurfdata_map Purpose and description of changes ---------------------------------- 1) Collapse multiple source (SRC) files of a given resolution to a single "nomask" SRC file per SRC resolution. The mask variable is now set to 1 everywhere in all SRC files and mkmapdata.sh generates a single map_ file (aka weight file) per destination (DST) resolution. 2) The executable mksurfdata_map now applies the SRC mask found in the raw datasets, since the map_ files do not contain this information. These changes simplify the introduction of new surface variables with raw data in one of our existing SRC resolutions because we need not create new SRC files for such variables. To introduce new surface variables with raw data in new resolutions, the corresponding new SRC files need mask equal to 1 everywhere. NOTE: Answer-changing modifications have been made in mksurfdata_map, but we have NOT recreated the out-of-the-box surface datasets. This means that, if you create new surface datasets, you should expect small answer changes relative to the current out-of-the-box surface datasets. 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_1 [ ] clm5_0 [ ] ctsm5_0-nwp [ ] clm4_5 Bugs fixed or introduced ------------------------ Issues fixed (include CTSM Issue #): #286 Notes of particular relevance for users --------------------------------------- Caveats for users (e.g., need to interpolate initial conditions): These changes are transparent to users making surface datasets using default SRC resolutions. Users using non-default SRC resolutions or users introducing new surface variables with raw data in non-default SRC resolutions, will create new SRC file(s) with mask always set to 1 everywhere. Note, though, that the out-of-the-box surface datasets now differ slightly from what you would produce by running mksurfdata_map. So answer changes should be expected relative to the out-of-the-box surface datasets if you create a new surface dataset. Changes made to namelist defaults (e.g., changed parameter values): Changed the names of most default SRC files and default map_ files to the names of the "nomask" versions of these files. Changes to the datasets (e.g., parameter, surface or initial files): Replaced SRC files and map_ files with "nomask" versions. Most SRC resolutions already had nomask files available, so I created such files for 0.25x0.25, 0.9x1.25, 3x3min, 5x5min, and 0.125x0.125. I changed all of the map_ files except map_1km-merge-10min_HYDRO1K-merge-nomask SRC resolution. I ran the rimport command as follows: ./rimport -list /glade/work/slevis/git/mksurfdata_maps_wo_src_masks/PR_823_new_file_list Substantial timing or memory changes: - We end up with fewer SRC and map_ files by replacing multiple custom grids per SRC resolution with one nomask grid. I list here resolutions that had multiple custom grids per resolution before the switch to nomask: 0.5x0.5: AVHRR, MODIS, and 360x720cru_cruncep 3x3min: GLOBE-Gardner-mergeGIS, GLOBE-Gardner, LandScan2004, MODIS-wCsp 5x5min: IGBP-GSDP, ISRIC-WISE, ORNL 10x10min_IGBPmergeICESatGIS UNSTRUCT info shown for comparison. NOT switching to UNSTRUCT files at this time. - The nomask map_ files are larger now. E.g.: 2754246572 map_3x3min_GLOBE-Gardner_to_0.9x1.25_nomask_aave_da_c191101.nc MASKED SCRIP 3051641404 map_3x3min_nomask_to_0.9x1.25_nomask_aave_da_c191109.nc NOMASK SCRIP 2974797264 map_3x3min_nomask_to_0.9x1.25_nomask_aave_da_c191115.nc NOMASK UNSTRUCT - Although the nomask SCRIP cases shown below are slower because each individual mapping file takes longer to create, the total time to generate mapping files is reduced, possibly significantly, due to the need for fewer mapping files in total. Note the increase in time savings from the 0.5x0.5 to the 10x10min resolution, which suggests even greater time savings for the 3x3min and 5x5min that went from a total of 7 to 2 map_ files. Sample timing data: mkmapdata 0.5x0.5 to 0.9x1.25 MASKED (2 grids) 78.0u 1.30s 1:20.08 99.1% mkmapdata 0.5x0.5 to 0.9x1.25 NOMASK SCRIP 51.199u 0.85s 0:52.61 98.8% mkmapdata 0.5x0.5 to 0.9x1.25 NOMASK UNSTRUC 38.316u 0.69s 0:39.51 98.7% mkmapdata 0.25x0.25 to 0.9x1.25 MASKED SCRI 129.288u 1.46s 2:11.38 99.5% mkmapdata 0.25x0.25 to 0.9x1.25 NOMASK SCRI 168.443u 1.69s 2:50.77 99.6% mkmapdata 0.25x0.25 to 0.9x1.25 NOMASK UNST 110.875u 1.46s 1:52.80 99.5% mkmapdata 0.125x0.125 to 0.9x1.25 MASKED SC 489.651u 3.67s 8:14.58 99.7% mkmapdata 0.125x0.125 to 0.9x1.25 NOMASK SC 646.372u 5.07s 10:54 99.5% mkmapdata 0.125x0.125 to 0.9x1.25 NOMASK UN 388.842u 4.20s 6:33 99.7% mkmapdata 10x10min to 0.9x1.25 MASKED (2 grids) 639.7u 4.8s 10:46 99.7% mkmapdata 10x10min to 0.9x1.25 NOMASK SCRIP 380.3u 3.1s 6:24 99.7% mkmapdata 10x10min to 0.9x1.25 NOMASK UNSTRUCT 264.2u 2.6s 4:27 99.6% mksurfdata_map 0.9x1.25 MASKED SCRIP: 65.846u 18.204s 1:42.64 81.8% mksurfdata_map 0.9x1.25 NOMASK SCRIP: 74.439u 18.502s 1:57.48 79.1% Notes of particular relevance for developers: --------------------------------------------- Caveats for developers (e.g., code that is duplicated that requires double maintenance): - The out-of-the-box surface datasets now differ slightly from what you would produce by running mksurfdata_map. So answer changes should be expected relative to the out-of-the-box surface datasets if you create a new surface dataset. - We were not able to run the check_maps tool on the new mapping files: this generated a seg fault (see https://github.com/ESCOMP/CTSM/pull/823#issuecomment-846248591) Testing summary: tools ---------------- [... Remove before making master tag. Available test levels: a) regular (must be run before handing off a tag to SEs and must be run before committing a tag) b) build_namelist (if namelists and/or build_system changed)) c) tools (only if tools are modified and no CTSM source is modified) d) short (for use during development and in rare cases where only a small change with known behavior is added ... eg. a minor bug fix) e) doc (no source testing required) ... ] [PASS means all tests PASS and OK means tests PASS other than expected fails.] build-namelist tests (if CLMBuildNamelist.pm has changed): cheyenne - tools-tests (test/tools) (if tools have been changed): cheyenne - OK izumi - OK regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing): cheyenne ---- izumi ------- any other testing: 1) Ran in /glade/scratch/slevis/temp_work/surfdata make -f /glade/work/slevis/git/mksurfdata_maps_wo_src_masks/tools/mksurfdata_map/Makefile.data_slevis all to generate all surface datasets. In early 2020 this triggered an error: gridmap_check ERROR from mklakwat: mapping areas not conserved global sum output field = 0.1513392154E+09 global sum input field = 0.1513334049E+09 which goes away with Bob Oehmke's new ESMF build. 2) qcmd -- ./create_test ERP_D_Ld3_P36x2.f10_f10_mg37.I2000Clm50BgcCru.cheyenne_intel.clm-default -c /glade/p/cgd/tss/ctsm_baselines/ctsm5.1.dev038 PASSES w default fsurdat = '/glade/p/cesmdata/cseg/inputdata/lnd/clm2/surfdata_map/release-clm5.0.18/surfdata_10x15_hist_16pfts_Irrig_CMIP6_simyr2000_c190214.nc' gives differences from baseline as expected w new fsurdat that differs more than roundoff from the default one = ‘/glade/p/cesm/cseg/inputdata/lnd/clm2/surfdata_map/surfdata_10x15_hist_16pfts_Irrig_CMIP6_simyr2000_c210503.nc’ If the tag used for baseline comparisons was NOT the previous tag, note that here: Answer changes -------------- Changes answers relative to baseline: YES, but for now the model results are the same: there will be changes to surface datasets when they are remade, but so far we are still pointing to unchanged out-of-the-box surface datasets. Summarize any changes to answers, i.e., - what code configurations: ALL - what platforms/compilers: ALL - nature of change: larger than roundoff/same climate For now, model results are unchanged because we are still using the old surface datasets. However, this tag changes answers in any new surface datasets that are created. I performed testing at the 0.9x1.25 degree resolution. Code changes were tested by comparing baseline files (a) surfdata_0.9x1.25_hist_78pfts_CMIP6_simyr2000_c191101.nc surfdata_0.9x1.25_hist_78pfts_CMIP6_simyr2000_c191101.log generated by running baseline code pointing to masked map_ files to (b) surfdata_0.9x1.25_new_hist_78pfts_CMIP6_simyr2000_c191101.nc surfdata_0.9x1.25_new_hist_78pfts_CMIP6_simyr2000_c191101.log generated by running the new code still pointing to masked map_ files and then comparing to (c) surfdata_0.9x1.25_nomask_78pfts_CMIP6_simyr2000_c191101.nc surfdata_0.9x1.25_nomask_78pfts_CMIP6_simyr2000_c191101.log generated by running the new code pointing to nomask map_ files. We set an expectation of max abs relative differences of less than roughly 1e-13. I got an actual max abs relative difference of 7e-12 in PCT_NAT_PFT for (a) vs (b) and (a) vs (c). I refer to these here as small diffs. All other variables gave smaller diffs except the four VIC variables binfil, Ws, Ds, Dsmax between (b) and (c). These diffs appear in 5 grid cells (along two meridians that got shifted in longitude by less than 1e-13 degrees) that vic considers land in the baseline and ocean in the nomask case. Vic provides valid generic data for ocean grid cells and, therefore, also where the discrepancies occur. This means that if the land model treats these grid cells as land, the model will work. I had to generate new masked map_ files for (a) and (b) because changes in ESMF codes over the years were leading to large differences between all three (a) vs (b) vs (c). Generating new masked map_ files brought the diffs back to small. For the 3x3min and 5x5min SRC resolutions, I made six temporary nomask SRC files, one per surface variable pointing to 3x3min map_ files and one per surface variable pointing to 5x5min map_ files. I did this to get small differences relative to the baseline. I created the temporary files by making copies of the correspoding masked SRC files and changing mask to 1 everywhere. The temporary files had diffs less than roughly 1e-5 from generic nomask files generated by running mkscripgrid.ncl for 3x3min and 5x5min. Ultimately we are replacing the temporary files with the generic nomask files, which leads to larger diffs in the surface datasets. This testing occurred in late 2019 or early 2020. To confirm the results I generated a new set of map_ files for 0.9x1.25 and then created new fsurdat files with the baseline code and with the branch. Only PCT_NAT_PFT triggers the error check for max abs relative diff > 1e-13 with a max abs relative diff = 9e-12. Other details ------------- Pull Requests that document the changes (include PR ids): https://github.com/ESCOMP/CTSM/pull/823 =============================================================== =============================================================== Tag name: ctsm5.1.dev039 Originator(s): jedwards4b/erik (Erik Kluzek,UCAR/TSS,303-497-1326) Date: Tue May 18 14:36:25 MDT 2021 One-line Summary: Add NEON sites Purpose and description of changes ---------------------------------- Add NEON sites. Add cime/cdeps support and capability to run NEON tower sites. This also brings in Negin's first version of the subset_data.py script to create datasets for single-point and regional cases. And a version of it was run to create the NEON surface datasets. To setup a NEON site do the following cd cime/scripts ./create_newcase --case myNEONtest --res CLM_USRDAT --compset IHist1PtClm51Bgc \ --user-mods-dir NEON/NIWO --driver nuopc --run-unsupported (There's also a I1PtClm51Bgc compset that can be used for fixed conditions) Note, also that several externals were updated to the version in cesm2_3_alpha03a. This means that answers change when CISM is turned on. Some of the grids for compsets tested were updated to use the new grid name "gris" in place of the older "gland". 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_1 [ ] clm5_0 [ ] ctsm5_0-nwp [ ] clm4_5 Bugs fixed or introduced ------------------------ Issues fixed (include CTSM Issue #): #1368 -- Longitude isn't correct for NEON singlept fsurdat files. #1353 -- Modify NEON surface data Known bugs introduced in this tag (include issue #): #1364 -- Change NEON surface datasets to 79PFT files to facilitate the crop sites #1368 -- Additional modifications to subset_data.py #1363 -- 2018 and 2018-PD compsets for NEON single point ty #1354 -- Batch run single point sites, including NEON #1355 -- Python scripts for NEON analyses cime/#3970 -- cdeps library fails to build on izumi: nag, intel, and gnu compilers Known bugs found since the previous tag (include issue #): #1351 -- HR fluxes don't include CWD Notes of particular relevance for users --------------------------------------- Caveats for users (e.g., need to interpolate initial conditions): Data coming from NEON -- may be updated after it's uploaded. As such you may need to delete previous downloaded data in order to download the latest. Changes to CTSM's user interface (e.g., new/renamed XML or namelist variables): Yes add NEONSITE, two new compsets Add new compset aliases: I1PtClm51Bgc, and IHist1PtClm51Bgc NEONSITE added to the env_run.xml for a case. Only used for a NEON site with the CLM_USRDAT resolution Changes to the datasets (e.g., parameter, surface or initial files): Surface datasets for NEON added to the NEON user-mod-directory Notes of particular relevance for developers: --------------------------------------------- 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): The two USUMB test-mods duplicate some settings and could have a parent version to inherit from Changes to tests or testing: Change _gl4 tests to _gris4 Single point tower site tests use the CLM1PTStartDate test-mod Add a NEON test for the NIWO site USUMB testmod needs a MCT and NUOPC version Testing summary: regular ---------------- [PASS means all tests PASS; OK means tests PASS other than expected fails.] build-namelist tests (if CLMBuildNamelist.pm has changed): cheyenne - PASS (141 new tests for NEON sites) python testing (if python code has changed; see instructions in python/README.md; document testing done): cheyenne -- PASS regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing): cheyenne ---- OK izumi ------- OK any other testing (give details below): If the tag used for baseline comparisons was NOT the previous tag, note that here: Answer changes -------------- Changes answers relative to baseline: Yes (but only when CISM is on) Summarize any changes to answers, i.e., - what code configurations: Only with CISM on (compsets that end with G) - what platforms/compilers: All - nature of change: similar climate Other details ------------- List any externals directories updated (cime, rtm, mosart, cism, fates, etc.): cime, cism, cmeps, cdeps cime to cime5.8.47 cism to cismwrap_2_1_83 cmeps to cmeps0.13.2 cdeps to cdeps0.12.4 Pull Requests that document the changes (include PR ids): (https://github.com/ESCOMP/ctsm/pull) #1278 -- Neon compsets #1360 -- Singlept and regional subsetting script (initial version) =============================================================== =============================================================== Tag name: ctsm5.1.dev038 Originator(s): erik (Erik Kluzek,UCAR/TSS,303-497-1326) Date: Tue Apr 27 23:51:04 MDT 2021 One-line Summary: Bring in minor changes from the cesm2.2.0 release tag Purpose and description of changes ---------------------------------- Bring in the changes that went in the cesm2.2.0 release tag. Get the CLM offline tools working as well as the tools testing. Remove the finidat file for FATES as it was shown to be problematic in the release testing. Significant changes to scientifically-supported configurations -------------------------------------------------------------- Does this tag change answers significantly for any of the following physics configurations? No (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_1 [ ] clm5_0 [ ] ctsm5_0-nwp [ ] clm4_5 Bugs fixed or introduced ------------------------ Issues fixed (include CTSM Issue #): Fixes #1134 mkmapdata.sh is not working Fixes #1128 missing compset Known bugs found since the previous tag (include issue #): #1358 -- C isotope fields can have garbage values starting in ctsm5.1.dev008 #1357 -- No output values in large lake gridcells in 0.5° resolution (hcru_hcru) Notes of particular relevance for users --------------------------------------- Changes to CTSM's user interface (e.g., new/renamed XML or namelist variables): Add a new compset alias: I2000Clm50FatesCruRsGs Changes to the datasets (e.g., parameter, surface or initial files): Remove finidat file setting for FATES becaues it sometimes caused problems. Notes of particular relevance for developers: --------------------------------------------- Changes to tests or testing: A couple of the tools tests were changed Testing summary: regular ---------------- [PASS means all tests PASS; OK means tests PASS other than expected fails.] build-namelist tests (if CLMBuildNamelist.pm has changed): cheyenne - PASS tools-tests (test/tools) (if tools have been changed): cheyenne - PASS PTCLM testing (tools/shared/PTCLM/test): (if cime or cime_config are changed) (PTCLM is being deprecated, so we only expect this to be done on occasion) cheyenne - OK python testing (if python code has changed; see instructions in python/README.md; document testing done): cheyenne -- PASS regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing): cheyenne ---- OK izumi ------- OK any other testing (give details below): Ran mkmapdata.sh for 1-deg maps If the tag used for baseline comparisons was NOT the previous tag, note that here: Answer changes -------------- Changes answers relative to baseline: No bit-for-bit Other details ------------- List any externals directories updated (cime, rtm, mosart, cism, fates, etc.): PTCLM PTCLM to PTCLM2_20200902 Pull Requests that document the changes (include PR ids): #1179 (https://github.com/ESCOMP/ctsm/pull) #1179 -- Bring in changes from release-cesm2.2.01 to main-development =============================================================== =============================================================== Tag name: ctsm5.1.dev037 Originator(s): slevis (Samuel Levis,SLevis Consulting,303-665-1310) Date: Fri Apr 23 10:06:32 MDT 2021 One-line Summary: Correct vertical interpolation in init_interp when soil thicknesses change Purpose and description of changes ---------------------------------- To correct how init_interp handles soil variables with units of kg/m2 or mm or mm/s (generally speaking so-called extensive properties), we now add DZSOI and a scale_by_thickness flag to restart files. In init_interp we use these to scale the vertical interpolation by soil layer thickness. 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.] [X] clm5_1 [X] clm5_0 [X] ctsm5_0-nwp [X] clm4_5 Bugs fixed or introduced ------------------------ [Remove any lines that don't apply. Remove entire section if nothing applies.] Issues fixed (include CTSM Issue #): #1298 Notes of particular relevance for users --------------------------------------- [Remove any lines that don't apply. Remove entire section if nothing applies.] Caveats for users (e.g., need to interpolate initial conditions): For H2OSOI_LIQ, H2OSOI_ICE, SMP, and HK, from now on init_interp interpolates from the soil profile in finidat to the soil profile in the model by scaling these variables by dzsoi (layer thickness). This makes the vertical interpolation of these variables more accurate. Users need not do anything. Changes to CTSM's user interface (e.g., new/renamed XML or namelist variables): Changes to the datasets (e.g., parameter, surface or initial files): From now on newly generated finidat files will contain the scale_by_thickness flag and DZSOI for use by the new code. For backwards compatibility, the code handles preexisting finidat files by deriving dzsoi from the node depths for the four variables listed above. Notes of particular relevance for developers: --------------------------------------------- NOTE: Be sure to review the steps in README.CHECKLIST.master_tags as well as the coding style in the Developers Guide [Remove any lines that don't apply. Remove entire section if nothing applies.] Changes to tests or testing: Added two unit tests to confirm that the modified vertical interpolation behaves as expected. Testing summary: ---------------- [Remove any lines that don't apply.] [PASS means all tests PASS; OK means tests PASS other than expected fails.] regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing): cheyenne ---- OK izumi ------- OK any other testing (give details below): Unit tests PASS Answer changes -------------- Changes answers relative to baseline: Yes [ If a tag changes answers relative to baseline comparison the following should be filled in (otherwise remove this section). And always remove these three lines and parts that don't apply. ] Summarize any changes to answers, i.e., - what code configurations: ALL - what platforms/compilers: ALL - nature of change: larger than roundoff/same climate scale_by_thickness=.true. for the four variables that require it (listed above). This causes answers to change for all tests in the test suite that interpolate from the soil profile found in finidat to a differing soil profile used by the model. Other details ------------- Pull Requests that document the changes (include PR ids): https://github.com/ESCOMP/CTSM/pull/1301 =============================================================== =============================================================== Tag name: ctsm5.1.dev036 Originator(s): glemieux (Gregory Lemieux,LBL/NGEET,510-486-5049) Date: Wed Apr 21 14:50:19 MDT 2021 One-line Summary: FATES tag update and snow occlusion of LAI fix Purpose and description of changes ---------------------------------- This tag updates the way in which fates is called during restarts to appropriately handle the fates-side snow occlusion code. Additionally, this update points to the most recent fates tag, which includes a number of fates science updates (including the snow occlusion fix) and fates-side bug fixes (see below for list of issues addressed). 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_1 [ ] clm5_0 [ ] ctsm5_0-nwp [ ] clm4_5 Bugs fixed or introduced ------------------------ Issues fixed (include CTSM Issue #): #1293 -- Update FATES on CTSM main-dev NGEET/fates#359 -- ground snow is not occluding lai profile NGEET/fates#709 -- Error Check issue in EDPatchDynamicsMod.F90: spawn_patches() causes problem with logging module NGEET/fates#725 -- declaration of the prt pointer NGEET/fates#713 -- Changes associated with patch fraction burnt NGEET/fates#473 -- Update FIRE_AREA long name units NGEET/fates#575 -- Clean up NaN and zeroing of fire variables in Patch and Cohort Dynamics Known bugs found since the previous tag (include issue #): #1338 -- Floating point exception in fates gnu compiler regression test with ctsm5.1.dev027 Testing summary: regular ---------------- [PASS means all tests PASS; OK means tests PASS other than expected fails.] build-namelist tests (if CLMBuildNamelist.pm has changed): cheyenne - PASS python testing (if python code has changed; see instructions in python/README.md; document testing done): cheyenne - PASS regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing): cheyenne ---- ok izumi ------- ok ok: All non-fates testmods PASS b4b. Fates testmods have DIFF as expected due to update of fates science tag. fates tests: cheyenne ---- ok ok: NLCOMP failures due to clm50_param file update relative to ctsm tag used on the last fates baseline. fates baseline: fates-sci.1.44.1_api.14.2.0-ctsm5.1.dev033-C30ca1849-F6065b9a2 Answer changes -------------- Changes answers relative to baseline: Yes, only for fates Summarize any changes to answers, i.e., - what code configurations: all fates - what platforms/compilers: all - nature of change (roundoff; larger than roundoff/same climate; new climate): larger than roundoff If bitwise differences were observed, how did you show they were no worse than roundoff? - fates-side review of expected differences for all PRs that changed answers (2 science updates and 2 bug fixes) Other details ------------- List any externals directories updated (cime, rtm, mosart, cism, fates, etc.): fates: sci.1.43.2_api.14.2.0 -> sci.1.45.0_api.15.0.0 Pull Requests that document the changes (include PR ids): (https://github.com/ESCOMP/ctsm/pull) - https://github.com/ESCOMP/CTSM/pull/1324 - https://github.com/NGEET/fates/pull/734 =============================================================== =============================================================== Tag name: ctsm5.1.dev035 Originator(s): sacks (Bill Sacks) Date: Tue Apr 20 10:45:25 MDT 2021 One-line Summary: Misc bfb enhancements and fixes Purpose and description of changes ---------------------------------- (1) If CISM is running over Antarctica, use virtual glacier columns over Antarctica (2) Remove "mec" from some glacier/ice variable names (it is misleading to have "mec" in variable names when the ice landunit can actually have multiple columns *or* a single column) (ESCOMP/CTSM#1294) (3) Add history file metadata on each variable's l2g_scale_type (adds a landunit_mask attribute) (ESCOMP/CTSM#1343) (4) Use python3 in more shebang lines - needed to run python unit tests on cheyenne (5) New compset naming for IG compsets (ESCOMP/CTSM#1289) (6) Remove calculation of fun_cost_fix that is overwritten (ESCOMP/CTSM#1115) (7) Bypass grid-level water mass check when fates hydro is active (ESCOMP/CTSM#1334) (8) Remove some dead code (ESCOMP/CTSM#1333) 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_1 [ ] clm5_0 [ ] ctsm5_0-nwp [ ] clm4_5 Bugs fixed or introduced ------------------------ [Remove any lines that don't apply. Remove entire section if nothing applies.] Issues fixed (include CTSM Issue #): - Resolves ESCOMP/CTSM#1115 (overwrite fun_cost_fix) - Resolves ESCOMP/CTSM#1289 (After updating to cism2_1_76 or later, change compsets involving CISM) - Resolves ESCOMP/CTSM#1294 (Replace istice_mec with istice) - Resolves ESCOMP/CTSM#1333 (Remove some dead code) - Resolves ESCOMP/CTSM#1343 (Add landunit_mask (formerly l2g_scale_type) metadata to history file) Notes of particular relevance for users --------------------------------------- [Remove any lines that don't apply. Remove entire section if nothing applies.] Changes to CTSM's user interface (e.g., new/renamed XML or namelist variables): - Renamed maxpatch_glcmec to maxpatch_glc Substantial timing or memory changes: - Increase in land initialization time in the PFS test (PFS_Ld20.f09_g17.I2000Clm50BgcCrop.cheyenne_intel); this is probably due to machine variability because I don't think any of the changes in this tag would have any significant impact on model initialization time. Testing summary: ---------------- build-namelist tests (if CLMBuildNamelist.pm has changed): cheyenne - ok (tests pass, namelists differ as expected) python testing (if python code has changed; see instructions in python/README.md; document testing done): (any machine) - pass (ran 'make test' on cheyenne and 'make all' on my Mac) regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing): cheyenne ---- ok izumi ------- ok Answer changes -------------- Changes answers relative to baseline: NO Other details ------------- Pull Requests that document the changes (include PR ids): - One small piece is documented in https://github.com/ESCOMP/CTSM/pull/1334 =============================================================== =============================================================== Tag name: ctsm5.1.dev034 Originator(s): erik (Erik Kluzek,UCAR/TSS,303-497-1326) Date: Mon Apr 19 16:02:29 MDT 2021 One-line Summary: Bring in Arctic changes to LUNA from Leah Birch Purpose and description of changes ---------------------------------- This is @lmbirch89 branch from #947 with the exception that Kattge is used in place of Leuning in LUNA. Also the startup initial values in the luna bug fix branch #961 is used in place of the updated values by @lmbirch89. The LUNA bug fixes have already come in, so these are some changes to improve arctic plants. We have addressed the issues in phenology and photosynthesis in the high latitudes. Development was focused on PFT specific differences and we used observations to inform model development. GPP is improved now such that the tundra is realistically less productive than the boreal forest. 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.] [x] clm5_1 [ ] clm5_0 [ ] ctsm5_0-nwp [ ] clm4_5 Bugs fixed or introduced ------------------------ Issues fixed (include CTSM Issue #): Fixes #807 -- Revisit PFT optical properties per Majasalmi and Bright (2019) Fixes #1307 -- Turn on reseed_dead_plants when you start AD spinup mode Known bugs introduced in this tag (include issue #): #1346 -- Use of floating point flag onset_thresh is confusing in CNPhenologyMod Notes of particular relevance for users --------------------------------------- Changes to CTSM's user interface (e.g., new/renamed XML or namelist variables): New namelist items: onset_thresh_depends_on_veg and min_crtical_dayl_depends_on_lat Changes made to namelist defaults (e.g., changed parameter values): reseed_dead_plants turned on when AD spinup mode turned on onset_thresh_depends_on_veg and min_crtical_dayl_depends_on_lat turned on for clm5_1 physics Changes to the datasets (e.g., parameter, surface or initial files): New parameter file (same as start used in PPE work) also has additional fields on it Notes of particular relevance for developers: --------------------------------------------- NOTE: Be sure to review the steps in README.CHECKLIST.master_tags as well as the coding style in the Developers Guide [Remove any lines that don't apply. Remove entire section if nothing applies.] Caveats for developers (e.g., code that is duplicated that requires double maintenance): As noted in #1346 some of the logic in CNPhenology in CNSeasonDecidPhenology is a bit confusing. The soil layer used was put in CNSharedParameters and needed it's own subroutine to prevent circular dependencies. There are new accumulator variables added that area always turned on even when not needed. Doing this in a reasonable manner (without having lots of CNPhenology logic spilled into base types) would require a refactoring of a better way to figure this out. Testing summary: regular ---------------- [PASS means all tests PASS; OK means tests PASS other than expected fails.] build-namelist tests (if CLMBuildNamelist.pm has changed): cheyenne - PASS python testing (if python code has changed; see instructions in python/README.md; document testing done): cheyenne - PASS regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing): cheyenne ---- OK izumi ------- OK Answer changes -------------- Changes answers relative to baseline: Yes for clm5_1 physics Summarize any changes to answers, i.e., - what code configurations: clm5_1 - what platforms/compilers: all - nature of change: new climate If this tag changes climate describe the run(s) done to evaluate the new climate (put details of the simulations in the experiment database) oleson -- clm50_ctsm10d089_2deg_GSWP3V1_lmbirch_wkattge_jmaxb1-0.17_slatopA_1850AD URL for LMWG diagnostics output used to validate new climate: http://webext.cgd.ucar.edu/I1850/clm50_ctsm10d089_2deg_GSWP3V1_lmbirch_wkattge_jmaxb1-0.17_slatopA_1850AD/ Other details ------------- Pull Requests that document the changes (include PR ids): #990 (https://github.com/ESCOMP/ctsm/pull) #990 -- Arctic changes branch with Kattge in place of Leuning in LUNA =============================================================== =============================================================== Tag name: ctsm5.1.dev033 Originator(s): mvertens (Mariana Vertenstein), sacks (Bill Sacks) Date: Sat Apr 10 16:42:06 MDT 2021 One-line Summary: Remove unnecessary settings of nextsw_cday Purpose and description of changes ---------------------------------- Remove setting of nextsw_cday in initialization: this hasn't been needed ever since we stopped calculating albedos in initialization. Also remove nextsw_cday from clm_time_manager: this was being set but was never referenced from here: instead, nextsw_cday was being passed as an argument to clm_drv. Also, updates cime to a branch tag where I have fixed the --retry option to create_test. 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_1 [ ] clm5_0 [ ] ctsm5_0-nwp [ ] clm4_5 Bugs fixed or introduced ------------------------ CIME Issues fixed (include issue #): - ESMCI/cime#3912 (create_test --retry fails if the test is doing baseline generation) Testing summary: ---------------- regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing): cheyenne ---- OK izumi ------- OK Answer changes -------------- Changes answers relative to baseline: NO Other details ------------- List any externals directories updated (cime, rtm, mosart, cism, fates, etc.): - cime: cime5.8.42 -> branch_tags/cime5.8.42_a01 Pull Requests that document the changes (include PR ids): - Second part of https://github.com/ESCOMP/CTSM/pull/1330 =============================================================== =============================================================== Tag name: ctsm5.1.dev032 Originator(s): mvertens (Mariana Vertenstein), sacks (Bill Sacks) Date: Sat Apr 10 09:47:25 MDT 2021 One-line Summary: Fix bugs in co2 from atmosphere Purpose and description of changes ---------------------------------- ctsm5.1.dev002 introduced bugs when receiving co2 from the atmosphere, both for mct and nuopc: - For mct, with spatially-varying co2 from atmosphere, all grid cells on a given processor were given the co2 value from the last grid cell on that processor - For nuopc, co2 from atmosphere was ignored and overridden with a constant co2 value This tag fixes both of those bugs. 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.] [X] clm5_1 [X] clm5_0 [X] ctsm5_0-nwp [X] clm4_5 Bugs fixed or introduced ------------------------ [Remove any lines that don't apply. Remove entire section if nothing applies.] Issues fixed (include CTSM Issue #): - Resolves ESCOMP/CTSM#1327 (When using co2 from atmosphere with mct, it looks like values are taken just from the last gridcell on each proc) Testing summary: ---------------- regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing): cheyenne ---- OK izumi ------- OK Answer changes -------------- Changes answers relative to baseline: YES Summarize any changes to answers, i.e., - what code configurations: Cases where CTSM receives CO2 from atmosphere - what platforms/compilers: all - nature of change (roundoff; larger than roundoff/same climate; new climate): potentially new climate Answer changes due to fixing these issues: - For mct, with spatially-varying co2 from atmosphere, all grid cells on a given processor were given the co2 value from the last grid cell on that processor - For nuopc, co2 from atmosphere was ignored and overridden with a constant co2 value In the test suite, this leads to changes in: - ERP_D_Ld10_P36x2_Vnuopc.f10_f10_mg37.IHistClm51BgcCrop.cheyenne_intel.clm-ciso_decStart - ERS_Ly3_P72x2_Vnuopc.f10_f10_mg37.IHistClm50BgcCropG.cheyenne_intel.clm-cropMonthOutput - SMS_D_Ln9_P480x1_Vnuopc.f19_g17.IHistClm50Sp.cheyenne_intel.clm-waccmx_offline But more widespread changes are expected - including for mct - if coupled runs can generate spatially-varying co2 from atm Other details ------------- Pull Requests that document the changes (include PR ids): - Merges the first part of the changes in https://github.com/ESCOMP/CTSM/pull/1330 =============================================================== =============================================================== Tag name: ctsm5.1.dev031 Originator(s): jedwards (Jim Edwards), sacks (Bill Sacks) Date: Sat Apr 10 07:33:49 MDT 2021 One-line Summary: Update externals and fixes for nuopc threading Purpose and description of changes ---------------------------------- (1) Some fixes for threading with the nuopc/cmeps driver. (However, threading with nuopc/cmeps still doesn't work completely: see https://github.com/ESCOMP/CTSM/issues/1331.) (2) Updates externals to versions needed for these nuopc threading changes 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_1 [ ] clm5_0 [ ] ctsm5_0-nwp [ ] clm4_5 Bugs fixed or introduced ------------------------ Known bugs introduced in this tag (include issue #): - https://github.com/ESCOMP/CTSM/issues/1331 Some runs with NUOPC driver with multiple threads can hang Notes of particular relevance for developers: --------------------------------------------- Changes to tests or testing: - Temporarily changed SMS_D_Ln9_P480x3_Vnuopc.f19_g17.IHistClm50Sp.cheyenne_intel.clm-waccmx_offline to use a 480x1 layout so that it will pass reliably (see https://github.com/ESCOMP/CTSM/issues/1331) Testing summary: ---------------- regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing): cheyenne ---- OK izumi ------- OK If the tag used for baseline comparisons was NOT the previous tag, note that here: Answer changes -------------- Changes answers relative to baseline: YES (but very limited) Summarize any changes to answers, i.e., - what code configurations: NUOPC driver with CISM - what platforms/compilers: cheyenne_intel; maybe others - nature of change (roundoff; larger than roundoff/same climate; new climate): roundoff For an unknown reason, the new externals lead to small differences in global sums in the CMEPS driver/mediator. For what we assume is the same reason, lnd -> glc fields can change by roundoff (probably due to the global renormalization). The only test in the aux_clm test suite where this shows up is ERS_Ly3_P72x2_Vnuopc.f10_f10_mg37.IHistClm50BgcCropG.cheyenne_intel.clm-cropMonthOutput If bitwise differences were observed, how did you show they were no worse than roundoff? Inspection of cpl hist files Other details ------------- List any externals directories updated (cime, rtm, mosart, cism, fates, etc.): - cism: cism2_1_75 -> cism_1_78 - rtm: rtm1_0_75 -> rtm1_0_76 - mosart: mosart1_0_41 -> mosart1_0_42 - cime: cime5.8.39 -> cime5.8.42 - cmeps: v0.5.0 -> v0.9.0 - cdeps: v0.5.0 -> v0.6.0 Pull Requests that document the changes (include PR ids): - https://github.com/ESCOMP/CTSM/pull/1319 =============================================================== =============================================================== Tag name: ctsm5.1.dev030 Originator(s): mvertens / erik (Erik Kluzek,UCAR/TSS,303-497-1326) Date: Wed Mar 31 16:46:04 MDT 2021 One-line Summary: New single column functionality for the NUOPC cap Purpose and description of changes ---------------------------------- Implemented new nuopc/cmeps single column functionality. In config/cesm/config_files.xml - single point domains are only used for mct/cpl7. For cmeps single point meshes are now generated on the fly and component domains files are no longer needed. env_run.xml variables PTS_LAT, PTS_LON and PTS_DOMAINFILE are used to determine if there is a single point or single column run. If PTS_LAT and PTS_LON are not -999 and PTS_DOMAINFILE is UNSET, then you have a single point run and the exact values of PTS_LAT and PTS_LON are used. If PTS_LAT and PTS_LON are not -999 and PTS_DOMAINFILE is not UNSET, then then the cmeps driver will recognize the nearest neighbor values of PTS_LAT and PTS_LON in PTS_DOMAINFILE as the single column lat and lon to use. 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_1 [ ] clm5_0 [ ] ctsm5_0-nwp [ ] clm4_5 Bugs fixed or introduced ------------------------ Issues fixed (include CTSM Issue #): Fixes #1312 -- Add NUOPC tests Fixes #1302 -- Setup to allow landuse.timeseries file for high resolution cases for 2000-2025 Fixes #1183 -- mkmapdata needs input option for large file support, current defaults unsuitable for high res grids. Known bugs introduced in this tag (include issue #): Known bugs found since the previous tag (include issue #): #1317 -- MPI timeout for some izumi_nag tests reading in datm forcing files in NUOPC cap #1314 -- Send unset value for scol_lat/lon from driver Notes of particular relevance for users --------------------------------------- Notes of particular relevance for developers: --------------------------------------------- NOTE: Be sure to review the steps in README.CHECKLIST.master_tags as well as the coding style in the Developers Guide [Remove any lines that don't apply. Remove entire section if nothing applies.] Caveats for developers (e.g., code that is duplicated that requires double maintenance): Nine step tests changed so that they have ROF run at same frequency as ATM (like the similar CAM tests) as these will fail with NUOPC since it doesn't allow you to end not on an even time-step for all components. One of these tests changed to a CAM type test from decStart Changes to tests or testing: Add more NUOPC tests to test list Testing summary: regular ---------------- [PASS means all tests PASS; OK means tests PASS other than expected fails.] build-namelist tests (if CLMBuildNamelist.pm has changed): cheyenne - PASS tools-tests (test/tools) (if tools have been changed): cheyenne - OK python testing (if python code has changed; see instructions in python/README.md; document testing done): cheyenne -- FAIL regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing): cheyenne ---- OK izumi ------- OK any other testing (give details below): Ran full izumi test list for nuopc driver (failed tests appear above) If the tag used for baseline comparisons was NOT the previous tag, note that here: Answer changes -------------- Changes answers relative to baseline: No (List of fields change though) Other details ------------- List any externals directories updated (cime, rtm, mosart, cism, fates, etc.): cime, CDEPS, CMEPS cime to cime5.8.39 CDEPS to v0.5.0 CMEPS to v0.5.0 Pull Requests that document the changes (include PR ids): (https://github.com/ESCOMP/ctsm/pull) #1309 -- New single column functionality for NUOPC/CMEPS #1310 -- run_sys_tests: add --retry option on izumi =============================================================== =============================================================== Tag name: ctsm5.1.dev029 Originator(s): mvertens (Mariana Vertenstein), sacks (Bill Sacks) Date: Thu Mar 18 21:21:21 MDT 2021 One-line Summary: Rework domain initialization for nuopc Purpose and description of changes ---------------------------------- Total rework of land domain initialization - no longer need domain files to be created with NUOPC cap. Also, significant performance improvements with the NUOPC cap. 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_1 [ ] clm5_0 [ ] ctsm5_0-nwp [ ] clm4_5 Notes of particular relevance for developers: --------------------------------------------- Caveats for developers (e.g., code that is duplicated that requires double maintenance): - We still need to figure out how to apply this to LILAC: for now, LILAC is still using the old method (as is MCT): reading domain information from fatmlndfrac Testing summary: ---------------- regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing): cheyenne ---- OK izumi ------- PASS Answer changes -------------- Changes answers relative to baseline: YES, but just for NUOPC and limited changes for LILAC Summarize any changes to answers, i.e., - what code configurations: NUOPC, and limited changes for LILAC - what platforms/compilers: all - nature of change (roundoff; larger than roundoff/same climate; new climate): roundoff For nuopc: changes in area (relatively large differences in the f10 test in the test suite, but Mariana saw only very small changes in an f09 case), landfrac; these influence l2r fields, which in turn influence TWS and methane fields. For lilac: just changes in area If bitwise differences were observed, how did you show they were no worse than roundoff? Examination of cprnc diffs. Other details ------------- List any externals directories updated (cime, rtm, mosart, cism, fates, etc.): - rtm: rtm1_0_74 -> rtm1_0_75 - mosart: branch_tag/pio2.n01_mosart1_0_38 -> mosart1_0_41 Pull Requests that document the changes (include PR ids): - https://github.com/ESCOMP/CTSM/pull/1258 - https://github.com/ESCOMP/CTSM/pull/1236 (closed and replaced by 1258) =============================================================== =============================================================== Tag name: ctsm5.1.dev028 Originator(s): swensosc (Sean Swenson) Date: Wed Mar 17 20:08:51 MDT 2021 One-line Summary: Change limitation of top layer evaporation/sublimation Purpose and description of changes ---------------------------------- Sublimation from top soil layer and evaporation/sublimation from top snow layer needs to be limited to ensure moisture states do not become negative. The original formulation did not always work, so we added a new limitation to SoilFluxesMod. Also removes a limitation in SoilHydrologyMod that seemed not to conserve energy and should no longer be necessary with the reworked limitation in SoilFluxesMod. 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_1 [ ] clm5_0 [ ] ctsm5_0-nwp [ ] clm4_5 Bugs fixed or introduced ------------------------ Issues fixed (include CTSM Issue #): - Resolves ESCOMP/CTSM#1253 (h2osoi_ice can go significantly negative) Notes of particular relevance for users --------------------------------------- Caveats for users (e.g., need to interpolate initial conditions): - The old flux limitation in SoilHydrologyMod has been replaced by a truncation of roundoff-level values followed by a check that the final state is non-negative. Although this check hasn't been triggered in any of our testing, it's possible that we'll run into situations where we need to relax the tolerance for this check. Testing summary: ---------------- regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing): cheyenne ---- OK izumi ------- OK Answer changes -------------- Changes answers relative to baseline: YES Summarize any changes to answers, i.e., - what code configurations: all - what platforms/compilers: all - nature of change (roundoff; larger than roundoff/same climate; new climate): Not investigated carefully, but expected to be larger than roundoff/same climate If bitwise differences were observed, how did you show they were no worse than roundoff? N/A Other details ------------- Pull Requests that document the changes (include PR ids): https://github.com/ESCOMP/CTSM/pull/1282 =============================================================== =============================================================== Tag name: ctsm5.1.dev027 Originator(s): sacks (Bill Sacks) Date: Mon Mar 15 14:05:20 MDT 2021 One-line Summary: Update cime and other externals; includes switch to pio2 Purpose and description of changes ---------------------------------- Updates cime and other externals to version in cesm2_3_alpha02b (with some minor changes to cime on top of that). This includes substantial changes to cime, including switching to PIO2 rather than PIO1. Also: - For LILAC, changes default pio_rearranger now that we're using PIO2 by default - In run_sys_tests, adds '-k oed' to qsub command on cheyenne; this is useful now that qpeek is disabled on cheyenne (this puts the job's stdout and stderr files directly in their final location from the beginning, rather than keeping them in some temporary location on the compute node until the job completes) 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_1 [ ] clm5_0 [ ] ctsm5_0-nwp [ ] clm4_5 Bugs fixed or introduced ------------------------ Issues fixed (include CTSM Issue #): - Resolves ESCOMP/CTSM#1175 (Once there is a cime tag with pio2 as the default, update to it) - Resolves ESCOMP/CTSM#1194 (Once we switch to pio2 by default, change the default rearranger used in LILAC) Notes of particular relevance for users --------------------------------------- Caveats for users (e.g., need to interpolate initial conditions): - PIO2 is now the default. This has been tested extensively, but let us know if you run into any I/O related issues. Also, from testing we've done, I/O performance looks better than with PIO1 in many cases, but also let us know if you see a substantial degradation in I/O performance. Changes made to namelist defaults (e.g., changed parameter values): - Some I/O-related defaults change with the use of PIO2 rather than PIO1 Substantial timing or memory changes: - Various changes due to the change to PIO2, some of them large. For the most part, timing improves with PIO2, particularly for production resolutions. - The PFS test and many others show a substantial improvement in timing. This is especially noticeable in initialization time. For example, the initialization time of PFS_Ld20.f09_g17.I2000Clm50BgcCrop.cheyenne_intel dropped from 111 sec to 34 sec. (These tests were run a couple of weeks apart, before and after a cheyenne upgrade, so there may be some machine variability in these numbers, but I saw a big improvement a few months ago with a more objective comparison.) Testing summary: ---------------- regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing): cheyenne ---- ok izumi ------- pass If the tag used for baseline comparisons was NOT the previous tag, note that here: Answer changes -------------- Changes answers relative to baseline: YES, but just for nuopc Summarize any changes to answers, i.e., - what code configurations: Just with nuopc driver - what platforms/compilers: all - nature of change (roundoff; larger than roundoff/same climate; new climate): Not investigated The only test that changes answers is SMS_D_Ld5_Vnuopc.f10_f10_mg37.I2000Clm50BgcCrop.cheyenne_intel.clm-default (There are NLCOMP failures in all tests, though, due to the update to pio2.) Other details ------------- List any externals directories updated (cime, rtm, mosart, cism, fates, etc.): - CISM: cism2_1_69 -> cism2_1_75 - RTM: rtm1_0_73 -> rtm1_0_74 - MOSART: mosart1_0_38 -> branch_tag/pio2.n01_mosart1_0_38 - CIME: branch_tags/cime5.8.32_a02 -> branch_tags/cime5.8.37_a02 - CMEPS: 7654038 -> c4acaa8 - CDEPS: 45b7a85 -> 1f02a73 =============================================================== =============================================================== Tag name: ctsm5.1.dev026 Originator(s): sacks (Bill Sacks) Date: Mon Mar 8 13:20:33 MST 2021 One-line Summary: Change f10 tests to use mg37 mask Purpose and description of changes ---------------------------------- The musgs mask will soon be dropped, and has already been dropped for nuopc 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_1 [ ] clm5_0 [ ] ctsm5_0-nwp [ ] clm4_5 Notes of particular relevance for developers: --------------------------------------------- Changes to tests or testing: All f10_f10_musgs tests changed to f10_f10_mg37 Testing summary: ---------------- regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing): cheyenne ---- pass izumi ------- pass Answer changes -------------- Changes answers relative to baseline: NO BFAIL results for all f10 tests because the tests have changed, but no answer changes =============================================================== =============================================================== Tag name: ctsm5.1.dev025 Originator(s): sacks (Bill Sacks) Date: Tue Feb 23 11:20:17 MST 2021 One-line Summary: Refactor ozone code, and misc. small fixes Purpose and description of changes ---------------------------------- (1) Restructure ozone code (https://github.com/ESCOMP/CTSM/pull/1276) in preparation for new ozone parameterization. (2) Fix non-standard hexadecimal constant (https://github.com/ESCOMP/CTSM/pull/1271), needed for gfortran 10 (3) Remove support for CISM1 (https://github.com/ESCOMP/CTSM/pull/1226) (4) Move final WaterGridcellBalance call out to clm_driver (resolves ESCOMP/CTSM#1286) (5) Only add WA and QCHARGE history fields if use_aquifer_layer is true (resolves ESCOMP/CTSM#1281) (6) Consolidate conditional structures for VIC initialization (resolves ESCOMP/CTSM#1287) 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_1 [ ] clm5_0 [ ] ctsm5_0-nwp [ ] clm4_5 Bugs fixed or introduced ------------------------ Issues fixed (include CTSM Issue #): - Resolves ESCOMP/CTSM#1286 (Move call to WaterGridcellBalance out to the driver) - Resolves ESCOMP/CTSM#1281 (Remove deprecated history output) - Resolves ESCOMP/CTSM#1287 (Inconsistent logic for VIC initialization can cause crash in debug mode) - Resolves ESCOMP/CTSM#1270 (Hexadecimal constants use non-standard Fortran) Testing summary: ---------------- regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing): cheyenne ---- OK izumi ------- OK If the tag used for baseline comparisons was NOT the previous tag, note that here: Answer changes -------------- Changes answers relative to baseline: NO Field lists differ for Clm50 / Clm51 / Ctsm50 tests; otherwise bit-for-bit Other details ------------- Pull Requests that document the changes (include PR ids): - https://github.com/ESCOMP/CTSM/pull/1276 (Restructure ozone code) - https://github.com/ESCOMP/CTSM/pull/1271 (Fix non-standard hexadecimal constant) - https://github.com/ESCOMP/CTSM/pull/1226 (Remove support for CISM1) =============================================================== =============================================================== Tag name: ctsm5.1.dev024 Originator(s): slevis (Samuel Levis,303-665-1310) Date: Sat Feb 20 14:42:33 MST 2021 One-line Summary: Grid cell-level error check for H2O Purpose of changes ------------------ For more robust mass balance error checking, introduced grid cell-level error check for H2O following the approach of pull requests #984 and #1022 Bugs fixed or introduced ------------------------ Issues fixed (include CTSM Issue #): #201 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_1 [ ] clm5_0 [ ] ctsm5_0-nwp [ ] clm4_5 Notes of particular relevance for users --------------------------------------- Caveats for users (e.g., need to interpolate initial conditions): None Changes to CTSM's user interface (e.g., new/renamed XML or namelist variables): None Changes made to namelist defaults (e.g., changed parameter values): None Changes to the datasets (e.g., parameter, surface or initial files): None Substantial timing or memory changes: [For timing changes, can check PFS test(s) in the test suite] 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: None CTSM testing: [PASS means all tests PASS and OK means tests PASS other than expected fails.] build-namelist tests: cheyenne - tools-tests (test/tools): cheyenne - PTCLM testing (tools/shared/PTCLM/test): cheyenne - python testing (see instructions in python/README.md; document testing done): (any machine) - regular tests (aux_clm): cheyenne ---- OK (comparisons to baseline fail as expected) izumi ------- OK (comparisons to baseline fail as expected) If the tag used for baseline comparisons was NOT the previous tag, note that here: Answer changes -------------- Changes answers relative to baseline: YES Summarize any changes to answers, i.e., - what code configurations: ALL - what platforms/compilers: ALL - nature of change: ROUNDOFF Explanation: Moving call BalanceCheck to after the call lnd2glc in subroutine clm_drv causes a change in order of operations that leads to roundoff change in ERRH2O. Confirmed by running ./summarize_cprnc_diffs Detailed list of changes ------------------------ List any externals directories updated (cime, rtm, mosart, cism, fates, etc.): None Pull Requests that document the changes (include PR ids): https://github.com/ESCOMP/ctsm/pull/1228 =============================================================== =============================================================== Tag name: ctsm5.1.dev023 Originator(s): erik (Erik Kluzek,UCAR/TSS,303-497-1326) Date: Thu Feb 11 00:14:03 MST 2021 One-line Summary: Calculate leaf biomass for non-woody PFTS, and a few other small answer changes Purpose and description of changes ---------------------------------- Replace hard code constant 0.25 for leaf mass per area with calculation based on parameter slatop (specific leaf area, top of canopy). Also move num_iter into loop over patches; currently it sits outside a loop, so p index is incorrect. Also do some small answer changes in terms of new parameter files, and some other existing issues that have mild answer changes. 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.] [X] clm5_1 [ ] clm5_0 [ ] ctsm5_0-nwp [ ] clm4_5 Bugs fixed or introduced ------------------------ Issues fixed (include CTSM Issue #): Fixes #1256 -- num_iter incorrect Fixes #1268 -- Leaf biomass not updated for Fixes #1262 -- pconv should be 1 for crops Fixes #1261 -- Restarts fail in AD-spinup mode Fixes #1255 -- mkmapdata crashes because of modules Fixes #1252 -- New urban dataset for fsurdat fails when used with new model Fixes #1184 -- slatop for generic crop Fixes #932 --- Diagnostic variables are incorrect Fixes #478 --- Bare soil g1 should be zero Known bugs found since the previous tag (include issue #): #1274 -- Dead PFTs in PPE2_BHSon simulations Notes of particular relevance for users --------------------------------------- Changes made to namelist defaults (e.g., changed parameter values): Parameter files are updated Changes to the datasets (e.g., parameter, surface or initial files): Notes of particular relevance for developers: --------------------------------------------- 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): Leaf biomass should still be completely moved outside of CanopyFluxes Changes to tests or testing: Add ADspinup test Add an ADspinup restart test that would've detected one of the bugs fixed here Testing summary: regular tools ---------------- [PASS means all tests PASS; OK means tests PASS other than expected fails.] build-namelist tests (if CLMBuildNamelist.pm has changed): cheyenne - PASS (348 tests are different because of parameter file update) tools-tests (test/tools) (if tools have been changed): cheyenne - PASS python testing (if python code has changed; see instructions in python/README.md; document testing done): cheyenne - PASS regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing): cheyenne ---- PASS izumi ------- PASS any other testing (give details below): If the tag used for baseline comparisons was NOT the previous tag, note that here: Answer changes -------------- Changes answers relative to baseline: Yes, clm51, clm50-non-crop, clm45 two diagnostics Summarize any changes to answers, i.e., - what code configurations: clm5_1 for all, clm50 for non-crop (Sp and Bgc), clm4_5 two diagnostics - what platforms/compilers: All - nature of change: clm51--BGC climate, others similar climate Other details ------------- Pull Requests that document the changes (include PR ids): (https://github.com/ESCOMP/ctsm/pull) #1254 -- replace constant leaf mass per area (lma) =============================================================== =============================================================== Tag name: ctsm5.1.dev022 Originator(s): glemieux (Gregory Lemieux,LBL/NGEET,510-486-5049) Date: Fri Feb 5 00:03:28 MST 2021 One-line Summary: Merge fates_main_api into ctsm master Purpose and description of changes ---------------------------------- This brings fates_main_api into and up-to-date with ctsm master. At the point of merge, fates_main_api was parallel with ctsm5.1.dev020, only one tag behind ctsm master's head. The purpose of this merge is to make all future updates to fates on the ctsm master branch instead of on the fates_main_api branch. 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_1 [ ] clm5_0 [ ] ctsm5_0-nwp [ ] clm4_5 Bugs fixed or introduced ------------------------ Issues fixed (include CTSM Issue #): Fixes #1128 -- missing compset for FATES tests Fixes #1002 -- allow transient land-use files when FATES is on? Some work was done on #1272 -- namelist refactor for FATES Known bugs introduced in this tag (include issue #): #1265 -- Diversifying fates testmods included in `aux_clm` test suite #1266 - Add test for successful_ignitions mode for FATES-SPITFIRE Known bugs found since the previous tag (include issue #): #1269 -- GSWP3V1 atmospheric forcing for 2011-2014 is "bad" over Antarctica Notes of particular relevance for users --------------------------------------- Changes made to namelist defaults (e.g., changed parameter values): - fates_spitfire_mode updated with multiple modes that use external datasets - use_fates_cohort_age_tracking added to enable size and age dependent mortality - fates_parteh_mode option 2 added for fates CNP mode Changes to the datasets (e.g., parameter, surface or initial files): fates_paramfile updated to fates_params_api.14.0.0_12pft_c200921.nc Substantial timing or memory changes: Only the fates testmod FatesAllVars failed the MEMCOMP test due to the increase in the number of variables included Notes of particular relevance for developers: --------------------------------------------- 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): There are a couple of issues we plan to address later (#1265, and #1272) Note also that NAG compiler production tests started failing because of a compiler error Since, we only care about NAG for DEBUG testing we removed those tests. Hopefully, a compiler update will allow that to work in the future. Changes to tests or testing: - Added FatesPRT2 testmod test which activates fates CNP mode - Added FatesReducedComplexFixedBiogeo testmod which activates fates fixed biogeography mode - Added FatesSizeAgeMort testmod which activates tracking of size and age dependent mortality in fates - Added Fates_nat_and_anthro_ignitions testmod to activate use of external lightning and population datasets - Non-debug mode nag tests replaced in izumi test list with debug versions due to internal compiler error. Testing summary: regular ---------------- [PASS means all tests PASS; OK means tests PASS other than expected fails.] build-namelist tests (if CLMBuildNamelist.pm has changed): cheyenne - PASS (61 namelists are different because of fates changes) regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing): cheyenne ---- PASS (fates testmods DIFFs are expected) izumi ------- OK ok: All non-fates testmods PASS. Fates testmods have DIFF as expected due to update of fates tag. BFAILs expected due to changing non-debug nag test to debug. See #1264 comments for discussion. fates tests: cheyenne ---- OK ok: expected failures on COMPARE_base_rest for FatesHydro and Fates_nat_and_anthro_ignitions. All else B4B. fates baseline: fates-sci.1.43.2_api.14.2.0-ctsm5.1.dev020-C5f348cac-F5534a940 any other testing (give details below): If the tag used for baseline comparisons was NOT the previous tag, note that here: Answer changes -------------- Changes answers relative to baseline: Yes, only for fates Summarize any changes to answers, i.e., - what code configurations: all fates - what platforms/compilers: all - nature of change (roundoff; larger than roundoff/same climate; new climate): larger than roundoff Comparison made using fates suite between fates_main_api (at ctsm5.1.dev020) and ctsm5.1.dev022. All tests PASS, except for two expected failures and expected NLCOMP failure due to ctsm5.1.dev021 update to paramfile. Other details ------------- List any externals directories updated (cime, rtm, mosart, cism, fates, etc.): fates fates: sci.1.30.0_api.8.0.0 -> sci.1.43.2_api.14.2.0 Pull Requests that document the changes (include PR ids): (https://github.com/ESCOMP/ctsm/pull) #1264 -- Merge fates_main_api into master =============================================================== =============================================================== Tag name: ctsm5.1.dev021 Originator(s): erik (Erik Kluzek,UCAR/TSS,303-497-1326) Date: Tue Jan 12 20:21:52 MST 2021 One-line Summary: Add option for biomass heat storage (BHS) to clm5_1 physics Purpose of changes ------------------ Add heat stored in biomass (for trees and shrubs) to the surface energy balance calculation. Add a switch for it and turn it on by default for clm5_1 physics. It's turned off for clm4_5, clm5_0 physics and when FATES is turned on. Those cases are identical to before, answers only change when it's turned on. Papers describing BHS simulations: R. Meier, Davin, E., Swenson, S., Lawrence, D., and Schwaab, Jo. (2019). Biomass heat storage dampens diurnal temperature variations in forests. Environmental Research Letters. 14. 084026. 10.1088/1748-9326/ab2b4e. S.C. Swenson, Burns, S. P., and Lawrence, D. M. ( 2019). The impact of biomass heat storage on the canopy energy balance and atmospheric stability in the community land model, Journal of Advances in Modeling Earth Systems, 11, 83– 98. https://doi.org/10.1029/2018MS001476 Bugs fixed or introduced ------------------------ Issues fixed (include CTSM Issue #): #342 --- set medlynslope to C4 appropriate value for millet and sorghum (had already been done for miscanthus and switchgrass) #1246 -- Make spinup_factor_deadwood a variable rather than hardcoded constant Known bugs introduced in this tag (include github issue ID): #1247 -- FATES doesn't work with BHS 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.] [X] clm5_1 [ ] clm5_0 [ ] ctsm5_0-nwp [ ] clm4_5 Notes of particular relevance for users --------------------------------------- Caveats for users (e.g., need to interpolate initial conditions): New variables are added on the restart files (stem/leaf biomass and stem Temp) Testing didn't show this as a problem, but theoretically could require updating initial conditions Changes to CTSM's user interface (e.g., new/renamed XML or namelist variables): New compsets, new hist fields I1850Clm51BgcCrop I1850Clm51Bgc History fields: AGSB, AGLB, FSH_STEM, DHDT_CANOPY, RAH1, RAH2, RAW1, RAW2, USTAR, UM, UAF, UM, UAF, TAF, QAF, OBU, ZETA, VPD, num_iter, RB, TSTEM DHSDT_CANOPY, TSTEM are default active Changes made to namelist defaults (e.g., changed parameter values): New use_biomass_heat_storage New namelist item: use_biomass_heat_storage to turn on or off (by default only on for clm5_1 physics for both SP and BGC modes) Changes to the datasets (e.g., parameter, surface or initial files): New parameter datasets All of the params files were updated. New terms were BHS parameters and taper stocking is now set as "nstem" on the parameter file taper is now on the parameter file Substantial timing or memory changes: Doesn't seem to Only one short test failed the TPUTCOMP test Longer tests were not significantly different 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): Setting of leaf/stem biomass should be refactored and removed from CanopyFluxes (as described in #1247) There's a change in CNGapMortality that could change for DV when AD mode is on Stability cap (zera) is different for BHS on than off Changes to tests or testing: New CLM51 FATES test CTSM testing: regular [PASS means all tests PASS and OK means tests PASS other than expected fails.] build-namelist tests: cheyenne - OK (462 comparisons fail because of new namelist and params files) python testing (see instructions in python/README.md; document testing done): cheyenne -- PASS regular tests (aux_clm): cheyenne ---- OK izumi ------- OK If the tag used for baseline comparisons was NOT the previous tag, note that here: Answer changes -------------- Changes answers relative to baseline: Yes! Summarize any changes to answers, i.e., - what code configurations: clm5_1 - what platforms/compilers: all - nature of change: new climate for tree and shrubs Detailed list of changes ------------------------ Pull Requests that document the changes (include PR ids): (https://github.com/ESCOMP/ctsm/pull) #1016 -- Heat Storage biomass =============================================================== =============================================================== Tag name: ctsm5.1.dev020 Originator(s): erik (Erik Kluzek,UCAR/TSS,303-497-1326) Date: Wed Dec 30 00:42:16 MST 2020 One-line Summary: Potential roundoff changes in preparation for bio-mass heat storage option Purpose of changes ------------------ This adds in some changes that may be roundoff different in preparation for bringing in the changes that allow turning on the bio-mass heat storage option. There's a few zeroed terms added to some calculations in CanopyFluxes. The new terms are identical to what will come in for BHS except the zeroed terms are not arrays here but scalars. I showed the new terms are only off by roundoff with a previous commit that added explicit tests for the terms and verified it for two tests. Bugs fixed or introduced ------------------------ 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_1 [ ] clm5_0 [ ] ctsm5_0-nwp [ ] clm4_5 Notes of particular relevance for users --------------------------------------- Changes to CTSM's user interface (e.g., new/renamed XML or namelist variables): Added new Clm51 compsets I1PtClm51SpRs I2000Clm51Sp I2000Clm51SpRs I1850Clm51Sp I2000Clm51Fates I1850Clm51SpNoAnthro IHistClm51Sp 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): Here I set some terms to zero that will be non-zero even when BHS is off Earlier commits show the smaller set of changes that are needed. Changes to tests or testing: Switched one Clm50Sp test to Clm51Sp and added one HistClm51Sp test CTSM testing: regular [PASS means all tests PASS and OK means tests PASS other than expected fails.] build-namelist tests: cheyenne - PASS python testing (see instructions in python/README.md; document testing done): cheyenne - PASS regular tests (aux_clm): cheyenne ---- OK izumi ------- OK If the tag used for baseline comparisons was NOT the previous tag, note that here: Answer changes -------------- Changes answers relative to baseline: Summarize any changes to answers, i.e., - what code configurations: all - what platforms/compilers: izumi-PGI - nature of change: roundoff If bitwise differences were observed, how did you show they were no worse than roundoff? Earlier commit tested the new terms versus the old and showed they were order e-11 for absolute difference and e-14 relative difference. Tests that change from baseline.... ERS_Ly5_P144x1.f10_f10_musgs.IHistClm51BgcCrop.cheyenne_intel.clm-cropMonthOutput SMS.f10_f10_musgs.I2000Clm50BgcCrop.izumi_pgi.clm-crop SMS_D.f10_f10_musgs.I2000Clm51BgcCrop.izumi_pgi.clm-crop Detailed list of changes ------------------------ Pull Requests that document the changes (include PR ids): #1241 (https://github.com/ESCOMP/ctsm/pull) #1241 -- Small answer changes in preparation for adding option for bio-mass heat storage =============================================================== =============================================================== Tag name: ctsm5.1.dev019 Originator(s): sacks (Bill Sacks) Date: Sat Dec 19 06:55:46 MST 2020 One-line Summary: Fix ndep from coupler Purpose of changes ------------------ There was a bug in ndep forcing (forc_ndep_grc) when receiving ndep from CAM (ndep_from_cpl true). This first appeared in ctsm5.1.dev002. NDEP forcings have been garbage since then when receiving ndep from CAM. This tag fixes that issue. Bugs fixed or introduced ------------------------ Issues fixed (include CTSM Issue #): - Resolves ESCOMP/CTSM#1233 (ndep forcing incorrect when receiving ndep from CAM (starting with ctsm5.1.dev002)) 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_1 [ ] clm5_0 [ ] ctsm5_0-nwp [ ] clm4_5 Notes of particular relevance for users --------------------------------------- Caveats for users (e.g., need to interpolate initial conditions): none Changes to CTSM's user interface (e.g., new/renamed XML or namelist variables): none Changes made to namelist defaults (e.g., changed parameter values): none Changes to the datasets (e.g., parameter, surface or initial files): none Substantial timing or memory changes: none expected (not checked) 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: none CTSM testing: [PASS means all tests PASS and OK means tests PASS other than expected fails.] build-namelist tests: cheyenne - not run tools-tests (test/tools): cheyenne - not run PTCLM testing (tools/shared/PTCLM/test): cheyenne - not run python testing (see instructions in python/README.md; document testing done): (any machine) - not run regular tests (aux_clm): cheyenne ---- pass izumi ------- pass izumi testing: baseline generation failed due to running out of disk space. I have sym linked the ctsm5.1.dev018 baselines to ctsm5.1.dev019, because answers are bit-for-bit between the two tags as far as aux_clm testing is concerned. If the tag used for baseline comparisons was NOT the previous tag, note that here: Answer changes -------------- Changes answers relative to baseline: YES, but just in select coupled configurations [ If a tag changes answers relative to baseline comparison the following should be filled in (otherwise remove this section). And always remove these three lines and parts that don't apply. ] Summarize any changes to answers, i.e., - what code configurations: Coupled configurations where CTSM receives NDEP from CAM - what platforms/compilers: all - nature of change (roundoff; larger than roundoff/same climate; new climate): potentially new climate If bitwise differences were observed, how did you show they were no worse than roundoff? N/A If this tag changes climate describe the run(s) done to evaluate the new climate (put details of the simulations in the experiment database) - casename: N/A URL for LMWG diagnostics output used to validate new climate: N/A Detailed list of changes ------------------------ List any externals directories updated (cime, rtm, mosart, cism, fates, etc.): none Pull Requests that document the changes (include PR ids): none =============================================================== =============================================================== Tag name: ctsm5.1.dev018 Originator(s): slevis (Samuel Levis,,303-665-1310) Date: Tue Dec 8 11:19:02 MST 2020 One-line Summary: Add ACTIVE (T/F) column to master hist fields table and alphabetize Purpose of changes ------------------ For convenience, added an ACTIVE column to the master fields table and alphabetized. Bugs fixed or introduced ------------------------ Issues fixed (include CTSM Issue #): #941 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_1 [ ] clm5_0 [ ] ctsm5_0-nwp [ ] clm4_5 Notes of particular relevance for users --------------------------------------- Caveats for users (e.g., need to interpolate initial conditions): None Changes to CTSM's user interface (e.g., new/renamed XML or namelist variables): None Changes made to namelist defaults (e.g., changed parameter values): None Changes to the datasets (e.g., parameter, surface or initial files): None Substantial timing or memory changes: [For timing changes, can check PFS test(s) in the test suite] 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: None CTSM testing: [PASS means all tests PASS and OK means tests PASS other than expected fails.] build-namelist tests: cheyenne - tools-tests (test/tools): cheyenne - PTCLM testing (tools/shared/PTCLM/test): cheyenne - python testing (see instructions in python/README.md; document testing done): (any machine) - regular tests (aux_clm): cheyenne ---- PASS izumi ------- PASS If the tag used for baseline comparisons was NOT the previous tag, note that here: Answer changes -------------- Changes answers relative to baseline: No Detailed list of changes ------------------------ List any externals directories updated (cime, rtm, mosart, cism, fates, etc.): None Pull Requests that document the changes (include PR ids): https://github.com/ESCOMP/CTSM/pull/1222 =============================================================== =============================================================== Tag name: ctsm5.1.dev017 Originator(s): slevis (Samuel Levis,303-665-1310) Date: Tue Nov 17 18:19:20 MST 2020 One-line Summary: Write history fields master list to separate optional file Purpose of changes ------------------ User can choose to write the history fields master list in a separate text file by setting hist_master_list_file = .true. in CTSM's namelist. File contents follow recommended reStructuredText "simple table" formatting (see https://docutils.sourceforge.io/docs/user/rst/quickref.html#tables) for use in CTSM documentation in the sphinx environment. Bugs fixed or introduced ------------------------ Issues fixed (include CTSM Issue #): #34 #941 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_1 [ ] clm5_0 [ ] ctsm5_0-nwp [ ] clm4_5 Notes of particular relevance for users --------------------------------------- Caveats for users (e.g., need to interpolate initial conditions): None Changes to CTSM's user interface (e.g., new/renamed XML or namelist variables): New namelist option hist_master_list_file. Setting to true generates a new text output file containing the history fields master list. Changes made to namelist defaults (e.g., changed parameter values): Default for hist_master_list_file = .false. Changes to the datasets (e.g., parameter, surface or initial files): None Substantial timing or memory changes: No 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: Introduced testing for the new namelist option within the existing test ERP_P36x2_D_Ld3.f10_f10_musgs.I1850Clm50BgcCrop.cheyenne_gnu.clm-extra_outputs by adding hist_master_list_file = .true. to the test's user_nl_clm CTSM testing: [... Remove before making master tag. Available test levels: a) regular (must be run before handing off a tag to SEs and must be run before committing a tag) b) build_namelist (if namelists and/or build_system changed)) c) tools (only if tools are modified and no CTSM source is modified) d) short (for use during development and in rare cases where only a small change with known behavior is added ... eg. a minor bug fix) e) doc (no source testing required) ... ] [PASS means all tests PASS and OK means tests PASS other than expected fails.] build-namelist tests: cheyenne - tools-tests (test/tools): cheyenne - PTCLM testing (tools/shared/PTCLM/test): cheyenne - python testing (see instructions in python/README.md; document testing done): (any machine) - regular tests (aux_clm): cheyenne ---- OK (NLCOMP tests fail as expected) izumi ------- OK (NLCOMP tests fail as expected) If the tag used for baseline comparisons was NOT the previous tag, note that here: Answer changes -------------- Changes answers relative to baseline: No Detailed list of changes ------------------------ Added section to subr. hist_printflds (called by subr. initialize2). The new section runs when hist_master_list_file = .true. List any externals directories updated (cime, rtm, mosart, cism, fates, etc.): None Pull Requests that document the changes (include PR ids): https://github.com/ESCOMP/CTSM/pull/1209 =============================================================== =============================================================== Tag name: ctsm5.1.dev016 Originator(s): mvertens (Mariana Vertenstein), jedwards (Jim Edwards), sacks (Bill Sacks), erik (Erik Kluzek) Date: Tue Nov 17 10:49:40 MST 2020 One-line Summary: Updates for nuopc Purpose of changes ------------------ Various updates needed for NUOPC. Also adds mizuRoute as an external component. 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_1 [ ] clm5_0 [ ] ctsm5_0-nwp [ ] clm4_5 Notes of particular relevance for users --------------------------------------- Caveats for users (e.g., need to interpolate initial conditions): none Changes to CTSM's user interface (e.g., new/renamed XML or namelist variables): none Changes made to namelist defaults (e.g., changed parameter values): none Changes to the datasets (e.g., parameter, surface or initial files): none 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): - SoilMoistureStreamMod now is duplicated: the version used with mct is still in src/biogeochem, but there is a new version used with nuopc and the CDEPS data models in src/cpl/nuopc. The latter has just been introduced for testing purposes. Eventually, once we switch everything to use CDEPS, we'll remove this duplicated version. Changes to tests or testing: none CTSM testing: [PASS means all tests PASS and OK means tests PASS other than expected fails.] build-namelist tests: cheyenne - not run tools-tests (test/tools): cheyenne - not run PTCLM testing (tools/shared/PTCLM/test): cheyenne - not run python testing (see instructions in python/README.md; document testing done): (any machine) - not run regular tests (aux_clm): cheyenne ---- pass izumi ------- pass If the tag used for baseline comparisons was NOT the previous tag, note that here: Answer changes -------------- Changes answers relative to baseline: NO Detailed list of changes ------------------------ List any externals directories updated (cime, rtm, mosart, cism, fates, etc.): - Added mizuRoute (at 34723c2) - cime: branch_tags/cime5.8.32_a01 -> branch_tags/cime5.8.32_a02 - (Some other rearrangement of Externals files, but versions stayed the same) Pull Requests that document the changes (include PR ids): none =============================================================== =============================================================== Tag name: ctsm5.1.dev015 Originator(s): sacks (Bill Sacks) Date: Fri Nov 13 11:52:34 MST 2020 One-line Summary: A few small fixes Purpose of changes ------------------ (1) Fixes needed for PIO2 when running in pts/scam mode (from Jim Edwards and Bill Sacks) (2) Fix mpi broadcast of hist_avgflag_pertape so that this namelist variable is applied properly (from Sunniva Indrehus, Keith Oleson and Bill Sacks) (3) Fix invalid xml in namelist_definition_ctsm.xml (4) Add point of interest code for debugging Bugs fixed or introduced ------------------------ Issues fixed (include CTSM Issue #): - Resolves ESCOMP/CTSM#1191 (hist_avgflag_pertape doesn't always produce desired averaging type for some history file streams) - Resolves ESCOMP/CTSM#1159 (Invalid xml in namelist_definition_ctsm.xml) - Resolves ESCOMP/CTSM#1210 (Add "point of interest" code) 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_1 [ ] clm5_0 [ ] ctsm5_0-nwp [ ] clm4_5 Notes of particular relevance for users --------------------------------------- Caveats for users (e.g., need to interpolate initial conditions): none Changes to CTSM's user interface (e.g., new/renamed XML or namelist variables): none Changes made to namelist defaults (e.g., changed parameter values): none Changes to the datasets (e.g., parameter, surface or initial files): none Substantial timing or memory changes: none expected (not checked) 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: none [PASS means all tests PASS and OK means tests PASS other than expected fails.] build-namelist tests: cheyenne - not run tools-tests (test/tools): cheyenne - not run PTCLM testing (tools/shared/PTCLM/test): cheyenne - not run python testing (see instructions in python/README.md; document testing done): (any machine) - not run regular tests (aux_clm): cheyenne ---- pass izumi ------- pass If the tag used for baseline comparisons was NOT the previous tag, note that here: Answer changes -------------- Changes answers relative to baseline: NO Detailed list of changes ------------------------ List any externals directories updated (cime, rtm, mosart, cism, fates, etc.): none Pull Requests that document the changes (include PR ids): https://github.com/ESCOMP/CTSM/pull/1214 =============================================================== =============================================================== Tag name: ctsm5.1.dev014 Originator(s): dll (Danica Lombardozzi) / oleson (Keith Oleson) / sacks (Bill Sacks) Date: Sat Nov 7 12:19:14 MST 2020 One-line Summary: Grass/crop snow burial fraction fix, and some other fixes Purpose of changes ------------------ (1) Crop/grass snow burial changed based on height and lodging (Danica Lombardozzi) - resolves ESCOMP/CTSM#516. Updates grass and crop snow burial ('fb' in SatellitePhenologyMod.F90) from being 0.2m to change with PFT height and accounts for 20% lodging (falling over). (2) In BGC code, make elai and esai depend on frac_sno (Danica Lombardozzi, Keith Oleson & Bill Sacks) - resolves ESCOMP/CTSM#1116 (3) Fix to quadratic solution error bug caused by negative shaded photosynthesis (Danica Lombardozzi & Keith Oleson) - resolves ESCOMP/CTSM#756 (4) Point to cime branch tag that avoids building CDEPS with LILAC, to avoid dependence on unreleased ESMF code (Bill Sacks) - resolves ESCOMP/CTSM#1203 (5) Some tweaks to documentation and how the documentation is built (Bill Sacks) Bugs fixed or introduced ------------------------ Issues fixed (include CTSM Issue #): - Resolves ESCOMP/CTSM#516 (crop and grass snow burial) - Resolves ESCOMP/CTSM#1116 (elai and esai for non-SP runs should use frac_sno) - Resolves ESCOMP/CTSM#756 (Quadratic solution error) - Resolves ESCOMP/CTSM#1203 (Rework LILAC build to avoid dependence on unreleased ESMF code) CIME Issues fixed (include issue #): - https://github.com/ESMCI/cime/issues/3769 (Avoid building CDEPS with CTSM's LILAC) 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.] [X] clm5_1 [X] clm5_0 [X] ctsm5_0-nwp [X] clm4_5 Notes of particular relevance for users --------------------------------------- Caveats for users (e.g., need to interpolate initial conditions): none Changes to CTSM's user interface (e.g., new/renamed XML or namelist variables): none Changes made to namelist defaults (e.g., changed parameter values): none Changes to the datasets (e.g., parameter, surface or initial files): none 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: none CTSM testing: [PASS means all tests PASS and OK means tests PASS other than expected fails.] build-namelist tests: cheyenne - not run tools-tests (test/tools): cheyenne - not run PTCLM testing (tools/shared/PTCLM/test): cheyenne - not run python testing (see instructions in python/README.md; document testing done): (any machine) - not run regular tests (aux_clm): cheyenne ---- ok izumi ------- ok ok: tests pass, baselines fail as expected If the tag used for baseline comparisons was NOT the previous tag, note that here: Answer changes -------------- Changes answers relative to baseline: YES Summarize any changes to answers, i.e., - what code configurations: all (or at least most) - what platforms/compilers: all - nature of change (roundoff; larger than roundoff/same climate; new climate): new climate, at least to some extent Changes arise from (1) & (2) (large changes) and from (3) (small changes). The change in snow burial parameterizations results in changes to albedo and water & energy fluxes. If bitwise differences were observed, how did you show they were no worse than roundoff? N/A If this tag changes climate describe the run(s) done to evaluate the new climate (put details of the simulations in the experiment database) - casename: N/A URL for LMWG diagnostics output used to validate new climate: For analysis of diffs, see https://github.com/danicalombardozzi/ctsm_py/blob/7543b0f3b413bae9974c11b467fdbc0413c3b7fa/notebooks/SnowBurial.ipynb Detailed list of changes ------------------------ List any externals directories updated (cime, rtm, mosart, cism, fates, etc.): - cime: cime5.8.32 -> branch_tags/cime5.8.32_a01 - doc-builder: v1.0.2 -> v1.0.4 Pull Requests that document the changes (include PR ids): https://github.com/ESCOMP/CTSM/pull/1112 =============================================================== =============================================================== Tag name: ctsm5.1.dev013 Originator(s): jedwards (Jim Edwards) / sacks (Bill Sacks) Date: Wed Nov 4 14:24:55 MST 2020 One-line Summary: Allow pnetcdf for vector history files Purpose of changes ------------------ Ever since clm4_5_1_r091, we had been avoiding the use of pnetcdf for vector history files (i.e., history files with dov2xy = .false.). This was to workaround an issue that was found on the old yellowstone supercomputer (bugzilla 1730). However, I cannot reproduce this issue on cheyenne, either with PIO1 or with PIO2. Moreover, the workaround was leading to very slow performance with PIO2, at least for some tests. This tag removes that old workaround. See https://github.com/ESCOMP/CTSM/issues/33 for details. Also change PE layouts for C96 and C192. The main motivation for this is to get the aux_clm C96 test through the queue faster (the current test sometimes waits for multiple hours in the queue): (1) Make the out-of-the-box PE counts unthreaded, as is standard for I compsets (2) In the aux_clm test for C92, use a 360x2 PE layout: Use a PE layout that (a) has threading, because CAM uses threading at this resolution; and (b) has a smaller-than-standard task count in order to get through the queue faster. 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_1 [ ] clm5_0 [ ] ctsm5_0-nwp [ ] clm4_5 Notes of particular relevance for users --------------------------------------- Caveats for users (e.g., need to interpolate initial conditions): none Changes to CTSM's user interface (e.g., new/renamed XML or namelist variables): none Changes made to namelist defaults (e.g., changed parameter values): none Changes to the datasets (e.g., parameter, surface or initial files): none Substantial timing or memory changes: Timing changes seem small, though not investigated carefully. No timing changes are expected to show up in the PFS test (because it doesn't do history output), but I looked at a few other non-debug f09 cases: ERP_Ld5.f09_g17.I2000Clm50Vic.cheyenne_intel.clm-vrtlay, ERP_Ld3.f09_g17.I1850Clm50BgcCropCru.cheyenne_intel.clm-ciso, ERS_Ld3.f09_g17.I1850Clm50BgcCrop.cheyenne_intel.clm-rad_hrly_light_res_half, ERS_Ld3.f09_g17.I2000Clm50Fates.cheyenne_intel.clm-FatesColdDef. Total runtime of these increased in some tests and decreased in others relative to the baseline, but on average, there was little change relative to the baseline. I have more carefully investigated this change in the context of pio2, which will soon become the default: with pio2, this change is important to get good performance. 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: Changed PE layout for C96 test CTSM testing: [PASS means all tests PASS and OK means tests PASS other than expected fails.] build-namelist tests: cheyenne - not run tools-tests (test/tools): cheyenne - not run PTCLM testing (tools/shared/PTCLM/test): cheyenne - not run python testing (see instructions in python/README.md; document testing done): (any machine) - not run regular tests (aux_clm): cheyenne ---- pass izumi ------- pass Note: testing was done on 13c693d88, which was before the PE layout change for C96 and C192. I then ran the new C96 test manually. If the tag used for baseline comparisons was NOT the previous tag, note that here: Answer changes -------------- Changes answers relative to baseline: NO Detailed list of changes ------------------------ List any externals directories updated (cime, rtm, mosart, cism, fates, etc.): none Pull Requests that document the changes (include PR ids): https://github.com/ESCOMP/CTSM/pull/1190 =============================================================== =============================================================== Tag name: ctsm5.1.dev012 Originator(s): oleson (Keith Oleson) / sacks (Bill Sacks) Date: Tue Nov 3 09:31:41 MST 2020 One-line Summary: Allow nlevgrnd < nlevurb Purpose of changes ------------------ Allow nlevgrnd < nlevurb. This will become more important soon, when nlevurb is increased to 10, yet we want to allow simple soil layer structures, e.g., for NWP applications. Also some additions to ncdio-related utilities to support this, including extending find_var_on_file to support dimensions as well as variables. Also add levsoi coordinate variable on history files. Bugs fixed or introduced ------------------------ Issues fixed (include CTSM Issue #): - Resolves ESCOMP/CTSM#674 (Allow nlevgrnd less than nlevurb) 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_1 [ ] clm5_0 [ ] ctsm5_0-nwp [ ] clm4_5 Notes of particular relevance for users --------------------------------------- Caveats for users (e.g., need to interpolate initial conditions): none Changes to CTSM's user interface (e.g., new/renamed XML or namelist variables): none Changes made to namelist defaults (e.g., changed parameter values): none Changes to the datasets (e.g., parameter, surface or initial files): none 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: - Removed the no-longer-useful snowlayers_3_monthly test - Added a test with nlevgrnd < nlevurb CTSM testing: [PASS means all tests PASS and OK means tests PASS other than expected fails.] build-namelist tests: cheyenne - not run tools-tests (test/tools): cheyenne - not run PTCLM testing (tools/shared/PTCLM/test): cheyenne - not run python testing (see instructions in python/README.md; document testing done): (any machine) - not run regular tests (aux_clm): cheyenne ---- pass izumi ------- pass If the tag used for baseline comparisons was NOT the previous tag, note that here: Answer changes -------------- Changes answers relative to baseline: NO Detailed list of changes ------------------------ List any externals directories updated (cime, rtm, mosart, cism, fates, etc.): none Pull Requests that document the changes (include PR ids): https://github.com/ESCOMP/CTSM/pull/1195 =============================================================== =============================================================== Tag name: ctsm5.1.dev011 Originator(s): sacks (Bill Sacks) Date: Mon Nov 2 10:28:35 MST 2020 One-line Summary: Change CISM2%NOEVOLVE compsets to use SGLC; documentation updates Purpose of changes ------------------ (1) Change CISM2%NOEVOLVE compsets to use SGLC. The use of CISM2%NOEVOLVE adds complexity and (perhaps most importantly) increases the turnaround time of CTSM software testing, while adding only marginal scientific value. Therefore, we are changing I compsets to use a stub glacier (SGLC) rather than CISM2%NOEVOLVE for now. Within the next year, we'd like to have these use a data glc model, but that will most likely wait until we switch to using NUOPC by default (so we can use a data glc in CDEPS: ESCOMP/CDEPS#25). This tag changes the meaning of compset aliases that previously had neither a Gs (for stub glacier) or G (for CISM2%EVOLVE), so that they now use a stub glacier (SGLC) rather than CISM2%NOEVOLVE. Compset aliases that previously had Gs (so were already using a stub glacier) have been changed so that there is no longer a Gs in the alias: stub glacier is now the implied default. This change reduces our test build time to 40% of what it previously was! When I ran the test suite for ctsm5.1.dev010, the cheyenne-intel test suite (by far the largest of our test suites) took 5 hours, 8 min to build. In yesterday's run of the test suite with this change in place, the cheyenne-intel test suite took only 2 hours, 6 min to build! The final test in this test suite finished running just 2 hours, 29 min after I started the test suite. This may not be a completely fair comparison, because the machine may have been relatively lightly loaded during this Sunday afternoon run, but I wouldn't expect the test suite build time (which is what I'm reporting here) to be hugely impacted by that. Changes due to using SGLC in place of CISM2%NOEVOLVE are documented here: . (2) Documentation updates Brings in a new optional external, doc-builder, to assist with building the documentation, specifically with a new Docker-based workflow documented here . Also updates LILAC documentation and a bit more. Bugs fixed or introduced ------------------------ Issues fixed (include CTSM Issue #): - Resolves ESCOMP/CTSM#1135 (Replace CISM2%NOEVOLVE compsets with SGLC) Known bugs introduced in this tag (include github issue ID): - See ESCOMP/CTSM#1136 (Use data glc model where we used to use CISM2%NOEVOLVE) 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.] [X] clm5_1 [X] clm5_0 [X] ctsm5_0-nwp [X] clm4_5 Notes of particular relevance for users --------------------------------------- Caveats for users (e.g., need to interpolate initial conditions): - This tag changes the meaning of compset aliases that previously had neither a Gs (for stub glacier) or G (for CISM2%EVOLVE), so that they now use a stub glacier (SGLC) rather than CISM2%NOEVOLVE. Compset aliases that previously had Gs (so were already using a stub glacier) have been changed so that there is no longer a Gs in the alias: stub glacier is now the implied default. Changes to CTSM's user interface (e.g., new/renamed XML or namelist variables): none Changes made to namelist defaults (e.g., changed parameter values): none Changes to the datasets (e.g., parameter, surface or initial files): none 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: - Changed compsets used in testing according to the above notes. In particular, this involved removing the 'Gs' from compset names in tests. - No longer need a specific testmod for the LII test (see commit f75335a45) - Changed the glcMEC_changeFlags test to be more useful (see commit e350beced) - Removed _gl4 from resolution in tests that no longer use CISM CTSM testing: [PASS means all tests PASS and OK means tests PASS other than expected fails.] build-namelist tests: cheyenne - not run tools-tests (test/tools): cheyenne - not run PTCLM testing (tools/shared/PTCLM/test): cheyenne - not run python testing (see instructions in python/README.md; document testing done): (any machine) - not run regular tests (aux_clm): cheyenne ---- ok izumi ------- ok ok: tests pass, baselines fail as expected If the tag used for baseline comparisons was NOT the previous tag, note that here: Answer changes -------------- Changes answers relative to baseline: YES Summarize any changes to answers, i.e., - what code configurations: ALL - what platforms/compilers: ALL - nature of change (roundoff; larger than roundoff/same climate; new climate): Larger than roundoff; potentially new climate regionally, over Greenland The changes arise from changes in the meaning of compsets. Configurations that used to use a stub GLC (compsets with Gs in their alias) have the same meaning as before, but a different compset alias (so in testing, this resulted in BFAILs due to missing baselines). Configurations that previously used CISM2%NOEVOLVE (which included most of our standard configurations) now instead use a stub GLC. This results in differences over Greenland (in ways described here: ). If bitwise differences were observed, how did you show they were no worse than roundoff? N/A If this tag changes climate describe the run(s) done to evaluate the new climate (put details of the simulations in the experiment database) - casename: N/A URL for LMWG diagnostics output used to validate new climate: N/A Detailed list of changes ------------------------ List any externals directories updated (cime, rtm, mosart, cism, fates, etc.): - New doc-builder external (at v1.0.2) Pull Requests that document the changes (include PR ids): none =============================================================== =============================================================== Tag name: ctsm5.1.dev010 Originator(s): sacks (Bill Sacks), jedwards (Jim Edwards) Date: Fri Oct 23 14:36:03 MDT 2020 One-line Summary: Fix reading netcdf variable into a different data type Purpose of changes ------------------ Main change is to fix the reading of a variable that is one type on a NetCDF file but a different data type in memory. Previously, this could lead to memory corruption (not just of the variable in question, but other variables as well). This was not causing any problems in out-of-the-box configurations, but it sometimes tripped up some developers when they added new fields on datasets. In addition, this adds new self-test code to test ncdio_pio. This module is hard to get under unit test, but we want to have some tests of it, to pick up problems like the one fixed in this tag. So as a compromise solution for now, I have introduced unit test-like tests that are built into a standard build of CTSM and run in a standard run if a given namelist flag is set. A better long-term solution would be to integrate these tests into the pFUnit-based unit testing framework, but that would take some work. I have added tests of the new code, and a bit of testing of other code in ncdio_pio, but there's still a lot in ncdio_pio that is not tested. I figure we can gradually add tests as we make changes to ncdio_pio. Finally, an unrelated change to the unit test build: files generated by genf90 now appear in the unit test build directory rather than the source tree. Bugs fixed or introduced ------------------------ Issues fixed (include CTSM Issue #): - Resolves ESCOMP/CTSM#1091 (Memory corruption when reading a netcdf variable into a variable of a different type, at least with PIO1) - Resolves ESCOMP/CTSM#1188 (In unit test build: files generated by genf90 should go in build dir rather than source dir) 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_1 [ ] clm5_0 [ ] ctsm5_0-nwp [ ] clm4_5 Notes of particular relevance for users --------------------------------------- Caveats for users (e.g., need to interpolate initial conditions): none Changes to CTSM's user interface (e.g., new/renamed XML or namelist variables): - new namelist variable, for_testing_run_ncdiopio_tests Changes made to namelist defaults (e.g., changed parameter values): none Changes to the datasets (e.g., parameter, surface or initial files): none 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): - Ideally the ncdio_pio self-tests would be recoded as true unit tests, leveraging the pFUnit framework. This would get them out of the main source code, and would give other benefits that come with a real unit testing framework, such as that a single failure doesn't abort the entire test suite. - The existence of tests for ncdio_pio should NOT be taken as a sign that all (or even most) of this module is now under unit test: in fact, much of it is not covered yet by my new testing module. Changes to tests or testing: - Added a test that triggers for_testing_run_ncdiopio_tests CTSM testing: [PASS means all tests PASS and OK means tests PASS other than expected fails.] build-namelist tests: cheyenne - not run tools-tests (test/tools): cheyenne - not run PTCLM testing (tools/shared/PTCLM/test): cheyenne - not run python testing (see instructions in python/README.md; document testing done): (any machine) - not run regular tests (aux_clm): cheyenne ---- pass izumi ------- pass If the tag used for baseline comparisons was NOT the previous tag, note that here: Answer changes -------------- Changes answers relative to baseline: NO Detailed list of changes ------------------------ List any externals directories updated (cime, rtm, mosart, cism, fates, etc.): none Pull Requests that document the changes (include PR ids): https://github.com/ESCOMP/CTSM/pull/1189 https://github.com/ESCOMP/CTSM/pull/1176 (old version, superseded by 1189) =============================================================== =============================================================== Tag name: ctsm5.1.dev009 Originator(s): negins (Negin Sobhani,UCAR/TSS,303-497-1224) Date: Wed Oct 21 11:14:25 MDT 2020 One-line Summary: BFB changes for Perturbed Parameter Ensemble and Hydraulic redistribution Purpose of changes ------------------ Some BFB changes for PPE work and Hydraulic redistribution Bugs fixed or introduced ------------------------ Issues fixed (include CTSM Issue #): [If none, remove this line] - resolves ESCOMP/CTSM#881 - resolves ESCOMP/CTSM#1020 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.) [ ] clm5_1 [ ] clm5_0 [ ] ctsm5_0-nwp [ ] clm4_5 Notes of particular relevance for users --------------------------------------- Caveats for users (e.g., need to interpolate initial conditions): None Changes to CTSM's user interface (e.g., new/renamed XML or namelist variables): - maxpatch_pft is removed from namelist Changes made to namelist defaults (e.g., changed parameter values): None Changes to the datasets (e.g., parameter, surface or initial files): None Substantial timing or memory changes: [For timing changes, can check PFS test(s) in the test suite] 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: CTSM testing: [PASS means all tests PASS and OK means tests PASS other than expected fails.] build-namelist tests: cheyenne - not run tools-tests (test/tools): cheyenne - not run PTCLM testing (tools/shared/PTCLM/test): cheyenne - not run python testing (see instructions in python/README.md; document testing done): (any machine) - None regular tests (aux_clm): cheyenne ---- ok izumi ------- ok If the tag used for baseline comparisons was NOT the previous tag, note that here: N/A Answer changes -------------- Changes answers relative to baseline: Four new fields regarding plant hydraulic processes has been added: - QHR (patch-level hydraulic redistribution) - VEGWPLN (local noon vegetation water potential) - VEGWPPD (predawn vegetation water potential) - VPD_CAN: canopy vapor pressure deficit (functional input to Medlyn model) Detailed list of changes ------------------------ List any externals directories updated (cime, rtm, mosart, cism, fates, etc.): None Pull Requests that document the changes (include PR ids): https://github.com/ESCOMP/CTSM/pull/1187 https://github.com/ESCOMP/CTSM/pull/1126 =============================================================== =============================================================== Tag name: ctsm5.1.dev008 Originator(s): erik (Erik Kluzek,UCAR/TSS,303-497-1326) Date: Wed Oct 7 11:48:30 MDT 2020 One-line Summary: Two answer changes: Clm45/50/51 with crop, and for 2000Clm51 Purpose of changes ------------------ Turn dribble_crophrv_xsmrpool_2atm when crop is on for clm4_5, clm5_0, and clm5_1 physics Fix the finidat files being selected for 2000_control conditions for clm5_1 Bugs fixed or introduced ------------------------ Issues fixed (include CTSM Issue #): Fixes #1158 -- Turn dribble_crophrv_xsmrpool_2atm on when crop is on for all physics versions Another issue in #1166 -- correct finidat file for 2000Clm51 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.] [x] clm5_1 [x] clm5_0 [ ] ctsm5_0-nwp [x] clm4_5 Notes of particular relevance for users --------------------------------------- Caveats for users (e.g., need to interpolate initial conditions): None Changes to CTSM's user interface (e.g., new/renamed XML or namelist variables): None Changes made to namelist defaults (e.g., changed parameter values): dribble_crophrv_xsmrpool_2atm now on when crop on for all physics versions Changes to the datasets (e.g., parameter, surface or initial files): None 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): The namelist dribble_crophrv_xsmrpool_2atm should now be removed as a namelist item both in the fortran code and in build-namelist scripts. This change should be bit-for-bit. Changes to tests or testing: None CTSM testing: regular [PASS means all tests PASS and OK means tests PASS other than expected fails.] build-namelist tests: cheyenne - PASS (120 tests are different than before) python testing (see instructions in python/README.md; document testing done): cheyenne -- PASS regular tests (aux_clm): cheyenne ---- PASS izumi ------- PASS If the tag used for baseline comparisons was NOT the previous tag, note that here: Answer changes -------------- Changes answers relative to baseline: Yes Summarize any changes to answers, i.e., - what code configurations: Clm45/50/51 with crop (except with prognostic CO2) and 2000Clm51 - what platforms/compilers: All - nature of change: same climate Detailed list of changes ------------------------ List any externals directories updated (cime, rtm, mosart, cism, fates, etc.): None Pull Requests that document the changes (include PR ids): #1177 (https://github.com/ESCOMP/ctsm/pull) #1177 -- Two answer changes turn dribble_crophrv_xsmrpool_2atm and correct clm5_1 finidat file for 2000 conditions =============================================================== =============================================================== Tag name: ctsm5.1.dev007 Originator(s): sacks (Bill Sacks) Date: Tue Oct 6 09:29:27 MDT 2020 One-line Summary: CNFire: btran2 fixes and general cleanup Purpose of changes ------------------ (1) Call routine to calculate fire's btran2 from CNFireArea; this has a few advantages: - It makes the logic of CNFireArea more clear (rather than depending on a btran2 variable that is calculated from some other part of the code) - This avoids having the biogeophysics depend on the biogeochemistry - This lets us avoid doing this btran calc if using no-fire – or other, future, fire methods that don't need it Note regarding testing: In the initial step, I kept this calculation dependent on a saved version of h2osoi_vol to avoid changing answers; I changed this in the answer changes in step (2), as noted below. (2) Answer-changing fixes to CNFire's btran2 calculation and use: (a) Calculate fire btran2 using updated h2osoi_vol (this is an answer-changing cleanup step from (1)) (b) TEMPORARY CHANGE (reverted in the cleanup in (3)): Reinitialize fire btran2 to spval for all patches in each time step, so that the fire code isn't trying to use btran2 from earlier time steps for patches that were in the exposed veg filter at one point but no longer are. One implication of this is that, if there is currently no exposed veg on a column, the new code leads to the block of code that forces fire_m = 0 (because wtlf will be 0). Previously, in contrast, it looks like fire_m was allowed to be non-zero even if there is currently no exposed veg, because btran2 and wtlf were accumulated if a patch ever was exposed in the past. (c) Limit fire btran2 to be <= 1, rather than letting it be slightly greater than 1. (Due to a conditional in CNFireArea, these slightly-greater-tan-1 values were being ignored when computing btran_col, rather than averaging in a 1 value.) (3) Non-answer-changing fire code cleanup: (a) Cleanup of the btran2 fixes, including reverting the TEMPORARY CHANGE noted in (2b), instead relying on a better mechanism: just doing the calculations of btran_col and wtlf over the exposedvegp filter. Also, get rid of the checks for shr_infnan_isnan(btran2(p)) and btran2(p) <= 1 (allowed by the other changes in (2) and (3)). (b) Set btran2 to 0 over non-exposed-veg points: this changes answers for the BTRAN2 diagnostic field, but nothing else. (This follows what is done for the standard BTRAN.) (c) Move calc_fire_root_wetness for CNFireLi2021 into the base type to avoid future bugs (assuming that the next fire module will extend the base class but will also want to use this new version of calc_fire_root_wetness). (d) Change fire looping structure to be more standard (4) Remove some very expensive tests from aux_clm, putting some in the new ctsm_sci test list instead (5) A bit of other minor cleanup Bugs fixed or introduced ------------------------ Issues fixed (include CTSM Issue #): - Resolves ESCOMP/CTSM#1139 (Decrease expense of ne0ARCTICGRISne30x8 test and C96 tests) - Resolves ESCOMP/CTSM#1153 (Fire btran2 is only computed for exposed veg patches, but is used over all veg patches) - Resolves ESCOMP/CTSM#1170 (CNFire code: btran2 should not be skipped when it's greater than 1) - Partially addresses ESCOMP/CTSM#1142 (Add ctsm_sci test list that would be used for releases and making sure important resolutions run well) 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.] [X] clm5_1 [X] clm5_0 [X] ctsm5_0-nwp [X] clm4_5 Notes of particular relevance for users --------------------------------------- Caveats for users (e.g., need to interpolate initial conditions): none Changes to CTSM's user interface (e.g., new/renamed XML or namelist variables): none Changes made to namelist defaults (e.g., changed parameter values): none Changes to the datasets (e.g., parameter, surface or initial files): none 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: Remove some very expensive tests from aux_clm, putting some in the new ctsm_sci test list instead. CTSM testing: [PASS means all tests PASS and OK means tests PASS other than expected fails.] build-namelist tests: cheyenne - not run tools-tests (test/tools): cheyenne - not run PTCLM testing (tools/shared/PTCLM/test): cheyenne - not run python testing (see instructions in python/README.md; document testing done): (any machine) - pass (on my mac) regular tests (aux_clm): cheyenne ---- ok izumi ------- ok ok: tests pass, many baselines fail as expected If the tag used for baseline comparisons was NOT the previous tag, note that here: Answer changes -------------- Changes answers relative to baseline: YES, for all CN/BGC configurations Summarize any changes to answers, i.e., - what code configurations: All CN/BGC configurations - what platforms/compilers: all - nature of change (roundoff; larger than roundoff/same climate; new climate): larger than roundoff; expected to be same climate, but not investigated yet To verify that the answer changes only came from expected changes, I did a few rounds of testing. The following numbers refer to the groups of changes listed under "Purpose of changes", above. The changes in groups (4) and (5) were combined with those in groups (1) and (3) - i.e., the basically non-answer-changing sets. First, I tested with just the changes in (1). This led to differences in only limited configurations, as noted in https://github.com/ESCOMP/CTSM/pull/1155#issuecomment-695035048: - nofire tests had diffs in BTRAN2 - dynroots tests had extensive diffs because now btran2 is calculated after the dyn roots updates in each time step - tests where the compared clm2 h0 file includes the 0th time step had diffs just in BTRAN2, for reasons I couldn't determine Then I tested with the changes in (2), which were expected to change answers for all CN/BGC tests. In particular, these change answers due to: - using updated h2osoi_vol rather than the one earlier in the time step when calculating btran2 - only considering points in the exposed veg filter when averaging btran2 from patch to column, rather than using stale values from no-longer-exposed patches (which also means having fire_m = 0 if there are no currently-exposed veg patches in a column) (fix for ESCOMP/CTSM#1153) - treating btran2 values that are slightly greater than 1 as 1, rather than ignoring them completely (fix for ESCOMP/CTSM#1170) Finally, I tested with all of the changes, comparing against the baselines generated from (2). As expected, the only answer changes in this final round were in the BTRAN2 diagnostic field (due to setting btran2 to 0 over non-exposed-veg points). Detailed list of changes ------------------------ List any externals directories updated (cime, rtm, mosart, cism, fates, etc.): none Pull Requests that document the changes (include PR ids): https://github.com/ESCOMP/CTSM/pull/1155 =============================================================== =============================================================== Tag name: ctsm5.1.dev006 Originator(s): sacks (Bill Sacks) Date: Sat Oct 3 19:50:41 MDT 2020 One-line Summary: Call correct routine to calculate btran2 for CNFireLi2021 Purpose of changes ------------------ Due to a subtle code bug, CNFireLi2021 was using the btran2 calculating routine from the base class rather than the new one that is specific to this formulation. Bugs fixed or introduced ------------------------ Issues fixed (include CTSM Issue #): - Resolves ESCOMP/CTSM#1173 (CNFireLi2021Mod uses the wrong btran2 routine) 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.] [X] clm5_1 [ ] clm5_0 [ ] ctsm5_0-nwp [ ] clm4_5 Notes of particular relevance for users --------------------------------------- Caveats for users (e.g., need to interpolate initial conditions): none Changes to CTSM's user interface (e.g., new/renamed XML or namelist variables): none Changes made to namelist defaults (e.g., changed parameter values): none Changes to the datasets (e.g., parameter, surface or initial files): none Substantial timing or memory changes: not investigated (none expected) 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: none CTSM testing: [PASS means all tests PASS and OK means tests PASS other than expected fails.] build-namelist tests: cheyenne - not run tools-tests (test/tools): cheyenne - not run PTCLM testing (tools/shared/PTCLM/test): cheyenne - not run python testing (see instructions in python/README.md; document testing done): (any machine) - not run regular tests (aux_clm): cheyenne ---- ok izumi ------- ok ok: tests pass, Clm51Bgc baselines fail as expected Note: there were also the following BFAIL results due to missing baselines, as documented in the previous tag: FAIL ERS_D_Ld10.C96_C96_mg17.IHistClm50Sp.cheyenne_intel.clm-decStart BASELINE ctsm5.1.dev005: ERROR BFAIL some baseline files were missing FAIL ERS_Ln9.ne0ARCTICne30x4_ne0ARCTICne30x4_mt12.IHistClm50SpGs.cheyenne_intel.clm-clm50cam6LndTuningMode_1979Start BASELINE ctsm5.1.dev005: ERROR BFAIL some baseline files were missing FAIL SMS_Ln9.ne0ARCTICGRISne30x8_ne0ARCTICGRISne30x8_mt12.IHistClm50Sp.cheyenne_intel.clm-clm50cam6LndTuningMode_1979Start BASELINE ctsm5.1.dev005: ERROR BFAIL some baseline files were missing FAIL SMS_Ln9.ne0ARCTICGRISne30x8_ne0ARCTICGRISne30x8_mt12.ISSP585Clm50BgcCrop.cheyenne_intel.clm-clm50cam6LndTuningMode BASELINE ctsm5.1.dev005: ERROR BFAIL some baseline files were missing FAIL SMS_Ln9.ne0CONUSne30x8_ne0CONUSne30x8_mt12.IHistClm50Sp.cheyenne_intel.clm-clm50cam6LndTuningMode_2013Start BASELINE ctsm5.1.dev005: ERROR BFAIL some baseline files were missing If the tag used for baseline comparisons was NOT the previous tag, note that here: Answer changes -------------- Changes answers relative to baseline: YES Summarize any changes to answers, i.e., - what code configurations: Clm51Bgc - what platforms/compilers: all - nature of change (roundoff; larger than roundoff/same climate; new climate): larger than roundoff; whether it is climate changing was not investigated Detailed list of changes ------------------------ List any externals directories updated (cime, rtm, mosart, cism, fates, etc.): none Pull Requests that document the changes (include PR ids): https://github.com/ESCOMP/CTSM/pull/1174 =============================================================== =============================================================== Tag name: ctsm5.1.dev005 Originator(s): sacks (Bill Sacks) Date: Fri Oct 2 09:51:08 MDT 2020 One-line Summary: Answer changing bug fixes for clm51: fire and organic_frac_squared Purpose of changes ------------------ A few bug fixes for CLM51: - Initialize btran2 to 0 in CNFireLi2021Mod - Remove multiplications by col%wtgcell in CNFireLi2021Mod - Initialize nfire to 0 in CNFireLi2021Mod - Fix organic_frac_squared default for clm5_1 Bugs fixed or introduced ------------------------ Issues fixed (include CTSM Issue #): - Resolves ESCOMP/CTSM#1171 (btran2 not initialized to zero in CNFireLi2021Mod.F90) - Partially addresses ESCOMP/CTSM#1169 (CNFireLi2021Mod reintroduces a number of bugs that were fixed in earlier versions) - Partially addresses ESCOMP/CTSM#1166 (Possible problems with namelist defaults starting in ctsm5.0.dev001) 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.] [X] clm5_1 [ ] clm5_0 [ ] ctsm5_0-nwp [ ] clm4_5 Notes of particular relevance for users --------------------------------------- Caveats for users (e.g., need to interpolate initial conditions): none Changes to CTSM's user interface (e.g., new/renamed XML or namelist variables): none Changes made to namelist defaults (e.g., changed parameter values): - Fixes default for organic_frac_squared for clm5_1 Changes to the datasets (e.g., parameter, surface or initial files): none Substantial timing or memory changes: not investigated (none expected) 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: none CTSM testing: [PASS means all tests PASS and OK means tests PASS other than expected fails.] build-namelist tests: cheyenne - not run tools-tests (test/tools): cheyenne - not run PTCLM testing (tools/shared/PTCLM/test): cheyenne - not run python testing (see instructions in python/README.md; document testing done): (any machine) - not run regular tests (aux_clm): cheyenne ---- ok izumi ------- ok ok: tests pass, baselines fail just for CLM51 cases, as expected NOTE: The following expensive tests did not run, due to a long queue wait time; we are about to remove these tests from the test suite anyway: PEND ERS_D_Ld10.C96_C96_mg17.IHistClm50Sp.cheyenne_intel.clm-decStart RUN PEND ERS_Ln9.ne0ARCTICne30x4_ne0ARCTICne30x4_mt12.IHistClm50SpGs.cheyenne_intel.clm-clm50cam6LndTuningMode_1979Start RUN PEND SMS_Ln9.ne0ARCTICGRISne30x8_ne0ARCTICGRISne30x8_mt12.IHistClm50Sp.cheyenne_intel.clm-clm50cam6LndTuningMode_1979Start RUN PEND SMS_Ln9.ne0ARCTICGRISne30x8_ne0ARCTICGRISne30x8_mt12.ISSP585Clm50BgcCrop.cheyenne_intel.clm-clm50cam6LndTuningMode RUN PEND SMS_Ln9.ne0CONUSne30x8_ne0CONUSne30x8_mt12.IHistClm50Sp.cheyenne_intel.clm-clm50cam6LndTuningMode_2013Start RUN If the tag used for baseline comparisons was NOT the previous tag, note that here: Answer changes -------------- Changes answers relative to baseline: YES - just for CLM51 Summarize any changes to answers, i.e., - what code configurations: CLM51 - what platforms/compilers: all - nature of change (roundoff; larger than roundoff/same climate; new climate): possibly new climate Detailed list of changes ------------------------ List any externals directories updated (cime, rtm, mosart, cism, fates, etc.): none Pull Requests that document the changes (include PR ids): https://github.com/ESCOMP/CTSM/pull/1172 =============================================================== =============================================================== Tag name: ctsm5.1.dev004 Originator(s): oleson (Keith Oleson), sacks (Bill Sacks) Date: Wed Sep 30 10:45:25 MDT 2020 One-line Summary: Improve robustness of onset and offset counters when changing dt Purpose of changes ------------------ The logic in CNPhenology for onset_counter and offset_counter was not robust when the model time step differed from the time step used to generate the finidat file. This showed up when running with a 20-minute time step using a finidat file that was generated with a 30-minute time step. See https://github.com/ESCOMP/CTSM/issues/1163 for details. The fix here improves the situation significantly, but I believe still leaves some issues remaining; see https://github.com/ESCOMP/CTSM/issues/1167 for details. Bugs fixed or introduced ------------------------ Issues fixed (include CTSM Issue #): - Resolves ESCOMP/CTSM#1163 (onset_counter variable on (all?) restart files is not compatible with subsequent model runs using a 20 minute time step) Known bugs introduced in this tag (include github issue ID): - ESCOMP/CTSM#1167 (Rework CNPhenology onset and offset triggers to be more robust to changes in dt) - This issue was not exactly introduced in this tag, but it captures some things that I think still need to be done for complete robustness 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): none Changes to CTSM's user interface (e.g., new/renamed XML or namelist variables): none Changes made to namelist defaults (e.g., changed parameter values): none Changes to the datasets (e.g., parameter, surface or initial files): none Substantial timing or memory changes: not checked (none expected) 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: none CTSM testing: [PASS means all tests PASS and OK means tests PASS other than expected fails.] build-namelist tests: cheyenne - not run tools-tests (test/tools): cheyenne - not run PTCLM testing (tools/shared/PTCLM/test): cheyenne - not run python testing (see instructions in python/README.md; document testing done): (any machine) - not run regular tests (aux_clm): cheyenne ---- ok izumi ------- pass ok: tests pass, one test had answer changes as noted below If the tag used for baseline comparisons was NOT the previous tag, note that here: Answer changes -------------- Changes answers relative to baseline: YES, but in very limited circumstances Summarize any changes to answers, i.e., - what code configurations: Only when the model run uses a different time step than the initial conditions file - what platforms/compilers: all - nature of change (roundoff; larger than roundoff/same climate; new climate): larger than roundoff; magnitude not investigated; in some cases, the differences might be significant if the model actually continues without aborting In the aux_clm test suite, this only appears in one test: SMS_Ln9.ne30pg2_ne30pg2_mg17.I2000Clm50BgcCrop.cheyenne_intel.clm-clm50cam6LndTuningMode but it might appear more widely in cam / fully coupled testing Detailed list of changes ------------------------ List any externals directories updated (cime, rtm, mosart, cism, fates, etc.): none Pull Requests that document the changes (include PR ids): https://github.com/ESCOMP/CTSM/pull/1165 =============================================================== =============================================================== Tag name: ctsm5.1.dev003 Originator(s): ivanderkelen (Inne Vanderkelen) / sacks (Bill Sacks) Date: Tue Sep 29 10:16:00 MDT 2020 One-line Summary: Add capability for dynamic lakes Purpose of changes ------------------ Adds the capability for dynamic lake areas, read from the landuse_timeseries file. This represents reservoir construction. For now, this capability is off by default. Turning it on requires new fields on the landuse_timeseries file which cannot yet be produced by mksurfdata_map; these new fields will be added in https://github.com/ESCOMP/CTSM/pull/1073. A substantial part of this tag involved changing the accounting of water and energy in lakes in order to conserve water and energy across landunit transitions while not producing too large adjustment fluxes. This change results in roundoff-level answer changes for all transient cases. The core changes in this tag are from Inne Vanderkelen, in consultation with Bill Sacks. Additional changes are from Bill Sacks, in consultation with Inne Vanderkelen. Bugs fixed or introduced ------------------------ Issues fixed (include CTSM Issue #): - Resolves ESCOMP/CTSM#200 (Count energy of water in lakes in total gridcell heat content) - Resolves ESCOMP/CTSM#1140 (Add lake water to dynbal baselines) 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): - Using the dynamic lakes functionality will require either the mksurfdata_map changes in https://github.com/ESCOMP/CTSM/pull/1073 or manually adding the necessary fields to the landuse_timeseries file. Changes to CTSM's user interface (e.g., new/renamed XML or namelist variables): - New namelist variable for transient runs: do_transient_lakes Changes made to namelist defaults (e.g., changed parameter values): none Changes to the datasets (e.g., parameter, surface or initial files): none 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): - Using the dynamic lakes functionality will require either the mksurfdata_map changes in https://github.com/ESCOMP/CTSM/pull/1073 or manually adding the necessary fields to the landuse_timeseries file. - For this reason, the new test (ERS_Lm25.1x1_smallvilleIA.IHistClm50BgcCropQianRsGs.cheyenne_gnu.clm-smallville_dynlakes_monthly) requires a manual step to create the necessary landuse_timeseries file. This step is documented in the README file for the clm-smallville_dynlakes_monthly testmod. Changes to tests or testing: - Added a single-point test covering dynamic lakes, using a manually-created landuse_timeseries file: ERS_Lm25.1x1_smallvilleIA.IHistClm50BgcCropQianRsGs.cheyenne_gnu.clm-smallville_dynlakes_monthly CTSM testing: [PASS means all tests PASS and OK means tests PASS other than expected fails.] build-namelist tests: cheyenne - ok Tests pass, differences from baseline as expected due to new namelist variable tools-tests (test/tools): cheyenne - not run PTCLM testing (tools/shared/PTCLM/test): cheyenne - not run python testing (see instructions in python/README.md; document testing done): (any machine) - not run regular tests (aux_clm): cheyenne ---- ok izumi ------- ok Tests pass, baselines differ as expected If the tag used for baseline comparisons was NOT the previous tag, note that here: Answer changes -------------- Changes answers relative to baseline: YES If a tag changes answers relative to baseline comparison the following should be filled in (otherwise remove this section): And always remove these three lines and parts that don't apply. Summarize any changes to answers, i.e., - what code configurations: Transient cases - what platforms/compilers: all - nature of change (roundoff; larger than roundoff/same climate; new climate): Mostly roundoff-level. See below for details. - Differences in HEAT_CONTENT1, ICE_CONTENT1, LIQUID_CONTENT1, as expected - In transient tests (including Hist/SSP, Fates, CNDV and transient glacier), roundoff-level diffs in EFLX_DYNBAL, QFLX_ICE_DYNBAL and QFLX_LIQ_DYNBAL, along with related flux terms, and river volume - In some transient tests, roundoff-level diffs in methane terms, presumably from downstream effects of changes in VOLR due to roundoff-level changes in fluxes. In multi-year tests, these methane diffs grow to bigger than roundoff-level, but I think they originate from roundoff-level diffs. (I feel like I've seen this high sensitivity before.) - glcMEC_increase test (ERP_P180x2_D_Ld5.f19_g17_gl4.I1850Clm50BgcCropG.cheyenne_intel.clm-glcMEC_increase) shows significant differences in river-related terms, maybe due to glacier running over lake and now lake has different states than before; also, FILLDIFFs in h1 file because lake remains active even when it goes to 0 area. If bitwise differences were observed, how did you show they were no worse than roundoff? - Examined cprnc RMS diffs If this tag changes climate describe the run(s) done to evaluate the new climate (put details of the simulations in the experiment database) - casename: N/A URL for LMWG diagnostics output used to validate new climate: N/A Detailed list of changes ------------------------ List any externals directories updated (cime, rtm, mosart, cism, fates, etc.): none Pull Requests that document the changes (include PR ids): https://github.com/ESCOMP/CTSM/pull/1109 https://github.com/billsacks/ctsm/pull/3 =============================================================== =============================================================== Tag name: ctsm5.1.dev002 Originator(s): slevis (Samuel Levis,303-665-1310) Date: Mon Sep 25 09:39:19 MDT 2020 One-line Summary: Reduce duplication between caps Purpose of changes ------------------ Eliminate duplication of the "derived quantities for required fields" and corresponding error checking codes that repeat across the mct, nuopc, and lilac caps. This consolidates the code and reduces maintenance requirements. Bugs fixed or introduced ------------------------ Issues fixed (include CTSM Issue #): #918 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.] [X] clm5_0 [X] ctsm5_0-nwp [X] clm4_5 Notes of particular relevance for users --------------------------------------- Caveats for users (e.g., need to interpolate initial conditions): None Changes to CTSM's user interface (e.g., new/renamed XML or namelist variables): None Changes made to namelist defaults (e.g., changed parameter values): None Changes to the datasets (e.g., parameter, surface or initial files): None Substantial timing or memory changes: [For timing changes, can check PFS test(s) in the test suite] 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: None Code reviewed by: @billsacks @slevisconsulting CTSM testing: [PASS means all tests PASS and OK means tests PASS other than expected fails.] build-namelist tests: cheyenne - tools-tests (test/tools): cheyenne - PTCLM testing (tools/shared/PTCLM/test): cheyenne - python testing (see instructions in python/README.md; document testing done): (any machine) - regular tests (aux_clm): cheyenne ---- OK izumi ------- PASS If the tag used for baseline comparisons was NOT the previous tag, note that here: Answer changes -------------- Changes answers relative to baseline: Yes (Similar climate) Summarize any changes to answers, i.e., - what code configurations: All - what platforms/compilers: All - nature of change: Larger than roundoff/same climate Detailed list of changes ------------------------ Changes were implemented in three steps: 1) Bit-for-bit: @billsacks simplified subroutine QSat by making three arguments optional (es, qsdT, esdT). 2) Answer-changing: @slevisconsulting replaced local calculations of qsat in /src/cpl/mct, /src/cpl/lilac, and /src/cpl/nuopc with calls to CTSM's subroutine QSat. Subroutine QSat uses a higher-order polynomial approximation to estimate qsat, which explains the larger than round-off diffs. When moving the three identical local approximations to QSat as a temporary test instead of using the higher-order polynomial approximation, the diffs reduce to round-off. 3) Bit-for-bit: @slevisconsulting consolidated repeating codes in /src/cpl/mct, /src/cpl/lilac, and /src/cpl/nuopc by placing in the new file /src/utils/lnd_import_export_utils.F90. List any externals directories updated (cime, rtm, mosart, cism, fates, etc.): Pull Requests that document the changes (include PR ids): https://github.com/ESCOMP/CTSM/pull/1086 https://github.com/ESCOMP/CTSM/pull/1094 =============================================================== =============================================================== Tag name: ctsm5.1.dev001 Originator(s): erik (Erik Kluzek,UCAR/TSS,303-497-1326) Date: Wed Sep 23 02:29:08 MDT 2020 One-line Summary: Start the clm5_1 physics series, with some changes to the fire model from Fang Li Purpose of changes ------------------ Fang Li's latest Fire version - includes allowing clm5.1 phys version. New physics option is added called "clm5_1", with currently the new feature to use the latest fire changes. This has some adjustments to the fire model and includes some changes to the parameter file. Other new features will be added into clm5_1 in future tags. Also bring in mksurfdata changes for the raw urban dataset change. This adds some changes to mksurfdata for a new urban raw dataset, as well as preparation for new changes for some other urban changes that will be a future part of clm5_1. Also use the half degree lightning dataset by default for clm5_1. Start adding a new test list ctsm_sci that tests all the scientifically supported compsets. Some of those tests fail due to existing issues, that will be fixed later. Some more work done to change clm to ctsm, and allow for ctsm as a component. Bugs fixed or introduced ------------------------ Issues fixed (include CTSM Issue #): Fix #1142 -- Add ctsm_sci test list Fix #1145 -- File was corrupted on glade Fix #1144 -- Move btran2 to just inside of fire model Fix #889 --- Some adjustments to the Li Fire model 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): None Changes to CTSM's user interface (e.g., new/renamed XML or namelist variables): Adds clm5_1 option to CLM_PHYSICS_VERSION clm5_1_GSWP3v1 is the only LND_TUNING_MDOE option for clm5_1 New compsets added for CLM51 I2000Clm51BgcCropGs, I2000Clm51BgcGs, I1850Clm51BgcGs, IHistClm51BgcGs, IHistClm51BgcCropGs Changes made to namelist defaults (e.g., changed parameter values): clm5_1 physics options added in Add the ability to set the component name in filenames (default is still clm2, but can be clm4, olr clm5) By default lightning dataset for clm5_1 is the half degree file Changes to the datasets (e.g., parameter, surface or initial files): All params files updated with new fields for fire 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): Changes to tests or testing: Add ctsm_sci test list and move some clm5_0 to clm5_1 and one one clm5_1 specific test Code reviewed by: self CTSM testing: regular, tools [PASS means all tests PASS and OK means tests PASS other than expected fails.] build-namelist tests: cheyenne - PASS (853 tests are different) tools-tests (test/tools): cheyenne - PASS python testing (see instructions in python/README.md; document testing done): cheyenne -- PASS regular tests (aux_clm): cheyenne ---- OK izumi ------- PASS If the tag used for baseline comparisons was NOT the previous tag, note that here: Answer changes -------------- Changes answers relative to baseline: No (although clm5_1 is a new physics option that is different) Detailed list of changes ------------------------ List any externals directories updated (cime, rtm, mosart, cism, fates, etc.): None Pull Requests that document the changes (include PR ids): (https://github.com/ESCOMP/ctsm/pull) #1151 -- Move btran2 to inside CNFireBase #1150 -- ctsm5.1 starting point #1157 -- Urban mksurfdata_map changes #1149 -- LILACSMOKE test change #1146 -- Add --project to LILACS create_newcase =============================================================== ===============================================================