fortran-micaps

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

! read 20090416/high/height;temper;t-td;uv

! lon 32~160 interval: 4 degree

! lat 12~80 interval: 4 degree

! time 1~12: 2009.04.16.20:00~04.22.08:00 interval: 12 hours

! U,v,height,t: 1000,925,850,700,500,400,300,250,200,150,100 hpa

! BeiJing Time

!: 2010.11.27,

REAL,PARAMETER :: Omega=7.292e-5,R=6371e+3,PI=3.1415926,Delta=4,DeltaT=12,epsilonPhi=1.e3,epsilonPsi=1.e3

INTEGER,PARAMETER :: nx=33,ny=18,nz=11,nt=12

REAL F,EE,AA,BB,sign

INTEGER WtTopLevel(NX,NY,NT),Pn,Qn,Ltotal,Lnum

REAl P(NZ),deltP(10),lat(ny),lon(nx),sigmadeltD,dx,dy,epsilon,aaa,bbb

CHARACTER timefile(12)*12 ,levelfile(11)*4

real,allocatable :: temper(:,:,:,:),q(:,:,:,:),u(:,:,:,:), &

v(:,:,:,:),height(:,:,:,:),w(:,:,:,:), &

qu(:,:,:,:),qv(:,:,:,:),adq(:,:,:,:), &

adqv(:,:,:,:),theta(:,:,:,:),Wt(:,:,:,:), &

vorg(:,:,:,:),voro(:,:,:,:),div(:,:,:,:), &

deltD(:,:,:),ttd(:,:,:,:),thetaP(:,:,:,:), &

phi(:,:,:,:),residual(:,:,:,:), &

psi(:,:,:,:),advoro(:,:,:,:),advorg(:,:,:,:)

allocate (temper(NX,NY,NZ,NT),q(NX,NY,nz,NT),u(NX,NY,NZ,NT), &

v(NX,NY,NZ,NT),height(NX,NY,NZ,NT),w(NX,NY,NZ,NT), &

qu(NX,NY,NZ,NT),qv(NX,NY,NZ,NT),adq(NX,NY,NZ,NT), &

adqv(NX,NY,NZ,NT),theta(NX,NY,NZ,NT),Wt(NX,NY,NZ,NT), &

vorg(NX,NY,NZ,NT),voro(NX,NY,NZ,NT),div(NX,NY,NZ,NT), &

deltD(NX,NY,NT),ttd(NX,NY,NZ,NT),thetaP(NX,NY,NZ,NT), &

phi(NX,NY,NZ,NT),residual(NX,NY,NZ,NT), &

psi(NX,NY,NZ,NT),advoro(NX,NY,NZ,NT),advorg(NX,NY,NZ,NT))

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

DATA P /1000,925,850,700,500,400,300,250,200,150,100/

DATA deltP/75, 75, 50, 200,100,100,50, 50, 50, 50/

DATA

timefile/'09041620.000','09041708.000','09041720.000','09041808.000','09041820.000','090419 08.000', &

'09041920.000','09042008.000','09042020.000','09042108.000','09042120.000','09042208.000'/ DATA levelfile/'1000','925','850','700','500','400','300','250','200','150','100'/

do i=1,nx

lon(i)=32+(i-1)*Delta

lon(i)=lon(i)*pi/180.

enddo

do i=1,ny

lat(i)=12+(i-1)*Delta

lat(i)=lat(i)*pi/180.

enddo

!--------------read temperature----------------

DO IZ=1,NZ ! level

DO IT=1,NT ! time

OPEN(11,file='c:\micaps\temper\'//trim(levelfile(iz))//'\'//timefile(it))

do i=1,4

read(11,*)

enddo

do ij=NY,1,-1

read(11,*)(temper(ii,ij,iz,it),ii=1,NX) ! C

enddo

CLOSE(11)

ENDDO

ENDDO

!--------------read u,v -------------------------

DO IZ=1,NZ ! level

DO IT=1,NT ! time

OPEN(11,file='c:\micaps\uv\'//trim(levelfile(iz))//'\'//timefile(it))

do i=1,3

read(11,*)

enddo

do ij=NY,1,-1

read(11,*)(u(ii,ij,iz,it),ii=1,NX) ! m/s

enddo

do ij=NY,1,-1

read(11,*)(v(ii,ij,iz,it),ii=1,NX) ! m/s

enddo

CLOSE(11)

ENDDO

ENDDO

相关文档
最新文档