-
Notifications
You must be signed in to change notification settings - Fork 32
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
potential requirements for CMIP7 #762
Comments
Is this what the mip-cmor-tables will look like? Would the removal of "frequency" reduce the number of tables since they are currently grouped by modeling realm and frequency? Are users supposed to select which "branded variables" from a table they are going to use instead of "variable_id"? I assume "region" is going to be like "realm" in global attributes where its valid entries will be found in the CV, correct? Will the "approx_interval" come from the CV or some other table? CMOR currently uses this value for a test. |
The tables will be structured the same as old tables with the changes I enumerated above. But, we can group variables into tables anyway we like (even placing them all into a single table, if we like), and instead of having a total of 2062 table entries (across tables), we’ll have about 1600 (because the same variable sampled at multiple frequencies will be found in only one table). As I understand it, “variable_id” records the “out_name” found in the table, which is also the actual name of the variable array written to the netCDF file. That won’t change. As I noted, the out_name in the new tables will be the root name (i.e., prefix) of the branded variable name (e.g., “tas”, which is the prefix appearing in “tas_tavg-z0-hxy-x”) As for realm, experiment_id, institute_id, etc., the valid regions will be found in a CV (and for CMIP7, there may only be a few options: “global”, “Antarctica”, “Greenland”, and a couple more perhaps. We might decide to turn off the frequency check in CMIP7, which, as you say, is based on "approx_interval". Or we could provide a CV with "frequency" as the key, and the approximate interval as the value. The user would specify the "frequency" in the input table (as described above), and then CMOR would go to the frequency table and extract the approx_interval so it could perform its check. The frequency CV might look like:
|
(FYI @sashakames, @durack1,@matthew-mizielinski, @wolfiex even though this is primarily for Chris)
It looks likely that some changes to the output requirements for CMIP7 will be agreed shortly and that "branded variables" will be relied on in identifying variables in the cmor output files. It would be good to now consider how this might impact CMOR, so I'll raise this issue now:
How difficult would it be to implement the following?
To implement the above, new CMOR variable tables will need to be generated with the following changes (which could be implemented by someone other than Chris):
I should think most of the above changes to the variable tables should have little impact on the CMOR code itself.
A new CMOR7 table variable entry would include 5 new attributes (the first 5 lines below), and the "frequency" would be removed from the table (in CMIP6 it appeared just before the "long_name" attribute), resulting in the following:
Note that the table_entry has been changed from
"tas"
to the branded variable name:"tas_tavg-z0-hxy-x"
. Also note that the "out_name" will now without exception be just the root name (in this casetas
) appearing before the underscore in the branded variable name. In CMIP6, sometimes the out_name differed from the table_entry.We could elect to have CMOR generate "temporal_type", "vertical_type", "horizontal_type", and "area_type" by parsing the elements comprising the branding_suffix and then looking up in CVs the associated short text descriptions. That would mean these 4 global attributes would not have to be added to the existing tables.
The text was updated successfully, but these errors were encountered: