常见问题

Q:

同一时刻,比较一下NCEP处理的资料和我们处理的资料,看看被质控的情况

A:

对于常规观测,NCEP会利用GFS/GDAS的0-9小时预报的原始预报结果来计算 \(y - H(x)\) (OMB),根据OMB来为每个观测值设定一个质控码(QC Marker)。 GFS/GDAS的0-9小时预报的原始预报结果是*nemsio*格式(NCEP预报模式全分辨率),在为数值预报中心开发的系统中,我们修改了读取全球预报结果的接口, 使之可以读取grib2格式的GFS资料(气压层);这意味着如果我们希望使用GRAPES模式的预报结果来进行质控也是可行的。

读取全球预报模式预报结果的程序接口为:

${ROOT_DIR}/nwprod/obsproc_prep.v5.2.1/sorc/prepobs_prepdata.fd

如果下载ncep的nemsio文件,使用NCEP原始nemsio文件,我们可以得到几乎完全一致的结果(差异在机器精度);使用grib2格式的GFS预报结果,差异在可以物理意义范围内(主要是由于给跟grib2格式的GFS资料无论在水平还是垂直分辨率上都被downgraded了)

Q:

黑名单在什么地方给?是否有现成的?

A:

${ROOT_DIR}/dcom/us007003 下的文件 sdmedit 存储黑名单站点,sdmedit 的具体格式可以参见以下程序,可以自己构建黑名单:

${ROOT_DIR}/nwprod/obsproc_dump.v5.0.1/sorc/bufr_edtbfr.fd/edtbfr.f

涉及读取 sdmedit 文件的代码如下:

C  READ RECORDS FROM SDMEDIT FLAG FILE, ONLY STORE THOSE W/I TIME
C  WINDOW, PARSED ACCORDING TO REPORT TYPE
C  --------------------------------------------------------------

         REWIND LUEDT
         NREC = 0
         NEDT = 0
         LOOP1n1: DO  ! read through all cards
            READ(LUEDT,'(A128)',END=4,ERR=3) CARD
            NREC = NREC+1
            IF(CARD(1:7).EQ.'STATION') CYCLE LOOP1n1 !Skip poss. hdr rec
            IF(CARD(25:34).EQ.'----------') THEN
C  .. All YYYYMMDDHHs are checked for this record
               EDATE = ADATE+0.001
            ELSE IF(CARD(25:32).EQ.'--------') THEN
C  .. All YYYYMMDDs are chckd for this record but only for a specific HH
               READ(CARD(33:34),'(I2)',ERR=801) IHOUR
               ADATE_YYYYMMDD = INT(ADATE/100)
               BDATE_YYYYMMDD = INT(BDATE/100)
               JHOUR = MOD(INT(BDATE),100)
               EDATE = NINT((ADATE_YYYYMMDD*100)+IHOUR)
               IF(NINT(BDATE_YYYYMMDD).GT.NINT(ADATE_YYYYMMDD)) THEN
                  IF(IHOUR.GE.0.AND.IHOUR.LE.JHOUR)  EDATE =
     .             NINT((BDATE_YYYYMMDD*100)+IHOUR)
               ENDIF
            ELSE IF(CARD(33:34).EQ.'--') THEN
C  .. All HHs are chckd for this record but only for a specific YYYYMMDD
               READ(CARD(25:32),'(I8)',ERR=801) IYYYYMMDD
               EDATE = 9999999999.
               IF(INT(ADATE/100).EQ.IYYYYMMDD .OR.
     .            INT(BDATE/100).EQ.IYYYYMMDD)  EDATE = ADATE+0.001
            ELSE
C  .. Only a specific YYYYMMDDHH is checked for this record
               READ(CARD(25:34),'(F10.0)',ERR=801) EDATE
            ENDIF
            IF(EDATE.GE.ADATE .AND. EDATE.LE.BDATE) THEN
C     .. This card is w/i time window - store it according to rpt type
               LOOP1n2: DO ITYP=0,6
                  IF(CARD(37:39).EQ.CTYP(ITYP)) THEN
                     IF(NEDT(ITYP)+1.LE.MEDT) THEN
                        NEDT(ITYP) = NEDT(ITYP) + 1
                        CARDS(ITYP,NEDT(ITYP)) = CARD !Store this record
                     ELSE
                        IF(NEDT(ITYP)+1.EQ.MEDT+1) PRINT'(/"#####THE ",
     .                   "NUMBER OF RECORDS IN THE SDMEDIT FLAG FILE ",
     .                   "IN UNIT",I3," THAT ARE WITHIN THE TIME ",
     .                   "WINDOW FOR REPORT"/5X,"TYPE ",A," EXCEEDS ",
     .                   "THE LIMIT OF",I6," - ALL REMAINING RECORDS ",
     .                   "FOR THIS REPORT TYPE ARE IGNORED"/)',
     .                   LUEDT,CTYP(ITYP),MEDT
                     ENDIF
                     CYCLE LOOP1n1 ! move on to next sdmedit flag file
                                   !  card
                  ENDIF
               ENDDO LOOP1n2 !  DO ITYP=0,6 ! storing cards w/i time
                                            !  window according to
                                            !  report type
            ENDIF

            CYCLE LOOP1n1 ! move on to next sdmedit flag file card
