======== Satwind ======== .. contents :: 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 : .. code-block:: bash 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 :code:`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 ===================== 1. Source code directory:: > cd /g5/nwpc_ep8/obsproc/nwprod/decoders/decod_dccimisssatwind/sorc 2. Subroutines to decode Satwind data * :code:`eldcod.f` 3. Compile the code :: > make Decode and convert to BUFR format ================================= 1. enter into the exec directory :: > cd /g5/nwpc_ep8/obsproc/nwprod/decoders/decod_dccimisssatwind/exec > ls -la 总用量 834 drwxr-xr-x 3 nwpc_ep8 nwpep 4096 10月 25 16:45 . drwxr-xr-x 5 nwpc_ep8 nwpep 4096 9月 13 04:39 .. lrwxr-xr-x 1 nwpc_ep8 nwpep 34 9月 14 20:42 bufrtab.005 -> ../../decod_shared/fix/bufrtab.005 lrwxr-xr-x 1 nwpc_ep8 nwpep 27 9月 14 20:41 bufrtab.EUMS_SATWIND -> ../fix/bufrtab.EUMS_SATWIND lrwxr-xr-x 1 nwpc_ep8 nwpep 28 9月 14 20:41 bufrtab.JAPAN_SATWIND -> ../fix/bufrtab.JAPAN_SATWIND -rwxr-xr-x 1 nwpc_ep8 nwpep 841408 10月 25 16:45 decod_dccimisssatwind drwxr-xr-x 2 nwpc_ep8 nwpep 4096 10月 28 19:23 tmp 2. 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 .. note:: * 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/xx064 the output is in :code:`debufr.out`.