Variable transforms¶
Introduction¶
This section describes the various variable transforms (or conversions) available within UFO.
All variable transforms are performed using a unique filter
(Observation Filters) called Variable Transforms
, as shown in
the example below:
time window:
begin: 2018-04-14T21:00:00Z
end: 2018-04-15T03:00:00Z
observations:
observers:
- obs space:
name: test_relative_humidity1
obsdatain:
engine:
type: H5File
obsfile: Data/ioda/testinput_tier_1/sfc_obs_2018041500_metars_small.nc
simulated variables: [specificHumidity, airTemperature, stationPressure]
obs filters:
- filter: Variable Transforms
Transform: ["RelativeHumidity"]
Method: UKMO
- The
Variable Transforms
filter has the following available yaml settings: Transform: name of the variable transform that need to be performed. (see Variable transforms).
Method: [Optional | default = default] Method or “recipe” used for the variable transformation. Often this refers to a Met Center. Any method in the list of all possible variable transform methods can be specified, but in many cases this will result in a default method being used. For example, the method
GoffGratchLandoltBornsteinIceWater
can be specified for any variable transform, but will cause a default method to be used in all cases but the relative and specific humidity variable transforms. See individual Variable transforms for default methods, possible choices and definitions.UseValidDataOnly: [Optional | default = true] If true, the variable transform is only applied to valid data.
FillMissingDerivedFromOriginal [Optional | default = false] If true, fill any missing entries of a vector in a Derived group (e.g. DerivedObsValue) with the non-missing entries of the vector in the equivalent original group (e.g. ObsValue).
SkipWhenNoObs [Optional | default = true] If true, the variable transform will not be performed on a core if there are no observations on that core. If creating a new variable it might be pertinent to set to false as the code may fail when saving that variable.
Warning
If
UseValidDataOnly=true
, the variable transform is not applied to observations that have aQCflag
equal to eithermissing
orbounds
.
The new variable derived by the filter is then stored in the observation space within the
DerivedObsValue
group. Since variables in groups with the Derived
prefix
“overshadow” variables from corresponding groups without that prefix (see
Derived Variables), these variables can normally be accessed as if they were in the
ObsValue
group.
Warning
Each variable transform requires a specific set of variables (as specified in the documentation). If any compulsory variable is missing, the code will raise an exception and stop.
Variable transforms¶
The variable transforms available are:
Adjusted height
Height from pressure
Humidity
Logarithm
Ocean Conversions
PotentialTemperature
Pressure from height
Profile horizontal drift
Radar beam geometry
Remap scan position
Satellite brightness temperature from radiance
Satellite radiance from scaled radiance
Satellite zenith angle correction
Surface pressure
Surface wind scaling for height coordinate
Surface wind scaling for pressure coordinate
Surface wind scaling for combined height-pressure coordinate
Wind