Vader Variable Changes¶
Each variable change that can be performed by Vader is defined by code called a “Recipe” (from a design metaphor within the Vader code.) Each recipe shares the same structure:
Name - The name of the recipe which can be used in yaml to specify the recipe parameters. (Follows the recipe naming standard.)
Variable Produced - The variable that will be created by the algorithm, usually called the “product”.
Input Variables - Usually called “ingredients”, these are the variables required as input for the algorithms.
Trajectory Variables - These are the trajectory variables that are required for the TL/AD algorithms, if present and necessary.
Number of Levels - The number of levels for the Atlas Field for the product. Must be a constant or a function of the number of levels of the ingredients.
FunctionSpace - The Atlas FunctionSpace for the Atlas Field for the product. Can be specific FunctionSpace or the same as one of the ingredients.
hasTLAD - This is a boolean flag indicating whether the recipe has implemented the tangent linear and adjoint (TL/AD) of the transformation.
hasNL - This is a boolean flag indicating whether the recipe has implemented the non-linear (NL) transformation.
Algorithms - Put into methods called
executeNL
,executeTL
, andexecuteAD
, this code performs the calculations on the inputs and produces the output.Required Configuration Variables - Some recipes reference values that are stored in VADER’s configuration variables. These variables must be defined in the VaderConstructConfig class that is passed to the VADER constructor.
Parameters - Recipes can have optional parameters which can configure their behavior. These parameters should not be required.
Below is a list of the recipes that have been implemented in VADER:
- Air Temperature
- Potential Temperature from temperature and surface pressure
- Potential Temperature from temperature and pressure to kappa
- Temperature from potential temperature and exner
- Temperature from virtual temperature and specific humidity
- Virtual Temperature from potential temperature and exner
- Virtual Potential Temperature from height and hydrostatic exner
- Virtual Potential Temperature from specific humidity and potential temperature
- Air Pressure
- Air pressure at midpoints from air pressure at interface
- Air pressure at midpoints including a point above the model top
- Air pressure at interface from ak/bk
- Air pressure at interface from pressure thickness
- Air pressure at interface from pressure thickness
- Log of air pressure at interface from air pressure at interface
- Air pressure thickness from pressure at interface
- Air pressure to kappa from air pressure at interface
- Saturation vapor pressure from from temperature
- Surface air pressure from air pressure thickness
- Hydrostatic exner levels from height, virtual potential temperature, and air pressure.
- Hydrostatic pressure levels from hydrostatic exner levels.
- Log derivative of saturation vapor pressure from temperature
- Air Density
- Atmospheric Water
- Cloud ice mixing ratio wrt moist air and condensed water, from cloud ice mixing ratio and total water mixing ratio
- Cloud liquid water mixing ratio wrt moist air and condensed water, from rain mixing ratio and total water mixing ratio
- Rain mixing ratio wrt moist air and condensed water from rain and total water mixing ratios
- Relative humidity
- (Met Office) saturation specific humidity from from temperature, pressure, and svp
- Total water mixing ratio wrt dry air from individual mixing ratios wrt dry air
- Total relative humidity from moisture mixing ratios
- Total water mixing ratio wrt moist air and condensed water from specific humidity and other moisture mixing ratios
- (Met Office) specific humidity from water vapor and total water mixing ratios wrt dry air
- (Met Office) specific humidity at 2m from (Met Office) specific humidity
- Wind
- Marine
- Particulate Matter