已阅读5页,还剩4页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
GrADS下任意方向垂直剖面分布的实现缪 明 何宏让(解放军理工大学气象学院大气科学系)余清平 廖德敏(93966部队气象室)摘要 在三维数值模拟研究中,常常要分析某一模式预报变量沿某一方向的垂直剖面分布,在GrADS下,用户可很方便地实现某一模式预报变量的经纬向垂直剖面分布的分析,但如何实现非经纬向的垂直剖面分布的分析?本文针对困扰一般GrADS用户的这个问题,提出了在GrADS下如何实现某一模式预报变量沿某一方向(经纬向和非经纬向)的垂直剖面分布的分析。试验表明,该法简单、易行、可靠,在实际中有较强的应用价值。关键词:GrADS, 垂直剖面分布Abstract The vertical cross-section distribution of model prognostic variable often is needed to be analyzed in three dimensional numerical simulation. The user of GrADS easily realizes the distribution of meridional or zonal vertical cross-section, but how to realize the distribution of non-meridinal or non-zonal vertical cross-section is the problem which puzzles the users of GrADS. In this paper, a simple and reliable method is provided to resolve the problem. The experiments show that the method is applicable and practicable for user of GrADS to analyze the distribution of vertical cross-section in the research. .Key words: GrADS, distribution of vertical cross-section.引言GrADS(Grid Analysis and Display System)是当前气象学中应用最为广泛的图形图像处理软件之一,它功能强大,使用方便而深受用户的欢迎。利用它可直接实现图像的动画显示,在三维数值模拟研究中,在固定模式高度的情况下,可较为方便地显示某一模式预报量在该层次上的水平分布;在固定经(纬)度的情况下,还可方便地显示某一模式预报量沿该经(纬)度的经(纬)向垂直剖面分布。但在实际问题的三维数值模拟研究中,用户关心的不仅仅是模式预报量沿某一经纬向的垂直剖面分布,更多的时候用户关心的是沿某一方向的垂直剖面分布,但在GrADS下如何实现这一功能,这可能是困扰一般的GrADS用户的问题。其实,GrADS除了强大的图形图象的分析处理能力外,还有较强的数据处理能力,我们可利用GrADS的交互性和数据处理的特点,利用GrADS脚本语言的编程技术,按GrADS的数据格式,通过提取所要分析的模式预报量沿某一方向上的值(ascII码形式),然后再将提取ascII码值转换成GrADS支持的二进制格式,并为转化后的数据编写相应的数据描述文件(ctl文件),在GrADS下打开它就可实现某一模式预报量沿该方向的垂直剖面分布的分析。一、 实现的思想和步骤在介绍实现的思想和gs编程(GrADS Script programing)之前先说明GrADS下某些基本的常识和某些基本命令的含义和功能。1 GrADS基本常识和基本命令的简介(1)进入GrADS后,在“ga -”后每执行一个GrADS命令,在文本窗口都会返回1行或2行的的文本代码,返回的代码即为GrADS的默认变量“result”值,每执行一次GrADS命令,原来的“result”值将被刷新成刚执行的GrADS命令返回码。在gs编程中,可通过代码“say result ”看到默认变量“result”对应的返回文本代码。(2)命令“q bpos”:功能:确定鼠标在图形窗口中所点击处的位置(页面坐标)返回码:执行完该命令后,有一行形如“position = x0 y0 1 0”的文本返回码,其中x0、y0即为用户在图形窗口中点击处对应的页面坐标。注意:执行该命令后,GrADS将等待用户的响应,直到用户用鼠标点击图形窗口后才可继续执行其它的命令或返回到“ga -”状态下。(3)在GrADS下成功打开一个.ctl描述文件对应的数据文件后,在某一水平显示环境下(即t、z一定的情况下)一旦执行了“d f”(f为.ctl文件中的某个变量名),图形窗口任何一点就在页面坐标、经纬坐标和格点坐标三者间建立起一一对应的关系,这种对应关系只有在一定的缩放比例环境下才有意义,打开.ctl描述文件对应的数据文件后,执行命令“d f ”的一个目的就是要在页面坐标与经纬坐标间建立一定的缩放比例。执行“clear”命令或“reset” 命令后,页面坐标与经纬坐标间建立一定的缩放比例自动终止。(4)命令“q xy2w x0 y0”:功能:实现页面坐标(x0,y0)与对应的经纬坐标(lon0,lat0)之间的转换;返回码:在页面坐标与经纬坐标间建立一定的缩放比例后,执行该命令,在文本窗口中将有一行形如“Lon = lon0 Lat = lat0”文本返回码,其中lon0、lat0为与页面坐标(x0,y0)对应的经纬度。注意:只有在页面坐标与经纬坐标间建立起一定的缩放比例的前提下,才会有“Lon = lon0 Lat = lat0”的返回码,也才能实现页面坐标(x0,y0)与对应的经纬坐标(lon0,lat0)之间的转换。(5)几个GrADS脚本编程语言的内部函数(intrinsic function) sublin (string, nth_line):功能:从字符串“string”中提取第“nth_line”行子字符串。注意:“nth_line”为正整数。举例:假设string=“Demonstrate how to use the intrinsic function! ” 则:sublin(string,2)=“the intrinsic function!” subwrd (string,nth_word):功能:从字符串“string”中提取第“nth_word”个“字(word)”。注意:“nth_word”为正整数;在GrADS 下,用空格符来作为“字(word)”与“字(word)”间的分隔符,因此“字(word)”是指任何两相邻两空格间的非空隔字符或非空隔字符串。举例:如:string的值同上,则:subwrd (string,6)=“intrinsic”; 如:string=“Demonstrate how to use the intrinsic-function! ”,即“intrinsic”与 “function”用连字符“-”相连后,则:subwrd (string,6)=“intrinsic-function!” 再如:“Demonstrate how to use the intrinsic function! ”,即“intrinsic”与 “function”间多加入几个空隔后,则:subwrd (string,6)=“intrinsic”。 用户通过这两个内部函数可将执行完GrADS命令后返回的文本代码中有用的部分提取出来以便进一步的处理。 2实现思想任意模式预报量f可看成是空间和时间的函数f(x,y,z,t),在GrADS下,视模式预报量f为x,y,z,t的一个四维变量,当固定时间(t=t0)和垂直方向的层次(z=z0),通过命令“display f” 的可得到模式预报量f在t=t0时刻,z=z0模式高度上的二维水平分布;当固定所有维,即x=x0,y=y0,z=z0和t=t0一定的情况下,“display f”得到的是模式预报量f在时间t=t0时刻、在空间某一点M(x0,y0, z0)的值,用户可利用GrADS语言的编程技术编写一个简单的gs程序将所关心的模式预报量f在固定时空的情况下按照GrADS的数据格式依次地沿某一方向、自下而上地将该模式预报量的值完全提取出来,并将它以文件的形式保存,然后通过一个简单的Fortran程序将提取出的模式预报量f的ascII码形式的值转换成二进制,并为转化后的数据编写相应的数据描述文件,在GrADS下打开该描述文件,即可显示该模式预报量f沿该方向的垂直剖面分布。3实现的步骤(1)确定要分析的垂直剖面的方向,即确定垂直剖面的剖线AB。(2)按一定的精度(水平分辨率)确定剖线上点A0、A1、A2An(A0和An分别与A和B重合)的位置选取的水平分辨率最好等于或略大于格点资料的水平分辨率。(3)按先从A0到An、然后从下到上的顺序提取某一时刻模式预报量f在直线AB上各点(A0、A1、A2An)在各个高度上的值,并将提取的值以文件的形式保存以便处理。(4)编写Fortran程序将提取的值转化成二进制的的数据格式。(5)为转化后的GrADS二进制数据编写相应的.ctl描述文件。(6)在GrADS打开.ctl描述文件,对它进行正常操作,完成物理量f沿剖线AB的垂直剖面分布的分析。二、 实例分析与应用1可靠性检验(1)利用直接法与利用本法的经纬向的垂直解剖面分布的比较如图1(a)和图(b)均为某一时刻三维模拟的预报量u沿同一纬度的纬向垂直剖面分布,其中图(a)是直接利用GrADS自身支持的沿某一经纬向的垂直解剖面分布显示功能得到的结果,图(b)是利用本文所介绍方案的一个显示结果,从中可看出,利用本文所介绍的方案显示的结果与直接利用GrADS自身支持的沿某一经纬向的垂直解剖面分布显示功能得到的结果是较为一致的。从图2(a)和(b)中也可得到类似的结论。可见,本文所介绍方案是可靠的。2实际应用如图3,该图是一次飑线过程三维数值模拟得到的某一水平截面的垂直速度场分布,图中呈西南-东北走向带状分布的垂直上升运动即为与飑线相联系的强对流带,在飑线的垂直结构分析中,分析研究某些模式预报量沿横越飑线方向(与强对流带垂直)的垂直分布是十分必要的,利用本文所介绍的方案很容易地实现模式预报量沿横越飑线方向的垂直剖面分布的分析。按照上述所介绍的方法步骤,即可很容易地实现模式预报量(水平速度u分量、垂直速度w和u-w流场)沿横越飑线方向(图3中直线AB)的垂直分布(图4)。 (a) (b)图1 模拟u分量的纬向垂直剖面分布(a)直接法(b)间接法 (a) (b)图2 模拟u分量的经向垂直剖面分布(a)直接法(b)间接法图3:垂直剖面剖线示意图,其中AB为所选取的剖线.(a) 水平速度沿直线AB分量(m/s)(b) 垂直速度W(m/s)(c) U-W 流场图4 模拟结果沿直线AB的垂直剖面分布三、 结束语本文介绍了在GrADS下实现沿某一方向(经纬向和非经纬向)的垂直剖面分布分析的一个简单、易行的方案,通过本方案与GrADS自身支持的沿经纬向的垂直剖面分布的分析比较,表明该法在分析沿某一方向的垂直剖面分析中是可信的。结合笔者三维模拟飑线中遇到的一个实际问题,利用该法较好地分析了相对飑线的水平速度u分量、垂直速度w和垂直环流结构,发现该法在实际应用中是可行的。参考文献:1 Brian Doty,GrADS用户手册。附录:数据提取gs源程序function main() open XXX xxx.ctl / 打开数据描述文件(“XXX”为路径名,“xxx.ctl”文件名) d varnam / 显示描述文件中某一物理量“varnam”以便更好确定剖线位置和建立/ 图形窗口中页面坐标与经纬坐标的缩放比例环境(scaling environment) * 确定剖线位置 * say Click graphic windows to specify the first point cross section_line! / 文本提示,在文/ 本窗口看到“Click graphic windows to specify the first point cross section_line!”/ 的提示后,鼠标点击图形窗口以确定剖线的起点位置 A q bpos x0=subwrd (result,3) y0=subwrd (result,4) / 图形窗口上鼠标点击处(剖线起点A)对应的页面坐标(x0,y0) say Click graphic windows to specify the second point cross_section_line! q bpos x1=subwrd (result,3) y1=subwrd (result,4) / 剖线终点B对应的页面坐标(x1,y1) draw line x0 y0 x1 y1 / 在图形窗口中画出剖线,即连接点A(x0,y0)到点/ B(x1,y1)的线段* 求解点A(x0,y0)和点B(x1,y1)对应的经纬坐标A(lon0,lat0)和B(lon1,lat1) * q xy2w x0 y0 / 将页面坐标(x0,y0)转换为对应的经纬坐标(lon0,lat0) lon0=subwrd (result,3) lat0=subwrd (result,6) q xy2w x1 y1 / 将页面坐标(x0,y0)转换为对应的经纬坐标(lon1,lat1) lon1=subwrd (result,3) lat1=subwrd (result,6) * 求解点A(lon0,lat0)到点B(lon1,lat1)的实际距离(L) * Lx=(lon1-lon0)*DisPerLon / DisPerLon为单位经度对应的实际距离(km) Ly=(lat1-lat0)*DisPerLat / DisPerLat为单位纬度对应的实际距离(km) / 实际应用中必须给出DisPerLon和DisPerLat的值 d pow (Lx,2)+pow (Ly,2) L=subwrd (result,4) d pow (L,1/2) LAB=subwrd (result,4) / LAB为点A(lon0,lat0)到点B(lon1,lat1)的实际距离 * 求取相邻各等距点间的经度增量(inclon)和纬度增量(inclat)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 苏州大学《现代文学》2025-2026学年期末试卷
- 太原科技大学《经济法学》2025-2026学年期末试卷
- 苏州城市学院《社会学概论》2025-2026学年期末试卷
- 沈阳师范大学《草坪学》2025-2026学年期末试卷
- 沈阳音乐学院《小学教育学》2025-2026学年期末试卷
- 沈阳体育学院《运动生理学》2025-2026学年期末试卷
- 沈阳医学院《马克思主义市场经济学》2025-2026学年期末试卷
- 上海音乐学院《社会调查》2025-2026学年期末试卷
- 石家庄人民医学高等专科学校《会计学》2025-2026学年期末试卷
- 上海应用技术大学《数值分析》2025-2026学年期末试卷
- 神经病学简答题
- DB31∕701-2020 有色金属铸件单位产品能源消耗限额
- 第3课《可爱的小鸟》课件-一年级美术下册(湘美版2024)
- 从事精神科护理十余年感悟
- 办公楼装修改造工程施工方案
- 2025年度诊所挂证负责人授权管理免责协议书
- DB51-T 2973-2022 航电系统产品用芳纶纸蜂窝制件工艺质量控制要求
- 全过程工程咨询项目部管理制度
- 模拟电子技术基础 第4版黄丽亚课后参考答案
- 泌尿外科学(医学高级)-案例分析题
- 《图文混排》教学课件
评论
0/150
提交评论