首页 > 代码库 > MM5调试详细步骤记录
MM5调试详细步骤记录
今天,我开始进行MM5的调试学习,虽然现在整个Models-3还没有装好,原因是版本的问题,所以我准备换Linux系统了,现在先来进行已经可以做的MM5调试。--具体内容要看MM5用户手册。
TERRAIN是MM5模式系统中的第一个程序,每个完整的模拟都始于此程序。此程序把按经纬度规则分布的地形高度和植被组成水平插值(或分析)到所选择的中尺度区域内。
--------------------------------------------------
TERRAIN主要执行两个任务:
a.建立中尺度区域:粗细网格(除了移动嵌套外);
b.为所有的中尺度区域产生地形文件,这些文件首先被REGRID使用,而后被MM5和NESTDOWN使用。该程序也计算几个模式系统需要的常值场:纬度和经度,地图比例因子,以及科氏参数。
--------------------------------------------------
*若系统中无NCAR图形包,则必须修改Makefile文件,设置NCARGRAPHICS=NONCARG,并删除LOCAL_LIBRARIES行上的链接库。(试验结果是,不删除比较好,删除后运行中会有错误)
*下载地形资料,网址:http://ccar.ust.hk/~mesouser/ftp.ucar.edr/mesouser/MM5V3/TERRAIN_DATA/(我比较震惊的是,下载下来的未解压资料还不到150M,可是解压后足足有8G,可怜我的小本本一共才20+G),将所需地形、地表资料解压后拷入~/mm5v3.7/TERRAIN/Data文件夹中。
--------------------------------------------------
1.修改Makefile文件的两个参数;
2.# make terrain.deck--建立脚本文件terrain.deck(在其中设置参数)
a.将选定的模式中心点的纬度和经度赋值给变量“PHIC”和“XLONC”;
b.将模式范围东西向的总格点数、南北向的总格点数和网格距(km)分别赋值给变量"NESTJX"、“NESTIX”和“DIS”;
c.选好地形分辨率参数。
2.# ./terrain.deck--生成文件:
make.terrain.out(编绎信息的记录文件,检查该文件,看编绎是否成功);
terrain.exe;
terrain.namelist;
TERRAIN_DOMAIN1; TERRAIN_DOMAIN2(这两个是我设置的两重嵌套从而生成的两层地形文件);
make2.print.out(我不清楚这个是什么东西,不过运行后有这个东西生成);
terrain.print.out(这个是执行terrain.exe后得到的)
3.当在terrain.print.out中最后的一行看到“==NORMAL TERMINATION OF TERRAIN PROGRAM==”时,意味着TERRAIN程序执行成功。
*如果模式预报范围的中心点位置、格点数和格距不变的话,作预报时不必再次运行TERRAIN。
REGRID处理等压面和地面分析资料,并在这些层上进行两维插值。
REGRID是MM5系统流程图中的第二步。它需要来自TERRAIN程序的输出作为其输入,并为RAWINS, LITTLE_R(这两项我好像是用不到),或INTERPF准备输入文件。这些文件通常作为客观分析的第一猜值场(RAWINS或LITTLE_R),或作为分析场被直接插值到MM5的模式层上为MM5提供初始条件和边界条件(INTERPF)。
--------------------------------------------------
此套程序包含两个任务:
a.数据输入(比如读入原始的气象分析数据)由pregrid程序集处理;
b.插值到MM5的格点上--由regridder程序集处理。
--------------------------------------------------
将所需NCEP资料或T213预报场资料下载后放入~/mm5v3.7/REGRID文件夹中,文件名如:grib2002011500。它将这些资料内插到MM5模式网格点上,形成模式第一猜值场。
--------------------------------------------------
1.# make--产生可执行程序;
2.在Pregrid目录中有一个名为"pregrid.csh"的脚本程序,在此设置参数,包括处理日期等;
# chmod u+x pregrid.csh--确保此脚本可执行;
# ./pregrid.csh--生成“中间文件”;
3.在regridder中,修改文件“namelist.input”的参数。
a.将模式起报时间的年、月、日、时(世界时)赋值给变量“START_YEAR”、“START_MONTH”、“START_DAY”和“START_HOUR”;
b.将模式终止时间的年、月、日、时(世界时)赋值给变量“END_YEAR”、“END_MONTH”、“END_DAY”和“END_HOUR”;
c.修改“中间文件”所在文件夹的信道号。
4.# ./regridder--创建文件:REGRID_DOMAIN1
*只算第一层,仅用地形资料
*regridder完全通过namelist文件来运行。
--------------------------------------------------
1.# make--创建可执行文件;
2.编辑namelist.input文件,在此文件中设置初始值(包括模式起报时间和终止时间),并在其中指定REGRID_DOMAIN1的路径;
3.# ./interpf--生成文件:
BDYOUT_DOMAIN1,LOWBDY_DOMAIN1,MMINPUT_DOMAIN1;
*BDYOUT_DOMAIN1:包含三维场的侧边界,通常是4行(列);
LOWBDY_DOMAIN1:包含表面温度场的日平均或随时间改变的表面温度场(地面层上的空气温度和海平面的温度),也可以选择海冰或雪盖场。下边界条件;
MMINPUT_DOMAIN1:包含与时间有关的三维和二维场,比如风、温度、温度和气压。气象数据。
4.成功结束,有“STOP 99999”语句。
这是MM5模式的数值天气预报部分(主程序),采用包含水汽变量的非静力平衡的方程组,还有一系列的积云参数化、边界层参数化等物理过程。
--------------------------------------------------
MM5的目的:
a.MM5是模式系统的数值天气预报部分;
b.MM5能够用于理论和实时研究,这些应用包括对季风,飓风以及龙卷风所作的预报模拟和四维数据同化;
c.在更小的中贝塔和中伽马尺度上(2-200km),MM5能够被用于研究中尺度的对流系统,锋面,海陆风,山谷环流以及城市的热岛效应。
编译并运行MM5系统需要2步操作:
a.选择编译选项并编译代码;
b.修改运行时(run-time)选项并执行该程序。
--------------------------------------------------
*将上述生成文件拷入mm5v3.7/MM5/Run目录中。
1.编译MM5:
a.编辑“configure.user.linux”文件(注意要与TERRAIN链接库中关于DOMAIN设置的最大区域网格点数一致,初学者设成一个DOMAIN)。再用命令“cp configure.user.linux configure.user”(即将linux下的文件保留即可)。
b.# make
*用户通过编辑“configure.user”文件选择适用于其系统的编译选项。用户需要关注以下两个方面:
1)找到适用于你的机器的编译选项部分,把对RUNTIME_SYSTEM变量和编译选项的注释去掉;
2)在configure.user文件的第5、6部分设置模式选项,用来为编译建立区域大小,4DDA和物理选项;
2.运行MM5:
a.# make mm5.deck--建立“mm5.deck”的脚本程序,要获取所需的deck,必须正确设置RUNTIME_SYSTEM;
b.编辑mm5.deck,设置合适的namelist值;
预报总时间长度“TIMAX”和“XENNES”;
积分时间步长“TISTEP”;
结果输出时间间隔“TAPFRQ”;
模式范围东西向的总格点数“NESTJI”;
南北向的总格点数“NESTIX”。
c.# ./mm5.deck>&log.txt&--后台执行(可关掉终端)。显示:top;退出显示:q;停止:kill 行号(PID)。
3.打开“mm5.print.out”文件可查看模式运行情况。
--------------------------------------------------
*基本运行:至少需要设置这些namelist变量:TIMAX, TISTEP, TAPFRQ, NESTIX, NESTJX, NESTI, NESTJ;
重启运行:除了上述变量外,设置IFREST=.TRUE.和IXTIMR=重启时间(可以在前次运行末找到)。
单向运行:同基本运行。
--------------------------------------------------
MM5的输入:
1)用于基本运行的由INTERPF产生的文件:
a.模式初始条件文件:MMINPUT_DOMAINx;
b.用于粗网格区域的侧边界和低层边界文件:BDYOUT_DOMAIN1,LOWBDY_DOMAIN1;
c.如果使用了IOVERW=2选项,则需要由TERRAIN程序产生的嵌套地形高度文件:TERRAIN_DOMAIN2,3……
2)如果是重启运行,文件来自于MM5程序:
来自于前次运行的模式保存文件:把SAVE_DOMAINx改为RESTART_DOMAINx。
3)如果使用地面分析数据来运行4DDA,则文件来自于RAWINS:
FDDA的地面分析:SFCFDDA_DOMAINx
4)如果运行测站同化,则文件由用户提供:
FDDA 4D测站文件:MM5OBS_DOMAINx;
5)mmlif:含有用户指定选项的mamelist文件;
6)LANDUSE.TBL:用户可修改的陆地类型特征(ASCII)文件;
7)RRTM_DATA:RRTM辐射方案文件;
8)BUCKET.TBL:用户可以修改bucket土壤模式中所使用的常数。
*注意工作站的mm5.deck要求上述的所有文件都在Run目录下。
--------------------------------------------------
MM5的输出:
在MM5的积分过程中,一些文件将被产生。它们是:
a.如果IFTAPE=1,则产生历史记录文件(MMOUT_DOMAINx),输出频率是由TAPFRQ变量设定的;
b.如果IFSAVE=.TRUE.,则产生重启文件(SAVE_DOMAINx),输出频率由SAVFRQ变量设定的。
MM5调试详细步骤记录