文档库 最新最全的文档下载
当前位置:文档库 › 气象程序设计及绘图实习报告

气象程序设计及绘图实习报告

气象程序设计及绘图实习报告
气象程序设计及绘图实习报告

实习要求:

?根据所提供的实习说明和资料,按要求完成实习内容;

?将完成的实习内容按步骤写入实习报告中,包括资料说明、Fortran程序、CTL文件、gs文件、绘制的图形(要求在图形上方用draw title的方式添加标题,注明姓名拼音及学号)

?根据所绘图形及查找相关文献,说明本次实习所求物理量场的意义。

实习内容:

?Nino34海温指数与海平面气压相关图

?Nino34海温指数与中国160站降水相关图

1.绘制1月份Nino34海温指数与1月份海平面气压相关图

1.1 资料说明

?Nino34指数:Nino34.txt是1951年1月至2013年12月Nino3.4区(热带太平洋:西经170度~西经120度、北纬5度~南纬5度)区域平均海温指数资料,共有63行数据,每行数据第一个数字为年份,后面12个数字为该年1-12月的海温指数;

?全球海平面气压月平均数据:slp.jan.grd为1951至2013年的1月全球海平面气压场二进制数据,年数为63年,格点数144*73,水平分辨率2.5?*2.5?;

1.2步骤:

1用Fortran编写corr.grid.f90文件,计算1951-2013年1月Nino34海温指数与海平面气压相关系数,计算结果保存于corr.slp.grd 文件中;

corr.grid.f90文件:

program cx

implicit none

realt(63),p(73,144,63),r(73,144),relation,z(63) character*12 c(63)

character*7 a(63)

integer i,j,k

open(5,file='D:\expriments\grads\slp.jan.grd',fo rm='binary')

open(6,file='D:\expriments\grads\nino34.txt') do i=1,63

read(6,'(A12)') c(i)

end do

do i=1,63

read(c(i),'(A7,F5.2)') a(i),t(i)

end do

do k=1,63

read(5) ((p(i,j,k),j=1,144),i=1,73)

end do

!print*,p

do i=1,73

do j=1,144

do k=1,63

z(k)=p(i,j,k)

end do

r(i,j)=relation(z,t,63)

end do

end do

!print*,r

open(7,file='D:\expriments\grads\corr.slp.txt') open(8,file='D:\expriments\grads\corr.slp.grd',f orm='binary')

write(7,'(144F5.2)') ((r(i,j),j=1,144),i=1,73) write(8) ((r(i,j),j=1,144),i=1,73)

end

function relation(a,b,n)

implicit none

integer,intent(in)::n

real,intent(in)::a(n),b(n)

real::relation !返回的相关系数integer::i,j !循环控制变量

real::sfenzi,sfenmu1,sfenmu2,s !加法器real::amean,bmean !a,b向量的平均值

!计算平均值s=0.

do i=1,n

s=s+a(i) end do amean=s/n s=0.

do i=1,n

s=s+b(i) end do bmean=s/n !计算相关系数sfenzi=0.

sfenmu1=0.

sfenmu2=0.

do i=1,n

sfenzi=sfenzi+(a(i)-amean)*(b(i)-bmean) sfenmu1=sfenmu1+(a(i)-amean)**2

sfenmu2=sfenmu2+(b(i)-bmean)**2 end do

relation=sfenzi/sqrt(sfenmu1*sfenmu2)

end function relation

保存于corr.slp.grd 文件中。

书写corr.slp.grd 的数据描述文件1.ctl:

dset e:\grads\20150706qimo\test1\corr.slp.grd

title slp

undef -9.99e33

xdef 144 linear -180 2.5

ydef 73 linear -90 2.5

zdef 1 levels 1000

tdef 63 linear jun1951 1yr

vars 1

slp 0 0 sea level pressure

endvars

编写1.gs文件:

'reinit'

'open e:\grads\20150706qimo\test1\1.ctl'

'set lev 1000'

'set lon -180 180'

'set lat -90 90'

'set t 1'

'set gxout shaded'

'set grads off'

'set black -0.2 0.2'

'd slp'

'set gxout contour'

'd slp'

'draw title Lu Yu '

'cbar 1.0 0'

'printim e:\grads\20150706qimo\test1\1.png white'

;

绘制1951-2013年1月Nino34海温指数与海平面气压相关系数图:

1951-2013年1月Nino34海温指数与海平面气压相关系数图

2 绘制1月份Nino34海温指数与7月份中国160站降水相关图:

2.1资料说明

?Nino34指数:Nino34.txt是1951年1月至2013年12月Nino3.4区(热带太平洋:西经170度~西经120度、北纬5度~南纬5度)区域平均海温指数资料,共有63行数据,每行数据第一个数字为年份,后面12个数字为该年1-12月的海温指数;

