- 积分
- 318
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2021-3-21
- 最后登录
- 1970-1-1
|
登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
!此程序为EOF程序
! 运行时要改动前面的空间、时间格点以及文件路径,ks和kvt根据自己的需要进行改动
!程序中自动去除缺省值并将其写回生成数据(生成数据中缺省值为-9999.0)
!对程序中data_in到F的传递 进行调整后 此程序也可用于s-eof和mv-eof
!
PROGRAM EOF
IMPLICIT NONE
INTEGER,PARAMETER :: nt=365, nx=144, ny=73, nn=1 ! you need change,NT为时间长度
INTEGER,PARAMETER ::M=nt,KS=-1,KVT=4 !kvt为输出的模态数
! KS的设置: ks>0 计算前先将数据标准化 ,
! ks=0时取距平,ks<0时不进行这一步处理
INTEGER :: i,j ,MNH,N ,K,IM , m1, in
REAL, allocatable,dimension(:,:,:)::DATA_IN1, DATA_IN2, DATA_IN3
REAL, allocatable,dimension(:,:) :: F,S,ER,A,S1,F1, fss1, fss2, fss3
CHARACTER(LEN=20) :: NOW , TRACK, per
REAL :: land(nx,ny), D,AVE, PT1(NX,NY,kvt),PT2(NX,NY,kvt), PT3(NX,NY,kvt),ran1
real, parameter :: undef=-9.99e+8
TRACK='' !输出的目标文件夹,默认为程序所在文件夹
do in=1, nn
write(per,'(i3)') in
print*, 'current window is', in
call time(now)
print*, now
!!1111111111读入数据并去掉缺省值11111111111111
ALLOCATE(DATA_IN1(NX,NY,NT))
ALLOCATE(DATA_IN2(NX,NY,NT))
ALLOCATE(DATA_IN3(NX,NY,NT))
data_in1(:,:,:)=0.0; data_in2(:,:,:)=0.0; data_in3(:,:,:)=0.0
open(13,file='D:\monsoonwork\uwnd850.dat',& !改路径(u850) (我)
& status='unknown',form='unformatted',access='direct',recl=nx*ny)
open(14,file='D:\monsoonwork\vwnd850.dat',& !改路径(v850)(我)
& status='unknown',form='unformatted',access='direct',recl=nx*ny)
open(15,file='D:\monsoonwork\olr.dat',& !改路径(olr)(我)
& status='unknown',form='unformatted',access='direct',recl=nx*ny)
DO K=1, NT
READ(13,rec=K) ((data_in1(I,J,K),I=1,nx),J=1,ny) !(u850)
READ(14,rec=K) ((data_in2(I,J,K),I=1,nx),J=1,ny) !(v850)
READ(15,rec=K) ((data_in3(I,J,K),I=1,nx),J=1,ny) !(olr)
enddo
CLOSE(13)
CLOSE(14)
CLOSE(15) !注意数据排列顺序
mveof-fortran.f90
(11.94 KB, 下载次数: 2)
|
-
|