Open matthew-mizielinski opened 2 years ago
So in this notebook I've thrown together a straw-man for the project independent MIP tables and they can be found within the Tables directory of the branch.
There are quite a lot of steps, so in summary the workflow demonstrated is;
mip_tables_data[mip_table][variable_name]
modeling_realm
, frequency
, dimensions
, cell_methods
and existing MIP table name in a few cases) to construct a new MIP table name, building a mapping dictionary new_tables[new_table][variable_name] = [(mip_table, variable_name),...]
. Note that there will be a few "duplicates" from CMIP6 that will end up in the same new MIP table, but these are dealt with later. The MIP table prefixes are primarily assigned based on the first modeling realm entry.
monC
-> monClim
and 1hrCM
-> monDiurnal
GIA
for Antarctica and GIG
for Greenland. I couldn't find another way of distinguishing region based data -- we could require the data to be combined before publication, i.e. Greenland and Antarctica data regridded onto lat-lon and published as a single field, but this would likely get messy.Site
, model levels (atmos or ocean) = Lev
, zonal means = Z
. AERmon/ps
, Amon/ps
, CFmon/ps
, Emon/ps
or have subtle differences which are not picked up by the methodology for assigning a new MIP table. The following conflict types were identified;ps
in 3hr and monthly MIP tables.area: time: mean
, while counterparts in the CMIP6 Emon MIP table have area: mean where land time: mean
. I //think// (please correct this) that the variables with area: mean where land
in their cell_methods could be reconstructed from the area: mean
equivalent using a fixed land mask or land area fraction field, but there may be some subtleties I'm missing.Eday/ta
used plev19
while day/ta
used plev8
; For these I've appended the number of pressure levels to the variable name.Amon/prsn
and Omon/prsn
result in a variable in the same new MIP table APmon
. the Omon/prsn
version is on the ocean grid, so I've changed the modeling_realm
to ocean
and moved it to the OPmon
table.APfxSite
table as I don't think the latitude and longitude variables here are useful (please correct if I've missed something here).dimensions
field is now a list of strings for clarity -- all lists should be included as lists unless there is good reason. We could consider separating out scalar coordinates, e.g. height2m
into a separate fieldprovenance
field with CMIP6 MIP table, variable name and uid from the CMIP6 data request.out_name
with the variable name for every variable. I might be tempted to remove this field outrightformula_terms
, coordinates
, and grids
files from CMIP6CMIP6_CV.json
file and written it to generic_CV.json
(needs some work)This is only a first straw man idea of how this could be approached, certain features (the branded name in particular) likely need some work, and there are a few things I haven't added that we have discussed:
a. standard_name status for new variables
b. removal of out_name
@durack1, @taylor13, comments on the above would be welcome
It would be great to fold in the CMIP5 (e.g. CMIP5_Amon) and CMIP3 (e.g. IPCC_table_A1) provenance as well e.g. CMIP3 tas https://github.com/PCMDI/cmip3-cmor-tables/blob/master/Tables/IPCC_table_A1#L915-L934
@matthew-mizielinski @wolfiex @taylor13 is there anything relevant to the 6.6 milestone that we should note, or should this be closed?
Produce a set of prototype MIP tables.
Draft Pull request: #4