DCPAM Reference Manual

GFD Dennou Club

平成 17 年 2 月 18 日

目次

1 Module dycore dynamics mod 2 1.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.2 Error Handling . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.3 Known Bugs . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.4 Note . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.5 Future Plans . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.6 Dependency . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.7 Public Interface . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.8 Procedure Interface . . . . . . . . . . . . . . . . . . . . . . . 2

1.8.1 Initialize module and . . . . . . . . . . . . . . . . . . 2 1.8.2 Calculate Predictional Values . . . . . . . . . . . . . 3 1.8.3 Calculate Diagnostic Values . . . . . . . . . . . . . . 4 1.8.4 Calculate Diffusion Terms . . . . . . . . . . . . . . . 4 1.8.5 Terminate module . . . . . . . . . . . . . . . . . . . . 5

1 Module dycore dynamics mod

• Developers: Morikawa Yasuhiro

• Version: $Id: dycore dynamics.f90,v 1.8 2005/01/20 12:07:07 morikawa Exp $

• Tag Name: $Name: $

• Change History:

1.1 Overview

Call dynamics mod

1.2 Error Handling 1.3 Known Bugs 1.4 Note 1.5 Future Plans 1.6 Dependency

use type_mod,      only : STRING

1.7 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

1.8 Procedure Interface

1.8.1 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)

1.8.2 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)

1.8.3 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)

1.8.4 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)

1.8.5 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