Tags: TaranuDev/CTSM
Tags
First version in the preparation for pull request. There is still man… …y small improvements to be added. This version will be used as base.
Expand crop reproductive pools; remove some unused options 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#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.
FATES parameter file updated to align with clm pft optical parameters 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.
Update to ctsm5.1.dev054 Some changes to matrix because soil decomp CN option removed.
Implement PCT_URBAN_MAX to minimize dynamic urban memory 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.
Allow user to replace vegetation in fsurdat files with any pft/cft u… …sing the fsurdat_modifier tool option dom_plant. This option replaces now obsolete option dom_nat_pft which handled pfts only and not cfts.
Do not subtract irrigation from QRUNOFF diagnostic 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.
Use avg days per year when converting param units 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 ESCOMP#1612 for details.
Changes to CropPhenology timing Changes to CropPhenology timing to support ESCOMP#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 ESCOMP#1623 and ESCOMP#1616 for some discussion). (2) Call CropPhenology regardless of doalb (however, still do not call CropPhenology on time step 0). (See some discussion in ESCOMP#1626 and ESCOMP#1623.)
Rework single-point testing
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.))
PreviousNext