Users can specify in model_nml which variables should be in the state vector.
They are currently free to leave out variables that are required for some calculations.
Filter writes no useful message about this problem when it fails, which results in a long debugging process.
This fix adds a function call after model_nml has been read and parsed to check whether required variables are in the state, and exit with a helpful message when one is missing.
The lists of required variables are different for cam-fv and cam-se, and may change in the future.
Fixes issue
662
Types of changes
[x ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Documentation update
Documentation changes needed?
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
Tests
I ran both cam-fv and cam-se using model_nml:state_variables which contained
all required variables
all except for PS
all except for CLDICE (cam-se only; dry mass calculation)
Checklist for merging
[ ] Updated changelog entry
[ ] Documentation updated
[ ] Update conf.py
Checklist for release
[ ] Merge into main
[ ] Create release from the main branch with appropriate tag
[ ] Delete feature-branch
Testing Datasets
[ ] Dataset needed for testing available upon request
Description:
Users can specify in model_nml which variables should be in the state vector. They are currently free to leave out variables that are required for some calculations. Filter writes no useful message about this problem when it fails, which results in a long debugging process. This fix adds a function call after model_nml has been read and parsed to check whether required variables are in the state, and exit with a helpful message when one is missing.
The lists of required variables are different for cam-fv and cam-se, and may change in the future.
Fixes issue
662
Types of changes
Documentation changes needed?
Tests
I ran both cam-fv and cam-se using model_nml:state_variables which contained
Checklist for merging
Checklist for release
Testing Datasets