Table of contents
Chapter 1. Non-IFS observation processing (OBSPROC): General overview
Chapter 2. Observations:
Types, variables and error statistics
Chapter 3. CMA creation (MAKEMA)
Chapter 4. The FEEBACK task
Chapter 5. The TOOLS task
Chapter 6. Central-memory
array (CMA) structure/format
Chapter 7. BUFR feedback data structure/format
Chapter 8. SIMULATED-observations data structure/format
Chapter 9. NAMELISTS
Chapter 10. Processing of scatterometer data
REFERENCES
|
|
Next
Section
Previous Section
All observations, both in the BUFR and the CMA contexts, are split in a
number of observation types. The observation types are then further divided
into observation code types (CMA) and observation subtypes (BUFR).
There are 8 BUFR observation types. However, number of subtypes differs
from observation type to observation type. They are defined in SUBUOCTP
subroutine and listed here
There are 10 CMA observation types with different number of code types for
each of them. They are defined in SUCMOCTP subroutine and listed here too
Table 2.3 CMA observation and code types mapped into BUFR observation
types and subtyp
CMA(ObsType,CodeType)
|

|
BUFR(ObsType,Subtype)
|
CMA(1,11)
|

|
BUFR[(0, 1);(0, 9)]
|
CMA(1, 14)
|

|
BUFR[(0, 3); (0, 4)]
|
CMA(1,21)
|

|
BUFR[(1, 9); (1, 11)]
|
CMA(1, 22)
|

|
BUFR( )
|
CMA(1, 23)
|

|
BUFR(1, 19)
|
CMA(1, 24)
|

|
BUFR(1, 13)
|
CMA(2, 41)
|

|
BUFR( )
|
CMA(2, 141)
|

|
BUFR(4, 142)
|
CMA(2, 142)
|

|
BUFR( )
|
CMA(2, 144)
|

|
BUFR(4, 144)
|
CMA(2, 145)
|

|
BUFR(4, 145)
|
CMA(2, 241)
|

|
BUFR(4, 143)
|
CMA(3, 88)
|

|
BUFR[(5, 82);(5, 83);(5, 84);(5, 85)]
|
CMA(3, 89)
|

|
BUFR(5, 86)
|
CMA(3, 90)
|

|
BUFR(5, 87)
|
CMA(3, 188)
|

|
BUFR( )
|
CMA(4, 63)
|

|
BUFR(1, 23)
|
CMA(4, 64)
|

|
BUFR(1, 22)
|
CMA(4, 160)
|

|
BUFR( )
|
CMA(4, 165)
|

|
BUFR(1, 2)
|
CMA(5, 35)
|

|
BUFR(2, 101)
|
CMA(5, 36)
|

|
BUFR(2, 102)
|
CMA(5, 37)
|

|
BUFR(2, 106)
|
CMA(5, 39)
|

|
BUFR( )
|
CMA(5, 40)
|

|
BUFR( )
|
CMA(5, 135)
|

|
BUFR(2, 103)
|
CMA(5, 137)
|

|
BUFR( )
|
CMA(6, 32)
|

|
BUFR(2, 91)
|
CMA(6, 33)
|

|
BUFR(2, 92)
|
CMA(6, 34)
|

|
BUFR(2, 95)
|
CMA(7, 86)
|

|
BUFR[(3,61);(3, 62);(3, 63);(3,65)]
|
CMA(7, 184)
|

|
BUFR( )
|
CMA(7, 185)
|

|
BUFR( )
|
CMA(7, 186)
|

|
BUFR[(3, 71);(3, 72);(3, 73);(3, 75)]
|
CMA(7, 200)
|

|
BUFR( )
|
CMA(7, 201)
|

|
BUFR( )
|
CMA(7, 202)
|

|
BUFR( )
|
CMA(7, 210)
|

|
BUFR(3, 54)
|
CMA(7, 211)
|

|
BUFR(3, 53)
|
CMA(7, 212)
|

|
BUFR[(3, 0);(3, 51)]
|
CMA(7, 215)
|

|
BUFR(12, 127)
|
CMA(8, 180)
|

|
BUFR(253, 164)
|
CMA(9, 8)
|

|
BUFR(12, 8)
|
CMA(9, 122)
|

|
BUFR(12, 122)
|
CMA(9, 210)
|

|
BUFR( )
|
CMA(10, 1)
|

|
BUFR( )
|
Table 2.4 BUFR observation types and subtypes mapped into CMA
observation and code types
BUFR(ObsType,Subtype)
|

|
CMA(ObsType,CodeType)
|
BUFR(0, 1)
|

|
CMA(1, 11)
|
BUFR(0, 3)
|

|
CMA(1, 14)
|
BUFR(0, 4)
|

|
CMA(1, 14)
|
BUFR(0, 9)
|

|
CMA(1, 11)
|
BUDR(1, 9)
|

|
CMA(1, 21)
|
BUFR(1, 11)
|

|
CMA(1, 21)
|
BUFR(1, 13)
|

|
CMA(1, 24)
|
BUFR(1, 19)
|

|
CMA(1, 23)
|
BUFR(1, 22)
|

|
CMA(4, 64)
|
BUFR(1, 23)
|

|
CMA(4, 63)
|
BUFR(2, 91)
|

|
CMA(6, 32)
|
BUFR(2, 92)
|

|
CMA(6, 33)
|
BUFR(2, 95)
|

|
CMA(6, 34)
|
BUFR(2, 101)
|

|
CMA(5, 35)
|
BUFR(2, 102)
|

|
CMA(5, 36)
|
BUFR(2, 103)
|

|
CMA(5, 135)
|
BUFR(2, 106)
|

