ImageVerifierCode 换一换
格式:DOCX , 页数:32 ,大小:1.41MB ,
资源ID:18819680      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/18819680.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(liGrads讲义910Word下载.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

liGrads讲义910Word下载.docx

1、set t 1set lon 60 150set z 1a=ave(u,t=1,t=48)d amean函数用法同上,但不加权2. aave函数aave(expr,xdim1,xdim2,ydim1,ydim2)求面积平均。expr:任何表达式xdim1:X 维数方向的起始维数表达式xdim2:X 维数方向的终止维数表达式ydim1:Y 维数方向的起始维数表达式ydim2:Y 维数方向的终止维数表达式1)aave函数采用地球坐标进行运算,运算时考虑了不同纬度的权重。Set x 1;set y 1a=aave(u,lon=110,lon=150,lat=0,lat=40)2)amean()函数用

2、法同上,不加权。3. tmave() 高级篇const(expr,contant设置部分网格点的值取为常数,所有非缺值值的expr的格点的值取为常数,如果加上选项-a,所有网格值设为指定的常数值。如果选项为-u,只把缺值值的格点设为常数值。display const(p,0,-u)将降水变量p的缺值值的格点值设为常数0。4. asum()和asumg 对指定区域求和(二维求和)asum(expr;xdim1,xdim2,ydim1,ydim2)和asumg(expr;xdim1,xdim2,ydim1,ydim2) 对指定的区域求和(二维求和),asumg为不计任何权重求和。对于全球(0360

3、,-9090)范围可用以下方式表述:asum(expr,global)/asum(expr,g)5. sum()和sumg() 一维求和函数6. max()/min()(高版本)返回指定表达式的最大/最小值maxloc/minloc()返回指定表达式的最大/最小值的维数值(格点)系列,使用这个命令后,括号内的维数自动固定。设定t/z/固定,看每个纬带上沿x方向的最大值d max(u,x=1,x=37)d maxloc(u,x=1,x=37) 7. vint函数vint(psexpr,expr,top)质量加权垂直积分函数,计算。psexpr表示地面气压变量,expr表示被积变量,top表示积分

4、上限(须为常数,单位hPa),本函数要求定义水平维数环境。如:vint(ps,u,100)表示对u变量从ps到100hPa进行质量加权垂直积分。4)gint(expr,dim1,dim2)普通积分函数(慎用)8. scorr() 求空间相关系数两个场的空间相关系数是一个值,scorr函数之前的x/y维的设置没多大作用,函数会自动固定x/y维,但如果设时间维变动,得到的是相关系数时间序列。*时间序列set x 1;set y 1set z 1set t 1 48d tloop(scoor(u,v,x=1,x=37,y=1,y=17)剖面z-t:set z 1 2a=tloop(scoor(u,v

5、,x=1,x=37,y=1,y=17)d a9. tcorr() 求时间相关函数10. 空间回归/时间回归reinitopen e:liugddataset z 1set t 1 set x 1set y 1corr=sregr(u,v,x=1,x=37,y=1,y=17)d corr-求回归系数,一个数值;cuave=aave(u,x=1,x=37,y=1,y=17)vave=aave(v,x=1,x=37,y=1,y=17)d corr*(u-uave)+vave-回归场值-*set z 1 2set t 1 48set x 1set y 1corr=tloop(sregr(u,v,x=1

6、,x=37,y=1,y=17)set x 1 37set y 1 17b=corr*(u-uave)+vaved ba=aave(u,x=1,x=37,y=1,y=17)set t 1*d tregr(a,u,t=1,t=48)-回归系数corr=tregr(a,u,t=1,t=48)aave1=ave(a,t=1,t=48)uave=ave(u,t=1,t=48)d corr*(a-aave1)+uave-回归值四、网格处理/平滑/差分函数1. const函数const(expr,constant设置部分网格点的值取为常数constant。所有非缺测格点处的expr值取为常数3)flag说明

7、:-a:所有网格点值均设定为指定的常数-u:把缺测格点处的expr值设定为常数。该函数对格点和台站资料均适用。display const(p,0,-u)将变量p在缺测格点处的值设为常数0。又如:在linefill图形类型的输出中,若须将其中的一条线设为水平直线: set lon -90 set lat -90 90 set gxout linefill set lev 500 display const(t,-20);t-273.162. maskout函数maskout(expr,mask)标记函数。当mask所在的网格点值取为负值时,对应格点上的expr的值设定为缺测值;当mask所在的网

8、格点值取为正值时,对应格点上的expr值不变。该函数对格点和台站资料均适合。file 1中的tsfc表示全球地表温度(在海洋上为SST)资料,file 2中的mask表示海陆标记(海洋上为0,陆地上为1)资料,若需显示SST的分布,则可:maskout(tsfc,0.5 - mask.2)3. skip函数skip(expr,skipx,skipy)设定样本的取样密度。display skip(u,2)表示在x,y方向上对变量u隔一个网格点取一次值构成要显示的场,display skip(u,1,3)表示在y方向隔二个点取一次值,而x方向取所有的格点进行显示操作。该函数主要用于对矢量场的稀疏化

9、显示。4. cdiff函数cdiff(expr,dim)中央差分函数expr表示进行差分运算的量,dim 表示进行差分运算的维数方向,为X,Y,Z中的任一个字符。边界格点的运算值设为缺测。例如,以下运算是计算水平涡度,其效果与hcurl函数完全一样: define dv=cdiff(v,x) define dx=cdiff(lon,x)*3.1416/180 define du=cdiff(u*cos(lat*3.1416/180),y)define dy=cdiff(lat,y)*3.1416/180display (dv/dx - du/dy)/ (6.37e6*cos(lat*3.141

10、6/180)以下运算是计算温度平流: define dtx=cdiff(t,x) define dty=cdiff(t,y) define dy=cdiff(lat,y)*3.1416/180 display -1*(u*dtx)/(cos(lat*3.1416/180)*dx)+v*dty/dy)/6.37e65. smth9函数smth9(expr)9点平滑函数。expr表示须平滑的表达式。该函数主要用于改善图形的输出质量,使其更加美观。当格点资料为1维时,9点平滑退化为3点平滑。6. tloop函数tloop(expr)通过循环时间维数逐个逐个局地固定时间维来求expr的值,即对expr

11、固定其时间维数求值,并在求值过程这对时间维进行逐个循环。典型用法是求面积平均的时间序列,由于aave函数要求时间维固定,这时必须通过tloop函数才能实现这一目的,见下例: set x 1 set y 1 set z 3 set t 1 31 d tloop(aave(ts,lon=0,lon=360,lat=-90,lat=90)为求ts变量的全球面积平均的时间序列,须用前四行语句来设定维数环境,即固定x,y,z,而让时间t变化,再用tloop函数,让aave在求面积平均时固定时间维,并逐时刻循环求值。7. 寻找特征值五、物理量计算/站点函数1. gr2stn函数gr2stn(grid_ex

12、pr,stn_expr)将格点值回插至台站值。grid_expr为代表格点资料的表达式,内插将采用该格点资料进行,stn_expr为代表台站资料的表达式,内插结果将放至其中。为检验客观分析资料的质量,可将客观分析后得到的格点资料回插到原来台站,看其与原始台站资料之间的差值大小,即:d t.3-gr2stn(t.1,t.3)其中file 1 为格点资料,file 3 为台站资料。2. coll2gr()coll2gr(cnum将collect命令形成的资料阵列形成格点场。其中:cnum:采集资料序号;num:结果格点场的垂直层次值,缺省为10,若设为“-u”,则为所有采集的站点数据层次的集合。3

13、. hcurl函数hcurl(uexpr,vexpr)计算垂直涡度。uexpr表示U分量,vexpr表示V分量,风速单位用m/s。边界上的涡度值设定为缺测。d hcurl(u,v)4. hdivg函数hdivg(uexpr,vexpr)计算水平散度。5. tvrh2q函数tvrh2q(tvexpr,rhexpr)由虚温tvexpr和相对湿度rhexpr计算比湿。tvexpr的单位为0K,rhexpr的单位为百分比(取值范围0100),运算结果的单位为g/g。该函数仅适合用格点资料。6. tvrh2t函数tvrh2t(tvexpr,rhexpr)由虚温tvexpr和相对湿度rhexpr计算温度。

14、运算结果的单位为0K,其余说明参见tvrh2q函数。7. oacres函数oacres(grid_expr,stn_exprCressman内插函数,将台站资料插至格点上。grid_expr表示格点资料表达式,stn_expr表示台站资料表达式,选项radii表示影响半径,一般采用多个影响半径,它们之间用逗号分开,如:10,7,4,2,1(省缺值)。oacres(ts,ts.2) , oacres(ts,ts.2,12,8,5,4,3,2,1)8. stnave函数stnave(expr,dexpr1,dexpr22) 功能:台站资料时间平均函数。3) 说明:expr表示欲平均的台站资料表达式

15、;dexpr1表示起始时间;dexpr2表示结束时间;选项-m cnt 为质量控制项,表示参与平均运算的台站资料样本数最小不得少于cnt,否则运算结果设定为缺测。cnt的省缺值为1。stnave(ts,t=1,t=20,-m 10)表示对头20个时刻的ts进行平均,若样本数少于10,则平均的结果为缺测。9. stnmin函数stnmin(expr,dexpr1,dexpr2时段内台站资料最小值。参看stnave函数的说明。10. stnmax函数1) 格式:stnmax(expr,dexpr1,dexpr2时段内台站资料最大值。11. oabinoabin(gexpr,sexpr根据站点的位置

16、将观测资料放入单元格网中,若一个格网中有几个测站则取其平均以获得分析值。gexpr:有效的格点表达式;sexpr:有效的站点表达式。flag选项可为两种值:-f将值设为放入单元网格的第一个观测值,-c输出每个格网中的站点数。讲义(10) GrADS 描述语言及编程一、描述语言概述 描述语言是GrADS软件包中自带的高级语言,可以用于GrADS的高级操作,更方便地使用GrADS的功能。通过描述语言可以编写具有复杂功能的命令集(即gs文件)。二、gs文件中的两类型语句1. 描述语句:不用引号,需要经过编译的。2. 指令性语句:GrADS命令,需用引号括起来。通过描述语句来控制指令,描述语言用到指令

17、性语句中要用引号,即, i=1 set t i(或者set t i )三、描述语言程序特点1. 程序通过GrADS的run命令来编译执行;run file-name options 2. 可以有变量、流程控制也可以执行GrADS的命令。3. 描述语言可以1)编写函数子程序,2)制作屏幕菜单,3)可以显示动画图形,4)可以使用从GrADS的query命令中得到的信息作注释等。描述语言的所有变量都是字符串型的,描述变量可以进行计算。流程控制是通过if/else/endif和while/endwhile语句块实现。循环过程可以用continue或break命令改变。变量中包含的或者由表达式结果产生的

18、字符串可以作为GrADS命令项使用。而由GrADS命令执行后产生的文字结果可以读入变量并在描述语言程序中使用。描述语言也支持函数子程序功能。四、描述语言的组成1. 一个描述语言程序是由许多语句组成,每个语句之间由换行号或分号分隔。2. 下面是GrADS描述语言中语句的类型:赋值语句 If / Else / Endif while / endwhile break / continue function header / return say / pull 3. 描述表达式描述表达式是由运算对象和运算符组成。运算对象:描述变量、子程序函数或常数;运算符:数学、逻辑或连结运算符。下面分别介绍变量、

19、运算符、表达式4、描述语言变量 1)构成变量名是由1至8个字符组成,以字母开头,仅可以包含字母和数字,变量名区分大小写。2)变量内容性质内容总是一个字符串,在有些运算中,字符串将被解释为数字。如果一个变量没有被赋值,那么它的值就是它的名字。 如果一个变量或字符串常数是一个具有正确格式的数字,可以进行某些数学运算,所得结果也是一个数字字符串。在GrAD描述语言中,有两个变量名由其内部使用:result 和 rc尽量避免使用这两个变量名。3)复合描述变量描述语言现在支持复合变量,利用它可以在描述语言程序中构造数组。复合变量名可以是一个由“”分隔的多个变量名的复合体。varname.i.j 这时,当

