Write an array of reals into a file of the given name.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
character(len=*), | intent(in) | :: | filename | Name of the file to write the data to. If the file already exists, the data will be appended. |
||
character(len=*), | intent(in) | :: | label | Label to identify the point in the program execution, where the data was written. |
||
real(kind=rk), | intent(in) | :: | dat(:) | Data to write to the file |
subroutine tem_probing_write(filename, label, dat)
! -------------------------------------------------------------------- !
!> Name of the file to write the data to.
!! If the file already exists, the data will be appended.
character(len=*), intent(in) :: filename
!> Label to identify the point in the program execution, where the
!! data was written.
character(len=*), intent(in) :: label
!> Data to write to the file
real(kind=rk), intent(in) :: dat(:)
! -------------------------------------------------------------------- !
logical :: is_oldfile
integer :: probeunit
! -------------------------------------------------------------------- !
inquire(file=trim(filename), exist = is_oldfile)
probeunit = newunit()
if (is_oldfile) then
open( probeunit, file=filename, status='old', position='append', &
& action='write' )
else
open( probeunit, file=filename, status='new', action='write' )
end if
write(probeunit,*) dat, ' !', trim(label)
close(probeunit)
end subroutine tem_probing_write