Class dcpam_ape_dynamics_mod
In: dynamics/dcpam_ape_dynamics.f90

Methods

Included Modules

type_mod dycore_type_mod dycore_dynamics_mod dc_trace

Public Instance methods

Subroutine :
Dims :type(DYCORE_DIMS), intent(in)
: 次元データ全種
Vars_b :type(DYCORE_VARS), intent(in)
: 格子点データ全種(t-Δt)
Vars_n :type(DYCORE_VARS), intent(in)
: 格子点データ全種(t)

==== Output

Vars_a :type(DYCORE_VARS), intent(inout)
: 格子点データ全種(t+Δt)

Dependency

[Source]

  subroutine dcpam_ape_dynamics( Dims, Vars_b, Vars_n, Vars_a )
  !==== Dependency
    use dycore_type_mod, only: DYCORE_VARS, DYCORE_DIMS, STRING, INTKIND, REKIND
    use dycore_dynamics_mod, only: dycore_dynamics_prediction, dycore_dynamics_diagnostic, dycore_dynamics_diffusion 
    use dc_trace,        only: BeginSub, EndSub, DbgMessage

    implicit none

    !==== Input
    !
    type(DYCORE_DIMS), intent(in)   :: Dims   ! 次元データ全種
    type(DYCORE_VARS), intent(in)   :: Vars_b ! 格子点データ全種(t-Δt)
    type(DYCORE_VARS), intent(in)   :: Vars_n ! 格子点データ全種(t)
    !
    !==== Output
    !
    type(DYCORE_VARS), intent(inout):: Vars_a ! 格子点データ全種(t+Δt)

    !----- 作業用内部変数 -----
    character(STRING),  parameter:: subname = "dcpam_ape_dynamics"

    continue

    !----------------------------------------------------------------
    !   開始処理
    !----------------------------------------------------------------
    call BeginSub(subname)  
  
    !----------------------------------------------------------------
    !   力学演算 (水平拡散除く) 
    !----------------------------------------------------------------
    call dycore_dynamics_prediction( Dims          , Vars_b        , Vars_n        , Vars_a  )           ! intent(inout): 格子点データ全種(t+Δt)

!!$    call DbgMessage('Not Calculate Dynamics.')
!!$    Vars_a%xyz_VelLon = Vars_b%xyz_VelLon  ! 速度経度成分
!!$    Vars_a%xyz_VelLat = Vars_b%xyz_VelLat  ! 速度緯度成分
!!$    Vars_a%xyz_Vor    = Vars_b%xyz_Vor   ! 渦度
!!$    Vars_a%xyz_Div    = Vars_b%xyz_Div   ! 発散
!!$    Vars_a%xyz_Temp   = Vars_b%xyz_Temp  ! 温度
!!$    Vars_a%xyz_QVap   = Vars_b%xyz_QVap  ! 比湿
!!$    Vars_a%xy_Ps      = Vars_b%xy_Ps     ! 地表面気圧

    !----------------------------------------------------------------
    !   水平拡散による時間変化
    !----------------------------------------------------------------
    call dycore_dynamics_diffusion( Vars_b    , Vars_a  )      ! intent(inout): 格子点データ全種(t+Δt)

    !----------------------------------------------------------------
    !   診断量演算
    !----------------------------------------------------------------
    call dycore_dynamics_diagnostic( Dims            , Vars_a  )           ! intent(inout): 格子点データ全種(t+Δt)
       
    !----------------------------------------------------------------
    !   終了処理
    !----------------------------------------------------------------
    call EndSub(subname)

  end subroutine dcpam_ape_dynamics

[Validate]