20、变量内容被调用时,如果i和j也是变量,那么i和j的内容将会被i和j的字符串值所替代。i = 10j = 3varname.i.j = 343在这个例子中,赋值语句相当于:varname.10.3 = 343 注意:i和j的字符串值可以是任何字符,但varname必须遵循描述变量名的规则,即:由字母和数字组成,须字母打头。因此复合变量名被替代后可以是任何字符串:i = a#$xxvarname.i = 343以上表示是允许的,但不能直接将变量名写为:varname.a#$xx = 343在i、j变量被替代前后,复合变量名的整个长度不能超过16个字符。在GrADS描述语言中不能设置过多的变量,因此

21、,不能利用复合变量产生一个大的数组,例如:i = 1while (i 大于 = 大于等于 , =, , =, +, -, *, /2)如果是非数值运算对象,下列运算符在运算时将出错:+, -, *, / 3)算术运算是以浮点形式进行的,如果结果是整数,那么结果字符串也是整数。在逻辑运算中,如果结果为真,给出一个字符1,如果为假,给出一个字符0。6. 表达式 描述语言的表达式包含运算对象、运算符和括号,在运算过程中各种运算符的先后顺序为: -, ! /, * +, - % =, != | 如果运算符在同一优先级上,则从左向右计算。运算对象可以是变量、字符串常数或子程序函数调用。1)字符型常数用单

