第一次发图,捣鼓了半天才传上去,不好意思
这是fortran程序:
parameter(nt=92) integer::n,num real,allocatable::lon(:),lat(:),altitude(:),tmax(:) !动态数组分别用来储存站点的经纬度和日最高温度 character*8,allocatable::sta(:) !动态数组,储存站号,站号必须是8个字符,5个的话会stnmap不出来 character*12 filename(nt) !用于储存92个时次的文件名6.1-8.31 open(11,file='filename.txt') do i=1,nt read(11,*) filename(i) !print*,filename(i) enddo close(11) open(12,file='tmax.grd',form='binary') !储存80个时次的最高气温场 do k=1,nt open(13,file=filename(k)) read(13,*) read(13,*) read(13,*) read(13,*) read(13,*) n,n !将该时次的站点数赋值于 n allocate(lat(n)) allocate(lon(n)) allocate(tmax(n)) allocate(altitude(n)) allocate(sta(n)) !print*,n do j=1,n !此循环为该时次的站点循环 read(13,*)sta(j),lon(j),lat(j),altitude(j),tmax(j) !print*,tmax(j) tim=0.0;nlev=1;nflag=1 write(12)sta(j),lat(j),lon(j),tim,nlev,nflag,tmax(j) enddo nlev=0 write(12)sta(n),lat(n),lon(n),tim,nlev,nflag !一个时次的高温场输入完毕 deallocate(lat) deallocate(lon) deallocate(tmax) deallocate(altitude) deallocate(sta) close(13) close(12) ! pause enddo end
|