-
Notifications
You must be signed in to change notification settings - Fork 145
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
cam-se fails if CLDICE, CLDLIQ, or Q (or PS) is not in the state vector #662
Comments
Hey Kevin, v9.12.refactored-1915-gb3e00330f means 1915 commits after version v9.12 so we should chat and get you working on the main branch again. |
the dry mass pressure came in here: 1982c75 |
Thanks for reporting this, Kevin (and Nuo). Before doing a pull request to fix for this, I'd like to get a spec for what the dry_mass_vertical_coordinate options are, what namelist options are needed and what state qtys are needed for the namelist options. Ideally we would have done this when the original code was written, but the second best time to do this is now. |
@hkershaw-brown thanks for digging up the SHA. |
Spec first. |
I've written a spec and put it in a G-doc in DAReS team > Spec > Handling calculation of total pressure in cam-se There may be some confusion, and some connection, between this issue and
|
I've written a script to check the consistency between the dry mass namelist variables (build_dry_mass_pressure_columns and precise_dry_mass_get_close) and the variables in the state vector. |
Seems like it is best to fail as early as possible and I don't think you can fail any earlier than immediately after reading the what variables are in the state. Its cam-se specific so cam-se model_mod seems like the best place for it (rather than common code) |
There are usually things I don't understand that others might see immediately. I looked into putting it into the common code, but the 2 dry_mass namelist variables are not available from the cam-fv namelist. If this is the right solution, I'd put a similar check in cam-fv, but just for PS. |
general worry, I dig that. |
Describe the bug
Build a cam-se filter.
Set model_nml:state_variables to a set of variables that is "missing" one or more of the moisture variables.
Assimilate any appropriate observation (Feature request: CAM SE Manhattan #343 may provide files that are helpful for setting up an assimilation).
The existence of state_variables in the namelist implies that the user is free to define the model state,
so the expected outcome is that the observations will be assimilated.
All observations fail in the forward operator (QC=4).
Error Message
There is not enough diagnostic messaging from model_mod to learn the cause of the failure.
Adding messages about the various istatus contents leads to the discovery that build_dry_mass_pressure_columns requests values for QTY_SPECIFIC_HUMIDITY, QTY_CLOUD_LIQUID_WATER,
and QTY_CLOUD_ICE. If one of those fails, the failure code is immediately returned to the calling routine
without any diagnostic message. The calling routine converts the code to a generic failure code,
which eventually is converted into QC=4, which is not very informative, given the large number of ways
that the forward operator can fail.
Which model(s) are you working with?
cam-se
A similar issue applies to cam-fv too, because PS is required (in both).
No one has ever excluded PS and reported a problem.
Version of DART
Which version of DART are you using?
Any version after the refactoring which uses cam-common-code and after build_dry_mass_pressure_columns
was added. (I don't see it mentioned in the git log output, so I don't know when it was installed.)
The version I modified and sent to Nuo Chen for testing is v9.12.refactored-1915-gb3e00330f.
If a cleaner version number is needed, I'll work on finding one.
Have you modified the DART code?
I added diagnostic prints, but did not change any calculations or procedure calls.
There are several possible solutions to this problem:
A question related to 1. is whether those 3 variables are all that are required to correctly calculate the dry mass pressures.
Build information
Please describe:
The text was updated successfully, but these errors were encountered: