一、安装
cd /home/ubuntu/WRFCHEM/ #自己的wrf目录
git clone https://github.com/wrf-model/OBSGRID.git
cd /home/ubuntu/WRFCHEM/OBSGRID
./clean -a
source $Miniconda_Install_DIR/etc/profile.d/conda.sh
conda init bash
conda activate ncl_stable
#在conda环境下安装
export NETCDF=/home/ubuntu/WRFCHEM/Libs/NETCDF
#netcdf的路径
./configure #Option 2
#以下为替换configure.oa文件中的路径,请自行更换成自己的相关路径
sed -i '45s/-C -P -traditional/-P -traditional/g' configure.oa
sed -i '27s|= -L${NETCDF}/lib -lnetcdf -lnetcdff|= -L</usr/lib/x86_64-linux-gnu/> -lm -L${NETCDF}/lib -lnetcdf -lnetcdff -lhdf5 -lhdf5_hl -lgfortran -lgcc -lz |g' configure.oa
#netcdf路径
sed -i '31s|-lncarg -lncarg_gks -lncarg_c -lX11 -lm -lcairo|-lncarg -lncarg_gks -lncarg_c -lX11 -lXext -lpng -lcairo -lfontconfig -lpixman-1 -lfreetype -lgfortran -lgcc -L</usr/lib/x86_64-linux-gnu/> -lm -lhdf5 -lhdf5_hl |g' configure.oa
sed -i '42s|=|= -L/home/ubuntu/WRFCHEM/Libs/grib2/lib -lhdf5 -lhdf5_hl -lm |g' configure.oa
#hdf5路径
sed -i '44s/= /= -fallow-argument-mismatch /g' configure.oa
sed -i '39s/-frecord-marker=4/-frecord-marker=4 -fallow-argument-mismatch /g' configure.oa
./compile
conda deactivate
conda deactivate
二、编译get_rda_data.exe(gfortran编译器)
cd OBSGRID/util #进入OBSGRID中的util文件
###修改自己需要的时间间隔
vi get_rda_data.f
```bash
CLOSE(funit)
! We want to over write the interval to 3 hours
interval = 10800 #输出的时间,修改这个地方 大概在第53行。时间单位是秒,每次修改时间后重新编译即可
! Build starting date string
编译
```python
(将get_rda_data.f的后缀改为f90)
gfortran get_rda_data.f90 -o get_rda_data.exe #gfortran编译器
ifort -FR get_rda_data.f -o get_rda_data.exe #intel编译器
三、文件下载
3.1Upper air observational data
下载地址:https://rda.ucar.edu/datasets/ds351.0/#!access
选择最下面这个
根据需要选择,新手建议Complete File List
后后面根据自己需要的时间下载即可
3.2Surface observational data
下载地址:https://rda.ucar.edu/datasets/ds461.0/#!access
其余同上!!!
四、处理文件
4.1转换文件
转换工具下载:git clone https://github.com/fengx7/WRF_Nudging.git
文件列表如下:
4.2 使用combineSurfaceToObs.sh
chmod 777 combineSurfaceToObs.sh
将这两个冒号修改成“-”,如果下载的文件格式中是“:”就不用改
(如果先下载到WINDOWS上,会将冒号改为"-",WINDOWS系统文件名不支持冒号)
将SURFACE_OBS-YYYYMMDDHH 和OBS-YYYYMMDDHH合并成 C_OBS:YYYYMMDDHH
4.3运行combineCobsToRdaobs.sh
chmod 777 combineCobsToRdaobs.sh
将C_OBS:YYYYMMDDHH合并成rda_obs
4.4 运行get_rda_data.exe,将rda_obs文件分割成自己需要的时间间隔,便于后续使用
在OBSGRID目录下将get_rda_data.exe连接到rda_obs所在的目录
ln -sf ./util/get_rda_data.exe
修改自己的namelist.oa!!,get_rda_data.exe只读取时间,修改时间部分即可,修改intelval对分割不起作用,用上述方法修改
运行get_rda_data.exe
./get_rda_data.exe
五、运行obsgrid.exe
*将met_em.文件连接到OBSGRID根目录下
ln -sf 自己met_em.*文件的路径 #OBS文件是三小时的,所以wps中的namelist文件也要设置三小时的,一一对应!!!
obs_filename的格式是"路径加前缀"
例如:你的obs文件路径是
/home/ubuntu/WRFCHEM/OBSGRID/OBS
那么这个地方的路径应该是
/home/ubuntu/WRFCHEM/OBSGRID/OBS/OBS #后面的OBS是文件前缀
OBSGRID根目录下运行obsgrid.exe,生成metoa_em 和 wrfsfdda_d01*
./obsgrid.exe
五、WRF使用metoa_em*文件
方法1、 将metoa_em files 重命名为 met_em.**
方法2、在WRF的namelist中修改 auxinput1_inname = “metoa_em.d.”