如何跑通MonoRTM模型的官方例子
我在刚开始弄这个MonoRTM的时候,发现网上的中文教程很少,我自己弄的时候是看着里面的英文说明弄的,而且在正式跑的时候碰到了很多坑,所以决定写一下这个博客,供大家参考一下。
对输出文件的标识的解释
在官方下载的压缩包里面可以看到这些输出文件标识的解释
名称 | 解释 |
---|---|
NPR | Profile index used (not necessarily in order) |
FREQ | Frequency in GHz (or wavenumbers, for wavenumbers greater than 100 cm-1) |
BT(I) | Brightness temperature in Kelvin |
TMR(I) | Mean radiating temperature (K) |
RAD(I) | Radiance (W/(cm^2 ster cm^-1)) |
TRTOT(I) | Total transmittance (no unit: between 0 and 1) |
WVCOLMN | Integrated water vapor amount along the optical path in cm |
CLWCOLMN | Integrated cloud liquid water along the optical path in mm |
TMPSFC | Surface/target temperature in K |
EMISS(I) | Surface/target emissivity (no unit, between 0 and 1) |
REFLC(I) | Surface/target Reflectivity (no unit , between 0 and 1) |
ANGLE | Angle in degrees |
OTOT | Total column-integrated optical depth due to all species |
OTOT_* | Total column-integrated optical depth by molecules with line data |
ODXSEC | Total column-integrated optical depth due to all cross-section molecules |
正式流程
环境准备
系统环境:我这里用的是linux Ubuntu
编译环境:使用gfortran,亲测这个的大小比较合适而且免费,最重要的是这个在linux上面安装特别方便,其它的要么太大有一个多G,要么就不是免费的。(我试了一下用g95进行编译,但是我弄的时候用deb安装,会缺少crt1.o相关的库文件导致无法正常编译f文件,这点特别坑)
开始跑官方的例子
1.首先进入build文件夹,输入命令make -f make_monortm OPTION,这里的OPTION就是选择你的编译环境,从下图可以看出来应该选择linuxGNUsgl,linuxGNUdbl。我在这里选择的是双精度的linuxGNUdbl。
然后编译完成后会在主目录出现这个文件(根据编译环境的不同出现的文件也不同)
2.进入run目录可以看到run_monortm_examples,这里面提供了6中case,我这里以第一种case为例(其他都一样)。将第一种case中的命令复制出来到一个新的文件中(我这里是新建了一个test.sh文件,这个文件可以在linux中用bash命令执行)。
复制出来之后需要把红线标记的地方更改为第一步编译出来的文件的名字,这里我已经更改了。然后再使用bash运行之后会出现tape3文件错误,这里感觉是里面最大的bug,从test.sh中可以看到tape3文件是利用软连接连接了in文件夹中的TAPE3_spectral_lines.dat.0_55.v5.0_fast文件,但是我查看这个文件之后发现这个文件也是一个软连接文件而且原文件已经不存在了,所以需要到和MonoRTM一起下载下来的这个文件中找tape3的光谱信息文件
找到之后复制到MonoRTM的in下面把原来的失效软连接文件替换掉。
做完这些工作之后再使用bash命令运行test.sh文件,便可以在out文件夹下面的MonoRTM.OUT文件中看到输出结果。
最后的输出结果
从上面的表格就可以清楚地知道这些结果是什么含义了。
MonoRTM文件说明
这里再贴一张我在网上下载的MonoRTM中各种文件的说明: