Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Added three new history variable dimensions
Merge branch 'switch_pftvars_dims' Added three new history variable dimensions: size, age, and PFT. Previously you could add variables on a multiplexed size x PFT dimension, but not just size, and just PFT was using the levsoi dimension instead of its own dedicated dimension. Also there was no way to output things binned by patch-age, and the multiplexed dimension is a bit unwieldy such that none of those variables are default-on. Since the dimension definitions straddle the FATES-HLM interface, fixing these will be trickier to change once the interface is in place; also we will soon want the mxpft that sets the length of the PFT dimension to be a runtime-set parameter, so separating it from nlevsoi removes a currently-implied dependency that mxpft must be less than nlevsoi. In addition to adding these dimensions, I also pulled all the old PFT-resolved variables off of the nlevsoi axis and onto the new PFT axis, and added some new variables on the size and age axes. These include a default-on basal area by size class diagnostic, and some new diagnostics about the patch age distribution, npp, gpp, and canopy and leaf areas resolved by patch age. Fixes: #145 User interface changes?: No Code review: went over most of the code with @rgknox Testing: ckoven: Test suite: ed test suite on lawrencium-lr3, intel Test baseline: a5dc8da Test namelist changes: n/a Test answer changes: bit for bit Test summary: ALL PASS andre: Test suite: ed - yellowstone gnu, intel, pgi hobart nag Test baseline: a1c3d20 Test namelist changes: none Test answer changes: bit for bit - see note Test summary: ok, functionality tests pass, baselines ok. Test suite: clm_short - yellowstone gnu, intel, pgi Test baseline: clm4_5_12_r195 Test namelist changes: none Test answer changes: bit for bit - see note Test summary: ok, functionality tests pass, baselines ok. NOTE: cprnc does not compare variables when the dimensions have changed. Since the dimensions of some varibles have changed with this work, those variables can not be confirmed to be bit for bit. Depending on the version of cprnc that is installed this skipping of variables is either silently ignored or triggers an error resulting in a test failure. The cprnc on hobart (and I assume lrc) ignore this difference. The cprnc on yellowstone reports these a test failures. Passing baseline comparisons on hobart and no RMS differences on yellowstone support that this is still bit for bit for the checked fields.
- Loading branch information