GSI observaton space (ncdiag) ingest class#
The Gridpoint Statistical Interpolation (GSI) data assimilation software has the ability to write out observation-space diagnostic files in a netCDF format. This is used operationally in many National Weather Service modeling systems, including the Global Forecast System (GFS) starting with version 16. Eva can read in these GSI diagnostic files using this GsiObsSpace class described below.
GSI observation space injest for batch processing#
An example YAML file may look differently depending on if you are reading in a radiance diagnostic file or a conventional observation diagnostic file. For example, a conventional diagnostic YAML may look like:
datasets:
- name: experiment
type: GsiObsSpace
variable: t
filenames:
- ./gsi_obs_space.conv_t_ges.2020092000.nc4
groups:
- name: GsiNcDiag
variables: &variables [Obs_Minus_Forecast_adjusted,
Observation,
Latitude,
Longitude]
and a radiance diagnostic YAML may look like:
datasets:
- name: experiment
type: GsiObsSpace
satellite: metop-a
sensor: amsua
filenames:
- ./gsi_obs_space.amsua_metop-a_ges.2020092200.nc4
channels: &channels 3,8
groups:
- name: GsiNcDiag
# Note: channelNumber is automatically added to the output and should not
# be listed as a variable
variables: &variables [Obs_Minus_Forecast_adjusted,
Observation,
Latitude,
Longitude]
The above keys are defined as follows:
name
: the name of the dataset that gets propagated throughout evatype
:GsiObsSpace
the class to read in the GSI netCDF diagnostic filesvariable
(conventional only): the type of conventional variable you are reading in (GSI diagnostic files are split by variable, like t or uv)satellite
(radiance only): the name of the satellite platform in the diagnostic filesensor
(radiance only): the name of the satellite sensor in the diagnostic filefilenames
: list of GSI netCDF diagnostic files to read inchannels
(radiance only): string list that is parsed of the channels you wish to read ingroups
name
: the name of the group that gets propagated throughout evavariables
: the list of variables that you wish to read into the above group
Note that groups is a list of groups. This allows for the user to better organize the input dataset and combine variables in a more logical way as they see fit, but for many uses, this will be a list of only one group defined.
Following the eva convention, datasets will be available to the transforms and plots sections like so:
name::group::variable
where:
name
=name
defined in the YAMLgroup
is thename
defined in the group list entryvariable
is the name of the variable specified in each of the appropriate lists in the group
GSI observation space injest for interactive processing#
To apply the gsi observation space injest class during an eva interactive, call the load_collection()
with the gsi data space name:
EvaInteractive.load_collection(collection_name, filenames, 'GsiObsSpace')
where
collection_name
is a user-defined label for the loaded collectionfilenames
is a file path string or list of strings to be loaded into the data collection'GsiObsSpace'
selects the GSI observation injest class