|
CMA(5, 37)
|
BUFR(3, 0)
|

|
CMA(7, 212)
|
BUFR(3, 51)
|

|
CMA(7, 212)
|
BUFR(3, 53)
|

|
CMA(7, 211)
|
BUFR(3, 54)
|

|
CMA(7, 210)
|
BUFR(3, 61)
|

|
CMA(7, 86)
|
BUFR(3, 62)
|

|
CMA(7, 86)
|
BUFR(3, 63)
|

|
CMA(7, 86)
|
BUFR(3, 65)
|

|
CMA(7, 86)
|
BUFR(3, 71)
|

|
CMA(7, 186)
|
BUFR(3, 72)
|

|
CMA(7, 186)
|
BUFR(3, 73)
|

|
CMA(7, 186)
|
BUFR(3, 75)
|

|
CMA(7, 186)
|
BUFR(4, 142)
|

|
CMA(2, 141)
|
BUFR(4, 143)
|

|
CMA(2, 241)
|
BUFR(4, 144)
|

|
CMA(2, 144)
|
BUFR(4, 145)
|

|
CMA(2, 145)
|
BUFR(5, 82)
|

|
CMA(3, 88)
|
BUFR(5, 83)
|

|
CMA(3, 88)
|
BUFR(5, 84)
|

|
CMA(3, 88)
|
BUFR(5, 85)
|

|
CMA(3, 88)
|
BUFR(5, 86)
|

|
CMA(3, 89)
|
BUFR(5, 87)
|

|
CMA(3, 90)
|
BUFR(12, 8)
|

|
CMA(9, 8)
|
BUFR(12, 122)
|

|
CMA(9, 122)
|
BUFR(12, 127)
|

|
CMA(7, 125)
|
BUFR(253, 164)
|

|
CMA(8, 180)
|
Different quantities are observed by the different observing systems. It
is only a subset of the observed quantities that are used in the analysis
and most of them are used as such. However, some of them are transformed
into the ones actually used by the analysis. This transformation, or a change
of variable, may also include retrieval from satellite data if they are
independent from the background model fields. The original variables may
be kept with the derived ones so that first guess departures can be assigned
for both. Furthermore, if an observed variable is transformed then,if necessary,
so also are its observation error statistics. Also, in the case of an off-time
SYNOP observation, the observed surface pressure may be adjusted.
The exact list of what is observed or present in the above mentioned list
of BUFR observation types and subtypes is defined in the OBSPROC in terms
of BUFR templates. These BUFR templates consist of definitions for BUFR:
Various BUFR observation type/subtype templates are defined in the following
subroutine:
| |
• SETBLANS (land surface): |
| |
• SETBLSNO (normal land surface), |
| |
• SETBLSHI (high land surface), |
| |
• SETBSEAS (sea surface), |
| |
• SETBUPPA (upperair soundings), |
| |
• SETBSATS (satellite soundings): |
| |
• SETBSSHI (high resolution tovs/rtovs/atovs), |
| |
• SETBSSLT (satem/tovs low level temperatures), |
| |
• SETBSSHT (satem/tovs high level temperatures), |
| |
• SETBSSPW (satem/tovs pwc), |
| |
• SETBSSME (merged satem/tovs), |
As it can be seen some of these routines (SETBLANS and SETBSATS) are further
granulated to define some subtypes separately.
Here, we will try to list (per observation types) those variables which
are at the moment of our interest:
Variables which are transformed for further use by the analysis are:
| |
• wind direction (DDD) and force (FFF)
are transformed into wind components ( and ) for SYNOP, AIREP, SATOB, DRIBU, TEMP and PILOT observations, |
| |
• temperature ( ) and dew point
( ) are transformed into relative humidity ( ) for SYNOP and TEMP observations, with a further transformation
of the into specific humidity ( ) for TEMP
observations, |
| |
• SCATTEROMETER backscatters ( `s) are transformed into a pair of ambiguous wind components ( and ); this actually involves a retrieval
according to some model function describing the relationship between
winds and `s and requires a fair bit of computational
work, |
| |
• mean layer temperature is transformed
into thickness ( ) for SATEM and TOVS observations. |
All these variable transformations, except for the `s transformation,
are more or less trivial ones.
The wind components are worked out as:
The is derived by using the following relationship:
where function of either or is expressed
as:
where, , , , , , and are constants, whereas function of either or is given:
Specific humidity is worked out by using the following relationship:
where, is pressure and function is expressed
as:
is worked out in subroutine RH2Q.
Exact details of the scatterometer wind retrieval are dealt with in Chapter
10 `Processing of scatterometer data' .
The only observed quantity which is adjusted is the SYNOP's surface pressure
( ). This is done by using the pressure tendency ( ) information, which in turn may be first adjusted (SYNOP SHIP) for
the ship movement.
The ship movement information is available from the input data in terms
of ship speed and direction, which are first converted into ship movement
components and . The next
step is to find pressure gradient ( and ):
where and are observed wind components. is a Coriolis term multiplied by a drag coefficient ( ):
where, is the latitude, is the angular
velocity of the earth and is expressed
as:
where, is an assumed ratio between geostrophic and surface wind over
sea and is an assumed air density. Now the adjusted
pressure tendency ( ) can be found as:
Finally, the adjusted surface pressure ( ) is found as:
where, is a time difference between analysis and observation. Of course
in the case of non-ship data .
Subroutine PTENDCOR is used for this adjustment.
For an easy recognition of `observed' variables every each of them is assigned
its numerical code. These numerical codes are then embedded in CMA reports.
There are 68 codes used so far.These codes are defined in SUVNMB subroutine.
Once again for the sake of completeness we are listing them here too.
Next Section
Previous Section
|