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