好文档 - 专业文书写作范文服务资料分享网站

GrADS实习报告4

天下 分享 时间: 加入收藏 我要投稿 点赞

南京信息工程大学 实验(实习)报告

实验(实习)名称 蒙古高压特征分析 日期 2016.9 得分 指导教师 孙晓娟 系大气科学 专业大气科学班次长望实验班 姓名夏新露 一、 实验目的

(1)掌握气象要素气候异常特征的基本方法。

(2)进一步巩固Fortran顺序结构和循环结构的程序设计方法,重点掌握文件、变量、函数、数组的使用方法、数据的有格式输入输出方法。 (3)了解并掌握GrADS的使用流程。

(4)学习并掌握数据描述文件(*.ctl文件)的书写方法。 (5)学习书写简单的“*.gs”文件。

(6)掌握GrADS中open,reinit,d,c,quit,q,run等基本命令的使用方法。 (7)掌握GrADS维数环境设置方法。

(8)掌握GrADS绘制“line”、“bar”图形类型的方法,绘制1951-2010年蒙古高压强度异常的时间序列图。

(9)掌握保持GrADS绘制图形的一种方法。

二、 实验内容

2.1 问题描述

已知1951-2010年1月蒙古高压强度、面积、经度、维度指数序列,计算蒙古高压各指数的气候值、变率和距平,绘制蒙古高压强度、面积、位置指数距平的时间序列图,分析冬季蒙古高压的异常规律。 2.2 问题分析

已知:1951-2010年1月蒙古高压强度、面积、经度、维度指数序列资料p.dat、s.dat、lon.dat、lat.dat。

计算:蒙古高压各指数的气候值、变率和距平值。

绘制:1948-2010年1月蒙古高压强度、面积、位置指数距平的时间序列图。 通过分析,根据公式求得蒙古高压1月环流指数气候及异常值。根据GrADS中line和bar两种图形格式绘制方法,绘制蒙古高压环流指数距平的时间序列图。

1

三、 实验步骤

3.1蒙古高压环流指数的气候和异常值计算

1.分析问题,理清算法和程序,设计程序流程图并编写程序。 2.启动软件开发环境Microsoft Developer Studio。 3.在D盘上创建新工作区shixi04。 4.在工作区shixi3内创建新项目shixi04。

5.在项目shixi04内创建源程序文件“mh.f90”,编辑输入源程序文本。 6.在源程序文本中打开数据文件“p.dat”、“s.dat”、“lon.dat”、“lat.dat”,并将其值读入到相应的数组中。

7.编写计算均值、变率和距平的子程序。

8.调用子程序分别计算强度、面积、经度、纬度环流指数的均值、变率和距平。 9.将蒙古高压环流指数的均值和变率写入到“mh1.dat”和“mh1.grd”两个文件中。将蒙古高压环流指数的距平值写入到“mh2.dat”和“mh2.grd”两个文件中。 10.编译、构建、运行、调试Fortran程序。

3.2蒙古高压环流指数距平时间序列图绘制

1.为蒙古高压环流指数距平数据文件“mh2.grd”书写数据描述文件“mh2.ctl”,在此文件中定义四个变量p、s、lo、la。

2.编写“mh2.gs”可执行文件,利用GrADS基本操作命令和line、bar两种绘图类型的绘图要素设置,以不同颜色和线形显示蒙古高压强度和面积时间序列图(曲线),分别以不同颜色显示蒙古高压经度和纬度时间序列图(柱状)。 3.将蒙古高压强度和面积时间序列图(曲线)保存到“mhline.gmf”,将蒙古高压经度和纬度时间序列图(柱状)分别保存到“mhlonbar.gmf”和“mhlatbar.gmf”中。

4.启动GrADS,调试、执行“mh2.gs”。 5.分析蒙古高压气候及其异常特征。

2

3.3实习关键技术及方法

1n?? 某数据资料时间序列距平x’为数据资料xt与其平均值x?x??xi?之差

