41 实验实目
(1)掌握气象素气候异常特征基研究方法
(2)进步巩固FORTRAN序结构循环结构程序设计方法变量函数数组方法重点掌握外部文件数进行输入输出操作方法
(3)解掌握GrADS流程
(4)学掌握数描述文件(*ctl文件)书写方法
(5)学书写简单*gs文件
(6)掌握GrADS中openreinitdcquitqrun等基命令方法
(7)掌握GrADS维数环境设置方法
(8)掌握GrADS绘制linebar图形类型方法绘制19512010年蒙古高压强度异常时间序列图
(9)掌握保存GrADS绘制图形种方法
42 实验实容
421 问题描述
已知19512010年月蒙古高压强度面积位置指数序列计算蒙古高压指数气候值变率距绘制蒙古高压强度面积位置指数序列时间序列图分析冬季蒙古高压异常规律
422 问题分析
已知:19512010年月蒙古高压强度面积度纬度指数序列资料pdatsdatlondatlatdat
计算:蒙古高压指数气候变率距值
绘制:19512010年月蒙古高压强度面积位置指数序列图
通分析根公式(41)公式(42)求蒙古高压月环流指数气候异常值根GrADS中linebar两种图形格式绘制方法绘制蒙古高压环流指数距时间序列图
43 实验实步骤
431 蒙古高压环流指数气候异常值计算
(1)分析问题理清算法程序设计程序流程图编写程序
(2)启动软件开发环境Microsoft Developer Studio
(3)I盘创建新工作区 shixi04
(4)工作区shixi04创建新项目shixi04
(5)项目shixi04创建源程序文件mhf90编辑输入源程序文
(6)源程序文中开数文件pdatsdatlondatlatdat值读入相应数组中
(7)编写计算均值变率距子程序
(8)调子程序分计算强度面积度纬度环流指数均值变率距
(9)蒙古高压环流指数均值变率写入mh1datmh1grd两文件中蒙古高压环流指数距值写入mh2datmh2grd两文件中
(10)编译构建运行调试FORTRAN程序
432 蒙古高压环流指数距时间序列图绘制
GrADS数进行分析处理显示软件该软件进行绘图时必须相应数文件数必须满足GrADS求数格式否进行数处理外GrADS直接数文件进行操作通应数描述文件间接数文件数处理显示通GrADS系统提供命令完成操作完成图形输出窗口观察绘图形图形保存输出具体流程1333述处赘述
1333 述流程完成蒙古高压环流指数距时间序列图绘制需步骤进行:
(1)蒙古高压环流指数距数文件mh2grd书写数描述文件mh2ctl文件中定义四变量pasalonalata
(2)编写mh2gs执行文件利GrADS基操作命令linebar两种绘图类型绘图素设置颜色线性显示蒙古高压强度面积距时间序列图(曲线)分颜色显示蒙古高压度纬度距时间序列图(柱状)
(3)蒙古高压强度面积距时间序列图(曲线)保存mhlinegmf蒙古高压度纬度距时间序列图(柱状)分保存mhlonbargmfmhlatbargmf中
(4)启动GrADS调试执行mh2gs
(5)分析蒙古高压气候异常特征
44 实验实关键技术方法
某数资料时间序列距数资料 均值 差
(41)
某数资料变率 均方差反应变量围绕均值均变化程度计算公式
(42)
45 实验实程序编写
451 FORTRAN程序编写
程序蒙古高压环流指数气候异常值计算
PROGRAM mh
IMPLICIT none
integerparameter ny60
p(ny)pa(ny)pavpd分强度指数原序列距序列均值标准差参数量类似定义
real p(ny)s(ny)lon(ny)lat(ny)pa(ny)sa(ny)lona(ny)lata(ny)pavsavlonavlatavpdsdlondlatd
integer ijk
open(1file'i\shixi\pdat')
open(2file'i\shixi\sdat')
open(3file'i\shixi\londat')
open(4file'i\shixi\latdat')
do i1ny
read(1*) p(i)
read(2*) s(i)
read(3*) lon(i)
read(4*) lat(i)
end do
close(1)
close(2)
close(3)
close(4)
call cha(nyppapavpd)
call cha(nyssasavsd)
call cha(nylonlonalonavlond)
call cha(nylatlatalatavlatd)
open(5file'i\shixi\mh1dat')
write(5'(2f102)') pavpd
write(5'(2f102)') savsd
write(5'(2f102)') lonavlond
write(5'(2f102)') latavlatd
close(5)
open(6file'i\shixi\mh1grd'form'binary')
write(6) pavpd
write(6) savsd
write(6) lonavlond
write(6) latavlatd
close(6)
面两种书写数数结构注意区分
open(7file'i\shixi\mh2dat')
write(7'(f102)') (pa(i)i1ny)
write(7'(f102)') (sa(i)i1ny)
write(7'(f102)') (lona(i)i1ny)
write(7'(f102)') (lata(i)i1ny)
close(7)
open(8file'i\shixi\mh2grd'form'binary')
do i1ny
write(8) pa(i)
write(8) sa(i)
write(8) lona(i)
write(8) lata(i)
end do
close(8)
end
求特征值
subroutine cha(nyxxaxavxd)
integerny
integer i
realx(ny)xa(ny)xavxdsum
sum0
do i1ny
sumsum+x(i)
enddo
xavsumny
xd0
do i1ny
xa(i)x(i)xav
xdxa(i)*xa(i)+xd
enddo
xdsqrt(xdny)
return
end
452 GrADS程序编写
(1)蒙古高压环流指数距数文件mh2grd书写数描述文件mh2ctl
dset i\shixi\mh2grd
undef 999E+33
title Mongolia high pressure circulation index departure
xdef 1 linear 1 1
ydef 1 linear 1 1
zdef 1 linear 1 1
tdef 60 linear Jan1951 1yr
vars 4
pa 1 0
sa 1 0
lona 1 0
lata 1 0
endvars
(2)绘制蒙古高压异常时间序列图书写执行文件mh2gs
'reinit'
'open i\shixi\mh2ctl'
'enable print i\shixi\mhlinegmf'
'set lat 1'
'set lon 1'
'set lev 1'
'set t 1 60'
'set gxout line'
'set ccolor 2'
'set cstyle 1'
'set cthick 4'
'set cmark 2'
'd pa'
'set ccolor 4'
'set cstyle 3'
'set cthick 6'
'set cmark 2'
'd 100*sa'
'print'
'disable print'
'c'
'enable print i\shixi\mhlonbargmf'
'set gxout bar'
'set barbase 0'
'set bargap 0'
'set ccolor 2'
'd lona'
'print'
'disable print'
'c'
'enable print i\shixi\mhlatbargmf'
'set gxout bar'
'set barbase 0'
'set bargap 0'
'set ccolor 4'
'd lata'
'print'
'disable print'
46 实验实结果
图1 19512010年1月蒙古高压强度面积距时间序列图
图2 19512010年1月蒙古高压度距时间序列图
图3 19512010年1月蒙古高压纬度距时间序列图
47 实验实结果分析
图1出1月蒙古高压强度面积呈现显著正相关关系存年际年代际周期震荡震荡周期约3~4年20年1956年1977年2008年出现较高值20世纪60年代中期开始降约1975年达低值快速升
图23出1月蒙古高压位置存年代际变化周期约30~40年20世纪50年代初南转北东转西20世纪70年代末80年代初蒙古高压位置北转南
文档香网(httpswwwxiangdangnet)户传
《香当网》用户分享的内容,不代表《香当网》观点或立场,请自行判断内容的真实性和可靠性!
该内容是文档的文本内容,更好的格式请下载文档