ta file (GTS)¶
Data directory structure¶
The ta files are organized every 60 minutes :
[hailang@sya01n01 ~/chinawise/nwprod/decoders]$ls -la /sya/g3/wrf/data/obs/2001*.ta
......
-rw-r--r-- 1 wrf work 4183866 Jan 26 03:32 /sya/g3/wrf/data/obs/20012512.ta
-rw-r--r-- 1 wrf work 1566223 Jan 26 03:32 /sya/g3/wrf/data/obs/20012513.ta
-rw-r--r-- 1 wrf work 1583806 Jan 26 03:32 /sya/g3/wrf/data/obs/20012514.ta
-rw-r--r-- 1 wrf work 2342846 Jan 26 03:32 /sya/g3/wrf/data/obs/20012515.ta
-rw-r--r-- 1 wrf work 1535829 Jan 26 03:32 /sya/g3/wrf/data/obs/20012516.ta
-rw-r--r-- 1 wrf work 1540626 Jan 26 03:32 /sya/g3/wrf/data/obs/20012517.ta
-rw-r--r-- 1 wrf work 3959697 Jan 26 03:32 /sya/g3/wrf/data/obs/20012518.ta
-rw-r--r-- 1 wrf work 1466181 Jan 26 03:32 /sya/g3/wrf/data/obs/20012519.ta
-rw-r--r-- 1 wrf work 1464897 Jan 26 03:31 /sya/g3/wrf/data/obs/20012520.ta
-rw-r--r-- 1 wrf work 2309281 Jan 26 03:31 /sya/g3/wrf/data/obs/20012521.ta
-rw-r--r-- 1 wrf work 1555754 Jan 26 03:31 /sya/g3/wrf/data/obs/20012522.ta
-rw-r--r-- 1 wrf work 1470354 Jan 26 03:31 /sya/g3/wrf/data/obs/20012523.ta
-rw-r--r-- 1 wrf work 3975865 Jan 26 03:31 /sya/g3/wrf/data/obs/20012600.ta
-rw-r--r-- 1 wrf work 1655233 Jan 26 03:31 /sya/g3/wrf/data/obs/20012601.ta
-rw-r--r-- 1 wrf work 1430912 Jan 26 03:31 /sya/g3/wrf/data/obs/20012602.ta
-rw-r--r-- 1 wrf work 849702 Jan 26 03:31 /sya/g3/wrf/data/obs/20012603.ta
Data format¶
样例文件 2020-01-26_00Z 报文
ZCZC 101
UAFJ01 NFFN 260000
AIREP
ANZ99 2441S16626E 2304 F360 MS48 000/024=
FJI911 2633S16503E 2304 F410 MS60 215/016=
JST4 0615S17931E 2306 F400 MS53 236/007=
ANZ99 2334S16540E 2313 F375 MS52 355/010=
ANZ77 2929S16534E 2317 F380 MS52 311/019=
KAL130 2700S16252E 2317 F340 MS43 248/007=
ANZ99 2306S16518E 2318 F380 MS53 326/005=
FJI911 2736S16323E 2318 F410 MS59 199/018=
JST4 0754S17838E 2320 F400 MS52 002/013=
ANZ77 2902S16505E 2321 F380 MS53 192/028=
ANZ77 2806S16403E 2330 F380 MS52 309/007=
ANZ99 2134S16409E 2332 F380 MS52 276/020=
JST4 0924S17725E 2334 F400 MS53 319/020=
CES779 1147S16040E 2336 F370 MS46 039/018=
JST4 1021S17638E 2342 F400 MS52 024/019=
QFA4 0045N17551W 2344 F360 MS44 107/015=
ANZ77 2644S16234E 2344 F380 MS53 327/008=
ANZ99 2004S16303E 2345 F380 MS52 324/015=
QFA4 0026N17611W 2347 F376 MS48 139/018=
QFA4 0024N17613W 2347 F377 MS48 137/021=
JST4 1054S17610E 2347 F400 MS51 351/031=
QFA4 0018N17620W 2349 F380 MS50 134/019=
CES779 1320S16144E 2350 F370 MS48 320/012=
CES779 1338S16156E 2352 F370 MS47 196/010=
ASY446 2249S16049E 2353 F290 MS30 005/010=
CES779 1359S16211E 2355 F370 MS48 355/006=
CES779 1401S16212E 2356 F370 MS48 354/007=
QFA4 0031S17711W 2358 F380 MS50 112/018=
ANZ77 3055S16706E 2303 F380 MS53 029/029=
KAL130 2824S16423E 2303 F340 MS44 191/017=
NNNN
ZCZC 102
UAAE01 WSSS 260000
AXM5108 0415N 10935E 2353 F330 MS37 175/17KT=
NNNN
ZCZC 104
UANT01 CWAO 260000
ARP DAL132 5112N05306W 0000 F370 5200N05000W 0015 5300N04000W MS55
297/72 KT
N823NW DDL YAY 260000 J41A
NNNN
ZCZC 106
UANT01 CWAO 260000
Data extractor¶
Decoder source code¶
- Source code directory:
> cd /g5/nwpc_ep8/obsproc/nwprod/decoders/decod_dccimisssurf/sorc
Subroutines to decode surface data
lsdcod.f
注解
- The cimiss.tbl and
decod_WMO.Res40.headersare not used, although they are required as arguments and read in. - The path and file name of
cimiss_data_surfacefile are hard coded in the subroutines.
- Compile the code
> make
Decode and convert to BUFR format¶
- enter into the exec directory
> cd /g5/nwpc_ep8/obsproc/nwprod/decoders/decod_dccimisssurf/exec
> ls -la
total 2028
drwxr-xr-x. 3 zwtd zwtd 211 Dec 20 22:45 .
drwxr-xr-x. 6 zwtd zwtd 82 Dec 20 22:42 ..
lrwxrwxrwx. 1 zwtd zwtd 34 Dec 9 23:48 bufrtab.000 -> ../../decod_shared/fix/bufrtab.000
-rw-r--r--. 1 zwtd zwtd 1121683 Dec 9 23:48 cimiss.tbl
lrwxrwxrwx. 1 zwtd zwtd 31 Dec 9 23:48 decod_WMO.Res40.headers -> ../parm/decod_WMO.Res40.headers
-rwxr-xr-x. 1 zwtd zwtd 940696 Dec 20 00:24 decod_dccimiss
-rw-r--r--. 1 zwtd zwtd 462 Dec 20 22:45 decod_dccimiss.log
-rwxr-xr-x. 1 zwtd zwtd 484 Dec 20 00:30 run.ksh
-rwxr-xr-x. 1 zwtd zwtd 776 Dec 20 22:44 run_dccimisssurf.py
drwxr-xr-x. 2 zwtd zwtd 58 Dec 20 22:45 tmp
- we provide a script to run the decoder in batch mode:
> ./run_dccimisssurf.py -s 2018121600 -e 2018121700 -i 1
注解
- given the starting datetime and ending datetime, it iterates all cycles (every 1 hours)
- the units of interval is hour (-i)
- this script call run.ksh
- run the decoder script
> run.ksh
> cat run.ksh
!/bin/bash
export DBNBUFRT=120
export TRANJB=/g5/nwpc_ep8/obsproc/nwprod/ush/tranjb
export tank_dir=/g5/nwpc_ep8/obsproc/nwprod/dcom/us007003
export DBNROOT=`pwd`
rm tmp/*
rm decod_dccimiss.log
./decod_dccimiss -d decod_dccimiss.log -b 240 -c $1 bufrtab.000 cimiss.tbl decod_WMO.Res40.headers
ls -la tmp/*
BUFR_FILES=$(echo tmp/BUFR*)
echo ${BUFR_FILES}
for file in ${BUFR_FILES}
do
${TRANJB} ${tank_dir} ${file}
done
注解
- -c $1 : Set the current time (201809011600) used to calculate the time departures of the obs. data.
- -b 240 : Number of hours to decode prior to “current” time (default)
- The observations with date/time between current time - 240 hours and current time + 3 are kept.
- The generated BUFR format file will be saved at
> ls -la tmp
-rw-r--r-- 1 xinzhang staff 4199744 Sep 21 18:45 tmp/BUFR.0.cimiss.1.6436.1536097072.8
Transfer bufr data to BUFR Tanks¶
- put data in BUFR tanks:
> /g5/nwpc_ep8/obsproc/nwprod/ush/tranjb /g5/nwpc_ep8/obsproc/nwprod/dcom/us007003 tmp/BUFR.0.cimiss.1.6436.1536097072.8
> ls -al /g5/nwpc_ep8/obsproc/nwprod/dcom/us007003/20180901/b000/xx01
-rw-r--r-- 1 vagrant vagrant 4235328 Sep 27 04:42 /g5/nwpc_ep8/obsproc/nwprod/dcom/us007003/20180901/b000/xx001
注解
- if environmental variable SCREEN=ON :
- Define Run Time is the system time when the tranjb is running.
- Only observations with date/time between Run Time - 10 days and Run Time + 12 hours are kept.
for retrospective run, set SCREEN=OFF
/g5/nwpc_ep8/obsproc/nwprod/dcom/us007003/yyyymmdd/bmmm/xxsss(where mmm is WMO BUFR message type and xxx is local BUFR message subtype)000.001 (in dump group mnemonic adpsfc): Surface synoptic fixed land reports
BUFR format
Arranged by UTC day and continuously grow throughout the day, if you run decoders many time, the content of the file will grow
No QC (other than rudimentary checks inside decoders)
No duplicate checking
Interested users can use utility
debufrto check the content of the bufr file:> /g5/nwpc_ep8/obsproc/nwprod/util/exec/debufr /g5/nwpc_ep8/obsproc/nwprod/dcom/us007003/20180901/b000/xx001the output is in
debufr.out.