-
Notifications
You must be signed in to change notification settings - Fork 33
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
formula terms issue; bounds attribute missing for b variable #177
Comments
@ehogan There are certainly several things to clear up here. Before modifying CMOR, we should review the recent discussion in the CF conventions on the proper way to store bounds associated with formulas. This is just now being finalized. See https://cf-pcmdi.llnl.gov/trac/ticket/140#comment:22 |
@ehogan On further review, I think the file above is consistent with the proposed treatment of formula terms bounds. The idea is that bounds apply to coordinates (i.e. lev(lev)). If you want to transform from the level to a location in space, you rely on the formula terms associated with those levels. In the case of lev_bnds, you would use the formula terms named by the lev_bnds attribute. There is no need to look up the b_bnds if you're only considering b, so there is no need for a bounds attribute attached to b. Note CF says it is o.k. to associate bounds with b, but this is not necessary. |
Interesting read, thanks for the link! :) |
@taylor13 thank you for the clarification :) |
@dnadeau4 Actually, there are a few things that should be cleaned up in the above file. formula_terms should never have missing values, so missing_values and _Fill_values could be removed. Perhaps more importantly, the way CMOR defines missing values for double precision variables needs to be corrected. [talking in fortran terminology] Currently, it seems to set these by defining a float number as 1.0e20 and then converting that to a double precision number. instead, it should set missing_value for double precision variables to 1.0d20. Then you would get a more precise representation of 100,000,000,000,000,000,000. We also for CMIP6 need for the first time to define missing values for integer variables, which again are not currently handled correctly by CMOR (I think). |
I think you are right, the I'll check the integer |
I just fix this in branch 3.2.5. @taylor13 Can you tell me more about INTEGER missing_value? |
We fixed |
When using CMOR to produce, e.g.
cli
, the output netCDF file contains, along with thecli
data variable and coordinate variables,orog
,b
andb_bnds
variables. However, theb
variable (see the CMIP6_formula_terms.json MIP table) does not have abounds
attribute indicating thatb_bnds
are the bounds forb
in the same way as thelev
coordinate variable (see the CMIP6_coordinate.json MIP table):The
formula_terms
attribute for thelev_bnds
variable certainly expects bounds forb
; would it be possible for CMOR to add the appropriatebounds
attribute to all the formula terms-related variables?The text was updated successfully, but these errors were encountered: