This tool will strongly benefit from a well defined set of conventions regarding how input/output data is discovered and formatted. Pangeo guidelines strongly encourage using xarrayDataset and DataArray objects, which are based on community established CF Conventions. The atmospheric input variables required by this tool are pressure, temperature, and gas abundances. We should define a specific set of rules that the tool will follow when attempting to access this data from an input Dataset. For example,
Should the tool look at the units of each variable in the dataset to determine which variables are gas abundances/mixing ratios?
Should these variable names be provided by the user as a dictionary or list?
Should we require that the input dataset provides a standard_name attribute for each variable that matches one defined in the CF table of standard names?
Once we establish these rules, the simple tests can updated to use them and provide an example to users.
two sets of pressures (at layer centers and layer edges)
temperature at layer centers
an unknown number of gas abundances.
Some questions:
Is it sufficient to specify gas abundances as molar fractions of total pressure? In earth's atmosphere these are usually specified as fractions of dry pressure (water vapor removed)
Is it sensible to identify gas abundances via standard name attributes (@menzel-gfdl's third suggestion above) i.e. mole_fraction_of_XX_in_air? If so, some molecules are specified by name (water vapor) and some by formula (CCl4); how will we homogenize?
Is it sensible to identify gas abundances via dataset names?
However we proceed we probably do want the ability to override the dataset names/standard name attributes via a dictionary.
This tool will strongly benefit from a well defined set of conventions regarding how input/output data is discovered and formatted. Pangeo guidelines strongly encourage using xarray
Dataset
andDataArray
objects, which are based on community established CF Conventions. The atmospheric input variables required by this tool are pressure, temperature, and gas abundances. We should define a specific set of rules that the tool will follow when attempting to access this data from an inputDataset
. For example,standard_name
attribute for each variable that matches one defined in the CF table of standard names?Once we establish these rules, the simple tests can updated to use them and provide an example to users.