最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

GrADS绘图实习

IT圈 admin 29浏览 0评论

2024年5月29日发(作者:蔺颀)

实用文档

实习一 数据文件的转换及数据描述文件的建立

一、实习资料:

现在“data”文件夹下有ASCII码数据资料文件:月平均风场 (、、

、)、月平均高度场 (),2002.1-2005.12共48个月,资料的水

平网格范围是M×N个网格点(M=37,N=17),分辨率为2.5°×2.5°,自西向东经度60-150°

E,由南至北纬度0-40°N。

二、 实习要求:

编写出将ASCII码数据资料文件:月平均风场和月平均高度场分别转换成二进制无格式直

接存取(GrADS数据格式)文件(和文件)的Fortran程序,给出相应的数据

描述文件(和文件),并利用GrADS基本操作命令显示该地区850hPa和200hpa

uv风场,最后保存图形。

三、实习目的:

通过编写该程序,进一步熟悉数据GrADS的数据格式,熟练编写将ASCII码数据转换为二

进制格式的Fortran程序以及建立相应的CTL文件。

四、实习步骤:

4.1 利用“写字板”程序打开*.dat数据文件,熟悉该数据资料;

4.2 按要求编写Fortran程序,将所给的ASCII码数据资料文件转换成二进制无格式直接存取

文件,结果保存为;

4.3 通过“写字板”或“记事本”程序编写相应的数据描述文件,保存为;

4.4 画出2002年1月850hpa风场图,与图1比较验证数据正确性;

4.5 利用GrADS基本操作命令(open,display,print等)显示2002年7月850hpa和200hpa uv

风场图形;

4.5 完成实习报告

1)说明所用资料

资料名称:月平均风场 (、、、);

月平均高度场 ()

范围:60~150E,0~40N.

层次:风场,850 hPa、200hPa;高度场,500hPa;

时段:2002.1~2005.12共48个月。

变量名:u v hgt

标准

实用文档

分辨率:2.5*2.5,格点数:37*17

资料读取文件:data.f90

2)给出所编写的Fortran程序:

parameter(nx=37,ny=17,nz=1,nt=48)

dimension

u1(nx,ny,nz,nt),v1(nx,ny,nz,nt),u2(nx,ny,nz,

nt),v2(nx,ny,nz,nt),hgt(nx,ny,nz,nt)

open(1,file='')

open(2,file='')

open(3,file='')

open(4,file='')

open(11,file='')

open(12,file='',form='binary')

open(13,file='',form='binary')

do 100 it=1,nt

do 50 iz=1,nz

read(1,*) ((u1(i,j,iz,it),i=1,nx),j=1,ny)

read(3,*) ((u2(i,j,iz,it),i=1,nx),j=1,ny)

50 continue

do 51 iz=1,nz

read(2,*) ((v1(i,j,iz,it),i=1,nx),j=1,ny)

read(4,*) ((v2(i,j,iz,it),i=1,nx),j=1,ny)

51 continue

do 52 iz=1,nz

read(11,*)

((hgt(i,j,iz,it),i=1,nx),j=1,ny)

52 continue

3)给出所编写的数据描述文件

dset C:

undef -9.99E+13

title two levels air data

xdef 37 linear 60.0 2.5

ydef 17 linear 0.0 2.5

zdef 2 levels 850 200

tdef 48 linear JAN2002 1mo

vars 2

标准

100 continue

do 200 it=1,nt

do 30 iz=1,nz

write(12) ((u2(i,j,iz,it),i=1,nx),j=1,ny)

write(12) ((u1(i,j,iz,it),i=1,nx),j=1,ny)

30 Continue

do 31 iz=1,nz

write(12) ((v2(i,j,iz,it),i=1,nx),j=1,ny)

write(12) ((v1(i,j,iz,it),i=1,nx),j=1,ny)

31 continue

do 55 iz=1,nz

write(13)

((hgt(i,j,iz,it),i=1,nx),j=1,ny)

55 continue

200 continue

CLOSE(1)

CLOSE(2)

CLOSE(3)

CLOSE(4)

CLOSE(11)

CLOSE(12)

CLOSE (13)

end

u 2 99 u wind(m/s)

v 2 99 v wind(m/s)

