⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 qiemiantu3.f90

📁 切面图的fortran程序 大家随意看看
💻 F90
字号:

program main
IMPLICIT NONE 
integer i,j,k
real slicew(313,19),w(617,447,19)
real x(313),y(313)
character(len=40) inname(30),outname(30)
character(len=3) in
character(len=10) out
character(len=80) inpath
character(len=80) outpath
character(len=5) flnm
!把slicew(18,297)换成slicew(297,18)似乎更好,因为a(i,j)与a(i+1,j)在内存中位置连续


inpath='e:\dixing\w\'
outpath='e:\dixing\slicew\'
flnm='.dat'
in='dw_'
out='slicew_'

do i=7,21
write(unit=inname(i),fmt="(a3,i0.1)")in,(i)
!inuname(i)=trim(inu)//trim(adjustl(inuname(i)))
write(unit=outname(i),fmt="(a7,i0.1)")out,(i)
!outnbename(i)=trim(outnbe)//trim(adjustl(outnbename(i)))
write(*,*) inname(i),outname(i)
enddo


do k=7,21
 write(*,*)trim(inpath)//trim(inname(k))//trim(flnm)
 write(*,*)trim(outpath)//trim(outname(k))//trim(flnm)
 open(10,file=trim(inpath)//trim(inname(k))//trim(flnm),form="binary")
 read(10)w
 close(10)
 

 x(1)=227.0
 y(1)=203.0
 do i=2,313
    x(i)=x(1)+(i-1)*0.5
	y(i)=67.0*x(i)/156.0+16459.0/156.0
 enddo
 do j=1,19
   slicew(1,j)=w(227,203,j)
   slicew(313,j)=w(383,270,j)
 enddo
 do j=1,19
   do i=2,312,2
   slicew(i,j)=(w(int(x(i)),int(y(i)),j)+w(int(x(i+1)),int(y(i)),j)+w(int(x(i)),int(y(i+1)),j)+w(int(x(i+1)),int(y(i+1)),j))/4.0
   enddo
 enddo
 do j=1,19
   do i=3,311,2
   slicew(i,j)=(w(int(x(i)),int(y(i)),j)+w(int(x(i)),int(y(i+1)),j))/2.0
   enddo
 enddo
!write(*,*)x
!write(*,*)y
open(12,file=trim(outpath)//trim(outname(k))//trim(flnm),form="binary")
!open(12,file="slicew.txt")
do j=1,19     
do i=1,313                                !j=1,297必须在里层,grads数据从内到外循环是x-y-z-v-t
 if (slicew(i,j)>=9999.0)then
   slicew(i,j)=1.e35
 endif
write(12)slicew(i,j)
enddo
enddo
CLOSE(12)
enddo
end program

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -