Newer
Older
module sfx_io
!> @brief surface flux model I/O subroutines
implicit none
public
contains
!> @brief write data (2 vectors) in simple ascii format
! ----------------------------------------------------------------------------
subroutine write_ascii_vec2(fname, var1, var2, n, stat)
implicit none
integer, intent(out) :: stat
character(*), intent(in) :: fname
integer, intent(in) :: n
real, dimension(n), intent(in) :: var1, var2
! ----------------------------------------------------------------------------
! --- local variables
integer i
! ----------------------------------------------------------------------------
open(1, FILE = trim(fname), iostat = stat)
if (stat /= 0) return
do i = 1, n
write(1, *, iostat = stat) var1(i), var2(i)
if (stat /= 0) exit
end do
end subroutine write_ascii_vec2
! ----------------------------------------------------------------------------
!> @brief write data (11 vectors) in simple ascii format
! ----------------------------------------------------------------------------
subroutine write_ascii_vec11(fname, &
var1, var2, var3, var4, var5, var6, var7, var8, var9, var10, var11, &
n, fmt, stat)
implicit none
integer, intent(out) :: stat
character(*), intent(in) :: fname
character(*), intent(in) :: fmt
integer, intent(in) :: n
real, dimension(n), intent(in) :: var1, var2, var3, var4, var5
real, dimension(n), intent(in) :: var6, var7, var8, var9, var10, var11
! ----------------------------------------------------------------------------
! --- local variables
integer i
! ----------------------------------------------------------------------------
open(32, FILE = trim(fname), iostat = stat)
if (stat /= 0) return
do i = 1, n
write(32, fmt, iostat = stat) var1(i), var2(i), var3(i), var4(i), var5(i), &
var6(i), var7(i), var8(i), var9(i), var10(i), var11(i)
if (stat /= 0) exit
end do
end subroutine write_ascii_vec11
! ----------------------------------------------------------------------------
end module sfx_io