操作手册

时间标识的建立

  1. 整个RAP-HRRR系统的运行是依靠 ${ROOT_DIR}/com/date 下的时间标识文件来告诉系统运行哪个时刻.

mkdir –p ${ROOT_DIR}/com/date
  1. 在定时作业中加入如下的脚本,每个整点更新时间标识文件:

crontab –e
# For RAP
# ----------------

# Touch the time hourly
# ---------------------------

0 * * * * . $HOME/.bashrc ; ${ROOT_DIR}/utils/chinawise_touchtime.py

ecFlow workflow

  1. 修改 ecf_kill, ecf_statusecf_submit

    ecflow 使用 ${ROOT_DIR}/workflow 下的 ecf_kill, ecf_statusecf_submit 进行作业的中止,查询和提交,所以需要用户根据所使用的HPC上的作业管理系统做出相应的修改。尤其是 hostname, 需要和 ECF_HOST 一致。

  2. 修改 head.h

    ${ROOT_DIR}/workflow/include/head.h 中定义了一些全局变量,用户可以根据需要进行修改,例如:

    # Tell ecFlow we have started
    export NCARG_ROOT=$(spack location -i ncl)
    
    # For ecflow
    export PATH=%ROOT_DIR%/ecflow/bin:$PATH
    export LD_LIBRARY_PATH=%ROOT_DIR%/ecflow/lib:${NCARG_ROOT}/lib
    export PYTHONPATH=%ROOT_DIR%/ecflow/lib/python3.8/site-packages/ecflow:${PYTHONPATH}
    
    # Common area
    export jobid=$job_name.$$
    export SENDDBN=NO
    export KEEPDATA=NO
    export ROOT_DIR=%ROOT_DIR%
    export GESROOT=%ROOT_DIR%/nwges
    export NWROOT=%ROOT_DIR%/nwprod
    export WGRIB2=$NWROOT/grib_util.v1.1.1/exec/wgrib2
    export CRTMDIR=%ROOT_DIR%/nwprod/rap.v4.0.12/sorc/UPPV4.0.1/src/lib/crtm2/src/fix
    export NDATE=$NWROOT/prod_util.v1.1.3/ush/ndate
    export PATH=$NWROOT/prod_util.v1.1.3/ush:$PATH
    
    # Fix IBM problems
    export coreutils=%ROOT_DIR%/utils/bin
    export PATH=${coreutils}:$PATH
    export DATE=${coreutils}/date
    export PATH=$NWROOT/util/exec:$PATH
    
    # RAP
    export COMGFS=%ROOT_DIR%/com/gfs/prod
    export COMINgfs=$COMGFS
    export COMROOTp1=$GESROOT
    
    # HRRR
    export dom=conus
    export COMROOT=%ROOT_DIR%/com
    export COMRAP=%ROOT_DIR%/com/rap/prod
    export DATAROOT=%ROOT_DIR%/tmpnwprd1
    export utilscript=%ROOT_DIR%/nwprod/util/ush
    export jlogfile=%ROOT_DIR%/com/logs/jlogfiles/jlogfile.${jobid}
    export FIXcrtm_post=${CRTMDIR}
    
  3. RAP作业集的生成

    以下是如何产生RAP的作业集供ecFlow调用:

    > cd ${ROOT_DIR}/workflow
    > rm -fr hf_nwp_rap_v2020.def
    > ./hf_nwp_rap_v2020.py
    

    其产生的 hf_nwp_rap_v2020.def 为整个作业集的 ecFlow 描述

  4. 加载作业集

    > ecflow_client --load=hf_nwp_rap_v2020.def
    > ecflow_client --suites
    hf_nwp_rap_v2020
    

    加载后打开 ecflow_ui , 界面类似如下:

    ecflowv_ui加载截图

    ecflowv_ui加载截图

  5. 启动作业集

    > ecflow_client --begin=hf_nwp_rap_v2020
    

    启动后打开 ecflow_ui , 界面类似如下:

    ecflowv_ui启动截图

    ecflowv_ui启动截图

  6. 重新更换已有的作业集

    > ecflow_client --suites
    hf_nwp_rap_v2020
    
    > ecflow_client --replace=/hf_nwp_rap hf_nwp_rap_v201908.def false force
    

err_exit

根据所使用的作业管理系统修改:${ROOT_DIR}/nwprod/prod_util.v1.1.3/ush/err_exit

