气象信息系统工程 - 实习篇

date
Jul 3, 2024
slug
fortran-2
status
Published
tags
fortran
summary
type
Post

实习一 Fortran文件的读取与处理

实习1a:已知1951-2010年1月蒙古高压强度指数、面积指数、经度指数、纬度指数序列资料分别为p.dat、s.dat、lon.dat和lat.dat。利用Fortran语言编写程序,调用子程序计算这四个指数的气候态(均值)、变率(均方差)和距平值,并将这四个指数的均值和变率写入十进制文件mh1.dat和二进制文件mh1.grd,将这四个指数的距平值写入十进制文件mh2.dat和二进制文件mh2.grd. 文件均保存于sx01文件夹下。
实习1b:已有实习生成的1951-2010年1月蒙古高压强度指数、面积指数、经度指数、纬度指数这四个指数的距平值二进制文件mh2.grd,数据描述文件mh2.ctl 保存于sx01文件夹下。利用Grads下列语句输出这四个指数距平的一维时间分布图,并逐一截屏保存。
  1. 编写fortran文件生成数据
  1. 编写gs文件 mh1.ctl
  • 已有实习生成的1951-2010年1月蒙古高压强度指数、面积指数、经度指数、纬度指数这四个指数的距平值二进制文件mh2.grd,数据描述文件mh2.ctl 保存于sx01文件夹下。
  • 利用Grads基本语句输出这四个指数距平的一维时间分布图,并逐一截屏保存。
mh2.ctl
  1. 编写gs文件

实习二 数据文件的转换及数据描述文件的建立、基本操作命令

现有sx02文件夹下有十进制月平均风场数据:200hPa纬向风u200.dat、经向风v200.dat;850hPa纬向风u850.dat、经向风v850.dat。时间范围:2002.1-2005.12共48个月,经纬度范围:60-150°E,0-40°N,分辨率为2.5°×2.5°。 (1)编写Fortran程序,将十进制数据资料文件转换成二进制月平均风场文件:uv.grd; (2)写出二进制文件相应的数据描述文件:uv.ctl; (3)利用GrADS基本操作命令显示该地区显示2002年7月850hPauv风场和200hPa uv风场,并逐一保存图形。
编程时数组大小: - X方向格点数:(初始经度-结束经度)/格距+1 (150-60)/2.5+1=37 - Y方向格点数:(初始纬度-结束纬度)/格距+1 (40-0)/2.5+1=17 - Z方向层数: u、v为850、 200hPa ,Z为2 - T时次:月平均资料,4年,共48个月
sx02.f90
uv.ctl
uv-1.gs
uv-2.gs

实习三 GrADS绘图要素的设置和基础绘图命令

(1)一维单变量绘图 1951-2010年1月蒙古高压强度指数、面积指数、经度指数、纬度指数这四个指数的距平已按照GrADS要求写入二进制文件mh2.grd,其数据描述文件为mh2.ctlmh2.grdmh2.ctl保存于sx03文件夹下。请将1951-2010年强度指数距平和面积指数距平绘制为折线,将经度指数距平和纬度指数距平绘制为直方图。
(2)二维单变量绘图 NCEP/NCAR再分析纬向风月平均数据的二进制数据uwnd.mon.mean.nc存于sx03文件夹下。绘制2023年7月120 °E、 0-90N 、1000~100hPa纬向风的纬度-层次剖面图,并以120 °E为标题,将图形保存为u.png。
mh2.gs
u.gs

实习四 GrADS 变量与函数及描述语言的应用

sx04文件夹下有: 全球月平均降水数据pr_wtr.eatm.mon.mean.nc,1层。 时间从1948年1月开始,水平格距 2.5*2.5 - nc文件打开:sdfopen filename.nc - nc文件的维数设置、格距、缺测值的查询: - q ctlinfo
编写gs文件提取1951年至2010年 60年 7月降水数据pre7.grd
编写pre7.grd的数据描述文件pre7.ctl
  1. 计算7月降水的60年平均值,绘制70-140ºE、15-55ºN区域降水的多年平均值,并在我国降水带大值中心(117.5E,32.5N)标注字母W,存为.png图形
4)计算1951年至2010年 7月降水距平,绘制1998年7 月全球降水距平场,要求: A、正距平区填色,画色标; B、设置等值线线间隔为2; C、保存为.png图形,白底。 注:1998年为强厄尔尼诺年次年夏天。2000年夏天为 拉尼娜年次年夏天。有兴趣的同学可以再绘制2000年 7月降水距平,与1998年7月降水距平对比看看。

实习五 Nino3.4海温指数与全球降水相关分析

1、所用数据: - 1951年1月至2013年12月Nino3.4区(热带太平洋西经170度西经120度、北纬5度南纬5度)区域平均海温指数资料Nino34.txt。共有63行数据,每行数据第一个数字为年份,后面12个数字为该年1-12月的海温指数; - 1951年至2010年 60年7月全球降水数据pre7.grd,x、y方向格点数分别为144和73,水平格距2.5*2.5,为地面变量。相应ctl文件为pre.ctl。
2、实习要求: 1) 用Fortran编写corr.grid.f90文件,计算1951-2010年 1月Nino34海温指数与7月降水的相关系数,计算结果保存于corr.txt和corr.grd 文件中; 2) 编书写corr.grd 的数据描述文件corr.ctl; 3) 编写corr.gs文件,绘制1951-2010年 1月Nino34海温指数与7月降水的相关系数等值线图,通过95%置信度检验的区域填色(60年相关系数95%、99%置信度检验的临界值分别为0.25和0.325)。
2、ctl 文件
3、gs 文件
 

© Morgan Woods 2024 - 2025