Satwind¶
Data directory structure¶
The Satwind data is organized as CIMISS files every 6 hours :
> ls -la /g3/tianwh/share/conobs/rec_R2CWE_*
-rw-r--r-- 1 tianwh obs 149671052 9月 25 01:11 /g3/tianwh/share/conobs/rec_R2CWE_2019073106_g_06.dat
-rw-r--r-- 1 tianwh obs 138675992 9月 25 01:11 /g3/tianwh/share/conobs/rec_R2CWE_2019073112_g_06.dat
-rw-r--r-- 1 tianwh obs 136413932 9月 25 01:11 /g3/tianwh/share/conobs/rec_R2CWE_2019073118_g_06.dat
-rw-r--r-- 1 tianwh obs 123317130 8月 14 06:13 /g3/tianwh/share/conobs/rec_R2CWE_2019081000_g_06.dat
-rw-r--r-- 1 tianwh obs 160374728 8月 14 06:13 /g3/tianwh/share/conobs/rec_R2CWE_2019081006_g_06.dat
-rw-r--r-- 1 tianwh obs 147384710 8月 14 06:13 /g3/tianwh/share/conobs/rec_R2CWE_2019081012_g_06.dat
-rw-r--r-- 1 tianwh obs 135170580 8月 14 06:13 /g3/tianwh/share/conobs/rec_R2CWE_2019081018_g_06.dat
-rw-r--r-- 1 tianwh obs 124427428 8月 14 06:13 /g3/tianwh/share/conobs/rec_R2CWE_2019081100_g_06.dat
-rw-r--r-- 1 tianwh obs 145641944 8月 14 06:13 /g3/tianwh/share/conobs/rec_R2CWE_2019081106_g_06.dat
-rw-r--r-- 1 tianwh obs 142966948 8月 14 06:13 /g3/tianwh/share/conobs/rec_R2CWE_2019081112_g_06.dat
-rw-r--r-- 1 tianwh obs 137905074 8月 14 06:13 /g3/tianwh/share/conobs/rec_R2CWE_2019081118_g_06.dat
-rw-r--r-- 1 tianwh obs 127579260 8月 14 06:13 /g3/tianwh/share/conobs/rec_R2CWE_2019081200_g_06.dat
-rw-r--r-- 1 tianwh obs 147363836 8月 14 06:13 /g3/tianwh/share/conobs/rec_R2CWE_2019081206_g_06.dat
-rw-r--r-- 1 tianwh obs 135758886 8月 14 06:13 /g3/tianwh/share/conobs/rec_R2CWE_2019081212_g_06.dat
-rw-r--r-- 1 tianwh obs 139330470 8月 14 06:13 /g3/tianwh/share/conobs/rec_R2CWE_2019081218_g_06.dat
-rw-r--r-- 1 tianwh obs 127418090 8月 14 06:13 /g3/tianwh/share/conobs/rec_R2CWE_2019081300_g_06.dat
-rw-r--r-- 1 tianwh obs 150981286 8月 14 06:13 /g3/tianwh/share/conobs/rec_R2CWE_2019081306_g_06.dat
-rw-r--r-- 1 tianwh obs 141173204 8月 14 06:13 /g3/tianwh/share/conobs/rec_R2CWE_2019081312_g_06.dat
Data format¶
CIMISS format data is looks like:
R2CWE 2019 8 13 12 994177 6 4 4
4.00 86.08 132.61 13.00 1350.00 1.00
925.00 3.90 183.00 10.10 0.00 0.00 62.00 62.00
4.00 86.16 133.38 13.00 1350.00 1.00
925.00 3.80 184.00 10.60 0.00 0.00 55.00 55.00
4.00 83.45 109.55 13.00 1350.00 1.00
925.00 4.40 153.00 8.70 0.00 0.00 59.00 59.00
4.00 87.66 168.14 13.00 1350.00 1.00
925.00 2.90 225.00 15.70 0.00 0.00 57.00 57.00
4.00 83.00 109.08 13.00 1350.00 1.00
925.00 4.40 149.00 7.00 0.00 0.00 88.00 88.00
4.00 85.73 142.15 13.00 1350.00 1.00
925.00 3.40 187.00 11.30 0.00 0.00 61.00 61.00
4.00 -71.85 -151.74 13.00 1259.00 1.00
925.00 -12.60 26.00 5.90 0.00 0.00 79.00 79.00
4.00 85.97 137.32 13.00 1350.00 1.00
925.00 3.70 184.00 12.70 0.00 0.00 65.00 65.00
4.00 85.86 136.51 13.00 1350.00 1.00
925.00 3.70 182.00 12.40 0.00 0.00 87.00 87.00
4.00 83.35 115.16 13.00 1350.00 1.00
925.00 4.40 162.00 12.20 0.00 0.00 64.00 64.00
4.00 -77.50 177.80 13.00 1259.00 1.00
925.00 -23.60 174.00 7.00 0.00 0.00 79.00 79.00
4.00 -76.09 174.07 13.00 1259.00 1.00
925.00 -21.70 175.00 6.90 0.00 0.00 78.00 78.00
4.00 -78.32 173.49 13.00 1259.00 1.00
925.00 -25.00 195.00 10.00 0.00 0.00 82.00 82.00
4.00 -77.63 177.07 13.00 1259.00 1.00
925.00 -24.10 157.00 9.60 0.00 0.00 85.00 85.00
4.00 -78.71 172.48 13.00 1259.00 1.00
925.00 -25.40 204.00 8.10 0.00 0.00 86.00 86.00
4.00 84.73 110.09 13.00 1350.00 1.00
925.00 4.20 185.00 8.20 0.00 0.00 74.00 74.00
4.00 86.67 126.54 13.00 1350.00 1.00
925.00 3.90 190.00 12.10 0.00 0.00 77.00 77.00
4.00 84.49 107.68 13.00 1350.00 1.00
925.00 4.10 156.00 7.90 0.00 0.00 89.00 89.00
4.00 84.79 108.30 13.00 1350.00 1.00
925.00 4.10 175.00 7.60 0.00 0.00 64.00 64.00
4.00 71.52 33.12 13.00 1350.00 1.00
925.00 3.60 72.00 7.30 0.00 0.00 76.00 76.00
Data extractor¶
A python code is used to extract the desired information from this CIMISS file:
> cd /g5/nwpc_ep8/obsproc/nwprod/decoders
> rm satob_data
> ./read_nmc_cimiss_r2cwe.py -f /g3/tianwh/share/conobs/rec_R2CWE_2019060100_g_06.dat
If you want to batch process number of CIMISS files, you can use following command:
> # This command will find all CIMISS files and prcessing the file one by one
> decod_nmc_cimiss_r2cwe.py -d /g3/tianwh/share/conobs
The information we want to extract from CIMISS is:
import fortranformat as ff
output_line = ff.FortranRecordWriter('(I8, 2f10.2, 6A8, 8f10.2)')
output.write(output_line.write([sat_id, lat, lon, obstime.strftime("%Y"), obstime.strftime("%m"), \
obstime.strftime("%d"), obstime.strftime("%H"), obstime.strftime("%M"), obstime.strftime("%S"), \
p, T, dd, ff, flag_p, flag_T, flag_dd, flag_ff]) + "\n")
the content of satob_data is:
> less satob_data
4 -68.97 176.83 2019 06 12 19 28 00 925.00 -17.90 295.00 8.50 0.00 0.00 70.00 70.00
4 69.24 32.64 2019 06 12 16 56 00 925.00 0.90 309.00 6.00 0.00 0.00 72.00 72.00
4 -68.75 -177.07 2019 06 12 19 28 00 925.00 -17.70 288.00 9.70 0.00 0.00 86.00 86.00
4 -69.09 173.94 2019 06 12 19 28 00 925.00 -16.80 314.00 6.20 0.00 0.00 65.00 65.00
4 -69.00 174.49 2019 06 12 19 28 00 925.00 -16.80 287.00 8.30 0.00 0.00 72.00 72.00
4 -68.84 173.85 2019 06 12 19 28 00 925.00 -16.10 317.00 7.40 0.00 0.00 63.00 63.00
4 -68.66 173.45 2019 06 12 19 28 00 925.00 -15.60 317.00 7.30 0.00 0.00 69.00 69.00
4 -68.78 175.21 2019 06 12 19 28 00 925.00 -16.60 286.00 7.30 0.00 0.00 59.00 59.00
4 -82.24 177.30 2019 06 12 17 47 00 925.00 -26.80 146.00 5.90 0.00 0.00 81.00 81.00
4 -68.80 178.25 2019 06 12 19 28 00 925.00 -18.20 310.00 6.60 0.00 0.00 67.00 67.00
4 -67.15 65.80 2019 06 12 17 47 00 925.00 -19.70 108.00 15.20 0.00 0.00 79.00 79.00
4 -68.41 -175.55 2019 06 12 19 28 00 925.00 -16.80 296.00 9.30 0.00 0.00 99.00 99.00
4 -69.20 -171.10 2019 06 12 19 28 00 925.00 -16.20 264.00 8.00 0.00 0.00 91.00 91.00
4 -69.46 173.82 2019 06 12 19 28 00 925.00 -17.80 304.00 7.10 0.00 0.00 75.00 75.00
4 -66.98 61.89 2019 06 12 17 47 00 925.00 -19.20 110.00 15.80 0.00 0.00 61.00 61.00
4 -69.36 -173.16 2019 06 12 19 28 00 925.00 -16.10 283.00 7.90 0.00 0.00 65.00 65.00
4 -69.46 -172.43 2019 06 12 19 28 00 925.00 -16.20 278.00 8.10 0.00 0.00 69.00 69.00
4 -68.89 -170.92 2019 06 12 19 28 00 925.00 -16.00 262.00 8.60 0.00 0.00 77.00 77.00
4 -66.85 65.16 2019 06 12 17 47 00 925.00 -19.40 99.00 14.90 0.00 0.00 68.00 68.00
4 76.08 -3.47 2019 06 12 20 19 00 925.00 1.80 204.00 6.10 0.00 0.00 60.00 60.00
4 -67.30 71.55 2019 06 12 17 47 00 925.00 -21.80 130.00 10.80 0.00 0.00 77.00 77.00
4 -69.06 176.09 2019 06 12 19 28 00 925.00 -17.70 285.00 9.20 0.00 0.00 90.00 90.00
4 -69.48 175.63 2019 06 12 19 28 00 925.00 -18.30 333.00 5.50 0.00 0.00 64.00 64.00
4 -69.15 175.81 2019 06 12 19 28 00 925.00 -17.70 284.00 9.10 0.00 0.00 95.00 95.00
4 62.95 46.13 2019 06 12 16 56 00 925.00 0.40 346.00 8.20 0.00 0.00 93.00 93.00
4 67.73 32.13 2019 06 12 16 56 00 925.00 2.10 319.00 4.50 0.00 0.00 73.00 73.00
4 -75.74 178.85 2019 06 12 17 47 00 925.00 -22.10 206.00 4.20 0.00 0.00 59.00 59.00
4 -67.92 -175.35 2019 06 12 19 28 00 925.00 -16.80 289.00 9.50 0.00 0.00 96.00 96.00
4 -75.81 -163.69 2019 06 12 17 47 00 925.00 -18.10 218.00 8.40 0.00 0.00 70.00 70.00
4 64.16 42.60 2019 06 12 16 56 00 925.00 0.70 332.00 7.20 0.00 0.00 68.00 68.00
4 67.10 31.29 2019 06 12 16 56 00 925.00 2.80 318.00 4.00 0.00 0.00 67.00 67.00
Decoder source code¶
- Source code directory:
> cd /g5/nwpc_ep8/obsproc/nwprod/decoders/decod_dccimisssatwind/sorc
Subroutines to decode Satwind data
eldcod.f
Compile the code:
> make
Decode and convert to BUFR format¶
- enter into the exec directory:
- The generated BUFR format file will be saved at:
> ls -la tmp
-rw-rw-r-- 1 nwpc_ep8 nwpep 71026168 10月 28 19:23 BUFR.0.elrw.1.107627.1572290433.207
-rw-rw-r-- 1 nwpc_ep8 nwpep 80434768 10月 28 19:27 BUFR.0.elrw.2.107627.1572290639.361
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 BUFR.0.elrw.1.107627.1572290433.207
> ls -al /g5/nwpc_ep8/obsproc/nwprod/dcom/us007003/20190601/b005/xx064
--rw-r--r-- 1 nwpc_ep8 nwpep 940643952 10月 28 06:48 /g5/nwpc_ep8/obsproc/nwprod/dcom/us007003/20190601/b005/xx064
注解
- 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)
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 debufr to check the content of the bufr file:
> /g5/nwpc_ep8/obsproc/nwprod/util/exec/debufr /g5/nwpc_ep8/obsproc/nwprod/dcom/us007003/20190601/b005/xx064the output is in
debufr.out.