例如使用PBS系统:

...
...
if [ -n "$PBS_JOBID" ]; then
  if [ "$SENDECF" = "YES" ]; then
    timeout 30 ecflow_client --msg "$ECF_NAME: $msg1"
  fi
  qdel $PBS_JOBID
  sleep 60  # Wait for PBS to kill the job
fi

输出文件目录的准备

  • 建立日志文件输出目录:

    mkdir -p ${ROOT_DIR}/com/output/prod/today
    mkdir -p ${ROOT_DIR}/com/logs/jlogfiles
    mkdir -p ${ROOT_DIR}/nwges/prod/hrrr/hrrrges_sfc/conus
    

GFS资料的准备

Note

HuaFeng的实时的0.5度的GFS资料由XXX负责下载,每天4个时次:00Z, 06Z, 12Z, 18Z; 资料位置 /???/gfs/ccyy; 间隔6小时,一直到108小时。

为了可以在RAP系统中使用,必须做以下操作:

cd ${ROOT_DIR}/com
mkdir -p gfs/prod
cd gfs/prod
ln -fs /???/gfs/2020 2020


~/src/repository$ tree -L 3 com/gfs/prod/
com/gfs/prod/
-- 2020
    |-- 2020122000
    |   |-- gfs.t00z.pgrb2.1p00.f000
    |   |-- gfs.t00z.pgrb2.1p00.f003
    |   |-- gfs.t00z.pgrb2.1p00.f006
    |   |-- gfs.t00z.pgrb2.1p00.f009
    |   |-- gfs.t00z.pgrb2.1p00.f012
    |   |-- gfs.t00z.pgrb2.1p00.f015
    |   |-- gfs.t00z.pgrb2.1p00.f018
    |   |-- gfs.t00z.pgrb2.1p00.f021
    |   |-- gfs.t00z.pgrb2.1p00.f024
    |   |-- gfs.t00z.pgrb2.1p00.f027
    |   |-- gfs.t00z.pgrb2.1p00.f030
    |   |-- gfs.t00z.pgrb2.1p00.f033
    |   |-- gfs.t00z.pgrb2.1p00.f036
    |   |-- gfs.t00z.pgrb2.1p00.f039
    |   |-- gfs.t00z.pgrb2.1p00.f042
    |   |-- gfs.t00z.pgrb2.1p00.f045
    |   |-- gfs.t00z.pgrb2.1p00.f048
    |   |-- gfs.t00z.pgrb2.1p00.f054
    |   |-- rtgssthr_grb_0.083.grib2
    |    -- wget.bash
    |-- 2020122006

海温资料的准备

  1. 实时的0.083度的海温资料应该每天实时下载,每天下载一次,资料在每天 22:34Z 可以下载,资料位置在:

    https://ftp.ncep.noaa.gov/data/nccf/com/gfs/prod/sst.20200209/rtgssthr_grb_0.083.grib2
    
  2. 为了可以在RAP (cyc = 01), HRRR (cyc = 02) 中使用,必须做以下操作:

    $ cd workflow/include
    $ edit head.h
    # Modify export COMINsst=/path/of/downloaded/sst/file
    
    # 请修改如下脚本,设置正确的SST路径:
    $ ~/rap/nwprod/rap.${rap_ver}/scripts/exrap_check_sst.sh.ecf
    $ ~/rap/nwprod/rap.${rap_ver}/scripts/exrap_makebc.sh.ecf
    
  3. rap_makebc 会使用 SST

  4. rap_process_sst 的作用主要是修改初始场中的 SSTTSK ,特别是水体,冰面的温度。 以下是一个列子,显示更新之前后的 SST 的对比:

    _images/global_sst.PNG

    global SST analysis @ 2020-02-21

    _images/old_sst.PNG

    before rap_process_sst @ 2020-02-21

    _images/new_sst.PNG

    after rap_process_sst @ 2020-02-21

  5. 以下是一个列子,显示更新之前后的 TSK 的对比:

    _images/old_tsk.PNG

    before rap_process_sst @ 2020-02-21

    _images/new_tsk.PNG

    after rap_process_sst @ 2020-02-21

冰雪资料的准备

  1. 实时的北半球1公里分辨率冰雪资料,每天下载一次,资料位置在:

    https://www.natice.noaa.gov/ims/grib2_v3_p2_2020_4km.html
    
  2. 为了可以在 RAPHRRR 系统中使用,必须做以下操作:

    # in cron jobs, please do sync as following
    15,30,45,0 * * * * rsync -av /path/of/imssnow/rap.20* ${ROOT_DIR}/com/rap/prod
    # Populate to *rap_e* directory for *HRRR* access
    15,30,45,0 * * * * ${ROOT_DIR}/utils/imssnow_populate.py
    
    
    # 请修改如下脚本,设置正确的SNOWICE数据的路径:
    $  ${ROOT_DIR}/nwprod/rap.v4.0.12/scripts/exrap_check_imssnow.sh.ecf
    $  ${ROOT_DIR}/nwprod/rap.v4.0.12/scripts/exrap_analysis.sh.ecf
    
  3. rap (cyc = 00)

    exrap_analysis.sh.ecf
    # process_imssnow run after DA
    
  4. hrrr (cyc = 00)

    exhrrr_analysis.sh.ecf
    #  process_imssnow run after DA
    
  5. process_imssnow 修改如下变量:

    1. LU_INDEX

    2. SEAICE

    3. IVGTYP

    4. ISLTYP

    5. SNOW

    6. SNOWH

    7. SNOWC

    8. XLAND

    9. LANDMASK

绿植覆盖率资料的准备

  1. 实时的周平均全球绿植覆盖率资料,每天下载一次,资料位置在:

    https://satepsanone.nesdis.noaa.gov/pub/VHP/GVF/GVF-WKL-GLB_v2r3_npp_s20200201_e20200207_c202002081017160.grib2
    

    存放位置:

    ~/src/repository$ tree -L 2 com/gvf
    com/gvf
    -- GVF-WKL-GLB_v2r3_npp_s20201212_e20201218_c202012191001030.grib2
    
    0 directories, 1 file
    
  2. set GVF path in workflow/include/head.h

    export GVF==%ROOT_DIR%/com/gvf
    
  3. rap exrap_analysis_pcyc.sh.ecf

    在 cyc = 03 and 15 运行

  4. hrrr exhrrr_prep_ref2tten.sh.ecf

    每个 cycle 运行

  5. rap_update_gvf 的作用,是修改初始场中的 VEGFRA

    以下是一个列子,显示更新之前后的 VEGFRAC 的对比:

    先给出 EU 的观测:

    _images/eu_20200222.PNG

    EU observation @ 2020-02-22

    下面是更新前后的对比:

    _images/vegfra_old_20200222_13km.PNG

    before rap_update_gvf @ 2020-02-22

    _images/vegfra_new_20200222_13km.PNG

    after rap_update_gvf @ 2020-02-22

  6. 3KM 区域例子

    _images/vegfra_old_20200222.PNG

    before hrrr_update_gvf @ 2020-02-22

    _images/vegfra_new_20200222.PNG

    after hrrr_update_gvf @ 2020-02-22

如何改变模式模拟区域

