write_matching_plane_summary Subroutine

public subroutine write_matching_plane_summary(u, receipt)

receipt を表の順に summary.txt へ書く。

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: u
type(matching_plane_stats), intent(in) :: receipt

Source Code

  subroutine write_matching_plane_summary(u, receipt)
    integer, intent(in) :: u
    type(matching_plane_stats), intent(in) :: receipt
    integer :: k, real_index
    real(dp) :: real_values(receipt_real_count)

    real_values = receipt_real_values(receipt)
    real_index = 0
    do k = 1, size(receipt_keys)
      select case (receipt_keys(k)%value_kind)
      case (value_logical)
        write (u, '(a,l1)') trim(receipt_keys(k)%name)//'=', receipt%state_valid
      case (value_integer)
        write (u, '(a,i0)') trim(receipt_keys(k)%name)//'=', receipt%iterations
      case (value_spectrum)
        write (u, '(a,*(1x,es24.16))') trim(receipt_keys(k)%name)//'=', receipt%photoelectron_spectrum_m2_s
      case (value_real)
        real_index = real_index + 1
        write (u, '(a,es24.16)') trim(receipt_keys(k)%name)//'=', real_values(real_index)
      end select
    end do
  end subroutine write_matching_plane_summary