操作手册 ============= 时间标识的建立 --------------------- 1. 整个RAP-HRRR系统的运行是依靠 :code:`${ROOT_DIR}/com/date` 下的时间标识文件来告诉系统运行哪个时刻. .. code-block:: bash mkdir –p ${ROOT_DIR}/com/date #. 在定时作业中加入如下的脚本,每个整点更新时间标识文件: .. code-block:: bash crontab –e # For RAP # ---------------- # Touch the time hourly # --------------------------- 0 * * * * . $HOME/.bashrc ; ${ROOT_DIR}/utils/chinawise_touchtime.py ecFlow workflow ----------------------- 1. 修改 :code:`ecf_kill`, :code:`ecf_status` 和 :code:`ecf_submit` :code:`ecflow` 使用 :code:`${ROOT_DIR}/workflow` 下的 :code:`ecf_kill`, :code:`ecf_status` 和 :code:`ecf_submit` 进行作业的中止,查询和提交,所以需要用户根据所使用的HPC上的作业管理系统做出相应的修改。尤其是 :code:`hostname`, 需要和 :code:`ECF_HOST` 一致。 2. 修改 :code:`head.h` 在 :code:`${ROOT_DIR}/workflow/include/head.h` 中定义了一些全局变量,用户可以根据需要进行修改,例如: .. code-block:: bash # 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} #. RAP作业集的生成 以下是如何产生RAP的作业集供ecFlow调用: .. code-block:: bash > cd ${ROOT_DIR}/workflow > rm -fr hf_nwp_rap_v2020.def > ./hf_nwp_rap_v2020.py 其产生的 :code:`hf_nwp_rap_v2020.def` 为整个作业集的 :code:`ecFlow` 描述 #. 加载作业集 .. code-block:: bash > ecflow_client --load=hf_nwp_rap_v2020.def > ecflow_client --suites hf_nwp_rap_v2020 加载后打开 :code:`ecflow_ui` , 界面类似如下: .. figure:: ecflow_load.PNG :scale: 25 % :align: center :alt: ecflowv_ui加载截图 ecflowv_ui加载截图 #. 启动作业集 .. code-block:: bash > ecflow_client --begin=hf_nwp_rap_v2020 启动后打开 :code:`ecflow_ui` , 界面类似如下: .. figure:: ecflow_begin.PNG :scale: 25 % :align: center :alt: ecflowv_ui启动截图 ecflowv_ui启动截图 #. 重新更换已有的作业集 .. code-block:: bash > ecflow_client --suites hf_nwp_rap_v2020 > ecflow_client --replace=/hf_nwp_rap hf_nwp_rap_v201908.def false force err_exit -------------------- 根据所使用的作业管理系统修改::code:`${ROOT_DIR}/nwprod/prod_util.v1.1.3/ush/err_exit` 例如使用PBS系统: .. code-block:: bash ... ... 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 输出文件目录的准备 -------------------------- * 建立日志文件输出目录: .. code-block:: bash 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; 资料位置 :code:`/???/gfs/ccyy`; 间隔6小时,一直到108小时。 为了可以在RAP系统中使用,必须做以下操作: .. code-block:: bash 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 可以下载,资料位置在: .. code-block:: bash https://ftp.ncep.noaa.gov/data/nccf/com/gfs/prod/sst.20200209/rtgssthr_grb_0.083.grib2 2. 为了可以在RAP (cyc = 01), HRRR (cyc = 02) 中使用,必须做以下操作: .. code-block:: bash $ 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 #. :code:`rap_makebc` 会使用 *SST* #. :code:`rap_process_sst` 的作用主要是修改初始场中的 *SST* 和 *TSK* ,特别是水体,冰面的温度。 以下是一个列子,显示更新之前后的 *SST* 的对比: .. figure:: images/global_sst.PNG :scale: 25 % :align: center global SST analysis @ 2020-02-21 .. figure:: images/old_sst.PNG :scale: 25 % :align: center before *rap_process_sst* @ 2020-02-21 .. figure:: images/new_sst.PNG :scale: 25 % :align: center after *rap_process_sst* @ 2020-02-21 #. 以下是一个列子,显示更新之前后的 *TSK* 的对比: .. figure:: images/old_tsk.PNG :scale: 25 % :align: center before *rap_process_sst* @ 2020-02-21 .. figure:: images/new_tsk.PNG :scale: 25 % :align: center after *rap_process_sst* @ 2020-02-21 冰雪资料的准备 --------------------- 1. 实时的北半球1公里分辨率冰雪资料,每天下载一次,资料位置在: .. code-block:: bash https://www.natice.noaa.gov/ims/grib2_v3_p2_2020_4km.html 2. 为了可以在 *RAP* 和 *HRRR* 系统中使用,必须做以下操作: .. code-block:: bash # 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) .. code-block:: bash exrap_analysis.sh.ecf # process_imssnow run after DA #. *hrrr* (cyc = 00) .. code-block:: bash exhrrr_analysis.sh.ecf # process_imssnow run after DA #. :code:`process_imssnow` 修改如下变量: 1. LU_INDEX #. SEAICE #. IVGTYP #. ISLTYP #. SNOW #. SNOWH #. SNOWC #. XLAND #. LANDMASK 绿植覆盖率资料的准备 ------------------------------ 1. 实时的周平均全球绿植覆盖率资料,每天下载一次,资料位置在: .. code-block:: bash https://satepsanone.nesdis.noaa.gov/pub/VHP/GVF/GVF-WKL-GLB_v2r3_npp_s20200201_e20200207_c202002081017160.grib2 存放位置: .. code-block:: bash ~/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 :code:`workflow/include/head.h` .. code-block:: bash export GVF==%ROOT_DIR%/com/gvf #. *rap* :code:`exrap_analysis_pcyc.sh.ecf` 在 cyc = 03 and 15 运行 #. *hrrr* :code:`exhrrr_prep_ref2tten.sh.ecf` 每个 cycle 运行 #. :code:`rap_update_gvf` 的作用,是修改初始场中的 *VEGFRA* 。 以下是一个列子,显示更新之前后的 *VEGFRAC* 的对比: 先给出 EU 的观测: .. figure:: ./images/eu_20200222.PNG :scale: 20 % :align: center EU observation @ 2020-02-22 下面是更新前后的对比: .. figure:: ./images/vegfra_old_20200222_13km.PNG :scale: 25 % :align: center before *rap_update_gvf* @ 2020-02-22 .. figure:: ./images/vegfra_new_20200222_13km.PNG :scale: 25 % :align: center after *rap_update_gvf* @ 2020-02-22 #. 3KM 区域例子 .. figure:: ./images/vegfra_old_20200222.PNG :scale: 25 % :align: center before *hrrr_update_gvf* @ 2020-02-22 .. figure:: ./images/vegfra_new_20200222.PNG :scale: 25 % :align: center after *hrrr_update_gvf* @ 2020-02-22 如何改变模式模拟区域 ------------------------------- 用户可能会根据业务需求,或根据计算资源调整预报区域, 请按照以下的步骤进行修改 : 1. 生成新的地形文件, 分别拷入: .. code-block:: bash $ 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 #. 修改 :code:`namelist` .. code-block:: bash $ 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 #. 修改如下脚本,寻找 *targetsize*, 替换修改后的 *wrfout* 的 size: .. code-block:: bash $ 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 #. 修改 :code:`exrap_post.sh.ecf`, 参见:`wgrib2文档 `_. .. code-block:: bash $ 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" #. 重新生成 :code:`enkf` 文件 #. 删除原来的初始条件和边界条件 .. code-block:: bash $ rm nwges/prod/rap/rapbc/* $ rm nwges/prod/rap/rapges/* $ rm nwges/prod/rap/rapges_pcyc/* $ rm /nwges/prod/hrrr/hrrrges_sfc/conus/* 绘图 --------------------- 1. :code:`RAP` 的绘图 :code:`RAP` 的绘图由如下脚本控制: .. code-block:: bash ${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* 脚本在: .. code-block:: bash 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 每个脚本负责画出一个图形。绘制的图形统一存放在: .. code-block:: bash ${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:: 所有的脚本使用 :code:`${ROOT_DIR}/nwprod/rap.v4.0.12/ncl/ncl/nclrr_rll/names.txt` 中的变量名字典列表来读取所需的变量。可以利用 *ncl* 工具 *ncl_filedump*, 来列出 *grib* 文件中所包含的列表名,例如: .. code-block:: bash $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) #. Compute tasks: - Total number = nproc_x*nproc_y (number of processors along X and y axes for decomposion) - First number is zero #. 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 #. 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 .. figure:: ./images/ioquilting.PNG :scale: 50% :align: center