This program is operated by following compilers.
Following softwares should be installed for installing dcpam.
Debian GNU/Linux (use binary packages)
debian packages [Fujitsu ver5 | Intel ver9.0 | G95]
If you use above Debian package to install netCDF, you need "netcdf-bin" package too. (Parhaps you can get by "apt-get").
Build from source codes
Debian GNU/Linux (use binary packages)
Build from source codes
Debian GNU/Linux (use binary packages)
Build from source codes
See "README" file in above tar.gz file. (but that is wrote in JAPANESE)
Debian GNU/Linux (use binary packages)
Build from source codes
Following softwares should be installed for modification of source code and generation of documents. (But if you get tar.gz package, documentations are already generated).
Make an empty directory, and extract archive as follows. A directory `dcpam4-version' created at the current working directory.
$ tar xvzf dcpam4_current.tgz
or
$ zcat dcpam4_current.tar.gz | tar -xvf -
Specify Fortran compiler to environmental variable FC . For example, if you use "frt",
sh, bash
$ FC=frt ; export FC
csh, tcsh
$ setenv FC frt
Specify Fortran compiler options for optimization and debug to environmental variable FFLAGS . For example, if you set options for automatic optimization and automatic parallelization to "frt",
sh, bash
$ FFLAGS="-Kfast,parallel" ; export FFLAGS
csh, tcsh
$ setenv FFLAGS "-Kfast,parallel"
Move created directroy, and excute ` ./configure
'.
Specify library files in Libraries needed for compile to following options.
--with-ispack=
ARG--with-netcdf=
ARG--with-gt4f90io=
ARG--with-spml=
ARGFor exapmle, specify as follow. This command will generate
Config.mk
.
$ ./configure --with-ispack=/usr/local/lib/libisp.a \ --with-netcdf=/usr/local/lib/libnetcdf.a \ --with-gt4f90io=/usr/local/lib/gt4f90io/lib/libgt4f90io.a \ --with-spml=/usr/local/lib/spml/lib/libspml.a \
GNU make is needed to build, so configure automatically inquires
into GNU make in PATH. However, it returns error when GNU make is
not found. In that case, please set the GNU make command for
environment variable MAKE . And rerun execute ` ./configure
'.
If you want to change directory to which the library and the module, etc.
are installed, please set --help
option as follow. Available
options are showed.
$ ./configure --help
Descriptions about principal options are listed below.
--prefix=
ARG /usr/local/dcpam4
.
--libdir=
ARG /usr/local/dcpam4/lib
.
--includedir=
ARG /usr/local/dcpam4/include
.
--bindir=
ARG /usr/local/dcpam4/bin
.
--with-docdir=
ARG /usr/local/dcpam4/doc
.
--with-dcpam_lib_name=
ARGlib
<ARG>.a
.
Default value is dcpam4
, so library name becomes
libdcpam4.a
.
--with-dcpam_suffix=
ARG ffc5
when others are default,
prefix of installdir becomes /usr/local/dcpam4-ffc5
,
library name becomes libdcpam4-ffc5.a
,
executable files become gt4frt.ffc5
, gt4config.ffc5
.
--with-lang_conform_check=
ARG95
" is valid.
The compiler that can be used is limited.
--enable-debug
--config-cache or -C
config.cache
is created at the same time as Config.mk
's
being generated.
config.cache
stores information investigated with
./configure
.
If you set this option, when you execute ./configure
again,
config.cache
is loaded.
If you want to ignore config.cache
, don't set this option
For example, execute ./configure
as follows.
$ ./configure -C --enable-debug \ --with-ispack=/usr/local/lib/libisp.a \ --with-netcdf=/usr/local/lib/libnetcdf.a \ --with-gt4f90io=/usr/local/lib/gt4f90io/lib/libgt4f90io.a \ --with-spml=/usr/local/lib/spml/lib/libspml.a \
Then, information such as the locations of the netCDF library etc. is
succeeded by executing ./configure
as follows after next time.
$ ./configure -C
If you use Fujitsu Fortran compiler in Debian GNU/Linux,
copy "Config.cache.debian-ffc*" to config.cache
and
execute ./configure
. So, locations of libraries are
specified automatically.
$ cp Config.cache.debian-ffc5 config.cache $ ./configure
Edit unspecified item in `Config.mk
' manually.
Followings are main items.
Config.mk
is.
You must use GNU make to build. No other "make" program is acceptable. "make" tentatively means GNU make at the following. Replace them with GNU make of your system.
When ./configure is executed, the command name of GNU make is displayed as follows. Execute GNU make according to this message.
Execute GNU make in the current directory, as follows. /usr/bin/make
To generate documentations, execute following command in current directory. If you get from dcpam4 TGZ package, documentations are already generated.
$ make doc
Following documents are under construction. From now, they will be moved to "dcpam4 Gokuraku (easiest) Tutorial".
Firstly, how to execute a benchmark experiment suggested by Held and Suarez (1994) is explained.
Move "practice" directory.
$ cd practice
In the directory, execute 'make' command. There are some questions, then input 'Enter' key.
$ make ****** Setup a directory for a experiment ****** Enter directory name [testXX]: Directory in which executable files are prepared [/home/dcpam/work/dcpam4/src/main]: Directory in which NAMELIST files are prepared [/home/dcpam/work/dcpam4/src/main]: Save F90/95 source code files? [Y/n]: Directory in which source code files are prepared [/home/dcpam/work/dcpam4/src]: : *** Setup of "testXX" is complete ***
Then a directory 'testXX' is created, and executable files, NAMELIST files, and source code files are copied to the directory. Move the 'textXX'.
$ cd testXX
Executable files 'dcpam_hs94', 'init_sample' etc. will be prepared. Execute 'dcpam_hs94' as follows.
$ ./dcpam_hs94 *** MESSAGE [dcpam_hs94] *** History files are created. *** MESSAGE [dcpam_hs94] *** Restart file "dcpam_hs94_restart.nc" is created. *** MESSAGE [dcpam_hs94] *** History data (time=0.125 days) is output. *** MESSAGE [dcpam_hs94] *** Restart data (time=1440. minute - 20. minute, and 1440. minute) is output to "dcpam_hs94_restart.nc" ########## PREDICTION OF CALCULATION ########### Start Date 2007-07-30T17:25:25+09:00 Current Date 2007-07-30T17:25:35+09:00 Progress 14.29% [*** ] Remaining CPU TIME 0.580000E+02 Completion Date 2007-07-30T17:26:33+09:00 : ############## CPU TIME SUMMARY ################ Setup 0.223517E-09 HistoryGet 0.223517E-09 HistoryPut 0.679995E+00 Dynamics 0.133000E+02 Phyisics 0.342000E+01 TimeFilter 0.209997E+00 ------------------------------------------------ TOTAL TIME = 0.176100E+02
In this case, 7 days calculation is performed, and history data are output to 'U.nc' and 'Temp.nc' etc., and a restart data is output to 'dcpam_hs94_restart.nc'. They are netCDF data with gtool4 NetCDF conventions. In order to visualize or analyze, use tools developed by Dennou Ruby Project.
In order to configure the settings of calculation, use NAMELIST file. As samples, 'dcpam_hs94_T10L12.nml' and 'dcpam_hs94_T21L12.nml' are prepared. Edit these files and execute with '-N' (or '--namelist') option as follows.
$ ./dcpam_hs94 -N=dcpam_hs94_T10L12.nml *** MESSAGE [dcpam_hs94] *** NAMELIST group "dcpam_hs94_grid_nml" is loaded from "dcpam_hs94_T10L12.nml". &DCPAM_HS94_GRID_NML NMAX = 10, IMAX = 32, JMAX = 16, KMAX = 12 / *** MESSAGE [dcpam_hs94] *** NAMELIST group "dcpam_hs94_time_nml" is loaded from "dcpam_hs94_T10L12.nml". &DCPAM_HS94_TIME_NML START_TIME_VALUE = 0.000000000000000E+000, START_TIME_UNIT = sec , DELTA_TIME_VALUE = 20.0000000000000 , DELTA_TIME_UNIT = minute , TOTAL_TIME_VALUE = 7.00000000000000 , TOTAL_TIME_UNIT = day , PREDICT_SHOW_INTERVAL_VALUE = 1.00000000000000 , PREDICT_SHOW_INTERVAL_UNIT = days / :
When a NAMELIST file is loaded, information about loading of NAMELIST group name is output.