obsFilter_mod¶
Dependency Diagrams:
Description
MODULE obsFilter_mod (prefix=’filt’ category=’5. Observation operators’)
- Purpose
Various types of filters that are applied to the observations mostly to reject them so that they will not be assimilated.
Quick access
- Variables
- Routines
filt_backscatanisice()
,filt_bufrcodeassimilated()
,filt_getbufrcodeassimilated()
,filt_gpsro()
,filt_iceconcentration()
,filt_nbufrcodeassimilated()
,filt_radvel()
,filt_setup()
,filt_suprep()
,filt_surfacewind()
,filt_topo()
,filt_topoaisw()
,filt_topoaladin()
,filt_topochemistry()
,filt_topoprofiler()
,filt_toporadiosonde()
,filt_toposurface()
,filt_topotovs()
,findelemindex()
Needed modules
codeprecision_mod
: MODULE codePrecision_mod (prefix=’pre’ category=’8. Low-level utilities and constants’)
midasmpi_mod
: MODULE midasMpi_mod (prefix=’mmpi’ category=’8. Low-level utilities and constants’)
earthconstants_mod
: MODULE earthConstants_mod (prefix=’ec’ 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’)
bufr_mod
: MODULE bufr_mod (prefix=’bufr’ category=’8. Low-level utilities and constants’)
tovsnl_mod
: MODULE tovsNL_mod (prefix=’tvs’ category=’5. Observation operators’)
gps_mod
: MODULE gps_mod (prefix=’gps’ category=’5. Observation operators’)
utilities_mod
: MODULE utilities_mod (prefix=’utl’ category=’8. Low-level utilities and constants’)
varnamelist_mod
: MODULE varNameList_mod (prefix=’vnl’ category=’7. Low-level data objects’)
physicsfunctions_mod
: MODULE physicsFunctions_mod (prefix=’phf’ category=’8. Low-level utilities and constants’)
codtyp_mod
: MODULE codtyp_mod (prefix=’codtyp’ category=’8. Low-level utilities and constants’)
radialvelocity_mod
: MODULE radialVelocity_mod (prefix=’rdv’ category=’5. Observation operators’)Variables
- obsfilter_mod/filt_rlimlvhu [real,public]¶
Subroutines and functions
- function obsfilter_mod/findelemindex(varnum)¶
- Arguments
varnum [integer ,in]
- Return
listindex [integer ]
- Called from
filt_setup()
,filt_toposurface()
,filt_toporadiosonde()
,filt_topoaisw()
,filt_topoprofiler()
,filt_topoaladin()
- subroutine obsfilter_mod/filt_setup(filtermode_in)¶
- Arguments
filtermode_in [character ,in]
- Called from
inn_setupobs()
,filt_bufrcodeassimilated()
,filt_getbufrcodeassimilated()
,filt_nbufrcodeassimilated()
,midas_prepcma
,midas_thinning
- Call to
- subroutine obsfilter_mod/filt_suprep(obsspacedata)¶
- Purpose
Select the data in the obsSpaceData which are to be assimilated
- Arguments
obsspacedata [struct_obs ,inout]
- Called from
- Call to
utl_tmg_start()
,obs_numbody()
,obs_bodyelem_i()
,obs_headelem_i()
,obs_bodyset_i()
,obs_bodyelem_r()
,tvs_isidburptovs()
,codtyp_get_codtyp()
,tvs_changedstypvalue()
,utl_abort()
,utl_tmg_stop()
- subroutine obsfilter_mod/filt_topo(columntrlontrllev, obsspacedata, besilent)¶
- Arguments
columntrlontrllev [struct_columndata ,in]
obsspacedata [struct_obs ,inout]
besilent [logical ,in]
- Called from
- Call to
filt_toposurface()
,filt_toporadiosonde()
,filt_topoaisw()
,filt_topoprofiler()
,filt_topoaladin()
,filt_topotovs()
,filt_topochemistry()
- subroutine obsfilter_mod/filt_toposurface(columntrlontrllev, obsspacedata, besilent)¶
- Purpose
Refuse elements which are too far away from the surface. Replace the pressure of elements which are slightly below the model surface by the pressure of the trial field.
- Arguments
columntrlontrllev [struct_columndata ,in]
obsspacedata [struct_obs ,inout]
besilent [logical ,in]
- Called from
- Call to
findelemindex()
,obs_getheaderindex()
,obs_bodyelem_i()
,vnl_varlevelfromvarnum()
,obs_bodyelem_r()
,col_getheight()
,col_getnumlev()
,obs_bodyset_i()
,obs_numbody()
- subroutine obsfilter_mod/filt_toporadiosonde(columntrlontrllev, obsspacedata, besilent)¶
- Purpose
Refuse elements which are too far away from the surface of the model Refuse elements which are considered in the free atmosphere of the RAOB but fall in the surface boundary layer of the model atmosphere.
- Arguments
columntrlontrllev [struct_columndata ,in]
obsspacedata [struct_obs ,inout]
besilent [logical ,in]
- Called from
- Call to
col_getnumlev()
,obs_getheaderindex()
,obs_bodyelem_i()
,findelemindex()
,col_getheight()
,obs_headelem_r()
,phf_height2geopotential()
,obs_bodyelem_r()
,obs_bodyset_i()
,col_getelem()
,col_getpressure()
,obs_numbody()
- subroutine obsfilter_mod/filt_topoaisw(columntrlontrllev, obsspacedata, obsfamily, besilent)¶
- Purpose
Refuse elements which are too close to the surface.
- Arguments
columntrlontrllev [struct_columndata ,in]
obsspacedata [struct_obs ,inout]
obsfamily [character ,in]
besilent [logical ,in]
- Called from
- Call to
utl_abort()
,obs_bodyelem_i()
,obs_bodyelem_r()
,col_getelem()
,findelemindex()
,obs_bodyset_i()
,obs_numbody()
- subroutine obsfilter_mod/filt_topoprofiler(columntrlontrllev, obsspacedata, besilent)¶
- Purpose
Refuse elements which are too far away from the surface of the model Refuse elements which are considered in the free atmosphere of the RAOB but fall in the surface boundary layer of the model atmosphere.
- Arguments
columntrlontrllev [struct_columndata ,in]
obsspacedata [struct_obs ,inout]
besilent [logical ,in]
- Called from
- Call to
obs_getheaderindex()
,col_getheight()
,obs_headelem_r()
,obs_bodyelem_i()
,findelemindex()
,obs_bodyelem_r()
,col_getnumlev()
,obs_bodyset_i()
,obs_numbody()
- subroutine obsfilter_mod/filt_topoaladin(columntrlontrllev, obsspacedata, besilent)¶
- Purpose
Refuse elements which are considered to be in the free atmosphere of the Aladin instrument but which fall in the surface boundary layer of the model atmosphere.
- Arguments
columntrlontrllev [struct_columndata ,in]
obsspacedata [struct_obs ,inout]
besilent [logical ,in]
- Called from
- Call to
obs_getheaderindex()
,col_getheight()
,col_getnumlev()
,obs_bodyelem_i()
,findelemindex()
,obs_bodyelem_r()
,obs_bodyset_i()
,obs_numbody()
- subroutine obsfilter_mod/filt_topotovs(columntrlontrllev, obsspacedata, besilent)¶
- Purpose
Refuse data which are too close to the surface.
- Arguments
columntrlontrllev [struct_columndata ,in]
obsspacedata [struct_obs ,inout]
besilent [logical ,in]
- Called from
- Call to
obs_getheaderindex()
,obs_headelem_i()
,obs_bodyelem_i()
,col_getelem()
,obs_bodyset_i()
,obs_numbody()
- subroutine obsfilter_mod/filt_surfacewind(obsspacedata, besilent)¶
- Purpose
zap sfc wind components at land stations
- Arguments
obsspacedata [struct_obs ,inout]
besilent [logical ,in]
- Called from
- Call to
obs_getheaderindex()
,obs_bodyelem_i()
,obs_headelem_i()
,obs_bodyset_i()
,obs_elem_c()
,obs_headelem_r()
,obs_bodyelem_r()
,obs_numbody()
- subroutine obsfilter_mod/filt_radvel(columntrlontrllev, obsspacedata, besilent)¶
- Purpose
Filter Radvel observations guarantee that altitude values are within bounds Altitude and check the horizontal distance between levels for further processing
- Arguments
columntrlontrllev [struct_columndata ,in]
obsspacedata [struct_obs ,inout]
besilent [logical ,in]
- Called from
- Call to
utl_isnamelistpresent()
,utl_abort()
,obs_getheaderindex()
,col_getnumlev()
,obs_headelem_r()
,obs_bodyelem_i()
,obs_bodyelem_r()
,col_getheight()
,obs_bodyset_i()
,rdv_getrangefromh()
- subroutine obsfilter_mod/filt_gpsro(columntrlontrllev, obsspacedata, besilent)¶
- Purpose
Filter GPSRO observations Guarantee that altitude and observation values are within bounds for further processing
- Note
For noncompliant GPSRO observations:
Set assimilable flag to 0
Set bit of cma flag 11 ON
- Arguments
columntrlontrllev [struct_columndata ,in]
obsspacedata [struct_obs ,inout]
besilent [logical ,in]
Needed modules
gps_mod
: MODULE gps_mod (prefix=’gps’ category=’5. Observation operators’)
- subroutine obsfilter_mod/filt_backscatanisice(obsspacedata, besilent)¶
- Purpose
Filter scatterometer backscatter anisotropy observations where wind speed is too small
- Note
For noncompliant observations:
Set assimilable flag to 0
Set bit of cma flag 13 ON
- Arguments
obsspacedata [struct_obs ,inout]
besilent [logical ,in]
- Called from
- Call to
obs_famexist()
,obs_bodyelem_i()
,obs_headelem_r()
,obs_bodyset_i()
- subroutine obsfilter_mod/filt_iceconcentration(obsspacedata, besilent)¶
- Purpose
Filter out observations from satellites not specified in the name list
- Note
For noncompliant observations:
Set assimilable flag to 0
- Arguments
obsspacedata [struct_obs ,inout]
besilent [logical ,in]
- Called from
- Call to
obs_famexist()
,utl_isnamelistpresent()
,utl_abort()
,obs_getheaderindex()
,obs_elem_c()
,obs_headelem_i()
,codtyp_get_name()
,obs_bodyset_i()
- subroutine obsfilter_mod/filt_topochemistry(columntrlontrllev, obsspacedata, besilent)¶
- Purpose
Rejects elements which are too far below the model surface or above the model top.
- Comments
Flagging of bit 4 in OBS_FLG done in filt_topoChemistry instead of set_scale_chm since this subroutine is called after chm_setup, allowing use of utl_open_asciifile
- Arguments
columntrlontrllev [struct_columndata ,in]
obsspacedata [struct_obs ,inout]
besilent [logical ,in]
- Called from
- Call to
obs_famexist()
,obs_getheaderindex()
,col_getheight()
,col_getelem()
,col_getpressure()
,obs_headelem_i()
,obs_bodyelem_i()
,utl_get_stringid()
,obs_elem_c()
,utl_get_id()
,obs_bodyset_i()
,obs_bodyelem_r()
,obs_numbody()
- function obsfilter_mod/filt_bufrcodeassimilated(bufrcode)¶
- Purpose
To test if a bufr code part of the assimilated observation list
- Arguments
bufrcode [integer ,in] :: The input bufr code
- Return
assimilated [logical ] :: Assimilated of not
- Called from
- Call to
- subroutine obsfilter_mod/filt_getbufrcodeassimilated(bufrcodelist)¶
- Purpose
To get the assimilated observation list
- Arguments
bufrcodelist (filt_nelems) [integer ,out] :: The list of assimilated bufr codes
- Called from
- Call to
- function obsfilter_mod/filt_nbufrcodeassimilated()¶
- Purpose
To get the number of assimilated observations
- Return
nbufrcode [integer ] :: The number of assimilated observations
- Called from
- Call to