A method how to change several experimental setup is explained.
In order to change the settings of experiments, edit a configuration file (NAMELIST file), and specify the file to "-N" option of an execution. Here, it is explained by using a configuration file (NAMELIST file), dcpam_hs94_T21L20.conf which is used in Dry atmosphere dynamical core experiment by Held and Suarez (1994).
A NAMELIST group name "&xxxxxx_nml" is managed by "xxxxxx" module. List of NAMELIST group names managed in dcpam5 is dcpam5 NAMELIST. See this manual for details.
Resolution can be changed by using &gridset_nml in the configuration file (NAMELIST file).
In dcpam_hs94_T21L20.conf, it is set in the following way.
&gridset_nml nmax = 21, ! 最大全波数. ! Maximum truncated wavenumber imax = 64, ! 経度格子点数. ! Number of grid points in longitude jmax = 32, ! 緯度格子点数. ! Number of grid points in latitude kmax = 20 ! 鉛直層数. ! Number of vertical level /
They are for the resolution of T21L20 (the grid points are 64, 32, 20 in longitude, latitude and vertical, respectively). In order to change them into the resolution of T42L20, they are set as follows.
&gridset_nml nmax = 42, ! 最大全波数. ! Maximum truncated wavenumber imax = 128, ! 経度格子点数. ! Number of grid points in longitude jmax = 64, ! 緯度格子点数. ! Number of grid points in latitude kmax = 20 ! 鉛直層数. ! Number of vertical level /
When the vertical resolution (the number of grid point) is changed, the values of Sigma in &axesset_nml should be edited to set the levels of sigma coordinate. After edit, execute with '-N' (or '--namelist') option as follows.
$ ./bin/dcpam_main -N=./conf/dcpam_hs94_T21L20.conf | tee hs94-T21L20.log
The integration period is configured using ×et_nml in the configuration file (NAMELIST file). Two kinds of methods for set up of the integration period are prepared in dcpam. One is to set the integration time, another is to specify the starting time and ending time.
In dcpam_hs94_T21L20.conf, the integration time is specified as below.
×et_nml : IntegPeriodValue = 10.0, ! 計算終了時刻. ! End time of calculation IntegPeriodUnit = 'day', ! 計算開始時刻の単位. ! Unit of end time of calculation : /
This means that integration is performed for 10 days. The configuration for 20 days integration period is as follows:
×et_nml : IntegPeriodValue = 20.0, ! 計算終了時刻. ! End time of calculation IntegPeriodUnit = 'day', ! 計算開始時刻の単位. ! Unit of end time of calculation : /
On the other hand, configuration for integration period using the starting time and ending time is as follows:
×et_nml : cal_type = 'noleap', InitialYear = 1, InitialMonth = 1, InitialDay = 1, InitialHour = 0, InitialMin = 0, InitialSec = 0.0d0, EndYear = 1, EndMonth = 1, EndDay = 3, EndHour = 0, EndMin = 0, EndSec = 0.0d0, : /
"cal_type" specifies a type of calendar, and "noleap means the calendar without a bissextile year. "InitialYear", "InitialMonth", ... mean the starting year, month, ... and "EndYea"r, "EndMonth", ... mean the end year, month, ... Please refer to gtool5 Tutorial,DCCalCreate for other items.
After edit, execute with '-N' (or '--namelist') option as follows.
$ ./bin/dcpam_main -N=./conf/dcpam_hs94_T21L20.nml | tee hs94-T21L20.log
Constants for a planet and a planetary atmosphere are set using &constants_nml in the configuration file (NAMELIST file).
In dcpam_hs94_T21L20.conf, they are set as follows:
&constants_nml RPlanet = 6.371e6, ! $ a $ [m]. ! 惑星半径. ! Radius of planet Omega = 7.292e-5, ! $ \Omega $ [s-1]. ! 回転角速度. ! Angular velocity Grav = 9.8, ! $ g $ [m s-2]. ! 重力加速度. ! Gravitational acceleration CpDry = 1004.0, ! $ C_p $ [J kg-1 K-1]. ! 乾燥大気の定圧比熱. ! Specific heat of air at constant pressure GasRDry = 286.85714285 ! $ R $ [J kg-1 K-1]. ! 乾燥大気の気体定数. ! Gas constant of air /
From the top to the bottom, the radius of the planet, angular velocity, gravitational acceleration, specific heat of air at constant pressure gas constant of air are specified. The vaules can be changed by modifying these items.
After edit, execute with '-N' (or '--namelist') option as follows.
$ ./bin/dcpam_main -N=./conf/dcpam_hs94_T21L20.nml | tee hs94-T21L20.log
Configuration for output of history data can be changed by editing >ool_historyauto_nml. In the configuration file of dcpam_hs94_T21L20.conf, it is set in the following way.
! ヒストリデータ出力の全体設定 ! Global settings about history data output ! >ool_historyauto_nml IntValue = 1.0, ! ヒストリデータの出力間隔の数値. ! 負の値を与えると, 出力を抑止します. ! ! Numerical value for interval of history data output ! Negative values suppress output. IntUnit = 'day', ! ヒストリデータの出力間隔の単位. ! Unit for interval of history data output Precision = 'float', ! 単精度 ! ヒストリデータの精度. ! Precision of history data FilePrefix = '', ! ヒストリデータのファイル名の接頭詞. ! Prefixes of history data filenames / ! ! ヒストリデータ出力の個別設定 ! Individual settings about history data output ! >ool_historyauto_nml Name = 'U, V, Temp, Ps, QVap, Vor, Div, SigDot, DPiDt' / >ool_historyauto_nml Name = 'Mass, KinEngy, IntEngy, PotEngy, LatEngy, TotEngy, Enstro', SpaceAverage = .true., .true., .true., .true., .true. /
Each configuration item is described below.
When Name is not configured or set a null string, it becomes a default configuration for all variables. The following items become effective only in this case.
In order to input initial data or restart data from a file, edit NAMELIST file as follows.
&restart_file_io_nml InputFile = 'init_T21L20.nc', ! filename of input initial/restart data : /
Specify a filename of initial data or restart data to "InputFile".
After change of NAMELIST file, start an experiment with -N or --namelist option and the NAMELIST file as follows.
$ ./bin/dcpam_main -N=./conf/dcpam_hs94_T21L20.conf | tee hs94.log
Starting an experiments, following data input messages may be displayed. Confirm them.
|*** MESSAGE [restart_file_io] *** ----- Initialization Messages ----- |*** MESSAGE [restart_file_io] *** Input:: |*** MESSAGE [restart_file_io] *** InputFile = init_T21L20.nc |*** MESSAGE [restart_file_io] *** Output:: |*** MESSAGE [restart_file_io] *** OutputFile = restart.nc |*** MESSAGE [restart_file_io] *** IntTime = 100. [day] |*** MESSAGE [restart_file_io] *** -- version = ...
r |ikawa Exp $
|*** MESSAGE [HistoryGetDouble3] *** Input init_T21L20.nc@U,time=0. |*** MESSAGE [HistoryGetDouble3] *** Input init_T21L20.nc@V,time=0. |*** MESSAGE [HistoryGetDouble3] *** Input init_T21L20.nc@Temp,time=0. |*** MESSAGE [HistoryGetDouble3] *** Input init_T21L20.nc@QVap,time=0. |*** MESSAGE [HistoryGetDouble2] *** Input init_T21L20.nc@Ps,time=0. |*** MESSAGE [restart_file_io] *** Initial data (not restart data) is input from a data file "init_T21L20.nc". *
B | (t-dt) and *N (t) are same.
You can set up 'swamp condition' by specifying the configuration file (NAMELIST file) as follows:
Choose one-layer model at the surface
&dcpam_main_nml ... PhysImpMode = '1LayModel', ... /
Surface temerature is calculated in the model
&surface_properties_nml ... SurfCondSetting = 'generate_internally' ... / &surface_data_nml ... SurfCond = 1 ... /
For example, when a sample configuration file "dcpam_ape_T21L16.conf" is modified, the above configuration can be realized by adding the following item (the other items are the default vaules).
&surface_data_nml SurfCond = 1 /