endvars

2024年5月29日发(作者:蔺颀)

实用文档

实习一 数据文件的转换及数据描述文件的建立

一、实习资料:

现在“data”文件夹下有ASCII码数据资料文件:月平均风场 (、、

、)、月平均高度场 (),2002.1-2005.12共48个月,资料的水

平网格范围是M×N个网格点(M=37,N=17),分辨率为2.5°×2.5°,自西向东经度60-150°

E,由南至北纬度0-40°N。

二、 实习要求:

编写出将ASCII码数据资料文件:月平均风场和月平均高度场分别转换成二进制无格式直

接存取(GrADS数据格式)文件(和文件)的Fortran程序,给出相应的数据

描述文件(和文件),并利用GrADS基本操作命令显示该地区850hPa和200hpa

uv风场,最后保存图形。

三、实习目的:

通过编写该程序,进一步熟悉数据GrADS的数据格式,熟练编写将ASCII码数据转换为二

进制格式的Fortran程序以及建立相应的CTL文件。

四、实习步骤:

4.1 利用“写字板”程序打开*.dat数据文件,熟悉该数据资料;

4.2 按要求编写Fortran程序,将所给的ASCII码数据资料文件转换成二进制无格式直接存取

文件,结果保存为;

4.3 通过“写字板”或“记事本”程序编写相应的数据描述文件,保存为;

4.4 画出2002年1月850hpa风场图,与图1比较验证数据正确性;

4.5 利用GrADS基本操作命令(open,display,print等)显示2002年7月850hpa和200hpa uv

风场图形;

4.5 完成实习报告

1)说明所用资料

资料名称:月平均风场 (、、、);

月平均高度场 ()

范围:60~150E,0~40N.

层次:风场,850 hPa、200hPa;高度场,500hPa;

时段:2002.1~2005.12共48个月。

变量名:u v hgt

标准

实用文档

分辨率:2.5*2.5,格点数:37*17

资料读取文件:data.f90

2)给出所编写的Fortran程序:

parameter(nx=37,ny=17,nz=1,nt=48)

dimension

u1(nx,ny,nz,nt),v1(nx,ny,nz,nt),u2(nx,ny,nz,

nt),v2(nx,ny,nz,nt),hgt(nx,ny,nz,nt)

open(1,file='')

open(2,file='')

open(3,file='')

open(4,file='')

open(11,file='')

open(12,file='',form='binary')

open(13,file='',form='binary')

do 100 it=1,nt

do 50 iz=1,nz

read(1,*) ((u1(i,j,iz,it),i=1,nx),j=1,ny)

read(3,*) ((u2(i,j,iz,it),i=1,nx),j=1,ny)

50 continue

do 51 iz=1,nz

read(2,*) ((v1(i,j,iz,it),i=1,nx),j=1,ny)

read(4,*) ((v2(i,j,iz,it),i=1,nx),j=1,ny)

51 continue

do 52 iz=1,nz

read(11,*)

((hgt(i,j,iz,it),i=1,nx),j=1,ny)

52 continue

3)给出所编写的数据描述文件

dset C:

undef -9.99E+13

title two levels air data

xdef 37 linear 60.0 2.5

ydef 17 linear 0.0 2.5

zdef 2 levels 850 200

tdef 48 linear JAN2002 1mo

vars 2

标准

100 continue

do 200 it=1,nt

do 30 iz=1,nz

write(12) ((u2(i,j,iz,it),i=1,nx),j=1,ny)

write(12) ((u1(i,j,iz,it),i=1,nx),j=1,ny)

30 Continue

do 31 iz=1,nz

write(12) ((v2(i,j,iz,it),i=1,nx),j=1,ny)

write(12) ((v1(i,j,iz,it),i=1,nx),j=1,ny)

31 continue

do 55 iz=1,nz

write(13)

((hgt(i,j,iz,it),i=1,nx),j=1,ny)

55 continue

200 continue

CLOSE(1)

CLOSE(2)

CLOSE(3)

CLOSE(4)

CLOSE(11)

CLOSE(12)

CLOSE (13)

end

u 2 99 u wind(m/s)

v 2 99 v wind(m/s)

endvars

发布评论

评论列表 (0)

  1. 暂无评论