- 积分
- 1339
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2020-8-12
- 最后登录
- 1970-1-1
|
登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
卫星权重函数虽然可以根据公式算出来,但我发现在RTTOV的rttov/src/other/文件夹下,有一个名为rttov_calc_weighting_fn.F90的函数,所以想直接调用该函数,来计算卫星的权重函数。
【1】RTTOV的各目录
RTTOV的大部分F90函数都放在了rttov/src/main文件夹下,而接口则放在了rttov/include文件夹下。
RTTOV有自带的测试个例,放在了rttov/rttov_test/文件夹下,这个文件夹里面有很多sh脚本,只要你编译成功了RTTOV,里面的大部分sh脚本都是可以直接运行的。而这些sh脚本涉及到的代码主要放置在rttov/src/test/文件夹下,该文件夹下还包含了Makefile_examples的文件来帮助你编译exe可执行文件,我们在rttov/rttov_test/内运行的sh脚本中调用的exe可执行文件,都是通过Makefile_examples编译的,编译成功的exe可执行文件都放在了rttov/bin/文件夹下。
所以,我们可以直接基于rttov/src/test/内的代码,修改代码让它能够调用rttov_calc_weighting_fn.F90函数并输出计算的权重函数结果,再重新通过Makefile_examples编译exe可执行文件,最后在rttov/rttov_test/运行对应的sh脚本,得到我们需要的输出结果。
【2】具体操作
具体操作方面,首先选择rttov/src/test/中的一个函数进行修改,比如我选择了example_fwd.F90函数。先在申明部分添加#include "rttov_calc_weighting_fn.interface"
然后再在变量定义部分定义添加所需要计算的权重函数
REAL(KIND=jprb), ALLOCATABLE :: weighting_fn(:,:) ! Output weighting_fn
再为其分配内存空间
ALLOCATE (weighting_fn(nlevels-1, nchannels))
再调用rttov_calc_weighting_fn函数,来计算权重函数,并把它存储在weighting_fn变量里
DO jch = 1, nchannels
CALL rttov_calc_weighting_fn(errorstatus,profiles(iprof) % p, transmission%tau_levels(:,jch+joff), weighting_fn(:,jch))
ENDDO
最后再在恰当的位置输出权重函数的值
IF (nchannels <= 20) THEN
DO np = 1, nprint
WRITE(ioout,*)' '
WRITE(ioout,*)'Level to weighting function for channels'
WRITE(ioout,1115) (chanprof(j+joff) % chan, &
j = 1+(np-1)*10, MIN(np*10, nchannels))
DO ilev = 1, nlevels-1
WRITE(ioout,4445) ilev, weighting_fn(ilev,:)
ENDDO
WRITE(ioout,1115) (chanprof(j+joff) % chan, &
j = 1+(np-1)*10, MIN(np*10, nchannels))
ENDDO
ENDIF
修改完example_fwd.F90函数后,我们再重新利用make -f Makefile_examples重新编译exe可执行文件(可能需要先Makefile_examples里面的FC和LDFLAGS_ARCH等参数,让它和你使用的编译器对应)。最后再在rttov/rttov_test/里运行run_example_fwd.sh脚本,就可以自动输出各通道的权重函数了。
【3】其它
同理,我们也可以依据上面的方法,自己修改rttov/src/test/里面的函数,以满足自己的需求。
【4】参考资料
权重函数的计算公式,参考https://nwp-saf.eumetsat.int/site/forums/topic/question-for-calculating-weighting-function/和http://bbs.06climate.com/forum.php?mod=viewthread&tid=103083
关于RTTOV的使用,参考http://bbs.06climate.com/forum.php?mod=viewthread&tid=89882&highlight=rttov以及RTTOV官网的手册
|
|