Class dycore_out_mod
In: dynamics/dycore_out.f90

begin

Dependency

Methods

Included Modules

dycore_type_mod io_gt4_out_mod dc_trace

Public Instance methods

Subroutine :

Dependency

[Source]

  subroutine dycore_out_end
  !==== Dependency
    use io_gt4_out_mod, only : io_gt4_out_end
    use dc_trace,       only : BeginSub, EndSub, DbgMessage
                                                                 !=end
    implicit none

    !-------------------------------------------------------------------
    !   変数定義
    !-------------------------------------------------------------------
    !----- 作業用内部変数 -----
    character(len = *),  parameter:: subname = "dycore_out_end"

  continue

    !----------------------------------------------------------------
    !   Check Initialization
    !----------------------------------------------------------------
    call BeginSub(subname)
    if ( .not. dycore_out_initialized) then
       call EndSub( subname, 'dycore_out_init was not called',        c1=trim(subname) )
       return
    else
       dycore_out_initialized = .false.
    endif

    call io_gt4_out_end

    call EndSub(subname)
  end subroutine dycore_out_end
Subroutine :
Dims :type(DYCORE_DIMS), intent(in)
: 次元データ全種 =end —— 作業用内部変数 ——

[Source]

  subroutine dycore_out_init(Dims)
    use dycore_type_mod, only: DYCORE_DIMS
    use io_gt4_out_mod , only: io_gt4_out_init, io_gt4_out_SetDims,                      io_gt4_out_SetVars
    use dc_trace       , only: BeginSub, EndSub, DbgMessage
                                                                 !=end
    implicit none
                                                                 !=begin
    !==== Input
    !
    type(DYCORE_DIMS), intent(in):: Dims  ! 次元データ全種
                                                                 !=end
    !----- 作業用内部変数 -----
    character(len = *),  parameter:: subname = "dycore_out_init"

  continue

    !----------------------------------------------------------------
    !   Check Initialization
    !----------------------------------------------------------------
    call BeginSub(subname)
    if (dycore_out_initialized) then
       call EndSub( subname, '%c is already called.', c1=trim(subname) )
       return
    else
       dycore_out_initialized = .true.
    endif

    !----------------------------------------------------------------
    !   Version identifier
    !----------------------------------------------------------------
    call DbgMessage('%c :: %c', c1=trim(version), c2=trim(tagname))

    !-----------------------------------------------------------------
    !   io_gt4_out_mod の初期化
    !-----------------------------------------------------------------
    call io_gt4_out_init       ! データ出力の初期設定

    !-----------------------------------------------------------------
    !   出力用の軸データ設定
    !-----------------------------------------------------------------
    call io_gt4_out_SetDims(Dims%x_Lon)       ! 経度座標重みデータ取得
    call io_gt4_out_SetDims(Dims%y_Lat)       ! 緯度座標重みデータ取得
    call io_gt4_out_SetDims(Dims%z_Sigma)     ! 整数σレベル座標データ取得
    call io_gt4_out_SetDims(Dims%r_Sigma) ! 半整数σレベル座標データ取得

    !-----------------------------------------------------------------
    !   出力用の変数データ設定
    !-----------------------------------------------------------------
    call io_gt4_out_SetVars('VelLon')
    call io_gt4_out_SetVars('VelLat')
    call io_gt4_out_SetVars('Vor')
    call io_gt4_out_SetVars('Div')
    call io_gt4_out_SetVars('Temp')
    call io_gt4_out_SetVars('QVap')
    call io_gt4_out_SetVars('Ps')

    call EndSub(subname)
  end subroutine dycore_out_init
Subroutine :
Vars :type(DYCORE_VARS), intent(in)
: 格子点データ全種 =end —— 作業用内部変数 ——

Dependency

[Source]

  subroutine dycore_out_put(Vars)
  !==== Dependency
    use dycore_type_mod, only : DYCORE_VARS, DBKIND, REKIND
    use io_gt4_out_mod,  only : io_gt4_out_Put
    use dc_trace,        only : BeginSub, EndSub, DbgMessage, DataDump
                                                                 !=end
    implicit none
                                                                 !=begin
    !==== Input
    !
    type(DYCORE_VARS), intent(in):: Vars  ! 格子点データ全種
                                                                 !=end
    !----- 作業用内部変数 -----
    character(len = *),  parameter:: subname = "dycore_out_put"

  continue

    !----------------------------------------------------------------
    !   Check Initialization
    !----------------------------------------------------------------
    call BeginSub(subname)
    if (.not. dycore_out_initialized) then
       call EndSub( subname, 'Call dycore_out_init before call %c',         c1=trim(subname) )
       return
    endif

!!$    call io_gt4_out_Put(  'VelLon', real(Vars%xyz_VelLon(:,:,:), REKIND)  )
!!$    call io_gt4_out_Put(  'VelLat', real(Vars%xyz_VelLat(:,:,:), REKIND)  )
!!$    call io_gt4_out_Put(  'Vor' , real(Vars%xyz_Vor(:,:,:) , REKIND)  )
!!$    call io_gt4_out_Put(  'Div' , real(Vars%xyz_Div(:,:,:) , REKIND)  )
!!$    call io_gt4_out_Put(  'Temp', real(Vars%xyz_Temp(:,:,:), REKIND)  )
!!$    call io_gt4_out_Put(  'QVap', real(Vars%xyz_QVap(:,:,:), REKIND)  )
!!$    call io_gt4_out_Put(  'Ps'  , real(Vars%xy_Ps(:,:)     , REKIND)  )

    call io_gt4_out_Put(  'VelLon', real(Vars%xyz_VelLon(:,:,:), DBKIND)  )
    call io_gt4_out_Put(  'VelLat', real(Vars%xyz_VelLat(:,:,:), DBKIND)  )
    call io_gt4_out_Put(  'Vor' , real(Vars%xyz_Vor(:,:,:) , DBKIND)  )
    call io_gt4_out_Put(  'Div' , real(Vars%xyz_Div(:,:,:) , DBKIND)  )
    call io_gt4_out_Put(  'Temp', real(Vars%xyz_Temp(:,:,:), DBKIND)  )
    call io_gt4_out_Put(  'QVap', real(Vars%xyz_QVap(:,:,:), DBKIND)  )
!!$    call io_gt4_out_Put(  'Ps'  , real(Vars%xy_Ps(:,:)     , DBKIND)  )

    ! テスト用に、一時 hPa で出力
    call io_gt4_out_Put(  'Ps'  , real(Vars%xy_Ps(:,:)     , DBKIND)/100.0d0  )

    call EndSub(subname)
  end subroutine dycore_out_put

[Validate]