Module grid_3d_mod

Overview

This module set 3 Dimensional Grid Information.

3 次元の格子点情報の設定を行うためのモジュールである。

Error Handling

Known Bugs

Note

Future Plans

もしかすると、「3次元」という枠組ではなく、それぞれの次元に分けた モジュールにすべきかも知れない。

Dependency

use type_mod, only : INTKIND, STRING

Public Interface

private
public :: grid_3d_init, grid_3d_end ! subroutines
public :: im, jm, km                ! variables

Public Data

grid_3d_init において値が設定される。以下はデフォルト値。

integer(INTKIND), save :: im = 64 , &  ! 格子点の設定(X)
     &                    jm = 32 , &  ! 格子点の設定(Y)
     &                    km = 12      ! 格子点の設定(Y)

Procedure Interface

Initialize module and acquire NAMELIST

NAMELIST から x 軸、 y 軸、 z 軸の格子点数を取得する。 取得できない場合、またはゼロ以下の値が与えられた場合、 上記のデフォルト値が強制的に設定される。

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

subroutine grid_3d_init

Dependency

use type_mod,   only: INTKIND
use nmlfile_mod,only: nmlfile_init, nmlfile_open, nmlfile_close
use dc_trace,   only: DbgMessage, BeginSub, EndSub
use dc_message, only: MessageNotify

NAMELIST

namelist /grid_3d_nml/ & 
     & im , &      ! 東西格子点数
     & jm , &      ! 南北格子点数
     & km          ! 鉛直格子点数

Terminate module

NAMELIST から読み込んだ値を破棄し、各定数をデフォルトの値に戻す。

subroutine grid_3d_end

Dependency

use dc_trace,  only: DbgMessage, BeginSub, EndSub