22、或双引号括起来。而数值型常数可以不用引号括起来,但GrADS仍然认为是字符串常数。下面是一个字符串常数的例子:This is a string2)有些情况下,连结运算符是隐含的,当两个运算对象并列靠在一起,中间没有任何运算符时(中间可以有空格),隐含着中间是一个连结符。下列两个表达式是等价的。var1%var2%Stringvar1 var2 3)括号可以改变运算的先后顺序。7. IF语句块 程序执行流程可以通过if/else/endif语句控制,形式为: IF (表达式) 描述语言语句 else (可不用) endif (必须使用)下列语句是错误的:if (i=10) j=20你必须写三个语

23、句: if (i=10) j = 20 endif你也可以在同一行上写这三个语句:if(i=10);j=20;endif; if语句块的执行依赖于表达式的结果,如果表达式的结果是一个0字符(结果为假),则else部分就被执行,如果表达式的结果是不为0的其它字符,则执行if部分。8. WHILE 语句块while语句块的格式为: while (表达式) 描述语言语句 endwhile 当表达式结果为真,即:是一个不为0的字符,循环就继续执行。 另外两个描述语言命令可以改变循环的执行,break可以立即中断循环,continue可以立即跳到循环体的开头,并重新计算表达式的结果。t = 1while

24、 (t10)set t tdisplay zif (rc!=0); break; endif;t = t + 19. 函数及函数子程序 用户可以自己编制函数子程序,也可以使用描述语言的内部函数。在一般情况下,函数作为描述语言的表达式运算对象被调用。描述语言函数子程序总是得到一个单一的字符串结果,但可以有一个或多个字符串自变量,它的调用格式为: name(arg,arg,arg.)1)函数名遵循变量名的规则,自变量可以是表达式。2)如果函数子程序没有自变量,你仍然需要写上一对括号:name() 3)在其它文件中的函数子程序不能调用。(其它文件中的描述语言程序可以通过GrADS的run命令执行) 4)可以通过函数子程序的定义语句在描述语言程序中构造自己的函数:function name(variable, variable, .) 要回到调用处,使用return语句: return 表达式 这里表达式可以省略,如果省略表达式,就返还一个空字符串(空字符串是)。函数的结果是return语句中表达式的结果。5)调用过程当一个函数子程序被

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1