Module dycore_dynamics_mod

Overview

Call dynamics_mod

Error Handling

Known Bugs

Note

Future Plans

Dependency

use type_mod,      only : STRING

Public Interface

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

Procedure Interface

Initialize module and

dynamics_mod を初期化し、Vars_a 変数を allocate する。

subroutine dycore_dynamics_init( Dims, Vars_a )

Dependency

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

Input

type(DYCORE_DIMS), intent(in) :: Dims   ! 次元データ全種

Output

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

Calculate Predictional Values

予報変数を計算し、Vars_a に返す。

subroutine dycore_dynamics_prediction( Dims, Vars_b, Vars_n, Vars_a )

Dependency

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

Input

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

Output

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

Calculate Diagnostic Values

渦度発散から、風速 (経度成分、緯度成分) を得る。

subroutine dycore_dynamics_diagnostic( Dims, Vars_a )

Dependency

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

Input

type(DYCORE_DIMS), intent(in)   :: Dims   ! 次元データ全種

In/Out

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

Calculate Diffusion Terms

水平拡散項の計算。

subroutine dycore_dynamics_diffusion( Vars_b, Vars_a )

Dependency

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

Input

type(DYCORE_VARS), intent(in)   :: Vars_b ! 格子点データ全種(t-Δt)

In/Out

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

Terminate module

dynamics_mod の終了処理を行なう。

subroutine dycore_dynamics_end

Dependency

use dycore_type_mod, only: STRING, DBKIND, INTKIND
use dynamics_mod,    only: dynamics_end
use dc_trace,        only: BeginSub, EndSub, DbgMessage