将NC文件转存为GRD,方便Fortran和…

*直接下载的nc文件为28*19的格点数据,1948-2013年月数据
*实现的时间起始为1960年
*it=145
year=1960
while(year<=2013)
mon=1
while(mon<=12)
it=(year-1948)*12+mon
*while(it<793)
'reinit'
'sdfopen D:\NCEP\vapor\pr_wtr.mon.mean.nc'

'set dfile 1'
'set x 29 57'
'set y 43 60'
'set t 'it''
'define qs=pr_wtr'

'set gxout fwrite'

'set fwrite D:\QS\China_allVapor_'year'.'mon'_qs.grd'

'd qs'
'disable fwrite'
mon=mon+1
endwhile
year=year+1
endwhile
;
可以使用Fortran中的`OPEN`、`READ``WRITE`语句来实现将`u.dat`文件化为二进制文件`u.grd`的操作。具体实现如下: ```fortran program convert implicit none integer :: i, j, nx, ny real*4 :: x, y, u character(20) :: infile, outfile open(10, file='u.dat', status='old', action='read') !打开u.dat文件 read(10,*) nx, ny !读取nxny的值 open(20, file='u.grd', status='replace', action='write') !打开u.grd文件 write(20) nx, ny !将nxny值写入到u.grd文件中 do j=1,ny do i=1,nx read(10,*) x, y, u !读取x、y、u的值 write(20) u !将u的值写入到u.grd文件中 end do end do close(10) !关闭u.dat文件 close(20) !关闭u.grd文件 end program convert ``` 在上述代码中,我们首先打开了`u.dat`文件,并通过`read`语句读取了文件中的`nx``ny`的值。然后,我们打开`u.grd`文件,并通过`write`语句将`nx``ny`的值写入到文件中。接着,我们通过两个嵌套的循环,读取`u.dat`文件中的每个点的`x`、`y``u`的值,并将`u`的值写入到`u.grd`文件中。最后,我们分别关闭了`u.dat``u.grd`文件。 需要注意的是,在读取`u.dat`文件时,我们使用了`real*4`类型的变量来存储`x`、`y``u`的值,这是因为`u.grd`文件是以二进制形式存储数据的,因此需要使用固定长度的数据类型来确保数据的正确读取写入。如果`u.dat`文件中的数据类型不是`real*4`,则需要相应地修改代码中的数据类型。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值