Class clockset
In: ../src/setup/clockset.f90

引数に与えられた NAMELIST ファイルから, 時刻に関する情報を取得し, 保管するための変数型モジュール

Methods

Included Modules

dc_types dc_message dc_clock mpi_wrapper timeset

Public Instance methods

Subroutine :

時刻計測終了

[Source]

  subroutine ClocksetClose
    ! 時刻計測終了
    !
    implicit none

    if (myrank == 0) then     
      call DCClockResult( clks = (/clock_init, clock_loop/), total_auto = .true. )                ! (in)
    end if
    call DCClockClose( clk = clock_init )    ! (inout)       ! Finalize (後処理)
    call DCClockClose( clk = clock_loop )    ! (inout)       ! Finalize (後処理)
    
  end subroutine ClocksetClose
Subroutine :

時間計測 初期化

[Source]

  subroutine ClocksetInit
    ! 時間計測 初期化
    !
    implicit none
    
    ! 初期化ルーチン用の時刻計測初期化
    !
    call DCClockCreate( clk = clock_init, name = 'initialization' )   ! (in)

    ! 時間発展ループ用の時刻計測初期化
    !
    call DCClockCreate( clk = clock_loop, name = 'time-integration' ) ! (in)

  end subroutine ClocksetInit
Subroutine :

時刻計測開始

[Source]

  subroutine ClocksetLoopStart
    ! 時刻計測開始
    !
    implicit none

    call DCClockStart(clk = clock_loop) ! (inout)   ! Start CPU time counting 

  end subroutine ClocksetLoopStart
Subroutine :

時刻計測開始

[Source]

  subroutine ClocksetLoopStop
    ! 時刻計測開始
    !
    implicit none

    call DCClockStop(clk = clock_loop) ! (inout)    ! Stop CPU time counting 
                                                    ! (CPU 時間計測終了)    

  end subroutine ClocksetLoopStop
Subroutine :

時刻計測開始

[Source]

  subroutine ClocksetPreStart
    ! 時刻計測開始
    !
    implicit none
    
    call DCClockStart(clk = clock_init) ! (inout)   ! Start CPU time counting 
    
  end subroutine ClocksetPreStart
Subroutine :

時刻計測開始

[Source]

  subroutine ClocksetPreStop
    ! 時刻計測開始
    !
    implicit none
    
    call DCClockStop(clk = clock_init) ! (inout)    ! Stop CPU time counting 
                                                    ! (CPU 時間計測終了)    
  end subroutine ClocksetPreStop
Subroutine :

時刻計測開始

[Source]

  subroutine ClocksetPredict
    ! 時刻計測開始
    !
    implicit none
    real(4) :: progress 

    progress = real((TimeA - RestartTime) / IntegPeriod, 4)

    if (myrank == 0) then 
      write(*,*) ""
      call MessageNotify( "M", "main", "Time = %f", d=(/TimeA/) )

      ! CPU time measurement stops, temporarily.
      call ClocksetLoopStop

      call DCClockPredict( clk = clock_init + clock_loop, progress = progress )

      ! CPU time measurement starts again.
      call ClocksetLoopStart

    end if

  end subroutine ClocksetPredict