write_gs2d Subroutine

public subroutine write_gs2d(filename)

FIXME : Add documentation

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: filename

Contents

Source Code


Source Code

  subroutine write_gs2d(filename)
    implicit none
    character(len = *), intent(in) :: filename
    integer :: unit
    open(newunit = unit, file = filename, status = 'unknown')
    write(unit, fmt='("GS2 input file",T30,"Produced by GS2D at:",a40)') ' '
    write(unit, fmt='(A80/,"GS2D Equilibrium Boundary description:",3(/A80))') repeat('-',80),' ',' ',repeat('-',80)
    write(unit, fmt='(T2,"r0",T15,"a",T27,"rmag",T39,"zmag (m)"/1p,4e16.8)') r0,a,rmag,zmag
    write(unit, fmt='(T2,"psmin",T15,"psedge (Wb)",T27,"b0 (T)",T39,"ip(A)"/1p,4e16.8)') psmin,psip,b0,ippsi
    write(unit, fmt='("nfs"/I6)') nsurf
    write(unit, fmt='("Psi on 1d grid (for FS quantities) (T)")')
    write(unit, fmt='(1p,8e16.8)') ps
    write(unit, fmt='("amin_gs2d (m)")')
    write(unit, fmt='(1p,8e16.8)') amin_gs2d
    write(unit, fmt='("q")')
    write(unit, fmt='(1p,8e16.8)') q
    write(unit, fmt='("f =r B_phi (Tm)")')
    write(unit, fmt='(1p,8e16.8)') f
    write(unit, fmt='("p (Pa)")')
    write(unit, fmt='(1p,8e16.8)') p
    write(unit, fmt='("dp/dpsi (Pa/Wb)")')
    write(unit, fmt='(1p,8e16.8)') pp
    write(unit, fmt='("No of points on LCFS=",I6)') nsep
    write(unit, fmt='("r(j) (m) on LCFS")')
    write(unit, fmt='(1p,8e16.8)') rsep
    write(unit, fmt='("z(j) (m) on LCFS")')
    write(unit, fmt='(1p,8e16.8)') zsep
    write(unit, fmt='("NR",T14,"NZ"/2I6)') NR, NZ
    write(unit, fmt='("rgrid (m)")')
    write(unit, fmt='(1p,8e16.8)') rgrid
    write(unit, fmt='("zgrid (m)")')
    write(unit, fmt='(1p,8e16.8)') zgrid
    write(unit, fmt='("Psi on grid (Wb) : NB Br=(1/2pi r)*dpsi/dz")')
    write(unit, fmt='(1p,8e16.8)') psi
    close(unit)
  end subroutine write_gs2d