00001 subroutine makeline
00002   use phys_constant, only : long
00003   use def_metric
00004   use grid_parameter, only  : nrg, ntg, npg
00005   use coordinate_grav_r, only : rg
00006   use coordinate_grav_theta, only : thg
00007   use coordinate_grav_phi, only : phig 
00008   implicit none
00009   integer :: ok, ir0,it0,ip0, irg, itg, ipg
00010   character(10) :: char1, char2, char3, char11, char22, char33
00011   character(30) :: char_file
00012 
00013   open(11,file='line.dat',status='unknown')
00014   ok=0
00015   do while (ok==0)
00016     read(11,'(5i5)',iostat=ok) ir0,it0,ip0
00017 
00018   
00019     write(char1, '(i5)') ir0
00020     write(char2, '(i5)') it0
00021     write(char3, '(i5)') ip0
00022     char11 = adjustl(char1)
00023     char22 = adjustl(char2)
00024     char33 = adjustl(char3)
00025 
00026     if      (ir0.eq.(-1)) then
00027       char_file = 'line_it' // trim(char22) // '_ip' // trim(char33) // '.txt'
00028     else if (it0.eq.(-1)) then
00029       char_file = 'line_ir' // trim(char11) // '_ip' // trim(char33) // '.txt'
00030     else if (ip0.eq.(-1)) then
00031       char_file = 'line_ir' // trim(char11) // '_it' // trim(char22) // '.txt'
00032     endif
00033 
00034 
00035 
00036 
00037 
00038     open(12, file=char_file, status='unknown')
00039     if      (ir0.eq.(-1).and.it0.le.ntg.and.ip0.le.npg) then
00040       do irg = 0, nrg
00041         write(12,'(1p,6e20.12)') rg(irg),  psi(irg,it0,ip0)  &
00042         &                               , alph(irg,it0,ip0)  &
00043         &                               , bvxd(irg,it0,ip0)  &
00044         &                               , bvyd(irg,it0,ip0)  &
00045         &                               , bvzd(irg,it0,ip0)
00046       end do
00047     else if (it0.eq.(-1).and.ir0.le.nrg.and.ip0.le.npg) then
00048       do itg = 0, ntg
00049         write(12,'(1p,6e20.12)') thg(itg),  psi(ir0,itg,ip0)  &
00050         &                                , alph(ir0,itg,ip0)  &
00051         &                                , bvxd(ir0,itg,ip0)  &
00052         &                                , bvyd(ir0,itg,ip0)  &
00053         &                                , bvzd(ir0,itg,ip0)
00054       end do    
00055     else if (ip0.eq.(-1).and.it0.le.ntg.and.ir0.le.nrg) then
00056       do ipg = 0, ntg
00057         write(12,'(1p,6e20.12)') phig(ipg),  psi(ir0,it0,ipg)  &
00058         &                                 , alph(ir0,it0,ipg)  &
00059         &                                 , bvxd(ir0,it0,ipg)  &
00060         &                                 , bvyd(ir0,it0,ipg)  &
00061         &                                 , bvzd(ir0,it0,ipg)
00062       end do        
00063     endif
00064     close(12)
00065   end do
00066   close(11)
00067 end subroutine makeline