介绍Linear Baroclinic Model(线性斜压模式,LBM)的安装与运行方法。LBM模式可以计算大气对规定强迫的稳定线性响应、特征分析,旨在通过消除动态大气过程中的非线性来帮助理解动态大气中复杂的反馈序列。
一、LBM模式简介
LBM模式是为了研究大气中的线性动力学而建立的,例如计算对规定强迫的稳定线性响应、特征分析等等。
完全非线性的气候模型,如大气环流模型(AGCMs),得到了越来越多的改进,它们可以用来模拟和理解当前的气候,其中包括一些反馈过程。然而,这样的模型已经足够复杂了,如果不对输出结果进行彻底的分析,就很难对模型进行解释。而LBM中包含的线性大气模型旨在通过消除动态大气过程中的非线性来帮助理解动态大气中复杂的反馈序列。该模型简化了动力学框架,结果易于解释。此外,该模型提供了处理线性动力学的多种技术,这可能有助于研究大规模大气环流的各个方面。
官网链接:LBM官网
官方文档下载
该模式由日本学者开发,而且是非开源的,因此需要下载安装包和模式数据的还是需要给作者发送邮件,表明目的,经作者授权后才能获得下载账户,去官网下载响应package。
作者邮箱:michiyah@hawaii.edu
LBM模式推荐理由:全球气候模式比如CAM等等使用较为复杂(不论是移植还是运行),而且受限于大型机,对于个人的使用不友好,而LBM模式可以进行快速验证,且在个人PC即可使用,相对较为容易,且模拟时间短(往往几分钟即可生成结果)。当然了,一分价钱一分货,论知名度和准确性当然还是远远差于CAM模式的。
二、编译
2.1 解压,设置环境变量
下载到压缩包后首先解压压缩包:
将ln_solver目录声明至环境变量:
建议直接修永久改环境变量:
1 | vim ~/.bashrc |
在其中加入:
1 | export LNHOME=/解压目录/ln_solver |
之后重新加载环境变量
1 | source ~/.bashrc |
尝试:
1 | cd $LNHOME |
检查是否环境变量修改成功。
2.2 配置分辨率
修改$LNHOME/Lmake.inc文件,选择需要的水平分辨率和垂直分辨率(我使用的T42L20)。
Model type默认为tintgr。其余详细设置可参考文档。
2.3 编译模式依赖
1 | cd $LNHOME/model/src |
之后会在$LNHOME/model/lib/???/文件夹下生成一个liblbmtxxmxxc.a的文件(xx为设置的分辨率格式)。
如果之后需要修改模式分辨率,则只需:
1 | cd $LNHOME/model/src |
三、生成初始场
将从官网下载的两个数据包解压缩在$LNHOME文件夹下,之后编译初始场生成指令文件:
1 | cd $LNHOME/solver/util |
这回导致生成两个新的指令
1 | ./ncepsbs |
这两个指令分别用来生成NCEP的初值场和EC的初值场,根据自己需要选择即可。
设置初始场的选项位于$LNHOME/solver/util/SETPAR文件
NCEP:
EC:
其中,kmo指开始月份,navg指平均时期,如kmo=6,navg=3,指夏季平均状态。
四、生成强迫
LBM模式的时间积分分支(time integration)的运行只需要处置场和强迫即可,不需要边界条件的设置。
同样,修改$LNHOME/solver/util/SETPAR文件,设置相关参数即可生成响应的强迫文件。
cfm,cfg为输出的强迫文件,nmvar为强迫变量,mnhpr为水平强迫设置,nmvpr为垂直强迫设置。
具体的参数信息可参见$LNHOME/solver/util/param_list文件。
这里列出一些简要信息:
修改好强迫配置后,输入以下命令生成强迫文件:
1 | cd $LNHOME/solver/util |
make clean指令仅在第一次生成时使用即可。
五、 运行
$LNHOME/model/sh/tintgr/文件夹下存放了很多运行不同模式方案的csh命令文件,主要靠可参考linear-run.classic.csh文件,将其中的分辨率修改为自己所用方案,将初值场和强迫场的存放路径与自己统一。
路径参数如下:
一般运行时间设置为20天左右,30天后斜压波会异常增长从而导致模式结果的异常。
注:经测试,tend并不是运行的时间,比如tend = 51,模式会运行20天,tend = 59模式会运行27天。具体还需自己测试。
运行模式的方法:
1 | cd $LNHOME/model/sh/tintgr/ |
六、 后处理
干模式输出结果包括u,v,t,z,w,p,psi,chi,湿模式还包括了q,dt,dq(我没用过湿模式)。
输出结果位于$LNHOME/data/out/ ,是.grd格式文件
建议使用CDO工具的
1 | cdo -f nc import_binary out.ctl out.nc |
命令将其转为.nc格式。使用更加方便。
致谢
感谢我的本科同学hhy大佬,在大佬的耐心指点下终于理清了LBM模式的安装和基本使用方法。感激!
最后的最后,给出一个我测试结果:尝试在巴伦支海上空加入了一个大气热源,模拟了20天后的大气异常。