模式WRF

Unified Post Processor (UPP)小记

2019-05-01  本文已影响5人  气象备忘录
转载请表明出处:https://www.jianshu.com/p/62793047a76f
此篇为初稿,详细版本后续更新~~~

UPP是一个用于处理模式输出的软件包,可以产生丰富的后处理产品。目前支持的数值模式包括:WRF-NMM, WRF-ARW, Nonhydrostatic Multi-scale Model on the B grid (NMMB), Global Forecast System (GFS),和 Climate Forecast System (CFS)。

UPP的依赖库

  1. NETCDF
    UPP的FAQS页面上说目前不支持NETCDF4,应该是较久之前的问答。V3.1之后的版本亲测支持NETCDF4.
    export /WORK/app/netcdf/4.1.3/00-CF-14

  2. WRF I/O API (UPPV4.0之后不再需要,安装包自带)
    export WRF_DIR=/WORK/sysu_dhwang_4/MHWPS/source/WRFV4-TH

  3. GRIB2数据所需要的JasPer, PNG 和 Zlib库。 ===> 传送门
    export JASPERLIB=/WORK/app/jasper/1.900.1/01-CF-15-libpng/lib
    export JASPERINC=/WORK/app/jasper/1.900.1/01-CF-15-libpng/include

注意:这些库使用的编译器必须与UPP相同。

编译器环境

1.module load intel-compilers/15.0.1
2.module load MPI/Intel/MPICH/3.2-icc14-dyn

编译

  1. DTC官网下载压缩包,并解压。(建议使用最新版本,旧版本bug比较多)
  2. 进入主目录,执行./configure
[xxxxx@ln1%tianhe2-C UPPV4.0]$ ./configure 
Will use NETCDF in dir:  /WORK/app/netcdf/4.3.3.1/01-CF-15
wrfdir  /WORK/sysu_dhwang_4/MHWPS/source/UPPV4.0/src/lib/wrf_io
bindir  /WORK/sysu_dhwang_4/MHWPS/source/UPPV4.0/bin
incmod  /WORK/sysu_dhwang_4/MHWPS/source/UPPV4.0/include
libdir  /WORK/sysu_dhwang_4/MHWPS/source/UPPV4.0/lib
JASPER Environent found :: GRIB2 library ::
grib2lib = -L/WORK/app/jasper/1.900.1/01-CF-15-libpng/lib -lpng -lz -ljasper
grib2inc = -I/WORK/app/jasper/1.900.1/01-CF-15-libpng/include
-------------------------------------------------------------------------
Please select from among the following supported platforms.

   1.  Linux x86_64, PGI compiler  (serial)
   2.  Linux x86_64, PGI compiler  (dmpar)
   3.  Linux x86_64, Intel compiler  (serial)
   4.  Linux x86_64, Intel compiler  (dmpar)
   5.  Linux x86_64, Intel compiler, SGI MPT     (serial)
   6.  Linux x86_64, Intel compiler, SGI MPT     (dmpar)
   7.  Linux x86_64, gfortran compiler  (serial)
   8.  Linux x86_64, gfortran compiler  (dmpar)
   9.  Linux x86_64, Intel compiler, IBM POE     (serial)
  10.  Linux x86_64, Intel compiler, IBM POE     (dmpar)
  11.  Linux x86_64, gfortran compiler: -f90=gfortran  (serial)
  12.  Linux x86_64, gfortran compiler: -f90=gfortran  (dmpar)
  13.  Linux x86_64, PGI compiler: -f90=pgf90  (serial)
  14.  Linux x86_64, PGI compiler: -f90=pgf90  (dmpar)

这里选择4

  1. 执行./compile >& compile_upp.log &。 查看编译进度:tail -f compile_upp.log

题外话:之前在天河机器上安装UPP,所有环境变量均设置正确,选择3可以编译通过,但是选择4总是编译不通过,报错的内容里包括有gfortran,error等字段。后来在小明同学的帮助下发现,一开始加载的mpif90不是MPI/Intel/MPICH下的,而是conda包里面ncl环境下的一个可执行二进制文件(/WORK/app/conda/mini/envs/ncl_stable/bin/mpif90),那个文件应该是gfortran编译的,因此报错。修正后一切正常。

[xxxxx@ln1%tianhe2-C UPPV4.0]$ which mpif90
/WORK/app/MPI/Intel/MPICH/3.2-icc14-dyn/bin/mpif90

简单使用(以WRFOUT为例)

1.创建一个新目录,mkdir testupp; cd testupp
2.链接运行需要用到的一些文件

    ln -sf ${uppdir}/bin/unipost.exe .  #可执行二进制文件
    ln -sf ${scripts_dir}/config/wrf_cntrl.parm_ens fort.14 #配置文件
    ln -sf ${scripts_dir}/config/wrf_cntrl.parm_ens wrf_cntrl.parm 

    ln -sf ${wrfdir}/run/ETAMPNEW_DATA nam_micro_lookup.dat
    ln -sf ${wrfdir}/run/ETAMPNEW_DATA.expanded_rain hires_micro_lookup.dat
  1. 新建itag文件,内容如下:
PATH_TO_WRFOUT/wrfout_d01_2019-03-15_03:00:00
netcdf
2019-03-15_03:00:00
NCAR
  1. 执行./unipost.exe

详细使用方法参考:

  1. UPP | DTC官网

  2. Online Tutorial

  3. UPP User's Guide Version 4

  4. Grib1 Output Table (编写wrf_cntrl.parm文件参考)

  5. Related Links


最后还有一点,在使用UPP的过程中碰到解决不了的问题,要及时与UPP-help(upp-help@ucar.edu)联系,说不定就是代码的bug,前两天刚发现一个bug,官方一天内就返回了修复的代码。

上一篇下一篇

猜你喜欢

热点阅读