Advertisement
Guest User

Untitled

a guest
Mar 21st, 2019
94
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.       program test
  2.           implicit none
  3.           REAL:: age, y, z, feh
  4.           REAL, dimension(10):: age1
  5.           real, dimension(3):: y1
  6.           real, dimension(9):: z1
  7.           real, dimension(6):: feh1
  8.           real, dimension(2):: age2(2), y2(2), z2(2), feh2(2)
  9.           real, dimension(416):: age3(416), y3(416), z3(416), feh3(416)
  10.       real, dimension(1000000)::flx2(2,2,2,2,40000),flx(40000,416),
  11.      * wavn(40000,1)
  12.  
  13.           integer i, i1, j1, j, k, l, nl
  14.           DATA age1/9.7,9.75,9.8,9.85,9.9,9.95,10.0,10.05,10.1,10.15/
  15.           DATA y1/0.23,0.26,0.30/
  16.           DATA z1/0.0001,0.0004,0.002,0.002,0.004,0.008,0.017,0.04,0.07/
  17.           DATA feh1/0.00316,0.01,0.0316,0.1,0.316,1.0/
  18.           OPEN(1,file='input.txt')
  19.           read(1,*) age, y, z
  20.           close(1)
  21.           feh = z/0.017
  22.           OPEN(2,file='feh.txt',status='replace')
  23.           WRITE(2,6) "age=",age, "y=",y, "z=",z, "Fe/H=",feh
  24.           close(2)
  25.           open(3,file='border.txt')
  26.           do i = 1, 10
  27.           if(age1(i).lt.age.and.age1(i+1).gt.age) then
  28.           write(3,6) "age1=", age1(i), "age2=", age1(i+1)
  29.           age2(1)=age1(i)
  30.           age2(2)=age1(i+1)
  31.           endif
  32.           enddo
  33.           do i=1,3
  34.           if(y1(i).lt.y.and.y1(i+1).gt.y) then
  35.           write(3,6) "y1=", y1(i), "y2=", y1(i+1)
  36.           y2(1)=y1(i)
  37.           y2(2)=y1(i+1)
  38.           end if
  39.           end do
  40.           do i=1,9
  41.           if(z1(i).lt.z.and.z1(i+1).gt.z) then
  42.           write(3,6) "z1=", z1(i), "z2=", z1(i+1)
  43.           z2(1)=z1(i)
  44.           z2(2)=z1(i+1)
  45.           end if
  46.           end do
  47.           do i=1,9
  48.           if(feh1(i).lt.feh.and.feh1(i+1).gt.feh) then
  49.           write(3,6) "Fe/H1=", feh1(i),"Fe/H2=", feh1(i+1)
  50.           feh2(1)=feh1(i)
  51.           feh2(2)=feh1(i+1)
  52.           end if
  53.           end do
  54.           close(3)
  55.  
  56.           open(4,file='FLUXTREC.dat')
  57.           open(5,file='wtf.txt')
  58.           open(6,file='result.txt')
  59.           nl=40000
  60.           read(4,5) (wavn(i,1),i=1,nl)
  61.           write(5,*) (wavn(i,1),i=1,nl)
  62.           do j1=1,415
  63.           read(4,7,end=100) age3(j1),y3(j1),z3(j1),feh3(j1),(flx(i1,j1),
  64.      *i1=1,nl)
  65.           do i=1,2
  66.           do j=1,2
  67.           do k=1,2
  68.           do l=1,2
  69.           if(age3(j1).eq.age2(i).and.y3(j1).eq.y2(j).and.z3(j1).eq.z2(k)
  70.      *.and.feh3(j1).eq.feh2(l)) then
  71.           write(6,8) age3(j1),y3(j1),z3(j1),feh3(j1), (flx(i1,j1),
  72.      *i1=1,nl)
  73.   !        flx2(i,j,k,l,i1)=flx(i1)
  74.           endif
  75.           end do
  76.           end do
  77.           end do
  78.           end do
  79.           end do
  80.  
  81.  100     continue
  82.           close(4)
  83.           close(5)
  84.           close(6)
  85. 7         format(2x,F8.5,3x,F7.5,3x,F7.5,3x,F7.5,40000E11.4)
  86. 5         format(40x,414F11.4)
  87. 6         format(2X,A6,F9.6,4X,A6,F9.6,A6,F9.6)
  88. 8         format(f6.3,3x,f5.3,3x,f7.5,3x,f8.6,3x,40000E11.4)
  89.        end program test
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement