CM1模式笔记
成果展示
代码下载网址:
https://www2.mmm.ucar.edu/people/bryan/cm1/
提交脚本
#!/bin/tcsh
#
# Example submission script for CM1 (using MPI) on NCAR's cheyenne
#
# note:
# In namelist.input, "nodex * nodey" must equal "select * ncpus"
# For the example below, the namelist.input settings were nodex = 12 and nodey = 12.
#
# job name:
#PBS -N cm1run
# project code:
#PBS -A Pxxxxxxxx
# "select" is the number of 36-processor nodes to use.
# (do not change settings for "ncpus" of "mpiprocs")
# note: this example uses 144 (=4*36) processors:
#PBS -l select=4:ncpus=36:mpiprocs=36
# maximum wall-clock time (hh:mm:ss)
#PBS -l walltime=12:00:00
# queue:
#PBS -q regular
# place stdout and stderr in same file:
#PBS -j oe
setenv MPI_DSM_DISTRIBUTE yes
mpiexec_mpt ./cm1.exe >&! cm1.print.out
CM1模式简介:
CM1是一个三维的,非静液压的,非线性的,随时间变化的数值模型,旨在对大气现象进行理想的研究。
是一个流体力学仿真模式:
基于MM5模式建立
文档解读
并行计算
建议输出grads格式并用cdo转换成netcdf格式
使用的控制方程如下:
在其他模式上改的:
快速入门
1.makefile
2.修改几个初始化变量地形什么的
3.编译
主要是namelistinput这个跟wrf有点像,并行是第二个文件,地形是第三个文件
namelist.input参数很像wrf
格点数量设置以及并行的核数
时间步长设置
dtl最大时间步
这个东西还不能乱调所以积分步长一般都是按秒来算的,不然有个流体力学参数到后面会崩掉!!!!直接挂掉好吧
一些日志的保存频率
处理湍流方式
输出部分参数
文档给出了一些模型的例子参数
入门简介视频:
https://www.youtube.com/watch?v=VOmhve2sP4U
快速case
用它原始的参数运行一下看看积分步长是30s时间是2h
output.nc的变量如下:
可视化一下风场v:
可以用到的数据有风场和累计降水量
还有气压如下:
台风的中心:
接下来要关注一下input_sounding和重启
这个input_sounding是探空资料
inputsouding探空
在这个例子中使用外部探空资料,风廓线为0且无地形
终于找到了,初始的扰动:
一共有12个选项,当然这个例子是热带气旋的初始化
参数详解
这一部分可以指定大气辐射方案以及指定气旋的中心点和年月日
到了最关键的地方:首先是只使用海面作为下垫面,其次是海温和焓交换系数的设置,这个非常关键:
焓系数
拉伸网格
解释链接
4-6参数都是xyz方向的拉伸
参数10是stat选项
嘿嘿这个不错
输出文件的格式
这个应该是集成文件和集成状态文件
以及快1个g的单一时刻文件,里面有许多变量>
进一步记录这个stats状态文件只需要看最后一个时刻就行了,它包含前序的状态我们来康康有什么奇♂妙♀的东西,此外集成文件其实是按照气旋中心来记录的:
钙蛋白被翻译错了应该是模拟计算
stat文件如下:
134个有趣的变量,如果工作量不够可以一个变量画一个图
比如垂直速度:
先变强后减弱
混合比qv
最大地表降水率
最小地表气压
这是什么?好家伙真的是按km来算的搞笑呢吧,仔细看了下单位是m直径300公里
wspmax
降水
stat文件中没有降水只有地表降水率
avg集成文件中有累计降水,论文中是取了300km以内
相关文献理解
垂直速度和降水率
有了之前基础现在再看看这东西怎么设置
接下来就是showtime!
实验解读
首先他修改了探空数据,这个要详细康康是怎么肥事
他这部分引用了2篇文章让我仔细康康究竟是怎么回事
第一篇引用
说实话看了下摘要部分没怎么看懂呵呵
摘要大概是跟平均探空有关系
我好想有点猜到怎么回事了,input_sounding提供的是一个气候学背景如下所述,但是请告诉我要怎么算我套到本人的区域试试
探空资料
和鲸的教程:探空数据处理
下载下来的数据:
巧了送进模式的的数据都有,那这就好办了呀
分别是
这样的数据依然用不了,需要用爬虫从网页上爬下来就很难受
爬取探空数据
网址如下
http://bbs.06climate.com/forum.php?mod=viewthread&tid=89611&highlight=%CC%BD%BF%D5
将焓系数设置为0从而模拟登陆,其他参数不变:
当然他还对表面阻力进行调整,虽然可以但没必要
做了几组对照实验,我不是很懂他是怎么做到在60ms附近的时候间隔3h输出一次的。
参数配置
他的初始条件是一个弱的扰动,而不是热带气旋
最终我们会得到一个垂直气候态表
restart
原则上dx dy之类的不要改,平流方案什么的可以改
保存频率rstfrq
例如这个3d飓风例子中
重启数据保存频率是最大时间积分的一般也就是保存两次
那么如何重启呢,
首先irast=1表示这是重启模拟然后
rstnum表示重启的文件后,启动后数据追加到out文件中
接着这个例子重启一下按照论文中继续模拟2天康康,这时候将ce焓系数设置为0模拟登陆:
发现restart的一个问题
垃圾文档!!!它的注释里也没提这个
重启的时候需要改最大时间积分步长
需要在之前最大的积分步长上加上第二次模拟时间,或者将run_time设置为两次模拟的差值,真的坑!!!还是我试出来的。
关于cdce的一个问题
真的到处是坑啊
cecd要设置为1下面两个系数才有用我擦!!!!!
心痛,从蓝线重启后应该减弱的但是并没有说明这个系数的设置有问题!!!!!!!
**
**
这人真的好坑啊
在海面上他用的是3也就是阻力系数随着风速改变,在路面上用的是constant的cd和ce值。
喜大普奔终于对了!!,这个模式输出的文件是会覆盖的而不是重新输出
敏感性试验
1.先不管探空文件看看能不能弄出来相似的,最好可以。。。我先搞三组看看
结果果然有问题!!!!!!
果然要修改廓线数据!!!!!!!
一些bug的解决
Segmentation fault (core dumped)
超算上可能是编译器的问题,还是用ifort来编译,但问题是不用mpirun好像也能并行,这里我就不懂了