29 PEcAn standard formats
29.1 Defining new input formats
- New formats can be defined on the ‘formats’ page of BETYdb
- After creating a new format, the contents should be defined by specifying the BETYdb variable name and the name used in the file/
29.1.1 Input Standards
####Meterology Standards ##### Dimensions:
|time||days since 1700-01-01 00:00:00 UTC|
General Note: dates in the database should be date-time (preferably with timezone), and datetime passed around in PEcAn should be of type POSIXct.
188.8.131.52.1 The variable names should be
- preferred variables indicated in bold
- wind_direction has no CF equivalent and should not be converted, instead the met2CF functions should convert wind_direction and wind_speed to eastward_wind and northward_wind
- standard_name is CF-convention standard names
- units can be converted by udunits, so these can vary (e.g. the time denominator may change with time frequency of inputs)
- soil moisture for the full column, rather than a layer, is soil_moisture_content
- A full list of PEcAn standard variable names, units and dimensions can be found here: https://github.com/PecanProject/pecan/blob/develop/base/utils/data/standard_vars.csv
For example, in the MsTMIP-CRUNCEP data, the variable
rain should be
We want to standardize the units as well as part of the
met2CF.<product> step. I believe we want to use the CF “canonical” units but retain the MsTMIP units any time CF is ambiguous about the units.
The key is to process each type of met data (site, reanalysis, forecast, climate scenario, etc) to the exact same standard. This way every operation after that (extract, gap fill, downscale, convert to a model, etc) will always have the exact same inputs. This will make everything else much simpler to code and allow us to avoid a lot of unnecessary data checking, tests, etc being repeated in every downstream function.
29.1.2 Output Standards
- created by
- based on format used by MsTMIP
- Can be seen at HERE
We originally used the MsTMIP conventions. Since then, we’ve added the PaLEON variable conventions to our standard as well. If a variable isn’t in one of those two, we stick to the CF conventions.