...
The up to date list of variables related to observation header and model fields can be found on HPCF in the external file of our blacklist (for instance /home/rd/rdx/data/37r3/an/external_bl_mon_monit.b for CY37R3).
Variable | Meaning | Possible values |
obstyp | observation type | Keyword (as listed below) |
statid | station id | Right justified 8 character string |
codtyp | code type | Integer value as defined in IFS |
instrm | instrument type | Integer value as defined in IFS |
date | date | Packed integer YYMMDD |
time | time | Packed integer HHMMSS |
lat | latitude | Real value in degrees (-90<=LAT<=90) |
lon | longitude | Real value in degrees (-180<LON<=180) |
stalt | station altitude | Real value in metres |
line_sat | line position atovs | Integer value |
retr_type | retrieval type | Integer value |
qi_fc | EUMETSAT Quality Indicators: with forecast dependence | |
rff | CIMSS Quality Indicator: Recursive Filter Flag | |
qi_nofc | EUMETSAT Quality Indicators: without forecast dependence | |
sensor | satellite sensor indicator (for RTTOV) | Integer value |
fov | field of view number | Integer value |
satza | satellite zenith angle | Real value (in degrees) |
nandat | analysis date | Packed integer YYMMDD |
nantim | analysis time | Packed integer HHMMSS |
soe | solar elevation | Real value |
qr | quality of retrieval | |
clc | cloud cover | |
cp | cloud top pressure | |
pt | product type | Integer value |
sonde_type | sonde type | Integer value |
specific | amsua=clwp on sea | |
gen_centre | Generating centre | Integer value (WMO defined) |
gen_subcentre | Generating sub-centre | Integer value (WMO defined) |
datastream | Data stream (see datastream in odb) | Integer value |
ifs_cycle | six digit IFS-cycle f.ex 331001 for CY33R1.001 | 6 digit integer value |
retrsource | retrieval source | Integer value |
surftype | surface type indicator | |
sza | solar zenith angle | Real Value |
reportype | MARS reportype | Integer value for MARS archiving |
solar_hour | solar hour | Real value |
satellite_identifier | satellite identifier | Integer value |
station_identifier | station identifier (for some conventional only) | Integer value (similar to statid but for integer values only) |
2.1.2 Model/first guess characteristics
Variable | Meaning | Possible values |
modps | model surface pressure | Real Value |
modts | model surface temperature | Real Value |
modt2m | model 2 metre temperature | Real Value |
modtop | model top level pressure (hPa) | Real Value |
sea_ice | model sea-ice fraction | Real Value |
2.1.3 Observation characteristics
External variables (SPECIAL, i.e. related to obs. body entry only)
Variable | Meaning | Possible values |
variab | variable name (varno in ODB) | Integer value |
vert_co | type of vert. coord. | Integer value |
press | pressure (hPa) | Real value |
press_rl | ref. level press. (hPa) | Real value |
ppcode | synop press. code | Integer value |
obs_value | observed value | Real value |
fg_departure | first guess depart. | Real value |
obs_error | observation error | Real value |
fg_error | first guess error | Real value |
winchan_dep | window chan dep | Real value |
obs_t | Obs temperature at same level, for R/S only. | Real value |
elevation | Radar elevation | Real value |
winchan_dep2 | alternative window chan dep | Real value |
tausfc | Surface transmittance for AIRS screening. | Real value |
csr_pclear | percentage of clear pixel (GEOS) | Real value |
2.2 Keywords
Keywords are fixed values against which certain variables are compared. They should be consistent with the IFS definitions. A list of keywords that are currently defined in the blacklist (in the external file of our blacklist). Adding new keywords is straightforward.
Variable | Keyword |
OBSTYP | synop, airep, satob, dribu, temp, pilot, satem, paob, scatt, limb, gbrad (or integer values as defined in IFS) |
CODTYP | rtovs, tovs, ssmi, meris, am_profiler, jp_profiler, eu_profiler, templand, tempship, dropsonde, reo3, metar, pgps, radar_rr, rad1c, satem500, satem250 (or integer values as defined in IFS) |
SENSOR | hirs, msu, ssu, amsua, amsub, ssmi_sensor, vtpr1, vtpr2, tmi, ssmis, airs, mhs, iasi, amsre, meteosat, msg, geosimg, mtsatimg, windsat, mwts, iras, mwri, envisat |
INSTRM | mipas, gome, gomos, sciamachy, seviry, gome2, omi, toms, sbuv, auramls, iasi_reo3, modis_sensor, mopitt |
VARIAB | u,v,z, z, dz, rh, q, pwc, rh2m, t, td, t2m, td2m, ts, ptend, w,ww, vv, ch, cm, cl, nh, nn, hshs, c, ns, s, e, tgtg, spsp1, spsp2, rs, eses, is, trtr, rr,jj,vs,ds, hwhw, dwdw, gclg, rhlc, rhmc, n, snra, ps, dd, ff, rawbt, rawra, satcl, scatss, du, dv, u10m, v10m, rhlay, auxil, cllqw, ambigv, ambigu, apdss, ro_bangk, rrefl, o3, hlos, no2, so2, co, hcho, go3, co2, ch4, aod, rao, od, rfltnc, lnprc |
LSMASK | sea, land |
RLMASK | tovsland |
PPCODE | psealev, pstalev, g850hpa, g700hpa, p500gpm, p1000gpm, p2000gpm, p3000gpm, p4000gpm, g900hpa, g500hpa |
VERT_CO | pressure, height, tovs_cha, sca |
RETR_TYP for TOVS | cloudy, partly_cloudy, clear |
RETR_TYP for Satob | wvcl, ir, vis, wv, comb_spec_channels, wvmw, wvcl1, wvcl2, wvcl3, ir1, ir2, ir3, vis1, vis2, vis3, wvmw1, wvmw2, wvmw3 |
SONDE_TYPE for radiosondes | st_avk_mrz, st_rs80_usa, st_rs80, st_rs90, st_viz |
DATASTREAM | ears, pacrars, dbmodis |
ODB constants | rmdi, ndmi (real values as defined in ODB) |
2.3 Statements and operators
...
The IF-statement syntax (note the semicolon (;) after each statement):
Syntax | Meaning |
if (condition) then | IF-test with optional ELIF/ELSE-blocks. Nested IF-tests are valid in every statement. Every IF-THEN or IF-THEN-ELSE must match an ENDIF Condition can be any logical or arithmetic operation. |
2.3.2 List of the simple operators
...
A list of operators that are currently defined in the Blacklist-language:
2.3.3 List of more complex operators
Somewhat more complex operators can also be used to simplify coding. For example the compound AND-operators below:
2.4 Built-in functions
...
The Blacklist-language also contains some built-in functions. They are listed below:
In addition, there is one special function to study whether a point is within a circular area on the Earth (e.g. to blacklist Meteosat SATOBs if they are too far away):
...
where the refdeg is radius of the circle on the Earth with the (reflat, reflon) as a center point of the circle. The (LAT, LON) is the position of the observation to be checked, i.e. LAT and LON of the report. All values are given in degrees. See also picture 2.1.
Figure 2.1: Schematic view of the rad()-function parameters.
...
Arguments in the fail(arg1, arg2)-function are:
Argument#1 (arg1) | Meaning |
monthly | monthly monitoring (default) |
constant | constant blacklisting |
experimental | experimental blacklisting |
use_emiskf_only | emiskf blacklisting |
Argument#2 (arg2) | Meaning |
level | Level of seriousness of blacklisting |
When a call to the fail()-function occurs, the control is returned immediately to the calling application. Normally the application is the IFS, which will get the following (Fortran) variables updated:
Variable | Type | Meaning |
NCMBLI | Integer | Blacklisting indicator 0= not blacklisted (default) |
ZCMCCC | Real | Seriousness of the blacklisting 0= Default if not blacklisted |
FEEDBACK | Integer | Feedback vector telling which variable(s) caused the blacklisting to occur: 0 = Blacklist line number where the fail()-function took action |
There is a range of values for ZCMCCC, and together with other information in the quality control, and a value less than one may still lead to the use of this variable in the assimilation. The inclusion of this option of non-strict blacklisting increases flexibility of the use of observations.
...
The simplest variable declaration is an assignment operation.
3 Operational and experimental use of blacklist
...
where the flags are as follows:
The new BLACKLIST-file must have either suffix ".b" or ".B". In the latter case the C-preprocessor /lib/cpp will be run in the front of BL-compiler mainly to resolve any possible #include-statements.
...