-
Notifications
You must be signed in to change notification settings - Fork 92
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
new history dimension: size class only #145
Comments
I believe this should be pretty straight forward. |
all- |
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.
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.
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.
Now that the history refactor is almost done, I wanted to put in a request for some new history functionality, which is a new dimension that is size-class only. Currently we have output that are dimensioned patch, site, patch/site x ground, or patch/site x multiplexed size class and PFT. The latter is great for intensive introspection of the model but too big for default-on runs, since the PFT part of that dimension can be quite large. As a result they are all default-off variables on that dimension. So what I'd like is to have another dimension that is just patch x size class, with a small number of default-on variables that are output on that new dimension (number density, total mortality, and NPP to start). That way we'll always have some ability to know what is going on across the size classes.
The text was updated successfully, but these errors were encountered: