Main program for background check, and thinning of all observation types.
—
Algorithm
For background check of each observation type, several quality control tests
specific to that observation type are performed on each available observation
to determine if the observation meets the standard to be assimilated later.
Observation flags are modified for rejected observations as well as for the
assimilated observations of inferior quality.The thinning is performed afterwards
to reduce the number of observation data for assimilation. This is to reduce the
1) computational cost, and 2) observation error correlation during
assimilation stage. The background-checked thinned observations are written
to new files, ready for assimilation.
–
The computed bias correction values are applied to the observation before the
background check step for certain observation types (e.g. radiances). One of quality
control tests during background check is the roguecheck which is the allowed
distance of the observation from the background state. Innovation vector
y-H(xb) is required to measure this distance. The innovations are
computed at the beginning of the program before the background check starts.
–
Input and Output Files
Description of file
flnml
In - Main namelist file with parameters that user may modify
flnml_static
In - The “static” namelist that should not be modified
trlm_$NN (e.g. trlm_01)
In - Background state (a.k.a. trial) files for each timestep
analysisgrid
In - File defining grid for computing the analysis increment
obsfiles_$FAM/obs$FAM_$NNNN_$NNNN
In - Observation file for each “family” and MPI task
obserr
In - Observation error statistics
obsfiles_$FAM.updated/obs$FAM_$NNNN_$NNNN
Out - Updated obs file for each “family” and MPI task
Remainder are files related to radiance obs:
stats_$SENSOR_assim
In - Satellite radiance observation errors of difference sensors
stats_tovs
In - Satellite radiance observation errors
stats_tovs_symmetricObsErr
In - User-defined symmetric TOVS errors for all sky
Cmat_$PLATFORM_$SENSOR.dat
In - Inter-channel observation-error correlations
dynbcor.coeffs.$SENSOR.*.coeffs_$SENSOR
In - Dynamic bias correction file
ceres_global.std
In - High-res surface type and water fraction for radiance obs
rtcoef_$PLATFORM_$SENSOR.dat
In - RTTOV coefficient files
rttov_h2o_limits.dat
In - Min/max humidity limits applied to analysis
ozoneclim98
In - Ozone climatology
–
Synopsis
Below is a summary of the obsSelection program calling sequence:
Initial setups:
Read the NAMOBSSELECTION namelist and check/modify some values.
Various modules are setup: obsFiles_mod, timeCoord_mod.
Setup horizontal and vertical grid objects for “analysis
grid” from analysisgrid file.
Setup obsSpaceData object and read observations from
files: inn_setupObs.
Compute and update the stored surface type for some satellite
radiance instruments.
Setup columnData module (read list of analysis variables
from namelist) and allocate column object for storing trial
on analysis levels.
Setup the observation error statistics in obsSpaceData
object: oer_setObsErrors
Setup gridStateVector module to initialize the gridstatevector
objects.
Applying optional bias corrections to some observation types.
Setup horizontal and vertical grid objects for “trial grid” from
first trial file: trlm_01.
Allocate a stateVector object on the trial grid and then
read the trials: gio_readTrials.
Computation
Compute columnTrlOnTrlLev and columnTrlOnAnlIncLev from
background state: inn_setupColumnsOnTrlLev,
inn_setupColumnsOnAnlIncLev.
Compute innovation from background state: inn_computeInnovation.
Do background check for conventional observation:
bgck_bgCheck_conv.
Update radiance bias correction in obsSpaceData and apply
the bias corrections to the observations and innovations for
radiances: bcs_calcBias, bcs_applyBiasCorrection.
Perform background check for multiple observation types.
If thinning was requested:
add some cloud parameters and set missing observation flags in
observation files (specific for radiances) and
perform thinning for different observation types.
Write the final background-checked bias corrected results (either
thinned or not thinned) into the observation file.
If thinning was requested, remove observations which were flagged
not to be assimilated from the observation file.