ni?1??x'?xt?x,t?1,2,3K,n

某数据资料的变率?为其均方差,反映变量围绕平均值的平均变化程度,其计算公式为:

1n??xi?x?ni??2

3.4实验程序编写

以下FORTRAN程序用于蒙古高压环流指数气候及异常值计算。 program mh implicit none

integer,parameter::ny=60

!p(ny)、pa(ny)、pav和pd分别为强度指数原序列、距平序列、均值和标准差,其他参数量类似定义 real

p(ny),s(ny),lon(ny),lat(ny),pa(ny),sa(ny),lona(ny),lata(ny),pav,sav,lonav,latav,pd,sd,lond,latd integer i,j,k

!利用open语句打开强度、面积、经度、纬度指数数据 open(1,file='D:\\GrAdsshixi\\GrAds\\chap4\\p.dat') open(2,file='D:\\GrAdsshixi\\GrAds\\chap4\\s.dat') open(3,file='D:\\GrAdsshixi\\GrAds\\chap4\\lon.dat') open(4,file='D:\\GrAdsshixi\\GrAds\\chap4\\lat.dat') !将打开数据保存到对应数组中 do i=1,ny read(1,*) p(i) read(2,*) s(i) read(3,*) lon(i)

3

read(4,*) lat(i) enddo close(1) close(2) close(3) close(4)

!调用气候及异常值计算函数 call cha(ny,p,pa,pav,pd) call cha(ny,s,sa,sav,sd) call cha(ny,lon,lona,lonav,lond) call cha(ny,lat,lata,latav,latd) !用open语句打开文件

open(5,file='D:\\GrAdsshixi\\GrAds\\chap4\\mh1.dat') write(5,100) pav,pd write(5,100) sav,sd write(5,100) lonav,lond write(5,100) latav,latd close(5)

!将蒙古高压环流指数气候值写入到\中

open(6,file='D:\\GrAdsshixi\\GrAds\\chap4\\mh1.grd',form='binary') write(6) pav,pd write(6) sav,sd write(6) lonav,lond write(6) latav,latd close(6)

!将蒙古高压环流指数距平值写入到\中,要求按pa(60)、sa(60)、lona(60)、lata(60)顺序存放

open(7,file='D:\\GrAdsshixi\\GrAds\\chap4\\mh2.dat') write(7,200) (pa(i),i=1,ny) write(7,200) (sa(i),i=1,ny)

4

write(7,200) (lona(i),i=1,ny) write(7,200) (lata(i),i=1,ny) close(7)

!将蒙古高压环流指数距平值写入到\中,要求利用do循环按pa(i)、sa(i)、lona(i)、lata(i)顺序存放

open(8,file='D:\\GrAdsshixi\\GrAds\\chap4\\mh2.grd',form='binary') do i=1,ny write(8) pa(i) write(8) sa(i) write(8) lona(i) write(8) lata(i) enddo close(8)

!上面两种书写数据的数据结构不同,注意区分 100 format(2f10.2) 200 format(f10.2) end !求特征值

subroutine cha(ny,x,xa,xav,xd) integer::ny integer i

!x(ny)为原序列值,xa,xav和xd分别保存序列距平、均值和标准差值 real ::x(ny),xa(ny),xav,xd,sum=0 xd=0 do i=1,ny

sum=sum+x(i) enddo xav=sum/ny do i=1,ny xa(i)=x(i)-xav

5

GrADS实习报告4

南京信息工程大学实验(实习)报告实验(实习)名称蒙古高压特征分析日期2016.9得分指导教师孙晓娟系大气科学专业大气科学班次长望实验班姓名夏新露一、实验目的(1)掌握气象要素气候异常特征的基本方法。(2)进一步巩固Fortran顺序结构和循环结构的程序设计方法,重点掌握文件、变量、函数、数组的使用方法
推荐度:
点击下载文档文档为doc格式
6hixy3cfsb10e609m87w9sc9l3ppgr019vc
领取福利

微信扫码领取福利

微信扫码分享