varQC_mod

link to source code

Dependency Diagrams:

varQC_mod.svg

Direct Dependency Diagram

varQC_mod_rev.svg

Reverse Dependency Diagram

Description

MODULE varQC_mod (prefix=’vqc’ category=’1. High-level functionality’)

Purpose

Procedures related to variational quality control including hard-coded values that determine how quickly the observation weight begins to be reduced.

Quick access

Routines

vqc_ad(), vqc_listrej(), vqc_nltl(), vqc_setup()

Needed modules

  • mathphysconstants_mod: MODULE mathPhysConstants_mod (prefix=’mpc’ category=’8. Low-level utilities and constants’)

  • earthconstants_mod: MODULE earthConstants_mod (prefix=’ec’ category=’8. Low-level utilities and constants’)

  • codtyp_mod: MODULE codtyp_mod (prefix=’codtyp’ category=’8. Low-level utilities and constants’)

  • bufr_mod: MODULE bufr_mod (prefix=’bufr’ category=’8. Low-level utilities and constants’)

  • obsspacedata_mod: MODULE obsSpaceData_mod (prefix=’obs’ category=’6. High-level data objects’)

  • columndata_mod: MODULE columnData_mod (prefix=’col’ category=’6. High-level data objects’)

  • rmatrix_mod (rmat_lnondiagr()): MODULE rMatrix_mod (prefix=’rmat’ category=’2. B and R matrices’)

  • varnamelist_mod: MODULE varNameList_mod (prefix=’vnl’ category=’7. Low-level data objects’)

  • obsfamilylist_mod: MODULE obsFamilyList_mod (prefix=’ofl’ category=’7. Low-level data objects’)

Variables

Subroutines and functions

subroutine  varqc_mod/vqc_setup(obsspacedata)
Purpose

To set certain parameters for the asymmetric check and for variational quality control

Arguments

obsspacedata [struct_obs ,inout] :: obsSpaceData object

Called from

quasinewtonminimization()

Call to

obs_numheader(), obs_headelem_i(), obs_headelem_r(), obs_bodyelem_i(), obs_bodyelem_r(), bufr_isatmosconstituent()

subroutine  varqc_mod/vqc_nltl(obsspacedata)
Purpose
  1. Modify Jo [OBS_JOBS] according to Andersson and Jarvinen 1999, Variational quality control, Q.J.R., 125, pp. 697-722.

  2. Save the values of (1-Wqc) in OBS_QCV for gradient factorization and postalt flag criterion.

Arguments

obsspacedata [struct_obs ,inout] :: obsSpaceData object

Called from

simvar(), inn_computeinnovation()

Call to

obs_numbody(), obs_bodyelem_i(), obs_getfamily(), obs_headelem_i(), obs_bodyelem_r(), col_varexist()

subroutine  varqc_mod/vqc_ad(obsspacedata)
Purpose

Factorizes Grad(Jo) according to Andersson and Jarvinen 1999, Variational quality control, Q.J.R., 125, pp. 697-722. It uses the value of (1-Wqc) saved in OBS_QCV in vqc_NlTl

Arguments

obsspacedata [struct_obs ,inout] :: obsSpaceData object

Called from

simvar()

Call to

obs_numbody(), obs_bodyelem_i(), obs_getfamily(), obs_bodyelem_r()

subroutine  varqc_mod/vqc_listrej(lobsspacedata)
Purpose

List all observations rejected by the variational QC Set QC flags consistent with VARQC decisions Set global flag indicating report contains rejected observations as required

Arguments

lobsspacedata [struct_obs ,inout]

Called from

midas_var

Call to

obs_getheaderindex(), obs_headelem_i(), obs_headelem_r(), obs_bodyelem_i(), obs_bodyelem_r(), col_varexist(), obs_bodyset_i(), codtyp_get_name(), obs_elem_c(), vnl_varnamefromvarnum(), obs_headset_i()