REGRID的目的是读取气压层上的气象分析资料.doc_第1页
REGRID的目的是读取气压层上的气象分析资料.doc_第2页
REGRID的目的是读取气压层上的气象分析资料.doc_第3页
REGRID的目的是读取气压层上的气象分析资料.doc_第4页
REGRID的目的是读取气压层上的气象分析资料.doc_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

5: REGRID5REGRID5.1目的REGRID的目的是读取气压层上的气象分析资料,并把分析数据从原有的格点和地图投影上插值到由MM5的预处理程序TERRAIN定义的格点和地图投影上。REGRID处理等压面和地面分析资料,并在这些层上进行两维插值。其他类型的层次,比如等熵层或模式的sigma层或eta层都不能被处理。对于熟悉MM5系统老版本的用户,REGRID程序包可以替代已过时的DATAGRID程序。REGRID是MM5系统流程图(图1.1)中的第二步。它需要来自TERRAIN程序的输出作为其输入,并为RAWINS,LITTLE_R,或INTERPF准备输入文件。这些文件通常作为客观分析的第一猜值场(RAWINS或LITTLE_R),或作为分析场被直接插值到MM5的模式层上为MM5提供初始条件和边界条件(INTERPF)。5.2 结构REGRID不是单个的程序,而是用于处理各种任务的一套程序。这些任务被分割成了以下两个部分:1) 数据输入(比如读入原始的气象分析数据)2) 插值到MM5的格点上数据输入任务由称为“pregrid”的程序集处理。而插值到MM5格点是由“regridder”程序处理。两者间的交流是通过中间文件来进行的,此文件的格式十分简单。Pregrid任务又被进一步分成了几个程序块,它们分别被用于读取特定的文件格式。而regrid的任务在一个单独的程序中处理。这样做的目的是为了使用户能够较容易地编写他们自己的数据输入程序(比如他们自己的pregrid程序),从而在MM5的模式系统中引入他们自己的数据。这种划分把烦琐的,面向特定数据的读取操作和通用的插值操作分离了开来。通过这样的划分,REGRID能够很容易地被扩展以应用于更多的数据集,同时用户可以更容易地处理他们自己的数据集来提供给MM5系统使用。5.3 概略图5.4 Pregrid的输入Pregrid程序希望能够找到气象分析文件。当前,pregrid能够读取许多GRIB格式的文件数据集和非GRIB格式的数据集。大多数单个的pregrid程序(尤其是那些处理GRIB数据集的程序)也希望能够找到某种表以通知pregrid程序要从输入文件中提取哪些变量。这些表被称为“Vtables”,下面会对其详述。一个Fortran的namelist文件将把用户指定的选项传递给pregrid。对pregrid而言,这主要是日期信息。5.5 Regridder的输入Regridder程序希望能从pregrid的输出文件中找到温度,水平风分量,相对湿度,等压面高度,海平面气压,海平面温度和雪盖的数据。也可以使用其他的变量场,且在对它们进行插值操作后把输出结果传递到余下的MM5模式系统中。当你建立并运行了pregrid程序时,你必须确保你传递给regridder的文件中包含了必要的变量场。Regridder从TERRAIN文件中查找地形高度/陆地类型和地图数据。Fortran的namelist文件把用户指定的选项传递给regridder。5.6Regridder的输出Regridder文件创建一个名为“REGRID_DOMAIN#”的文件。此文件包含了某个区域内每个时次上的数据。5.7 中间数据格式REGRID软件包的关键在于把数据从pregrid传递到regridder时所使用的数据格式。在数据传输中使用了某种格式写成的文件,下面将详述此种格式。5.7.1格式的概括描述变量场以两维水平数组的格式写入中间文件(比如气压层或地面)。每个水平数组包含了某层上的某个变量(比如500mb RH,地面 T等)。写入文件中的水平数组的个数可以是任意的。某个文件中的数组不必都来自于同一个数据源,也不必都有相同的格点或地图投影。但是它们应该都是同一时刻的有效数据。文件中数组的次序并不重要。5.7.2文件命名规则每个文件包含某一时刻的数据。文件名由一个前缀(可能指示数据的来源),紧跟其后的一个冒号以及一个YYYY-MM-DD_HH形式的时间标志组成的。Regridder使用如下所述的文件名。比如,来源于NCEP,ON84格式的1999年6月16日12UTC的分析数据可以被写入称为“ON84:1999-06-16_12”的文件。5.7.3文件格式文件以无格式的FORTRAN格式被写入。每个水平数组使用4个记录。第一个记录是格式版本号,目前为3,这是为了方便向后兼容。第二个记录包含regridder可以识别的各种格点数据类型的通用信息。第三个记录包含特定格点类型的特定信息。此记录随格点类型而变化。第四个记录是2维数组。这里:integer :IFV:PREGRID的格式版本号,当前是3char*24 :HDATE:时间,格式为“YYYY-MM-DD_HH:mm:ss”real :XFCST:slab数组中数据的预报时间(小时)char*9 :FIELD:变量名,那些有特殊含义的名称将在下面讨论char*25 :UNITS:变量的单位char*46:DESC:对变量的文本描述real:XLVL:数据所在的气压层。200100Pa表示地面数据,201300表示海平面数据integer:NX:Slab数组在X方向上的维数(格点数)integer:NY:Slab数组在Y方向上的维数(格点数)integer:IPROJ:表示投影类型的标志。可识别的值为:0:圆柱等距投影(规则的经纬度)1:麦卡脱投影2:兰勃脱投影3:极射投影real:STARTLAT:起始纬度(北纬为正)real:STARTLON:起始经度(东经为正)real:DELTALAT:对经/纬格点而言的纬度增量(度)real:DELTALON:对经/纬格点而言的经度增量(度)real:DX:X方向的格点间距(km)real:DY:Y方向的格点间距(km)real:XLONC:投影的中心经度real:TRUELAT1:用于麦卡脱,极射和兰勃脱投影的标准纬度real:TRUELAT2:用于兰勃脱投影的第二个标准纬度real:SLAB:包含数据的两维数组5.7.4特殊的变量名变量FIELD表示了数组中的物理变量。FIELD的某些值能被pregrid和regridder识别并用于特定的处理。由不可识别的FIELD值所标识的数组被简单地水平插值并由regridder输出。可识别的变量名是:* regridder绝对需要的输入变量MM5中用于OSU LSM模式的变量可由pregrid识别的变量,用于内部转换5.8 Pregrid的Vtable表Pregrid用于读取一个范围较广的数据集。因为许多数据集是以GRIB格式保存的,并且我们读取的非GRIB数据集也使用了类似的想法以描述给定的变量,因此使用GRIB数据集作为例子是很方便的。GRIB数据集通过几个代码来描述每个变量场。然而我们不能把此代码表包括进程序代码本身,因为这些代码在各数据集之间并不是统一的。同时pregrid必须有处理我们预期之外的分析数据的能力。因而我们必须通过某种形式的输入文件为程序提供代码信息。Pregrid的Vtable表就是我们所选择的方法。这些表是用于把GRIB指定变量的方式转换到MM5系统指定变量的方式。Vtable表包含一行或多行,用于描述我们想从分析文件中所抽取的变量。例如:Vtable表的前四列表示GRIB标志变量的方法。后三列表示MM5标志变量的方法。GRIB Code是标识所要存取变量的代码。比如,在NCEP GRIB文件中,温度通常被编码为11。Level Code是标识层次类型的代码,从此种类型的层次上我们可以获得想要的变量。比如:GRIB Level Code 100表示气压层,105表示地面以上的某个固定高度(米)。Level 1是代表层次值的GRIB码。一个星号表示从Level Code定义的层次类型的所有层中获取数据。此星号只对气压层有效(level-code 100)。LEVEL2 用于由两个值定义的层次类型(如某一厚度的平均值或累计值)。REGRID Name是在余下的模式系统中用于标识变量的字符串。REGRID Units是在余下的模式系统中用于此变量的单位。REGRID Description是此变量的一个文本描述。在Vtable中有几个细微之处值得注意。有时会出现的一种情况是我们想要一个变量而此变量并不在源文件中,但是可以从文件中已有的某些变量推导而得。比如相对湿度(RH)。一些数据集可能包含了specific humidity。我们可以从specific humidity,温度和气压来导出RH。我们要输出RH,而不是specific humidity。既然我们需要specific humidity以计算相对湿度,我们要求在Vtable表中有specific humidity。如果Vtable中某个变量不被输出,则在REGRID Description列中置空格符。因为我们想要输出相对湿度,我们以通常的方式在Vtable中包含相对湿度(因为它不存在于文件之中,所以没有GRIB Code)。从specific humidity到相对湿度的转换已经被包含在程序中了,因此pregrid能够创建相对湿度变量。其他的一些转换已经被包含在程序中了:l 相对湿度,从specific humidity(SPECHUMD),气压和温度计算导出l 相对湿度,从露点(DEWPT),气压和温度计算导出l 相对湿度,从露点差(DEPR),气压和温度计算导出l 相对湿度,从水气压(VAPP),气压和温度计算导出l 高度,从重力位势(GEOPT)计算导出每当用户需要计算一个变量时,该列表就会被扩展。已为某些通常我们能获取的数据集建立了几个Vtable表。它们中的大多数可以在目录pregrid/grib.misc中找到。如果你想获取一个不同GRIB格式的数据集,你必须先确定此数据集中包含了哪些变量,并找到此数据集所使用的相应代码。5.8.1 Pregrid程序的功能首先,pregrid程序读取namelist以决定所关心时段的起止时刻,同时找到指定的时间间隔。然后,它开始读取Vtable表以决定从源数据文件中抽取那些变量。接着,对每个文件,程序扫描数据,提取位于起止时刻之间,列在Vtable表中的所有分析数据。这些数据被写入文件(按时间命名)。一旦一个超过终止时次的记录被读取,则对那个文件的处理就结束了同时下一个文件被打开(这里假定文件中的记录是按时间排序的)。此循环被反复执行直到所有的源文件都被扫描过。一旦此循环结束,文件被重新读入并且计算导出变量。为了填充缺省时次,有必要进行时间插值。最终文件形成并输出。5.10怎样运行REGRID1) 产生可执行程序。进入REGRID目录,然后键入“make”。我们建立的Makefile文件将会识别你正在使用的系统的类型并为你选择合适的编译和加载选项。在你的机器产生所有的可执行文件时,注意观察屏幕。如果不能正常工作的话,你必须自己来编辑Makefile文件以调整某些编译和加载选项。2) 开始运行pregrid。Pregrid目录中有一个名为“pregrid.csh”的脚本程序。下面会详细讨论该程序。如果你需要建立自己的Vtable,那现在就可以开始干了。3) 确保pregrid.csh脚本程序是可执行的:“chmod u+x pregrid.csh”。4) 运行pregrid.csh:“pregrid.csh”5) 检查你的输出:确信pregrid程序产生了你需要的每个时次的文件。检查打印输出,看每个时次上都获得了那些变量场。6) 运行regridder。“regridder”。这样会创建一个文件“REGRID_DOMAIN#”。5.11Regridder的namelist选项regridder程序完全通过namelist文件来运行。Regridder的namelist文件被分为四个记录。5.11.1 RECORD 1第一个namelist记录处理regridder程序需要的时间信息:主要是,何时开始,何时结束和在这些时次范围内所采用的时间间隔数。此namelist记录和pregrid中的相应记录是一致的。5.11.2 RECORD 2用于regridder的第二个记录处理有关垂直层次和其他的用户选项信息。用户指定分析数据的顶层和加入第一猜值场的“新”层(通过使用附近的层次来进行线性垂直插值)。其他的选项是一个SST的温度临界值。如在此值以下,一个海冰标志将被设置(如果你的数据集中没有海冰场数据,则它是有用的),一个用于选择线性插值(4点)或更高阶插值的选项。13.3RECORD 3第三个记录用于输入regridder使用的pregrid的输出文件名。这些文件名包括文件名的主要部分(一直到“:”但是不包括它,可以包含目录信息)。“:”后的字符串表示日期,它是由regridder程序基于RECORD1中提供的信息在内部产生的。同一时间可以使用多个文件作为输入,用户可以根据需要在root行添加多达20个文件名。可选的constants_full_name是其中的场始终(所有时次上)保持常数的文件名,常用于类似于SST或雪盖的场。terrain_file_name是由TERRAIN程序输出的文件名。13.4RECORD 4第四

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论