DCPAM Reference Manual

GFD Dennou Club

平成 17 年 2 月 18 日

目次

1 Module dycore in 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 . . . . . . . . . . . . . . . . . . . . . . . 3

1.8.1 Initialize module and acquire NAMELIST . . . . . . 3 1.8.2 Return Data and Information of Dimensions . . . . . 4 1.8.3 Return Data and Information of Dimensions . . . . . 4 1.8.4 Terminate module . . . . . . . . . . . . . . . . . . . . 5

1 Module dycore in mod

• Developers: Morikawa Yasuhiro

• Version: $Id: dycore in.f90,v 1.5 2005/01/09 15:14:24 morikawa Exp $

• Tag Name: $Name: $

• Change History:

1.1 Overview

gtool4 netCDF data Input module directly called by GCM run program.

1.2 Error Handling

1.3 Known Bugs

1.4 Note

1.5 Future Plans

まだテストケースが少なく、上部モジュールと下部モジュールで切り分けるべきかも知れない部分が多く残っている。その切り分けを将来的にはすべきである。

1.6 Dependency

use dycore_type_mod, only : STRING, DBKIND
use dycore_grid_mod, only : im, jm, km

1.7 Public Interface

private
public :: dycore_in_init, dycore_in_dims  ! subroutines
public :: dycore_in_vars, dycore_in_end   ! subroutines

1.8 Procedure Interface

1.8.1 Initialize module and acquire NAMELIST

モジュールを初期化し、 NAMELIST から値を取得する。 NAMELIST から値が取得できないものに関しては上記のデフォルト値が用いられる。

NAMELIST ファイルは、メインプログラムにて nmlfile mod の nmlfile init で指定されることが想定されているが、もしもこの初期化ルーチンより以前に指定されていなければ、 nmlfile init のデフォルトで指定される NAMELIST ファイルを読む。

subroutine dycore_in_init

Dependency

use dycore_type_mod, only : STRING, DBKIND, INTKIND
use nmlfile_mod, only : nmlfile_init, nmlfile_open, nmlfile_close
use axis_x_mod, only: axis_x_init
use axis_y_mod, only: axis_y_init
use axis_z_mod, only: axis_z_init
use dc_trace,  only: BeginSub, EndSub, DbgMessage
use dc_message,only: MessageNotify
use dc_string, only: toChar

NAMELIST

character(STRING) :: &
     &
     & input_file = 'init.nc'  , &  ! 初期値ファイル
     &
     & vlonname   = 'vlon'     , &  ! 速度経度成分の変数名
     & vlatname   = 'vlat'     , &  ! 速度緯度成分の変数名
     & vorname    = 'vor'      , &  ! 渦度の変数名
     & divname    = 'div'      , &  ! 発散の変数名
     & psname     = 'ps'       , &  ! 地表面気圧の変数名
     & tempname   = 'temp'     , &  ! 温度の変数名
     & qvapname   = 'qvap'          ! 比湿の変数名
real(DBKIND) :: input_time(2) = (/0,0/)  ! 入力データの時刻
namelist /dycore_in_nml/ &
     &

     & input_file   , &  ! 初期値ファイル
     & input_time   , &  ! 入力データの時刻 (t-Δ t, t)
     &
     & vlonname     , &  ! 速度経度成分の変数名
     & vlatname     , &  ! 速度緯度成分の変数名
     & vorname      , &  ! 渦度の変数名
     & divname      , &  ! 発散の変数名
     & psname       , &  ! 地表面気圧の変数名
     & tempname     , &  ! 温度の変数名
     & qvapname          ! 比湿の変数名

1.8.2 Return Data and Information of Dimensions

axis x mod , axis y mod , axis z mod から座標情報を取得し、 Dims に格納して返す。

subroutine dycore_in_dims(Dims)

Dependency

use dycore_type_mod, only: DYCORE_DIMS
use dycore_grid_mod, only: im, jm, km
use axis_x_mod, only: axis_x_spectral, axis_x_manual, axis_x_netcdf
use axis_y_mod, only: axis_y_spectral, axis_y_manual, axis_y_netcdf
use axis_z_mod, only: axis_z_manual, axis_z_netcdf, &
     &                axis_z_sigmahalf_manual, axis_z_sigmahalf_netcdf
use gt4_history,only: HistoryGetPointer
use dc_trace,   only: BeginSub, EndSub, DbgMessage
use dc_string,  only: toChar

Output

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

1.8.3 Return Data and Information of Dimensions

dycore in init の NAMELIST dycore in nml の情報に従い、変数データのデータを入力して、 Vars B および Vars に返す。

subroutine dycore_in_vars(Vars_B, Vars)

Dependency

use dycore_type_mod, only: DYCORE_VARS
use dycore_grid_mod, only: im, jm, km
use gt4_history,     only: HistoryGetPointer
use dc_trace,        only: BeginSub, EndSub, DbgMessage
use dc_string,       only: toChar

Output

type(DYCORE_VARS), intent(out):: Vars_B  ! 格子点データ全種 (t-
Δ t)
type(DYCORE_VARS), intent(out):: Vars    ! 格子点データ全種 (t)

1.8.4 Terminate module

dycore in init で設定された値を破棄し、デフォルトの値に戻します。

subroutine dycore_in_end

Dependency

use dc_trace,  only: BeginSub, EndSub, DbgMessage
use dc_error,  only: StoreError, USR_ECHAR
use dc_string, only: toChar