This obsfunction was designed to mimic the GSI Observer code (i.e., setupps.f90) to inflate the observation error for surface pressure. The purpose of the function is to inflate the observational error from its initial value to a larger value based on large discrepancies between model and observations that would be expected when the model terrain (pressure) differs from the observed terrain, which is likely in coarse resolution model simulations. The filter variable must be surface_pressure
since this function is designed solely to affect the assignment of ObsError on this variable alone.
The following observed variables are required inside the code: station_elevation
, surface_pressure
, and air_temperature
, although this may contain missing data at some locations. In addition, the required model GeoVaLs variables are: surface_altitude
, surface_pressure
, and vertical profiles of air_pressure
and air_temperature
. Since some model interfaces may supply different variable names for surface_altitude
or temperature, there are yaml parameters to override the defaults.
error_min
anderror_max
specify the min and max ObsError which will be used within the function as limits on the output.
geovar_sfc_geomz
an optional variable name to override the default of
surface_altitude
in the event the model variable name is different (example would besurface_geopotential_height
).geovar_temp
an optional variable name to override the default of
virtual_temperature
in the event the model variable name is different (example would beair_temperature
).original_obserr
an optional group name to override the default of
ObsErrorData
in the event the input dataset already has a pre-determined value of ObsError.
- filter: Perform Action
filter variables:
- name: surface_pressure
action:
name: inflate error
inflation variable:
name: ObsErrorFactorSfcPressure@ObsFunction
options:
error_min: 100 # 1 mb
error_max: 300 # 3 mb
geovar_sfc_geomz: surface_geopotential_height # Optional, default is surface_altitude
geovar_temp: air_temperature # Optional, default is virtual_temperature
original_obserr: ObsError # Optional, default is ObsErrorData