# 10 PEcAn standard formats

## 10.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/

## 10.2 Time Standard

Internal PEcAn standard time follows ISO_8601 format for dates and time (https://en.wikipedia.org/wiki/ISO_8601). For example ordinal dates go from 1 365/366 (https://en.wikipedia.org/wiki/ISO_8601#Ordinal_dates). However, time used in met drivers or model outputs follows CF convention with julian dates following the 0 to 364/365 format

To aid in the conversion between PEcAn internal ISO_8601 standard and CF convention used in all met drivers and PEcAn standard output you can utilize the functions: “cf2datetime”,“datetime2doy”,“cf2doy”, and for SIPNET “sipnet2datetime”

### 10.2.1 Input Standards

#### 10.2.1.1 Meterology Standards

##### 10.2.1.1.1 Dimensions:
CF standard-name units
time days since 1700-01-01 00:00:00 UTC
longitude degrees_east
latitude degrees_north

General Note: dates in the database should be date-time (preferably with timezone), and datetime passed around in PEcAn should be of type POSIXct.

##### 10.2.1.1.2 The variable names should be standard_name
• 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 precipitation_rate. 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.

### 10.2.2 Soils and Vegetation Inputs

##### 10.2.2.0.1 Soil Data

Check out the Soil Data section on more into on creating a standard soil data file.

##### 10.2.2.0.2 Vegetation Data

Check Out the Vegetation Data section on more info on creating a standard vegetation data file

### 10.2.3 Output Standards

• created by model2netcdf functions
• 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.