WRFD案例学习
参考WRFDA官网2017年夏季指导课程
https://www2.mmm.ucar.edu/wrf/users/wrfda/Tutorials/2017_July/class/obsproc.html
观测数据前处理
这部分的目标是为了产生运行WRFDA的观测输入数据(也就是y0)
OBSPROC for 3DVAR
Input data
-
little_r格式的观测数据
官网已准备好此次练习的数据。obs.20080512是此次练习的little_r格式的观测数据,它是文本文件;你可以使用vi命令去看里面的内容。 -
观测误差表(observation error table)
这个表格已经在WRFDA/var/obsproc文件夹下 -
namelist.obsproc
在WRFDA/var/obsproc文件夹下存在一个namelist的样例(namelist.obsproc.3dvar.wrfvar-tut)
复制并重新命名这个namelist→namelist.obsproccp /your_path/WRFDA/var/obsproc/namelist.obsproc.3dvar.wrfvar-tut ./namelist.obsproc
namelist.obsproc 中包含了编译little_r观测文件位置,运行区域,时间窗等信息。
&record1 输入文件的信息
&record2 时间信息
&record7 &record8 运行区域信息
&record7 (跟WPS 的namelist.wps一致)
IPROJ = 1, #地图投影, 0 = Cylindrical Equidistance, 1 = Lambert Conformal, 2 = Polar stereographic, 3 = Mercator
PHIC= 40.00001 #运行区域的中心纬度
XLONC = -95. #运行区域的中心经度
TRUELAT1= 30.0 #真实纬度1
TRUELAT2= 60.0 #真实纬度2
MOAD_CEN_LAT = 40.00001 #所以嵌套域的母域的中心纬度
STANDARD_LON = -95.00 #工作域的标准经度
&record8 (跟WPS 的namelist.wps一致)
IDD = 1, #域ID(1=<ID=< MAXNES)。只有观测点所在的域会被处理。对与WRF 应 用XLONG /=STANDARD_LON 时,设置为2;否则设为1
MAXNES = 1, #被需要的域的最大数字
NESTIX = 60, 200, 136, 181, 211,#每个域的I(y)方向的维度
NESTJX = 90, 200, 181, 196, 211, #每个域的J(x)方向的维度
DIS = 60, 10, 3.3, 1.1, 1.1, #每个域的分辨率(单位km)
NUMC = 1, 1, 2, 3, 4, #每个域的母域ID
NESTI = 1, 40, 28, 35, 45, #距离它自己母域左下角的I(y轴)值
NESTJ = 1, 60, 25, 65, 55,#距离它自己母域左下角的J(x轴)值
Run obsproc (obsproc.exe)
./obsproc.exe
Check output
运行成功会得到以下信息
会在你进行运行的文件夹中找到
*.diag是诊断文件。它写入了namelist中record5中设置的一些信息
- obs_duplicate_loc.diag包含了在指定时间范围内具有相同类型的多个观测值的台站信息。对于3DVar,如果同一站点有多个相同类型的观测值,则只会保留一个观测值。
- obs_gts_read.diag 它列出了从LITTLE_R输入文件中读取的每个观测数据,如果由于超出指定域或超出指定时间窗口而被拒绝,则后跟注释。
- obs_qc1.diag 第一组质量控制检查:在地面观测中寻找并尝试纠正温度和风峰值以及超绝热条件
- obs_qc2.diag 第二组质量控制检查:查找指定模型顶部上方的观测值
- obs_recover_height.diag 和 obs_recover_pressure.diag 列出了从其他观测变量中恢复缺失高度或压力的观测值,并结合参考状态
- obs_uncomplete.diag 移除仅包含缺失数据的观测值
OBSPROC for 4DVA
&record3
max_number_of_obs = 400000, #要加载的最大观测数,即在域和时间窗口中,这与实际读取的obs无关
&record4
domain_check_h = .true., #将丢弃域外的观察结果
&record6
ptop = 5000.0, #模式顶部的气压值Pa
ps0 = 100000.0, #海平面气压
base_pres = 100000.0, #与ps0相同。用户必须设置ps0或base_pres
base_temp = 290.0, #与ts0(平均海平面温度)相同。用户必须设置ts0或base_temp
base_lapse = 50.0, #与tlp(气温直减率)相同,用户必须设置tlp或base_lapse
base_strat_temp = 215.0, #与tis0(对流层顶(K)以上的等温温度,默认值= 215 K。)相同,用户必须设置tis0或base_strat_temp
base_tropo_pres = 20000.0 #与pis0(对流层顶气压,默认值 = 20000.0 Pa)相同,用户必须设置pis0或base_tropo_pres
&record9
use_for = '4DVAR', #'3DVAR' obs file, same as before, default; 'FGAT ' obs files for FGAT; '4DVAR' obs files for 4DVAR
num_slots_past = 3, #time_analysis之前的时间段数
num_slots_ahead = 0, #time_analysis后的时间段数
其余record1,2,7,8与OBSPROC for 3DVA相同
OBSPROC for FGAT (First Guess at Appropriate Time)
record9中use_for 需要更改,其余与OBSPROC for 4DVA一致