bgckCSR_mod

link to source code

Dependency Diagrams:

bgckCSR_mod.svg

Direct Dependency Diagram

bgckCSR_mod_rev.svg

Reverse Dependency Diagram

Description

MODULE bgckCSR_mod (prefix=’csrbg’ category=’1. High-level functionality’)

Purpose

To perform CSR (clear-sky radiance from geostationary satellite platforms) data background check.

Quick access

Routines

csrbg_bgcheckcsr(), csrbg_csrcheckqc(), csrbg_init(), csrbg_readobsfromobsspace(), csrbg_updateobsspaceafterqc()

Needed modules

  • midasmpi_mod: MODULE midasMpi_mod (prefix=’mmpi’ category=’8. Low-level utilities and constants’)

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

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

  • tovsnl_mod: MODULE tovsNL_mod (prefix=’tvs’ category=’5. Observation operators’)

  • obserrors_mod: MODULE obsErrors_mod (prefix=’oer’ category=’2. B and R matrices’)

Variables

Subroutines and functions

subroutine  bgckcsr_mod/csrbg_init()
Purpose

This subroutine reads the namelist section NAMCSR for the module.

Called from

csrbg_bgcheckcsr()

Call to

utl_abort()

subroutine  bgckcsr_mod/csrbg_bgcheckcsr(obsspacedata)
: Purpose: Effectuer le controle que qualite sur les donnees CSR.

Modifier les marqueurs de donnees selon le type de rejet.

Arguments

obsspacedata [struct_obs ,inout] :: obspaceData Object

Called from

midas_obsselection

Call to

obs_getheaderindex(), obs_headelem_i(), tvs_isidburpinst(), utl_tmg_start(), csrbg_init(), csrbg_readobsfromobsspace(), csrbg_csrcheckqc(), csrbg_updateobsspaceafterqc(), utl_tmg_stop()

subroutine  bgckcsr_mod/csrbg_readobsfromobsspace(obsspacedata, headerindex, obstb, omptb, satzenithangle, obsflags, cloudamount, obschannels, sensorindex, obsdate, obshour, burpfilesatid, maxanglereached, topographicdata, noncorrecteddata, istbpresent, isclearsky, straylight, goesmidi, istoassim, ompoutofrange)
Purpose

copy headers and bodies from obsSpaceData object to arrays compute some parameters from the read variables

Arguments
  • obsspacedata [struct_obs ,inout] :: obspaceData Object

  • headerindex [integer ,in] :: current header index

  • obstb (*) [real ,out,allocatable] :: brightness temperature (btyp=9248/9264,ele=12163)

  • omptb (*) [real ,out,allocatable] :: OMP values

  • satzenithangle (*) [real ,out,allocatable] :: satellite zenith angle (btyp=3072,ele=7024)

  • obsflags (*) [integer ,out,allocatable] :: data flags

  • cloudamount (*) [integer ,out,allocatable] :: data flags

  • obschannels (*) [integer ,out,allocatable] :: Tb Channels

  • sensorindex [integer ,out] :: find tvs_sensor index corresponding to current obs

  • obsdate (*) [integer ,out,allocatable] :: date YYYYMMDD

  • obshour (*) [integer ,out,allocatable] :: Hour HHMM

  • burpfilesatid [character ,out] :: Platform Name

  • maxanglereached (*) [logical ,out,allocatable] :: satellite angle exceed max angle at obs

  • topographicdata (*) [logical ,out,allocatable] :: data flagged as topo data

  • noncorrecteddata (*) [logical ,out,allocatable] :: data non corrected by bias corr

  • istbpresent (*) [logical ,out,allocatable] :: non missing data

  • isclearsky (*) [logical ,out,allocatable] :: clear sky obs

  • straylight (*) [logical ,out,allocatable]

  • goesmidi (*) [logical ,out,allocatable] :: goes noon

  • istoassim (*) [logical ,out,allocatable] :: is channel assimilable

  • ompoutofrange (*) [logical ,out,allocatable]

Called from

csrbg_bgcheckcsr()

Call to

obs_headelem_i(), tvs_mapsat(), tvs_mapinstrum(), utl_abort(), obs_elem_c(), obs_headelem_r(), obs_bodyelem_r(), obs_bodyelem_i()

subroutine  bgckcsr_mod/csrbg_csrcheckqc(obsflags, categorierejet, maxanglereached, topographicdata, noncorrecteddata, istbpresent, isclearsky, straylight, goesmidi, istoassim, ompoutofrange)
Purpose

Modify obsFlags

Arguments
  • obsflags (*) [integer ,inout] :: obs Flags to update

  • categorierejet (7) [integer ,inout] :: the 7 categories of rejections

  • maxanglereached (*) [logical ,in] :: satellite angle exceed max angle at obs

  • topographicdata (*) [logical ,in] :: data flagged as topo data

  • noncorrecteddata (*) [logical ,in] :: data non corrected by bias corr

  • istbpresent (*) [logical ,in] :: non missing data

  • isclearsky (*) [logical ,in] :: clear sky obs

  • straylight (*) [logical ,in]

  • goesmidi (*) [logical ,in] :: goes noon

  • istoassim (*) [logical ,in] :: is channel assimilable

  • ompoutofrange (*) [logical ,in] :: abs of omp greater than threshold

Called from

csrbg_bgcheckcsr()

subroutine  bgckcsr_mod/csrbg_updateobsspaceafterqc(obsspacedata, obsflags, headerindex, sensorindex)
Purpose

Update obspacedata variables (obstTB and obs flags) after QC

Arguments
  • obsspacedata [struct_obs ,inout] :: obspaceData Object

  • obsflags (*) [integer ,in] :: data flags

  • headerindex [integer ,in] :: sensor Index

  • sensorindex [integer ,in] :: sensor Index

Called from

csrbg_bgcheckcsr()

Call to

obs_headelem_i(), obs_bodyelem_r(), obs_bodyset_i()