Call dynamics_mod
use type_mod, only : STRING
private public :: dycore_dynamics_init ! subroutines public :: dycore_dynamics_prediction ! subroutines public :: dycore_dynamics_diagnostic ! subroutines public :: dycore_dynamics_diffusion ! subroutines public :: dycore_dynamics_end ! subroutines
dynamics_mod を初期化し、Vars_a 変数を allocate する。
subroutine dycore_dynamics_init( Dims, Vars_a )
use dycore_type_mod, only: DYCORE_VARS, DYCORE_DIMS, & & STRING, DBKIND, INTKIND use dycore_grid_mod, only: im, jm, km use dynamics_mod, only: dynamics_init use spml_mod, only: spml_init use dc_trace, only: BeginSub, EndSub, DbgMessage
type(DYCORE_DIMS), intent(in) :: Dims ! 次元データ全種
type(DYCORE_VARS), intent(out):: Vars_a ! 格子点データ全種(t+Δt)
予報変数を計算し、Vars_a に返す。
subroutine dycore_dynamics_prediction( Dims, Vars_b, Vars_n, Vars_a )
use dycore_type_mod, only: DYCORE_VARS, DYCORE_DIMS, & & STRING, DBKIND, INTKIND use dynamics_mod, only: dynamics_leapfrog use dc_trace, only: BeginSub, EndSub, DbgMessage
type(DYCORE_DIMS), intent(in) :: Dims ! 次元データ全種 type(DYCORE_VARS), intent(in) :: Vars_b ! 格子点データ全種 type(DYCORE_VARS), intent(in) :: Vars_n ! 格子点データ全種
type(DYCORE_VARS), intent(inout):: Vars_a ! 格子点データ全種(t+Δt)
渦度発散から、風速 (経度成分、緯度成分) を得る。
subroutine dycore_dynamics_diagnostic( Dims, Vars_a )
use dycore_type_mod, only: DYCORE_VARS, DYCORE_DIMS, & & STRING, DBKIND, INTKIND use dynamics_mod, only: dynamics_diagnostic use dc_trace, only: BeginSub, EndSub, DbgMessage
type(DYCORE_DIMS), intent(in) :: Dims ! 次元データ全種
type(DYCORE_VARS), intent(inout):: Vars_a ! 格子点データ全種(t+Δt)
水平拡散項の計算。
subroutine dycore_dynamics_diffusion( Vars_b, Vars_a )
use dycore_type_mod, only: DYCORE_VARS, DYCORE_DIMS, & & STRING, DBKIND, INTKIND use dynamics_mod, only: dynamics_diffusion use dc_trace, only: BeginSub, EndSub, DbgMessage
type(DYCORE_VARS), intent(in) :: Vars_b ! 格子点データ全種(t-Δt)
type(DYCORE_VARS), intent(inout):: Vars_a ! 格子点データ全種(t+Δt)
dynamics_mod の終了処理を行なう。
subroutine dycore_dynamics_end
use dycore_type_mod, only: STRING, DBKIND, INTKIND use dynamics_mod, only: dynamics_end use dc_trace, only: BeginSub, EndSub, DbgMessage