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