?160站降水资料:r1607.txt是中国160站1951~2013年共63年7月降水资料,数据是1951年7月各站降水量按照id.txt中各站顺序写入,该年160站都写入后再写下1952年7月各站降水量,...................,直至2013年7月各站降水量按照id.txt中各站顺序写入;

?160站站点资料:id.txt是160站站号和纬度、经度资料,共有160行。每行第一个数据为8位字符型的站号,后面两个数字分别为该站点纬度和经度;

2.2 步骤:

用Fortran编写corr.station.f90文件,计算1951-2013年1月Nino34海温指数与7月160站降水相关系数,计算结果保存于corr.7.txt和corr.7.grd文件中;

program cx

implicit none

integer p(160,63),i,j,k

real

s(63),r(160),relation,t(63),lon(160),lat(160),tim character*12 c(63)

character*7 a(63)

character*8 stid(160)

integer nlev,nflag

open(6,file='E:\grads\20150706qimo\test2\nino 34.txt') open(5,file='E:\grads\20150706qimo\test2\r160 7.txt')

open(10,file=E:\grads\20150706qimo\test1\id.t xt')

do i=1,160

read(10,*) stid(i),lat(i),lon(i)

end do

print*,stid

do j=1,63

read (5,*) (p(i,j),i=1,160)

end do

do i=1,63

read(6,'(A12)') c(i)

end do

do i=1,63

read(c(i),'(A7,F5.2)') a(i),t(i)

end do

do i=1,160

do j=1,63

s(j)=p(i,j)

end do

r(i)=relation(s,t,63)

end do

!print*,r

tim=0

nlev=1

nflag=1

open(7,file='E:\grads\20150706qimo\test2\corr.

7.txt')

open(8,file='E:\grads\20150706qimo\test1\corr.

7.grd',form='binary')

do i=1,160

write(7,*) stid(i),lon(i),lat(i),tim,nlev,nflag,r(i) end do

do i=1,160

write(8)stid(i),lat(i),lon(i),tim,nlev,nflag,r(i) end do

nlev=0

write(8)stid(160-1),lat(160-1),lon(160-1),tim,nlev,nflag,r(160-1)

end

function relation(a,b,n)

!本程序计算两列向量的相关系数!a,b分别是待计算的向量

!n是向量的长度,要求两列向量等长implicit none

integer,intent(in)::n

real,intent(in)::a(n),b(n)

real::relation !返回的相关系数integer::i,j !循环控制变量

real::sfenzi,sfenmu1,sfenmu2,s !加法器real::amean,bmean !a,b向量的平均值

!计算平均值

s=0.

do i=1,n

s=s+a(i)

end do

amean=s/n

s=0.

do i=1,n

s=s+b(i)

end do

bmean=s/n

!计算相关系数

sfenzi=0.

sfenmu1=0.

sfenmu2=0.

do i=1,n

sfenzi=sfenzi+(a(i)-amean)*(b(i)-bmean) sfenmu1=sfenmu1+(a(i)-amean)**2

sfenmu2=sfenmu2+(b(i)-bmean)**2 end do

relation=sfenzi/sqrt(sfenmu1*sfenmu2)

end function relation

书写corr.7.grd 的数据描述文件2.ctl ;dset E:\grads\20150706qimo\test2\corr.7.dat dtype station

stnmap E:\grads\20150706qimo\test2\corr7.map UNDEF 2.5E33

TITLE corr

TDEF 1 linear jan1951 1mo

VARS 1

r 0 99 relation

endvars

准备corr.7.grd的站点映射文件corr7.map;

准备GrADS画站点图时插值时所需格点数据Grid.grd和及其描述文件Grid161.ctl(已提供);

编写2.gs文件,绘制1951-2013年1月Nino34海温指数与7月中国160站降水相关系数图,保存于corr.7.gmf 文件中。

'reinit'

‘open

E:\grads\20150706qimo\test2\grid161.ctl' 'open E:\grads\20150706qimo\test2\2.ctl' 'set lat 3 54'

'set lon 70 135'

'define a=oacres(g,r.2)'

'define a1=maskout(a,g-0.5)'

'define aa=smth9(a1)'

'set grads off'

'set mpdsetworld'

'set map 1 1 1' 'enable print E:\grads\20150706qimo\test1\corr7.gmf'

'set gxout shaded'

'set cmin 0'

'd aa'

'set gxout contour'

'set ccolor 2'

'd aa'

'draw title Lu Yu '

'print'

'disable print'

1951-2013年1月Nino34海温指数与7月我国160站降水相关系数图

分析:

图1 是1951-2013年1月Nino34海温指数与海平面气压相关系数图,从图中可以看出,赤道中东太平洋地区海温指数和海平面气压成明显正相关,最大相关系数已超过0.8;而赤道锡太平洋地区海温指数和海平面气压则成负相关,最小相关系数低于-0.6。由此可以解释当发生厄尔尼诺事件时,由于赤道中东太平洋和秘鲁沿岸等地区海温上升,使沃克环流减弱,对中东太平洋地区的下沉气流产生负的影响,使中东太平洋地区海平面气压降低;与之相反,西太平洋地区上升气流减弱,海平面气压升高。

图2为1951-2013年1月Nino34海温指数与7月我国160站降水相关系数图,可以看出在我国西北部、中部、东北部分地区以及长江流域的降水与海温指数成正相关,而在青海,西藏广州等地则与海温指数成负相关。由此可见,当热带太平洋出现暖水位相(即

微气象~作图题

1.土壤温度随深度的变化在一天过程中,由于太阳辐射的作用,白天和夜间土壤增热和冷却不同,所以土壤温度随深度的变化也不相同。有四种类型 日射型,也称白天受热型。日间当地面获得大量的辐射热量以后,地面温度急剧上升,热量由土壤上层向下层输送;此时,土温的铅直分布是由上层向下层递减,而且递减速度很快。这种类型主要出现在正午前后,如13h的土温分布曲线。 辐射型,也称夜间放射型。夜间当地面由于辐射冷却而温度下降时,土壤温度随深度增加而递减;土壤热通量方向为负,即由土壤深层向地面输送热量,以缓和地面温度的下降。这种类型主要出现在午夜以后。如01h的土温分布曲线。 早上过渡型,也叫清晨转变型。这是由夜间的辐射型分布向白天日射型分布的过度类型。日出之后,地表净辐射很快由负转变为正值,则地面温度开始上升,于是土壤上层温度分布迅速变成日射型,但是下层土壤温度仍然保持辐射型分布。此时,土壤中间层的温度最低,地面和土壤深层都向这一层输送热量。如7h的温度分布曲线。 晚上过渡型,也叫傍晚转变型。这是由白天的日射型分布向夜间的辐射型分布的过渡类型。在傍晚前后,由于辐射冷却作用,地面温度开始下降,土壤上层出现辐射型分布,但是在土壤下层仍然保持白天的日射型。此时,土壤中间层的温度最高,热量从该层向地表和深层输送。如19h的土温分布曲线。 2.气温铅直分布近地气层中空气温度的变化,主要决定于下垫面辐射状况和湍流运动的变化。日间,地面在太阳辐射作用下受热,并以湍流交换形式将热量输送给近地气层,使整个近地层气温自下而上很快升高。夜间,地面辐射冷却,热量由近地层向地面输送。 气温铅直分布类型:日射型、辐射型、早上过渡型和傍晚过渡型。4种类型昼夜依次转换。日射型:12时曲线。日间,地面净辐射为正并因吸收太阳辐射而加热,地面温度急剧上升,热量将由地面通过湍流向近地层中输送。因此气温铅直分布由地面向上迅速递减的。

气象程序设计及绘图实习报告

实习要求: ?根据所提供的实习说明和资料,按要求完成实习内容; ?将完成的实习内容按步骤写入实习报告中,包括资料说明、Fortran程序、CTL文件、gs文件、绘制的图形(要求在图形上方用draw title的方式添加标题,注明姓名拼音及学号) ?根据所绘图形及查找相关文献,说明本次实习所求物理量场的意义。 实习内容: ?Nino34海温指数与海平面气压相关图 ?Nino34海温指数与中国160站降水相关图 1.绘制1月份Nino34海温指数与1月份海平面气压相关图 1.1 资料说明 ?Nino34指数:Nino34.txt是1951年1月至2013年12月Nino3.4区(热带太平洋:西经170度~西经120度、北纬5度~南纬5度)区域平均海温指数资料,共有63行数据,每行数据第一个数字为年份,后面12个数字为该年1-12月的海温指数; ?全球海平面气压月平均数据:slp.jan.grd为1951至2013年的1月全球海平面气压场二进制数据,年数为63年,格点数144*73,水平分辨率2.5?*2.5?; 1.2步骤: 1用Fortran编写corr.grid.f90文件,计算1951-2013年1月Nino34海温指数与海平面气压相关系数,计算结果保存于corr.slp.grd 文件中; corr.grid.f90文件: program cx implicit none realt(63),p(73,144,63),r(73,144),relation,z(63) character*12 c(63) character*7 a(63) integer i,j,k open(5,file='D:\expriments\grads\slp.jan.grd',fo rm='binary') open(6,file='D:\expriments\grads\nino34.txt') do i=1,63 read(6,'(A12)') c(i) end do do i=1,63 read(c(i),'(A7,F5.2)') a(i),t(i) end do do k=1,63 read(5) ((p(i,j,k),j=1,144),i=1,73) end do !print*,p do i=1,73 do j=1,144 do k=1,63 z(k)=p(i,j,k) end do r(i,j)=relation(z,t,63) end do end do !print*,r open(7,file='D:\expriments\grads\corr.slp.txt') open(8,file='D:\expriments\grads\corr.slp.grd',f orm='binary') write(7,'(144F5.2)') ((r(i,j),j=1,144),i=1,73) write(8) ((r(i,j),j=1,144),i=1,73) end function relation(a,b,n) implicit none integer,intent(in)::n real,intent(in)::a(n),b(n) real::relation !返回的相关系数integer::i,j !循环控制变量 real::sfenzi,sfenmu1,sfenmu2,s !加法器real::amean,bmean !a,b向量的平均值

气象绘图软件GrADS高级使用技巧

收稿日期:2002-11-1 作者简介:高文良,男,31岁,主要从事短期气候预测等研究工作。 气象绘图软件GrADS 高级使用技巧 高文良1 刘晓燕2 曾小东3 (11成都高原气象研究所 成都 610072; 21阿坝州金川县气象局 624100 31阿坝州马尔康县气象局 624000 ) 摘 要:本文通过介绍气象绘图软件GrADS 使用中 的一些高级技巧,分析了GrADS Script 语言中的难理解之处,并介绍了在GrADS 中做合成分析和t 检验的程序,可以对学习和使用GrADS 的科研人员起参考、帮助作用,达到事半功倍的效果,促进GrADS 软件的应用更广泛、深入,提高科研人员的工作效率。关键词:GrADS ;技巧;程序中图分类号:TP391文献标识码:C 文章编号:1003-7187(2002)04-0057-03 1 引言 气象绘图软件GrADS (Grid Analysis and Dis 2play System )是免费共享软件,可随时从互联网上下载(http ://https://www.wendangku.net/doc/0217645127.html,/grads/),后续版本正陆续推出[1]。GrADS 有丰富的内部函数,可以对数据进行计算和分析处理。它支持处理格点资料和站点资料,并且支持对GriB 码文件、特殊格式文件(如一字节整型、二字节整型、大中型机器二进制数据等)的直接读取,气象科研领域应用非常广泛[2]。在其最新1.8SL 9版本中,GrADS 又将应用领域推进到了海洋学科,功能也得到了进一步地增强和扩展。 但在使用GrADS 的过程中,特别是使用GrADS Script 语言编程当中,有一些问题需要特别注意。因为GrADS Script 语言是一种类似于VB Script (或MA TL AB Script )的高级语言,稍不注意就容易出现错误,且查错十分困难,这点与其他语言有较大的差别。2 站点数据处理 GrADS 中站点数据处理基于格点数据的基础之上,需先将站点数据通过Cressman 客观分析方法内插至格点上,然后再依照格点资料的处理方式对站点资料数据进行分析和处理。所以,内插的背景网格点的选取就显得比较重要。提供背景格点资料数据只起一个背景网格场的作用,格点数据并不参与运算,只提供网格背景,告诉站点数据插至什么点及各个点的距离、综合考虑几个点来插值等信息。 因此,对于需要揭示小尺度特征气象场的站点数据,就需要将背景网格点的间距取得小一些,这样可以将局地小尺度信息完整地体现出来。反之,如果要强调大尺度的信息,就可以将背景格点场的间距取得大一些,将小尺度的噪声滤掉,体现大尺度场的特征。两种方法的最终目的是画出真实而美观的原始数据场的图形。 要将已有的站点数据资料转换成GrADS 可以读取格式的站点数据,也可使用Visual Fortran 6.0或C 语言(Turbo C 、Visual C ++等)进行转换。但必须按照GrADS 的规定格式来变换。数据文件头的结构和定义也必须按规定且与后续数据一致。在Visual Fortran 6.0语言中可以用流式文件(Stream )的方式生成GrADS 需要的站点数据文件,可以写成多时次、多层次和多变量的数据集(在Power Station 4.0中则不能写成多时次和多层次的数据集,它不支持Stream 方式的文件,只能写一个时次的数据)。而在C 语言中的操作更加方便,因为C 语言中对文件的操作方式一般是以字节为单位进行的,没有其他多余的信息。只要按照GrADS 要求的数据格式生成数据,以上的各种语言环境下都能够被GrADS 正确读取。 另一个需注意的问题是在格点文件和站点文件之间,一定使两者的数据描述文件保持时间上的一致性。起始时间和时间步长都要符合数据本身的规定。如果起始时间不一致,在GrADS 中会出现少于两个站的提示,画出的图被标示为缺测值。如果上述两种数据的时间步长不一致,则可能出现错误的结果,导致在一个特定时间下的数据成为另一个时间下的数据,而不是操作者想要的时次。或者图形的结果和前面第一种错误一样,出现全为缺测值的错误情况。

GrADS绘图软件安装及入门

GrADS绘图软件安装于入门

目录 第一章GrADS绘图软件概述 1.GrADS绘图软件简介 2.GrADS绘图软件的安装(windows环境) 3.1在windows环境下安装GrADS软件包第二章GrADS绘图模板 1.GrADS示例演示 1.1 启动GrADS 1.2 退出GrADS 1.3 示例演示GrADS命令的使用

第二章GrADS绘图软件概述 1GrADS绘图软件简介 The Grid Analysis and Display System(GrADS) 是一套应用广泛、使用方便的科学数据绘图软件包。其主要特点: ●GrADS属于自由软件,可以从Internet上免费获得。 ●可运行于各种Windows 和Unix工作平台。 ●GrADS可用于4D数据的分析。既经度、纬度、层(气压层、高度层等) 和时间/xyzt 4维。数据可以是格点化的数据或离散点数据。GrADS 特别适用于气象类数据的分析。但也完全可以用于更广泛类型的数据分 析。 ●GrADS有多种显示方式:等值线、流线、矢量图、风矢量图、站点填 图、折线图、直方图等多种两维图形。 ●可处理多种数据格式的数据。GRIB、NetCDF、HDF-SDS等通用数据格 式和系统自定义的一种二进制数据格式。 ●采用命令行输入的方式交互式地显示图形。并有多种命令对数据进行再 加工。如求平均;计算涡度、散度、垂直积分、计算差分等。 ●图形可以按多种格式存储:ps、png、jpg、tiff、gif、windows metafile 等。自身以metafile格式存储。 ●提供多种辅助工具软件。如看图、打印、图形格式转换(gv)等工具。 2Internet上的GrADS资源 2.1 GrADS在Internet上的主页 GrADS主页地址:https://www.wendangku.net/doc/0217645127.html,/grads 从GrADS主页上可以找到预编译好了的适合于windows环境下的GrADS软件包, 2.2 windows环境下GrADS资源 ●grads-2.0.a7.oga.3-win32_superpack.exe——GrADS软件包安装执 行程序。目前在windows环境下较新的版本为GrADS第2.0版。 ●下载GrADS演示数据: 从ftp://https://www.wendangku.net/doc/0217645127.html,/grads/sprite/tutorial下载: model.le.dat 和model.le.ctl文件; 或者GRIB码格式的数据: model.grb、model.gmp和model.ctl 3GrADS绘图软件的安装(windows环境) 在windows下运行GrADS的条件: ●安装GrADS软件包 3.1在windows环境下安装GrADS软件包

气象程序设计与绘图软件安装与运行

第一章:气象程序设计与绘图软件安装与运行 1.1实验实习目的 1.1.1了解并掌握FORTRAN90与软件开发环境及基本操作。 (1)了解FORTRAN90与软件开发环境的关系。 (2)掌握FORTRAN90上机实验实习基本操作过程。 (3)掌握FORTRAN90软件开发环境启动方法。 (4)理解有关工作区间、项目、文件的基本概念。 (5)掌握工作空间、项目、文件的创建方法。 (6)掌握软件开发环境图像用户界面。 (7)掌握程序的输入、编译、构造和运行方法。 (8)了解软件开发环境常用菜单、工具按钮、环境窗口的基本功能。 1.1.2了解GrADS 2.0软件环境和基本操作方法 (1) GrADS的安装。 (2) GrADS的启动与退出。 (3) GrADS的文件处理。 (4) GrADS的使用流程。 1.2 实验实习内容1 1.2.1 问题描述 现有北京1951-1980年1月月平均气温文件beijingT.dat,编写程序计算北京30年的平均气温,并输出结果。 北京1951-1980年1月月平均气温为1.0、-5.3、-2.0、-5.7、-0.9、-5.7、-2.1、0.6、-1.7、-3.6、-3.0、0.1、-2.6、-1.4、-3.9、-4.7、-6.0、-1.7、-3.4、-3.1、-3.8、-2.0、-1.7、-3.6、-2.7、-2.4、-0.9、-2.7、-2.4、-0.9、-2.7、-1.6、-3.9。 1.2.2 算法设计 通过对问题的分析,设计求解算法,并绘制流程图。 1.2.3 程序编写 Program main integer,parameter::n=30 realTave,sum,temp(n) open(1,file='i:\shixi\3\beijingT.txt',form='formatted') doi=1,n read(1,*)temp(i) end do close(1) open(2,file='i:\shixi\3\Tave.dat',form='formatted')

气象常用软件

【转贴】气象常用的软件目录 利用一些商用或科学上的软件,常常可以事倍功半,下面我就列举一些我所使用过的软件,它们均可较好的解决各种气象问题。在此总结的目的也是希望广大气象工作者开阔思路。 1 Matlab (version 5.0,5.1,5. 2 and 5.3)—(目前在美国气象界使用非常广泛,它拥有非常强大的toolbox,利用其toolbox可以解决气象上大多复杂问题,例如SVD分析,小波分析,常用的统计分析、傅立叶分析等) 2 Visual Fortran 6.0A and Array Visulation(支持Fortran90标准,并且带有可视化工具,功能强大,支持多种编译系统,是DEC公司1998年最新的产品,方便调试 程序),现收到最新更新6.0C 3 Fortran Powerstation 4.0和4.1(同样为DEC公司出品,较2为早,支持 Fortran90标准,是较为完备调试程序的工具,较2简单) 4 Origin 5.0和patch2(非常好的两维数据场绘图,且可以进行简单的统计计 算,并直接画图) 5 Mathmatic3.0和4.0(功能强大的数学运算软件,可以利用它进行公式推导或 数据分析,较程序直观,且可以直接成图。 6 SPSS V7.5; 8.0;9.0(专业的数据统计分析软件,可直接绘图,可利用它进行 气象资料场的诊断分析) 7 SAS V6.12(专业的数据统计分析软件,可直接绘图,也可利用它进行气象资 料场的诊断分析,和SPSS功能不相上下) 6 Sigmal Plot v3.04 and v4.0(非常好的两维数据场绘图,带有简单的统计功 能,直观,简单,方便) 7 Excel2000(目前属office2000的一个组件,它可以简单的对数据资料进行分 析和处理,并直接成图,很方便的把图插到word里进行编辑) 8 Grads v1.7.9(气象上最常用的绘图软件,并且它还可以进行简单的数据处理,并对目前气象流行的netcdf格式的数据可直接处理,目前它有各种版本的软件,分别对不 同的操作系统,完全免费) 9 Vis5d(气象上三维作图软件,它可以动态的显示三维资料场的变化,非常直观,目前也有各种机器的版本,最近,北京大学暴雨实验室已经把它移植到微机上,并对 它成功的实行汉化工作,属免费软件) 10 NCAR Graphics(NCAR开发的气象作图软件,目前,最新版本为NCAR Version4.1,它的功能强大,既可画两维的数据场,又可以画三维数据场资料的变化。新版增加了人机对话的功能。用它做出的图较Grads做出的图美观,清晰,但属于商业软件,目前较贵, 我所已购置NCAR作图的最新软件。 11 PCMDI(属于模式后处理软件,可以和气象模式紧密的结合起来,做到数值模式

气象图例配色原则

.图例配色原则 3.1降水分布图图例分级与配色 降水配色方案分为降水距平百分率图例分级和配色方案和降水量图例分级和配色方案,降水量分布图又分为日、月、季、年四类模版,应用的选取规则如下表所示: 表3.1 降水量分布图图例配色方案选取划分表 时间跨度(单位:天) 模版名称 1‐10 日降水量图例配色方案 11‐60 月降水量图例配色方案 61‐120 季降水量图例配色方案 121‐365 年降水量图例配色方案 >365 年降水量图例配色方案 3.1.1降水量距平百分率图例分级和配色 分级 颜色 R G B (单位:%) >200 0 0 255 100~200 0 150 255 50~100 0 255 255 20~50 50 200 50 0~20 200 255 200 ‐20~0 255 255 150 ‐50~‐20 255 150 100 ‐80~‐50 255 100 100 ‐100~‐80 255 0 0

配色原则:降水量偏少为暖色调,降水量偏多为冷色调。基于两方面的考虑将原有的绘图等值线间隔25%更换为20%:(1)方便评价描述(2)与预测传统保持一致。举例: 图3.1.1 XXXX年X月X日-X月X日全国降水量距平百分率分布图(单位:%) 3.1.2日降水量图例分级和配色 分级 颜色 R G B (单位:mm) >250 255 0 255 100~250 0 0 255 50~100 0 100 255 25~50 0 150 255 10~25 0 255 255 5~10 100 255 100 0.1~5 180 255 180 无降水 255 255 180 缺资料 0 255 255

气象程序设计及绘图实习报告

气象程序设计及绘图实习 报告 The final edition was revised on December 14th, 2020.

实习要求: ?根据所提供的实习说明和资料,按要求完成实习内容; ?将完成的实习内容按步骤写入实习报告中,包括资料说明、Fortran程序、CTL文件、gs文件、绘制的图形(要求在图形上方用draw title的方式添加标题,注明姓名拼音及学号) ?根据所绘图形及查找相关文献,说明本次实习所求物理量场的意义。 实习内容: ?Nino34海温指数与海平面气压相关图 ?Nino34海温指数与中国160站降水相关图 1.绘制1月份Nino34海温指数与1月份海平面气压相关图 资料说明 ?Nino34指数:是1951年1月至2013年12月区(热带太平洋:西经170度~西经120度、北纬5度~南纬5度)区域平均海温指数资料,共有63行数据,每行数据第一个数字为年份,后面12个数字为该年1-12月的 海温指数; ?全球海平面气压月平均数据:为1951至2013年的1月全球海平面气压场二进制数据,年数为63年,格点数144*73,水平分辨率?*?; 1.2步骤: 1用Fortran编写文件,计算1951-2013年 1月Nino34海温指数与海平面气压相关系数,计算结果保存于文件中; 文件: program cx implicit none realt(63),p(73,144,63),r(73,144),relation, z(63) character*12 c(63) character*7 a(63) integer i,j,k open(5,file='D:\expriments\grads\',form ='binary') open(6,file='D:\expriments\grads\') do i=1,63 read(6,'(A12)') c(i) end do do i=1,63 read(c(i),'(A7,') a(i),t(i) end do do k=1,63 read(5) ((p(i,j,k),j=1,144),i=1,73) end do !print*,p do i=1,73 do j=1,144 do k=1,63 z(k)=p(i,j,k) end do r(i,j)=relation(z,t,63) end do end do !print*,r open(7,file='D:\expriments\grads\') open(8,file='D:\expriments\grads\',form ='binary') write(7,'') ((r(i,j),j=1,144),i=1,73) write(8) ((r(i,j),j=1,144),i=1,73) end function relation(a,b,n) implicit none integer,intent(in)::n real,intent(in)::a(n),b(n) real::relation !返回的相关系数integer::i,j !循环控制变量 real::sfenzi,sfenmu1,sfenmu2,s !加法器real::amean,bmean !a,b向量的平均值

常用气象格式的数据读取及可视化

常用气象格式的数据读取及可视化 hzwjy 2012-11-1 本文介绍了气象研究(非业务使用)中的常用的数据格式,读写操作和数据可视化方法。 目录 常用气象格式的数据读取及可视化 (1) 目录 (1) 1. 常用编程语言和工具 (2) 2. 常用的数据格式 (2) 2.1. 普通二进制格式 (2) 2.2. 文本数据 (5) 2.3. NetCDF (6) 2.4. HDF、HDF-EOS、HDF5和HDF-EOS5 (7) 2.5. GRIB和GRIB2 (8) 3. 数据可视化 (8) 3.1. 变量与经纬度 (8) 3.2. 绘制等值线图 (11) 3.3. 绘制填色图 (13) 3.4. 绘制矢量箭头 (15) 3.5. 绘制流线 (17) 3.6. 绘制卫星数据 (18) 3.7. 绘制站点数据 (20) 3.8. 看图工具 (23) 附录: (24) NCL的安装 (24) NetCDF库的安装 (24) GMT的编译 (24) 参考资料 (26)

1.常用编程语言和工具 气象研究中常用的编程语言包括C语言、FORTRAN语言,其中FORTRAN为"FORmula TRANslator"的缩写,意为"公式翻译器",在数值计算、工程计算等领域有着广泛的应用,使用FORTRAN编写程序也是气象研究最基本的技能之一。 此外还会用到IDL、MatLab、NCL、GrADS等工具进行数据分析和可视化。IDL和MatLab 可用于数值计算和数据可视化,直接使用其内置的函数可以很方便地完成用户所需的各种计算,与FORTRAN相比,其码也更简洁。NCL与GrADS也可以完成数据分析以及数据的可视化,而且它们都是专为气象领域开发的软件,对气象数据的支持较好,绘图也更为方便,经过简单的设置就可以读取数据并绘制各种图像。在平时的使用中,可以以其中的一种工具为主,再稍微了解另外的几种工具,配合使用达到效率的最大化。IDL和MatLab都是商业软件,可以使用GDL (GNU Data Language)和SciLab等作为替代。 除了上面提到的编程语言,也可以使用Python (SciPy)计算机语言进行数据分析和绘图,也可以尝试GMT (Generic Mapping Tools)、ncview、Panoply等工具。 下面的实际操作中主要以FORTRAN (使用gfortran编译器)和NCL (NCL 6.1.0)来实现,本文仅对数据处理和绘图进行简单的介绍,相关语法请参考其它资料。 2.常用的数据格式 2.1.普通二进制格式 由于计算机存储文件都采用二进制形式,所以从广义上讲,所有的存储在设备中的文件都是二进制文件,包括ASCII及扩展ASCII字符中编写的数据或程序指令的文件。这里用"二进制格式"指除文本数据外的文件格式,而"普通"则是为了区分下面将提到的标准科学数据格式。这种文件的数据的存放序列与其在内存中的存放非常相似,所以在输入输出时几乎不需作转化。由于去掉了格式控制,与有格式文件相比,在使用数据信息时所做的处理更简洁迅速;同样也是这个原因使得无格式文件中即使存放着数字,也不能用文本编辑软件打开并看到。FORTRAN的无格式文件便是这种普通二进制格式。 比如将1~10的整形数据存入一个直接存储的无格式文件中:

气象绘图软件GrADS使用要点

●计算机与气象仪器 ● 收稿日期:2002-02-20 气象绘图软件GrADS 使用要点 高文良 陈忠明 闵文彬 (四川省气象科学研究所 成都 610071) 摘要:通过介绍GrADS 绘图软件,分析了其优点及 难点,指出了GrADS 的使用要点。关键词:GrADS ;绘图软件;要点中图分类号:TP30214文献标识码:B 文章编号:1003-7187(2002)02-0049-02 1 引言 在众多的绘图软件中,针对气象部门的绘图软件GrADS (Grid Analysis and Display System )是一款非常不错的免费共享软件。它整个系统由C 语言编成,运行速度快,图形显示快速、美观大方,支持多种图形类型的输出。 GrADS 具有丰富的内部函数,可以对资料进行初步的计算和分析处理,而且操作十分简便,易于理解掌握。它既可以处理格点资料,又可以处理站点资料。它支持对GriB 码文件、NetCDF 文件的直接读取,并且对气象界最流行的各种数据格式都能正确分析和处理。用户还可以利用GrADS 的描述语言(GrADS Script )很方便地进行编程、开发。GrADS 推出后在气象界得到了广泛的使用。2 基本概念 在GrADS 中,每个原始资料数据集都需要一个数据描述文件文件与它相对应。在数据描述文件中,包括了对原始资料数据文件的名字、数据格式、纬向格点数及间隔、经向格点数及间隔、空中层次数及间隔、时次及间隔、变量数等的说明。数据描述文件从时间和空间上对数据集的维数作出了明确的规定。这样,在GrADS 启动后将数据描述文件打开,就可以对整个资料数据集进行处理和分析。所以,数据描述文件一定要准确,避免任何差错。 数据文件中原始数据的排放次序也有一定的规 则。其排放次序为首先是经度、纬度,然后是高度和 物理变量,最后是时次变化。[1] 。如果改变了数据的排放规则,必须在数据描述文件中进行特别说明。因此可以将原始数据序列看成是一个五维(或少于五维)的数据场,将每个经向和纬向的数据面看成是一个记录,是整个数据集的一个二维切片。GrADS 的分析和处理都是对这个(或多个)五维(或少于五维)的数据场进行。3 维数环境 如前所述,在GrADS 中数据可以看成多维的数据场。我们总是对一定维数环境下的数据进行计算分析和显示。维数环境是GrADS 中的一个重要概念。它表明了当前数据在时间和空间上的范围。在实际使用中出现的许多问题都多少与维数的设置不当有关。在GrADS 中的所有操作都是在特定的维数环境下进行的。 例如,如果要绘某一变量Var 在100~120°E 纬向平均的纬度-时间二维变化图,很容易错误地将X 方向的维数设为: set lon 100 120 实际上要求的是纬度-时间变化,因此要将经度设为固定,而在Y 和T 方向要设为变化的,即: set lon 0(可以是任意固定值) set t 1 12d ave (Var ,lon =100,lon =120) 又如,我们在实际中经常遇到要将一个小区域的面积平均的时间变化曲线画出。一般容易错误地将X 、Y 方向的维数设为: set lon 0 10(或为其他变化区间)set lat 10 20(或为其他变化区间)正确的办法应将X 、Y 方向的维数设为固定,只有T 方向的维数是变化的,如下: ? 94?高文良、陈忠明、闵文彬:气象绘图软件GrADS 使用要点

相关文档
相关文档 最新文档