-
南京信息工程大学
实验(实习)报告
实验(实习)名称蒙古高压与中国气温关系分析日期
2016.10
得分
指导教师孙晓娟系大气科学班次长望实验班姓名夏新露
一、
实习目的
(
1
)
掌握气象要素互相影响研究的基本方法。
(
2
)
p>
进一步巩固
FORTRAN
顺序结构和循环
结构的程序设计方法和变量、
函
数、数组的使用方法,重点掌握
外部文件对数据进行输入输出的方法。
(
3
)
p>
掌握
FORTRAN
中
WLF
函数库的使用方法。
(
4
)
了解站点资料的数据结构。
(
5
)
掌握站点资料数据描述文件和站点映射文件的建立方法。
(
6
)
掌握站点资料生成个点资料的方法。
(
7
)
p>
学习并掌握
GRADS
函数的使用方法,加
强对
oacres
()
、
maskout
()
、
sm
th9
()等函数的理解。
(
8
)
p>
掌握
GRADS
变量的定义和使用方法。<
/p>
(
9
)
p>
巩固
GRADS
数据处理流程、
绘图要素设置、
基础绘图命令的使用方法,
进一步
掌握描述语言的应用方法。
二、
实习内容
?
问题描述
利用
1951-2010
年
1
月蒙古高压
标准化强度指数(
)和
1951-20
10
遍
1
月中国
160
站气温资料
(
)
,
根据
6.5
节相关系数的计算方法计算
1951-2010
年<
/p>
1
月蒙古高压与中国气温的相互影响关系。要求以“
*.dat
”和“
*.grd
”两种格
式保存
1951-2010
年
1
月蒙古高压强度与中国气温同期相关数据;用
GRADS
绘
制
1951-
2010
年
1
月蒙古高压强度与中国气
温同期相关等值线图,写上标题,画
出黄河、长江,并用阴影标记出显著相关区,并分析
之。
?
问题分析
已知
:1951-2010
年
1
月蒙古高
压标准化强度指数序列和
1951-2010
年中国
160
站
1
月气温站点资
料。
计算:
1951-2010
p>
年
1
月蒙古高压强度与中国
160
站气温同期相关系数。
绘制:
1951-2010
年
1
p>
月蒙古高压与中国
160
站气温同期相关图
,
写上标题,
并用阴影标记显著相关区。
通过分析,
首先用
FORTRAN
打开从
1951-2010
年中国
p>
160
站
1
月气温
数据
“
”和
1
951-2010
年
1
月蒙古高压强度
指数“
”
,根据同期相关系数
的计算方法,
编写计算相关系数的函数计算
19
51-2010
年
1
月蒙古高压强度与
中
国
160
站气温同期相关系数,并保
存为“
”和“
”文件。
根据教材中站点资料数据描述文件和站点映射文件的
建立方法,结合
建立站点的资料“
p>
”的数据描述文件和站点映射文件;生成中
国
160
站的格点文件“
”
,注意“
”的数据描述文件中的时间描述
说明一定要与“
”的数据描述文件相一致。
p>
用
GRADS
编
写
.gs
文件,完成将二进制站点资料“
”插值到格点
文件“
”的网格点上,并按照要求显示和保存图形。
三、
实习步骤
(
1
)
分析问题,绘制程序流程图,设计算法,编写程序。
(
2
)
启动软件开发环境
Microsoft Developer
Studio
。
(
3
)
p>
在
E
盘上创建新工作区
shixi6
(
4
)
p>
在工作区
shixi6
内创建新项目
shixi06
(
5
)
p>
在项目
shixi06
内创建计算
1951-2010
年
1
月蒙古高压强度与中国气
温同期相关的源程序文件“
ptco
r1.f90
”
,编辑输入源程序文本。
(
6
)
拷贝
WFL
到
C:
,配置
FORTRAN
使用
WFL
函数库的环境。
(
7
)
p>
编译、构建、运行、调试
FORTRAN
程
序,生成“
”和
“
”
。
(
8
)
p>
用
FORTRAN
读取存放全国
160
个站台经纬度记录的文本文件
“
”
和
“
< br>
”
,
编写
FORTRAN
程序
“
cor-st
ntogrd.f90
”
,
调试运行,
将站点数据文件
“
”
转换成按
GRADS
要求排列<
/p>
格点数据“
”
。
(
9
)
p>
为“
”编写数据描述文件“
”
(
10
)将站点资料通过插值函数插值到格点文件上,首先建立“
grid,f90
”
程序,生成
16
0
站的格点文件“
”
< br>,并书写该文件的数据描述
文件“
”
,注意“
”中的时间说明要与“<
/p>
”中
时间一致。
(
11
)在
G
RADS
运行环境中运行
“
!stan
map
”
命令,
在提示下输入
“
”
的路径和文件名,
生成“
”站点映射文件
。
(
12
< br>)利用插值函数
oacres
()
、标记函数
maskout
()
、平
滑函数
smth9
()
等编写“
”
,完成将二进制站点资料文件“
”插值
到格点文件
“
p>
”
的网格点上,
按
要求绘制
1951-2010
年
1
p>
月蒙
古高压与我国气温同期相关图。
p>
(
13
)启动
GR
ADS
运行、调试“
”
,保存
1951-2010
年
1
月蒙古高
压强度与我国气温同期相关图“
”
x
、
y
的
n
对观测
资料
x1,x2
…xn
和
y1,y2
…yn
,则样本的相关系数可
以这样计算:
r
xy<
/p>
?
1
n
?
x
t
?
x
??
y
t
?
y
?
?
n
< br>t
?
1
1
2
1
2
?
x
t
?
x
?
p>
?
?
y
t
?
y
?
?
n
t
?
1
< br>n
t
?
1
n
n
实习程序编写:
(
1
)
p>
计算
1951-2010
年
1
月蒙古高压强度与中国气温同期相关
USE WFL
integer,parameter::n=60,start=1951
character*10 char1
integer i
integer(4) station,nstation
real a(n),b(n),c(160,n),d(n),e(n),co
open(1,file='E:',form='formatted')
open(2,file='E:daqiGrADSgradsSHIXIshixi6t16
01,txt',form='formatted')
open(3,file='E:',form='formatted')
open(4,file='E:',form='binary')
read(1,*)(a(i),i=1,n)
close(1)
read(2,*)((c(i,j),i=1,160),j=1,n)
close(2)
do i=1,160
do j=1,60
b(j)=c(i,j)
enddo
call
COR2(n,a,b,co,colev)
write(3,'(f12.5)')
co
write(4) co
enddo
close(3)
close(4)
end
(
2
)
站点数据转换成格点数据
program corstntogrd
real
cor(160)
open(1,file='E:',form='formatted')
do i=1,160
read(1,*)cor(i)
enddo
close(1)
call stntogrd(cor)
end
Subroutine stntogrd(x)
real
lat(160),lon(160),x(160)
character*8 stid(160)
open(2,file='E:')
do k=1,160
read(2,'(f5.2,2x,f6.2)') lat(k),lon(k)
enddo
close(2)
do i=1,160