ax file (GTS)¶
Data directory structure¶
The ax files are organized every 60 minutes :
[hailang@sya01n01 ~/chinawise/nwprod/decoders]$ls -la /sya/g3/wrf/data/obs/2001*.ax
......
-rw-r--r-- 1 wrf work 4183866 Jan 26 03:32 /sya/g3/wrf/data/obs/20012512.ax
-rw-r--r-- 1 wrf work 1566223 Jan 26 03:32 /sya/g3/wrf/data/obs/20012513.ax
-rw-r--r-- 1 wrf work 1583806 Jan 26 03:32 /sya/g3/wrf/data/obs/20012514.ax
-rw-r--r-- 1 wrf work 2342846 Jan 26 03:32 /sya/g3/wrf/data/obs/20012515.ax
-rw-r--r-- 1 wrf work 1535829 Jan 26 03:32 /sya/g3/wrf/data/obs/20012516.ax
-rw-r--r-- 1 wrf work 1540626 Jan 26 03:32 /sya/g3/wrf/data/obs/20012517.ax
-rw-r--r-- 1 wrf work 3959697 Jan 26 03:32 /sya/g3/wrf/data/obs/20012518.ax
-rw-r--r-- 1 wrf work 1466181 Jan 26 03:32 /sya/g3/wrf/data/obs/20012519.ax
-rw-r--r-- 1 wrf work 1464897 Jan 26 03:31 /sya/g3/wrf/data/obs/20012520.ax
-rw-r--r-- 1 wrf work 2309281 Jan 26 03:31 /sya/g3/wrf/data/obs/20012521.ax
-rw-r--r-- 1 wrf work 1555754 Jan 26 03:31 /sya/g3/wrf/data/obs/20012522.ax
-rw-r--r-- 1 wrf work 1470354 Jan 26 03:31 /sya/g3/wrf/data/obs/20012523.ax
-rw-r--r-- 1 wrf work 3975865 Jan 26 03:31 /sya/g3/wrf/data/obs/20012600.ax
-rw-r--r-- 1 wrf work 1655233 Jan 26 03:31 /sya/g3/wrf/data/obs/20012601.ax
-rw-r--r-- 1 wrf work 1430912 Jan 26 03:31 /sya/g3/wrf/data/obs/20012602.ax
-rw-r--r-- 1 wrf work 849702 Jan 26 03:31 /sya/g3/wrf/data/obs/20012603.ax
Data format¶
样例文件 2020-01-26_00Z 报文
ZCZC 734
SAKB31 NGTT 260000
METAR NGTA 260000Z 04003KT 9999 FEW018TCU 32/26 Q1008 RMK TCU TO NE=
NNNN
ZCZC 741
SASO31 AGGG 260000
METAR 260000
METAR AGGH 260000Z 34006KT 9999 2CU020 31/25 Q1007=
NNNN
ZCZC 860
SAAU69 AMMC 260000
METAR YSTW 260000Z AUTO 32005KT 9999 // SCT061 28/22 Q1015=
METAR YSWG 260000Z AUTO 29005KT 230V340 9999 // NCD 29/05 Q1013=
METAR YTEF 260000Z AUTO 13013KT 9999 // NCD 33/08 Q1010=
METAR YTNK 260000Z AUTO 15013KT 9999 // NCD 29/19 Q1011=
METAR YTRE 260000Z AUTO 07005KT 9999 // NCD 31/21 Q1012=
METAR YWGT 260000Z AUTO 04005KT 360V120 9999 // NCD 27/09 Q1013=
METAR YWHA 260000Z AUTO 14010KT 9999 // BKN017 22/16 Q1016=
METAR YWLM 260000Z AUTO 34007KT 9999 // NCD 32/20 Q1012=
NNNN
ZCZC 861
SAAU62 AMMC 260000
METAR YBTL 260000Z AUTO 22004KT 190V250 9999 -SHRA OVC096 26/25 Q1010=
METAR YBUD 260000Z AUTO 07011KT 9999 // SCT033 SCT041 BKN049 29/20 Q1013=
METAR YBWP 260000Z AUTO 30007KT 9999 // SCT022 SCT029 BKN032 32/26 Q1010=
METAR YBWX 260000Z AUTO 25007KT //// // ////// 29/24 Q1008=
METAR YCAR 260000Z AUTO 20015KT 9999 // NCD 26/21 Q1009=
METAR YCAS 260000Z AUTO 05010KT //// // ////// 28/21 Q1015=
METAR YCBA 260000Z AUTO 19009KT 9999 // NCD 32/12 Q1012=
METAR YCBB 260000Z AUTO 36012KT 9999 // SCT021 BKN032 26/20 Q1016=
METAR YCBP 260000Z AUTO 13011KT 9999 // NCD 30/// Q1015=
METAR YCCY 260000Z AUTO 11006KT 9999 // BKN008 28/24 Q1009=
NNNN
ZCZC 862
SASO31 AGGG 260000
METAR 260000
METAR AGGM 260000Z 00000KT 9999 FEW018 31/25 Q1008=
NNNN
ZCZC 863
SANC01 NWWW 260000
METAR NWWW 260000Z AUTO 14009KT 060V190 9999 BKN054 31/18 Q1010
TEMPO 4000 SHRA FEW030TCU=
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.