用户可能会根据业务需求,或根据计算资源调整预报区域, 请按照以下的步骤进行修改 :

  1. 生成新的地形文件, 分别拷入:

    $ mv geo_em.d01.nc.d1 nwprod/rap.v4.0.12/fix/rap_geo_em.d01.nc
    
    $ mv geo_em.d01.nc.d2 nwprod/hrrr.v3.0.8/fix/conus/hrrr_geo_em.d01.nc
    $ cp nwprod/hrrr.v3.0.8/fix/conus/hrrr_geo_em.d01.nc nwprod/hrrr.v3.0.8/ncl/ncl/geo_em.d01.nc
    
  2. 修改 namelist

    $ edit nwprod/rap.v4.0.12/parm/rap_namelist.wps
    $ edit nwprod/rap.v4.0.12/parm/rap_wrf.nl
    $ edit nwprod/rap.v4.0.12/parm/rap_wrfbc.nl
    
    $ edit nwprod/hrrr.v3.0.8/parm/conus/hrrr_namelist.wps
    $ edit nwprod/hrrr.v3.0.8/parm/conus/hrrr_real.nl
    $ edit nwprod/hrrr.v3.0.8/parm/conus/hrrr_wrf.nl
    $ edit nwprod/hrrr.v3.0.8/parm/conus/hrrr_wrfpre.nl
    $ edit nwprod/hrrr.v3.0.8/parm/conus/hrrr_wrfpre_norad.nl
    
  3. 修改如下脚本,寻找 targetsize, 替换修改后的 wrfout 的 size:

    $ exrap_analysis.sh.ecf:    targetsize=xxxxxxx
    $ exrap_analysis_pcyc.sh.ecf:      targetsize=xxxxxxxx
    $ exrap_post.sh.ecf:  targetsize=xxxxxx
    
    $ exhrrr_analysis.sh.ecf:targetsize=xxxxxx
    $ exhrrr_post.sh.ecf:targetsize=xxxxxx
    $ exhrrr_prep_ref2tten.sh.ecf:targetsize=xxxxxx
    
  4. 修改 exrap_post.sh.ecf, 参见:wgrib2文档.

    $ edit nwprod/rap.v4.0.12/scripts/exrap_post.sh.ecf
    ...
    Modify:
    export grid_specs_130="lambert:105:30.000000:60.000000 76.251953:525:13000.000000 13.022026:462:13000.000000"
    
  5. 重新生成 enkf 文件

  6. 删除原来的初始条件和边界条件

    $ rm nwges/prod/rap/rapbc/*
    $ rm nwges/prod/rap/rapges/*
    $ rm nwges/prod/rap/rapges_pcyc/*
    
    $ rm /nwges/prod/hrrr/hrrrges_sfc/conus/*
    

绘图

  1. RAP 的绘图

    RAP 的绘图由如下脚本控制:

    ${ROOT_DIR}/nwprod/rap.v4.0.12/jobs/JRAP_NCLPART1
    ${ROOT_DIR}/nwprod/rap.v4.0.12/jobs/JRAP_NCLPART2
    
    调用:
    
    ${ROOT_DIR}/nwprod/rap.v4.0.12/scripts/exrap_nclpart1.sh.ecf
    ${ROOT_DIR}/nwprod/rap.v4.0.12/scripts/exrap_nclpart2.sh.ecf
    
    这两个脚本调用具体的 *ncl* 脚本
    

    具体的 ncl 脚本在:

    cd ${ROOT_DIR}/nwprod/rap.v4.0.12/ncl/ncl/nclrr_rll
    
    [~/nwprod/rap.v4.0.12/ncl/ncl/nclrr_rll]$ls *.ncl
    WRFUserARW.ncl         rr_htxs_grmr.ncl     rr_sfc_ltng.ncl     rr_sfc_temp.ncl    yyrr_2m_temp.ncl    yyrr_sfc_pchg.ncl
    griblook.ncl           rr_htxs_rwmr.ncl     rr_sfc_mcc.ncl      rr_sfc_totp.ncl    yyrr_500_temp.ncl   yyrr_sfc_ptyp.ncl
    plot_hodo.ncl          rr_htxs_sh.ncl       rr_sfc_mnvv.ncl     rr_sfc_ulwrf.ncl   yyrr_700_temp.ncl   yyrr_sfc_pwtr.ncl
    rr_10m_gust.ncl        rr_htxs_snmr.ncl     rr_sfc_mucp.ncl     rr_sfc_vis.ncl     yyrr_80m_wind.ncl   yyrr_sfc_rhpw.ncl
    rr_10m_wind.ncl        rr_htxs_temp.ncl     rr_sfc_mulcp.ncl    rr_sfc_weasd.ncl   yyrr_850_temp.ncl   yyrr_sfc_shtfl.ncl
    rr_10m_wind_track.ncl  rr_htxs_wind.ncl     rr_sfc_mxcp.ncl     rr_ua_ceil.ncl     yyrr_925_temp.ncl   yyrr_sfc_snod.ncl
    rr_20cm_soilt.ncl      rr_nta_ulwrf.ncl     rr_sfc_pchg.ncl     rr_ua_ctop.ncl     yyrr_sfc_1hsnw.ncl  yyrr_sfc_solar.ncl
    rr_20cm_soilw.ncl      rr_prxs_temp.ncl     rr_sfc_profile.ncl  rr_ua_rh.ncl       yyrr_sfc_acp.ncl    yyrr_sfc_tcc.ncl
    rr_2ds_temp.ncl        rr_sfc_1hsnw.ncl     rr_sfc_ptyp.ncl     rr_ua_rh8.ncl      yyrr_sfc_acpcp.ncl  yyrr_sfc_temp.ncl
    rr_2m_dewp.ncl         rr_sfc_acp.ncl       rr_sfc_pwtr.ncl     rr_ua_vort.ncl     yyrr_sfc_acsnw.ncl  yyrr_sfc_totp.ncl
    rr_2m_ptemp.ncl        rr_sfc_acp_3h.ncl    rr_sfc_rhpw.ncl     rr_ua_vvel.ncl     yyrr_sfc_cape.ncl   yyrr_sfc_vis.ncl
    rr_2m_rh.ncl           rr_sfc_acpcp.ncl     rr_sfc_shtfl.ncl    rr_ua_wind.ncl     yyrr_sfc_cin.ncl    yyrr_sfc_weasd.ncl
    rr_2m_temp.ncl         rr_sfc_acpcp_3h.ncl  rr_sfc_skewt.ncl    rr_ua_wmag.ncl     yyrr_sfc_cref.ncl   yyrr_ua_ceil.ncl
    rr_500_temp.ncl        rr_sfc_acsnw.ncl     rr_sfc_skewt1.ncl   skewt_func.ncl     yyrr_sfc_flru.ncl   yyrr_ua_ctop.ncl
    rr_5cm_soilt.ncl       rr_sfc_cape.ncl      rr_sfc_skewt2.ncl   soilmois.ncl       yyrr_sfc_hcc.ncl    yyrr_ua_rh.ncl
    rr_5cm_soilw.ncl       rr_sfc_cin.ncl       rr_sfc_skewt3.ncl   wrfxsecs.ncl       yyrr_sfc_hpbl.ncl   yyrr_ua_rh8.ncl
    rr_700_temp.ncl        rr_sfc_cref.ncl      rr_sfc_skewt4.ncl   yyrr_10m_gust.ncl  yyrr_sfc_lcc.ncl    yyrr_ua_vort.ncl
    rr_80m_wind.ncl        rr_sfc_flru.ncl      rr_sfc_snod.ncl     yyrr_10m_wind.ncl  yyrr_sfc_ltng.ncl   yyrr_ua_vvel.ncl
    rr_850_temp.ncl        rr_sfc_hcc.ncl       rr_sfc_soilt.ncl    yyrr_2ds_temp.ncl  yyrr_sfc_mcc.ncl    yyrr_ua_wind.ncl
    rr_925_temp.ncl        rr_sfc_hpbl.ncl      rr_sfc_soilw.ncl    yyrr_2m_dewp.ncl   yyrr_sfc_mucp.ncl   yyrr_ua_wmag.ncl
    rr_bsfc_soilt.ncl      rr_sfc_lcc.ncl       rr_sfc_solar.ncl    yyrr_2m_ptemp.ncl  yyrr_sfc_mulcp.ncl
    rr_bsfc_soilw.ncl      rr_sfc_lhtfl.ncl     rr_sfc_tcc.ncl      yyrr_2m_rh.ncl     yyrr_sfc_mxcp.ncl
    

    每个脚本负责画出一个图形。绘制的图形统一存放在:

    ${ROOT_DIR}/com/rap/prod/rap.ccyymmdd/nclprd
    
    [/com/rap/prod/rap.20200209/nclprd]$ls -la
    total 448
    drwxr-xr-x 4 hailang work    512 Feb  9 20:54 .
    drwxrwxr-x 4 hailang work 131072 Feb 10 00:12 ..
    drwxr-xr-x 2 hailang work  32768 Feb 10 00:02 dfi
    drwxr-xr-x 2 hailang work  65536 Feb 10 00:14 full
    [hailang@sya01n01 ~/chinawise/com/rap/prod/rap.20200209/nclprd]$ls dfi
    cape_sfc.t17z.f00.png  mucp_sfc.t17z.f00.png   pwtr_sfc.t17z.f00.png  temp_sfc.t17z.f00.png   wind_850.t17z.f00.png
    cape_sfc.t23z.f00.png  mucp_sfc.t23z.f00.png   pwtr_sfc.t23z.f00.png  temp_sfc.t23z.f00.png   wind_850.t23z.f00.png
    cin_sfc.t17z.f00.png   mulcp_sfc.t17z.f00.png  rh_2m.t17z.f00.png     weasd_sfc.t17z.f00.png  wmag_250.t17z.f00.png
    cin_sfc.t23z.f00.png   mulcp_sfc.t23z.f00.png  rh_2m.t23z.f00.png     weasd_sfc.t23z.f00.png  wmag_250.t23z.f00.png
    cref_sfc.t17z.f00.png  mxcp_sfc.t17z.f00.png   snod_sfc.t17z.f00.png  wind_10m.t17z.f00.png   wmag_850.t17z.f00.png
    cref_sfc.t23z.f00.png  mxcp_sfc.t23z.f00.png   snod_sfc.t23z.f00.png  wind_10m.t23z.f00.png   wmag_850.t23z.f00.png
    dewp_2m.t17z.f00.png   ptemp_2m.t17z.f00.png   temp_2ds.t17z.f00.png  wind_250.t17z.f00.png
    dewp_2m.t23z.f00.png   ptemp_2m.t23z.f00.png   temp_2ds.t23z.f00.png  wind_250.t23z.f00.png
    gust_10m.t17z.f00.png  ptyp_sfc.t17z.f00.png   temp_2m.t17z.f00.png   wind_80m.t17z.f00.png
    gust_10m.t23z.f00.png  ptyp_sfc.t23z.f00.png   temp_2m.t23z.f00.png   wind_80m.t23z.f00.png
    [hailang@sya01n01 ~/chinawise/com/rap/prod/rap.20200209/nclprd]$ls full
    acpcp_sfc.t17z.f02.png  hcc_sfc.t17z.f03.png    ptemp_2m.t23z.f01.png   temp_2ds.t23z.f00.png  vis_sfc.t23z.f03.png
    acpcp_sfc.t17z.f03.png  hcc_sfc.t17z.f04.png    ptemp_2m.t23z.f02.png   temp_2ds.t23z.f01.png  vis_sfc.t23z.f04.png
    acpcp_sfc.t17z.f04.png  hcc_sfc.t17z.f05.png    ptemp_2m.t23z.f03.png   temp_2ds.t23z.f02.png  vis_sfc.t23z.f05.png
    acpcp_sfc.t17z.f05.png  hcc_sfc.t17z.f06.png    ptemp_2m.t23z.f04.png   temp_2ds.t23z.f03.png  vis_sfc.t23z.f06.png
    acpcp_sfc.t17z.f06.png  hcc_sfc.t23z.f00.png    ptemp_2m.t23z.f05.png   temp_2ds.t23z.f04.png  vvel_700.t17z.f00.png
    acpcp_sfc.t23z.f02.png  hcc_sfc.t23z.f01.png    ptemp_2m.t23z.f06.png   temp_2ds.t23z.f05.png  vvel_700.t17z.f01.png
    acpcp_sfc.t23z.f03.png  hcc_sfc.t23z.f02.png    pwtr_sfc.t17z.f00.png   temp_2ds.t23z.f06.png  vvel_700.t17z.f02.png
    acpcp_sfc.t23z.f04.png  hcc_sfc.t23z.f03.png    pwtr_sfc.t17z.f01.png   temp_2m.t17z.f00.png   vvel_700.t17z.f03.png
    acpcp_sfc.t23z.f05.png  hcc_sfc.t23z.f04.png    pwtr_sfc.t17z.f02.png   temp_2m.t17z.f01.png   vvel_700.t17z.f04.png
    acpcp_sfc.t23z.f06.png  hcc_sfc.t23z.f05.png    pwtr_sfc.t17z.f03.png   temp_2m.t17z.f02.png   vvel_700.t17z.f05.png
    cape_sfc.t17z.f00.png   hcc_sfc.t23z.f06.png    pwtr_sfc.t17z.f04.png   temp_2m.t17z.f03.png   vvel_700.t17z.f06.png
    cape_sfc.t17z.f01.png   lcc_sfc.t17z.f00.png    pwtr_sfc.t17z.f05.png   temp_2m.t17z.f04.png   vvel_700.t23z.f00.png
    cape_sfc.t17z.f02.png   lcc_sfc.t17z.f01.png    pwtr_sfc.t17z.f06.png   temp_2m.t17z.f05.png   vvel_700.t23z.f01.png
    cape_sfc.t17z.f03.png   lcc_sfc.t17z.f02.png    pwtr_sfc.t23z.f00.png   temp_2m.t17z.f06.png   vvel_700.t23z.f02.png
    cape_sfc.t17z.f04.png   lcc_sfc.t17z.f03.png    pwtr_sfc.t23z.f01.png   temp_2m.t23z.f00.png   vvel_700.t23z.f03.png
    

    Note

    所有的脚本使用 ${ROOT_DIR}/nwprod/rap.v4.0.12/ncl/ncl/nclrr_rll/names.txt 中的变量名字典列表来读取所需的变量。可以利用 ncl 工具 ncl_filedump, 来列出 grib 文件中所包含的列表名,例如:

    $ncl_filedump /sya/u/hailang/chinawise/com/rap/prod/rap.20200209/rap.t17z.wrfprsf06.grib2
     Copyright (C) 1995-2013 - All Rights Reserved
     University Corporation for Atmospheric Research
     NCAR Command Language Version 6.1.2
     The use of this software is governed by a License Agreement.
     See http://www.ncl.ucar.edu/ for more details.
    
    Variable: f
    Type: file
    filename:       rap.t17z.wrfprsf06
    path:   /sya/u/hailang/chinawise/com/rap/prod/rap.20200209/rap.t17z.wrfprsf06.grib2
       file global attributes:
       dimensions:
          ygrid_0 = 462
          xgrid_0 = 525
          lv_ISBL0 = 40
          lv_HTGL1 = 2
          lv_SPDL2 = 6
          lv_HTGL3 = 2
          lv_HTGL4 = 2
          lv_TMPL5 = 2
          lv_SPDL6 = 3
          lv_HTGL7 = 2
          lv_HTGL8 = 2
          lv_DBLL9 = 9
       variables:
          float TMP_P0_L1_GLC0 ( ygrid_0, xgrid_0 )
             center :       US National Weather Service - NCEP (WMC)
             production_status :    Operational products
             long_name :    Temperature
             units :        K
             _FillValue :   1e+20
             coordinates :  gridlat_0 gridlon_0
             grid_type :    Lambert Conformal can be secant or tangent, conical or bipolar
             parameter_discipline_and_category :    Meteorological products, Temperature
             parameter_template_discipline_category_number :        ( 0, 0, 0, 0 )
             level_type :   Ground or water surface
             level :         0
             forecast_time :        6
             forecast_time_units :  hours
             initial_time : 02/09/2020 (17:00)
    
             float TMP_P0_L105_GLC0 ( ygrid_0, xgrid_0 )
                center :       US National Weather Service - NCEP (WMC)
                production_status :    Operational products
                long_name :    Temperature
                units :        K
                _FillValue :   1e+20
                coordinates :  gridlat_0 gridlon_0
                grid_type :    Lambert Conformal can be secant or tangent, conical or bipolar
                parameter_discipline_and_category :    Meteorological products, Temperature
                parameter_template_discipline_category_number :        ( 0, 0, 0, 0 )
                level_type :   Hybrid level
                level :         1
                forecast_time :        6
                forecast_time_units :  hours
                initial_time : 02/09/2020 (17:00)
    
             float TMP_P0_2L108_GLC0 ( lv_SPDL2, ygrid_0, xgrid_0 )
                center :       US National Weather Service - NCEP (WMC)
                production_status :    Operational products
                long_name :    Temperature
                units :        K
                _FillValue :   1e+20
                coordinates :  gridlat_0 gridlon_0
                grid_type :    Lambert Conformal can be secant or tangent, conical or bipolar
                parameter_discipline_and_category :    Meteorological products, Temperature
                parameter_template_discipline_category_number :        ( 0, 0, 0, 0 )
                level_type :   Level at specified pressure difference from ground to level (Pa)
                forecast_time :        6
                forecast_time_units :  hours
                initial_time : 02/09/2020 (17:00)
    

WRF IO Quilting

  1. Two types of MPI tasks: compute (client) and I/O (server)

  2. Compute tasks:

    • Total number = nproc_x*nproc_y (number of processors along X and y axes for decomposion)

    • First number is zero

  3. I/O tasks:

    • Total number = nio_groups*nio_tasks_per_group

    • Nio_tasks_per_group cannot exceed nproc_y

    • First I/O task number immediately follows last compute task number

  4. Code will attempt to match each I/O task with compute tasks in east-west rows

    • Ideally nproc_y should be exact multiple of nio_tasks_per_group

_images/ioquilting.PNG