Q:

探空的辐射订正的方案?系数是否有现成的?

A:

涉及探空观测辐射订正的程序为:

在该程序中包含了目前主要的探空仪类型的辐射订正参数,例如:

C   19   ==> ONLY 1 SITE   (GERMANY) GRAW  M60                6(T)
C   20                     INDIAN MET. SERVICE TYPE  MK3
C   21                     (S. KOREA) VIZ/JIN YANG MARK I MICROSONDE
C   22                     (JAPAN) MEISEI  RS2-80             1(T)
C   23                     (FRANCE) MENSURAL FMO  1950A
C   24                     (FRANCE) MENSURAL FMO  1945A
C   25                     (FRANCE) MENSURAL  MH73A
C   26                     (SWITZERLAND) METEOLABOR BASORA
C   27                     (RUSSIA) AVK-MRZ                   7(T)
C   28                     (RUSSIA) METEORIT  MARZ2-1         8(T)
C   29                     (RUSSIA) METEORIT  MARZ2-2         8(T)
C   30                     (JAPAN) OKI  RS2-80
C   31                     (CANADA) VIZ/VALCOM TYPE A         2(T)
C   32                     (CHINA) SHANGHAI RADIO            10(T)
C   33   ==> NOT IN USE    (U.K.) UK MET OFFICE  MK3          9(T)
C   34                     (CZECHOSLOVAKIA) VINOHRADY
C   35                     VAISALA  RS18
C   36                     VAISALA  RS21
C   37                     VAISALA  RS80
C   38                     (U.S.) VIZ LOCATE (LORAN-C)
C   39                     (GERMANY) SPRENGER  E076
C   40                     (GERMANY) SPRENGER  E084
C   41                     (GERMANY) SPRENGER  E085
C   42                     (GERMANY) SPRENGER  E086
C   43                     (U.S.) AIR IS - 4A - 1680          3(T)
C   44                     (U.S.) AIR IS - 4A - 1680 X        3(T)
C   45                     (U.S.) RS MSS                      4(T)
C   46                     (U.S.) AIR IS - 4A - 403
...
...
C              (CHINA) SHANGHAI RADIO -- BASED ON JULIAN
C              =====>  JTYPE = 32  --   ITAB = 10  <=====

      DATA  SHANGT  /
C       NITE   -5     5    15     25    35    45    55    65    75 S.ANG
C      _____ _____ _____ _____ _____ _____ _____ _____ _____ _____
C LEVEL
     1   0.5,  0.3,  0.0,  0.4,  0.5,  0.9,  0.9,  0.9,  0.9,  0.9,
     2   0.5,  0.6,  1.0,  1.2,  1.0,  0.9,  0.9,  0.9,  0.9,  0.9,
     3   0.5,  0.9,  1.9,  2.0,  1.5,  0.9,  0.9,  0.9,  0.9,  0.9,
     4  -0.1,  1.9,  2.6,  2.7,  1.8,  1.8,  1.8,  1.9,  1.9,  1.9,
     5   1.2,  5.5,  6.3,  6.0,  4.9,  4.1,  4.1,  4.1,  4.2,  4.2,
     A   4.7,  8.8,  9.8,  9.7,  9.1,  9.0,  9.0,  9.0,  9.0,  9.0,
     6  10.3, 13.7, 14.2, 14.7, 15.2, 16.0, 16.0, 16.0, 16.0, 16.0,
     B  13.7, 15.3, 16.4, 17.2, 18.5, 19.9, 19.9, 19.9, 19.9, 19.9,
     7  16.7, 17.4, 18.0, 18.9, 21.1, 22.8, 22.8, 22.8, 22.8, 22.8,
     C  17.4, 17.2, 17.1, 17.6, 20.3, 22.0, 22.0, 22.0, 22.0, 22.0,
     8   8.7,  8.3,  8.1,  6.0,  7.6,  7.4,  7.4,  7.4,  7.4,  7.4,
     D -11.5,-10.1,- 9.1,-13.9,-13.4,-13.2,-13.2,-13.2,-13.2,-13.2,
     9 - 9.0,-12.6,-13.3,-20.3,-18.9,-18.9,-18.9,-18.9,-18.9,-18.9,
     $   1.8,- 6.7,- 7.4,-15.3,-15.0,-17.0,-17.1,-17.1,-17.1,-17.1,
     T  11.4,  5.0,  2.0,- 5.0,- 6.4,-10.0,-10.0,-10.0,-10.0,-10.0,
     L  16.6, 13.5, 12.1,  8.5,  5.7,  4.0,  4.0,  4.0,  4.0,  4.0/
Q:

OIQC针对的是哪种资料,能否单独提出来?

A:

QIQC检查以下观测:

  • SURFACE HEIGHT/PRESSURE DATA
  • UPA AND SFC TEMP AND WIND DATA
  • SATEM DATA

主要的程序为:

该程序是基本是一个完整的OI程序,可以单独提取出来!