DCPAM Reference Manual

GFD Dennou Club

平成 17 年 2 月 18 日

目次

1 Module constants 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 Public Data . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.9 Procedure Interface . . . . . . . . . . . . . . . . . . . . . . . 3

1.9.1 Initialize module and acquire NAMELIST . . . . . . 3 1.9.2 Terminate module . . . . . . . . . . . . . . . . . . . . 4

1 Module constants mod

• Developers: Morikawa Yasuhiro

• Version: $Id: constants.f90,v 1.10 2005/01/20 11:03:46 morikawa Exp $

• Tag Name: $Name: $

• Change History:

1.1 Overview

This module set physical constants. Default value is standard condition on the earth. These values could be changed by NAMELIST.

物理定数を設定するためのモジュールである。デフォルトでは地球上の標準状態の値を持っているが、 NAMELIST により変更することも可能である。

1.2 Error Handling

1.3 Known Bugs

1.4 Note

1.5 Future Plans

1.6 Dependency

use type_mod, only : REKIND, DBKIND, INTKIND, TOKEN, STRING

1.7 Public Interface

private
public :: constants_init, constants_end  ! subroutines
public :: & ! variables
     &    PI, R0, Omega, Grav, Cp, RAir, EL, CpVap, RVap,  &
     &    DH2O, EpsV, ES0, StB, FKarm, EpsVT, SecPerDay,   &
     &    EFoldTime, TempAve, TimeFilter, VisOrder,        &
     &    TimeFilterStepInt

1.8 Public Data

real(DBKIND), save  ::  & ! follow data is default values.

&
& PI        = 3.141592653589793 , & ! 円周率
& R0        = 6.371d6           , & ! 球の半径
& Omega     = 7.292d-5          , & ! 回転角速度
& Grav      = 9.8d0             , & ! 重力加速度
&
& Cp        = 1004.6d0          , & ! 大気定圧比熱
& RAir      = 287.04d0          , & ! 大気気体定数
& EL        = 2.5d6             , & ! 水の凝結の潜熱
& CpVap     = 1810.0d0          , & ! 水蒸気定圧比熱
& RVap      = 461.0d0           , & ! 水蒸気気体定数
& DH2O      = 1000.0d0          , & ! 水の密度
& EpsV      = 0.6226464208      , & ! 水と大気の分子量比ε
& ES0       = 611.0d0           , & ! ０℃飽和蒸気圧：Ｐａ
& StB       = 5.67d-8           , & ! Stefan-Boltzman
& FKarm     = 0.4d0             , & ! Karman 定数
& EpsVT     = 0.6060479376      , & ! 1/ε-1
&
& SecPerDay = 86400.0d0         , & ! 1 日あたりの秒数
&
& EFoldTime = 8640.0d0          , & ! 最大波数に対する e-folding time
& TempAve   = 300.0             , & ! 平均温度
& TimeFilter= 0.05                  ! 時間フィルター係数
integer(INTKIND), save ::  &
& VisOrder          = 4         , & ! 超粘性の次数
& TimeFilterStepInt = 1             ! 時間フィルターするステ

ップ間隔

1.9 Procedure Interface

1.9.1 Initialize module and acquire NAMELIST

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

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

subroutine constants_init

Dependency

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

NAMELIST

namelist /constants_nml/ &
&
& PI                , & ! 円周率
& R0                , & ! 球の半径
& Omega             , & ! 回転角速度
& Grav              , & ! 重力加速度
&
& Cp                , & ! 大気定圧比熱
& RAir              , & ! 大気気体定数

& EL , & ! 水の凝結の潜熱

& CpVap             , & ! 水蒸気定圧比熱
& RVap              , & ! 水蒸気気体定数
& DH2O              , & ! 水の密度

& EpsV , & ! 水と大気の分子量比ε & ES0 , & ! ０℃飽和蒸気圧：Ｐａ

& StB               , & ! Stefan-Boltzman
& FKarm             , & ! Karman 定数
& EpsVT             , & ! 1/ε-1
&
& SecPerDay         , & ! 1 日あたりの秒数
&
& EFoldTime         , & ! 最大波数に対する e-folding time
& TempAve           , & ! 平均温度
& TimeFilter        , & ! 時間フィルター係数
& TimeFilterStepInt , & ! 時間フィルターするステップ間隔
& VisOrder              ! 超粘性の次数

1.9.2 Terminate module

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

subroutine constants_end

Dependency

use dc_trace,    only : BeginSub, EndSub, DbgMessage