Regional Climatic Model RegCM User's Guide Version 4.4 Trieste

Add to my manuals
64 Pages

advertisement

Regional Climatic Model RegCM User's Guide Version 4.4 Trieste | Manualzz
The Abdus Salam
International Centre for Theoretical Physics
Strada Costiera, 11 I - 34151 Trieste, Italy
Earth System Physics Section - ESP
Regional Climatic
Model RegCM User’s Guide
Version 4.4
Trieste, Italy October 21, 2013
Filippo Giorgi, Nellie Elguindi,
Stefano Cozzini and Graziano Giuliani
2
Contents
1 Release Notes
5
2 Obtaining the model
2.1 Simple Model User . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2 Model Developer . . . . . . . . . . . . . . . . . . . . . . . . . . .
8
8
8
3 Installation procedure
3.1 Software requirements . . . .
3.2 Configuring build . . . . . . .
3.2.1 Model configuration at
3.3 Build the model executables .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
9
9
10
11
12
. . . . .
. . . . .
. . . . .
. . . . .
Dataset
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
13
13
13
14
14
15
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
16
16
17
18
19
20
your simulation
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
22
22
22
23
25
26
26
27
28
29
29
30
. . . . . . .
. . . . . . .
build stage
. . . . . . .
4 Accessing global datasets
4.1 Global dataset directory Layout . .
4.2 Static Surface Dataset . . . . . . .
4.3 CLM Dataset . . . . . . . . . . . .
4.4 Sea Surface Temperature . . . . .
4.5 Atmosphere and Land temperature
. . . .
. . . .
. . . .
. . . .
Global
.
.
.
.
.
.
.
.
5 Running a test simulation using the model
5.1 Setting up the run environment . . . . . . . .
5.2 Create the DOMAIN file using terrain . . . .
5.3 Create the SST using the sst program . . . .
5.4 Create the ICBC files using the icbc program
5.5 First RegCM model simulation . . . . . . . .
6 Localizing the model and running
6.1 The commented namelist . . . .
6.1.1 dimparam stanza . . . . .
6.1.2 geoparam stanza . . . . .
6.1.3 terrainparam stanza . . .
6.1.4 debugparam stanza . . . .
6.1.5 boundaryparam stanza . .
6.1.6 globdatparam stanza . . .
6.1.7 perturbparam stanza . . .
6.1.8 restartparam stanza . . .
6.1.9 timeparam stanza . . . .
6.1.10 outparam stanza . . . . .
3
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
6.2
6.3
6.1.11 physicsparam stanza . . . .
6.1.12 subexparam stanza . . . . .
6.1.13 microparam stanza . . . . .
6.1.14 grellparam, emanparam and
6.1.15 holtslagparam stanza . . . .
6.1.16 uwparam stanza . . . . . .
6.1.17 slabocparam stanza . . . .
6.1.18 rrtmparam stanza . . . . .
6.1.19 chemparam stanza . . . . .
The CLM options . . . . . . . . . .
Sensitivity experiments hint . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
tiedtkeparam
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
7 Postprocessing tools
7.1 Command line tools . . . . . . . . . . . .
7.1.1 netCDF library tools . . . . . . . .
7.1.2 NetCDF operators NCO . . . . . .
7.1.3 Climate data Operators CDO . . .
7.2 GrADS program . . . . . . . . . . . . . .
7.2.1 GrADS limits . . . . . . . . . . . .
7.3 CISL’s NCL : NCAR Command Language
7.4 R Statistical Computing Language . . . .
7.5 Non free tools . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. . . . .
. . . . .
. . . . .
stanzas
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
31
32
33
33
35
35
35
35
36
40
42
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
43
43
43
44
45
46
46
47
47
47
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
8 Getting help and reporting bugs
48
8.1 The Gforge site . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
9 Appendices
9.1 Identify Processor . . . . . . .
9.2 Chose compiler . . . . . . . . .
9.3 Environment setup . . . . . . .
9.4 Pre requisite library installation
4
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
51
51
52
53
54
Chapter 1
Release Notes
RegCM-4.4 is a new step in recoding the RegCM model after the effort put into
the RegCM4 version. The code base now is actively developed by a community
of developers internal and external to ICTP, and this work is merged on the
Gforge site on gforge.ictp.it site.
The main new technical features of the code are summarized in the following
points:
• A number of new global models input layers have been added to preproc
stage, and we plan to support any request to add a new layer. What is
needed is just send us a couple of months worth of data, specify format
if not netCDF, fix a naming convention. Just ask, we will help you. Now
supported at SST stage:
1. GISST Met Office’s Global Ice coverage and Sea Surface Temperatures This data required a pre-processing (from ASCII to binary),
and are available from ICTP up to 2002 from clima-dods server
2. NOAA Optimal Interpolation SST dataset
3. ECMWF Era Interim SST dataset
4. CMIP5 global ocean model datasets:
(a) Canadian Centre for Climate Modelling and Analysis CanESM2
(b) Met Office Hadley Centre HadGEM2-ES
(c) Commonwealth Scientific and Industrial Research Organization
Mk3.6
(d) EC-EARTH consortium (need conversion from GRIB to netCDF)
(e) Institut Pierre-Simon Laplace CM5A-MR
(f) NOAA Geophysical Fluid Dynamics Laboratory ESM2M
(g) Centre National de Recherches Mtorologiques CM5 model
(h) Max-Planck-Institut fr Meteorologie MPI-ESM-MR
5. ECHAM 5 dataset (A1B in binary format from ICTP, A2 converted
from GRIB to netCDF using cdo)
6. 33 years Era Interim average available from ICTP
Code for FV model and some CAM 2/4 is present, but is obsolete or
untested. Supported at ICBC stage:
5
1. ERA Interim and ERA 40 reanalysis
2. NNRP reanalysys (V1 and V2)
3. CMIP5 global atmosphere model datasets:
(a) Canadian Centre for Climate Modelling and Analysis CanESM2
(b) Met Office Hadley Centre HadGEM2-ES
(c) Commonwealth Scientific and Industrial Research Organization
Mk3.6
(d) EC-EARTH consortium (need conversion from GRIB to netCDF)
(e) Institut Pierre-Simon Laplace CM5A-MR
(f) NOAA Geophysical Fluid Dynamics Laboratory ESM2M
(g) Centre National de Recherches Mtorologiques CM5 model
(h) Max-Planck-Institut fr Meteorologie MPI-ESM-MR
4. ECHAM 5 dataset (A1B in binary format from ICTP, A2 converted
from GRIB to netCDF using cdo)
5. 33 years Era Interim average available from ICTP
Code for FV model and some CAM 2/4 is present, but is obsolete or
untested.
• Boundary conditions / emissions for tracers both aerosols and chemically
active creation from different sources
• 2D model decomposition is fully tested and model scales easily up to 512
processors what was scaling previously up to 64 processors.
• RCP standard 2.6, 4.5, 6.0 and 8.5 Greenhouse gas concentration data for
historical and future scenarios.
• A new option to use measured total solar irradiance from SOLARIS instead of the previously used hardcoded solar constant.
• Climatological and future 2.6, 4.5 and 8.5 scenario data for ozone concentration.
• Experimental new empirical cumulus cloud representation option.
• In the model output each file tipology can be disabled, and in each file
each output 2D/3D variable can be disable. The default is to write all the
defined variables, but the user may play with the ienable_xxx_vars flags
to eventually disable variables. Some variables cannot be disabled: xlat ,
xlon , mask , topo , ps. Those are needed for model geolocation.
• Model input is read now in parallel by all processors, i.e. a complete
diskless model for computing nodes is not supported: each processor needs
access to the input data directory.
• Model output can be written in parallel by the model taking advantage
of a parallel file system and the mpiio capability of the HDF5 library.
Model must be compiled with the --enable-nc4-parallel flag and the
namelist option do_parallel_netcdf_io must be set to true. As to take
advantage from this a particular harware/software stack is needed, this is
NOT the default option.
6
• Model output files contain when applicable geolocation informations following the CF-1.6 convention. IDV can now use this informations, except
for the rotated mercator projection which is unsupported in the java IDV
library.
• Model output variable naming convention and unit of measure shouldi
respect the CORDEX experiment guidelines. User should report any nonconformity.
• The Kallen 1996 algorithm is used to compute Mean Sea Level pressure.
• A Gauss-Seidel smoothing has been applied to the Mean Sea Level and
the Geopotential Height post-processing calculation subroutines.
Bug Fixing:
• Cressman type interpolation is used for all Gaussian grids in SST/ICBC
• Added extra stratospheric layers in the RRTM radiation model.
• Model input/output of netCDF files is consistent at all stages using a
common library.
• Fix for tracer gases optical properties in the visible spectra
• Relaxing upstream scheme for cloud disabled as it may need reworking.
• The GrADSNc programs now is able to guess when the data are monthly
averages calculated with cdo and use 1mo as timestep in the ctl file
• All model output is now using the write intrinsic instead of print.
Next release V 5.X :
• New dynamical core from Giovanni Tumolo semi-implicit, semi-Lagrangian,
p-adaptive Discontinuous Galerkin method three dimensional model.
The model code is in Fortran 2003 ANSI standard. The development is done
on Linux boxes, and the model is known to run on Oracle SolarisTM platforms,
IBM AIXTM platforms, MacOSTM platforms. No porting effort has been done
towards non Unix-like Operating Systems. We will for this User Guide assume
that the reference platform is a recent Linux distributon with a bash shell.
Typographical convention is the following:
Table 1.1: Conventions
$>
normal shell prompt
#>
root shell prompt
$SHELL_VARIABLE
a shell variable
Any shell variable is supposed to be set by the User with the following
example syntax:
$> export REGCM_ROOT="/home/user/RegCM4.4-rc13"
Hope you will find this document useful. Any error found belongs to me and
can be reported to be corrected in future revisions. Enjoy.
7
Chapter 2
Obtaining the model
2.1
Simple Model User
A packed archive file with the model code can be downloaded from:
http://gforge.ictp.it/gf/project/regcm/frs
and it can be later on decompressed and unpacked using:
$> tar -zxvf RegCM-4.4.0.tar.gz
2.2
Model Developer
If you plan to become a model developer, source code can be obtained via svn.
The RegCM team strongly encouragethe contributing developers to enroll on
the gforge site to always be up to date and to check on-line all the news of the
package.
https://gforge.ictp.it/gf/project/regcm
The correct procedure is first to register on the G-forge site, then ask the
ICTP scientific team head Filippo Giorgi to be enrolled as a model developer.
After being officially granted the status, you will gain access to the model subversion repository.
Check that Subversion software is installed on your machine typing the
following command:
$> svn --version
If your system answers command not found, refer to your System Administrator or software installation manual of your OS to install the subversion
software. As an example, on Scientific Linux the command to install it as root
is:
#> yum install subversion
If Subversion is installed, just type the following command:
$> svn checkout https://gforge.ictp.it/svn/regcm/branches/regcm-core
8
Chapter 3
Installation procedure
Whatever method is chosen to download the code, we assume that you have
now on your working directory a new directory, named RegCM-4.4.x. That
directory will be for the rest of this guide referred as $REGCM_ROOT .
All the operations to build the model binaries will be performed in this
directory.
3.1
Software requirements
In order to configure and install the RegCM code, the following software are
needed:
1. GNU Make program
2. Fortran 2003 compiler
3. One in:
(a) C compiler for the serial option (enable-mpi-serial at configure)
(b) MPI2 Message Passing Library compiled with the above fortran compiler for parallel runs using multiple core single machines or cluster
of machines (default). Source code for the implementation code was
tested with can be obtained at:
http://www.open-mpi.org/software/ompi/v1.6
4. netCDF (Rew and Davis (1990)) Format I/O library compiled with the
above Fortran compiler. Source code can be found from
ftp://ftp.unidata.ucar.edu/pub/netcdf
Optional requirements strongly suggested are :
1. HDF5 Format I/O Library compiled with the above fortran compiler to
enable netCDF V4 features. Source code can be obtained at:
http://www.hdfgroup.org/ftp/HDF5/current/src
Note that some of the input datasets available from ICTP from 2012 DO
require this option, as we distribute data in the netCDF V4 format. Note
that current netCDF version 4.3.0/4.2 is dependent on HDF5 1.8.11.
9
2. NCO netCDF Operators for manging netCDF file. Most Linux distribution have this already packed, and you should refer to your System
Administrator or OS Software Installation manual to obtain it. Source
code is at:
http://nco.sourceforge.net/src
3. CDO Climatic data Operators for managing netCDF file. Most Linux
distribution have this already packed, and you should refer to your System
Administrator or OS Software Installation manual to obtain it. Source
code is at:
https://code.zmaw.de/projects/cdo/files
4. A Scientific Plotting and Data Analysis Software such as:
• IGES GrADS 2.0 Graphical Analysis and Display System. Convenient helpers are packed in RegCM to use GrADS with RegCM
netCDF output files. Binaries and source code can be obtained from
http://www.iges.org/grads/downloads.html
• NCL, NCAR CISL Command Language. The NCL can read netCDF
output files, and sample scripts can be found in the Tools/Scripts/NCL
directory. Binaries and source code can be obtained from
http://www.ncl.ucar.edu
5. A quick viewer for netCDF files like NcView:
http://meteora.ucsd.edu/ pierce/ncview home page.html
An example session of installation of basic software needed to compile the
RegCM model is detailed in chapter 9.
3.2
Configuring build
The RegCM Version 4.4 is configured by a configure script, which will select the
known working configuration for the supported architectures.
Currently tested and supported configurations (OS/Compiler) are:
1. Linux with GNU gfortran compiler version ≥ 4.6
2. Linux with IntelTM ifort compiler version ≥ 11.0
3. Linux with PortlandTM pgf95 compiler version ≥ 11.0
4. Mac OsXTM with gfortran compiler ≥ 4.6 from MacPorts
5. IBM AIXTM with xlf2003 compiler
6. Oracle SolarisTM with Oracle Solaris StudioTM compiler ≥ 12.0
The 4.4 version of the RegCM model relies on the standard GNU autotools
to configure and build the model code.
The first step is to change working directory to $REGCM_ROOT and run the
configure script giving as arguments the chosen compilers:
10
$> cd $REGCM_ROOT
$> ./configure CC=icc FC=ifort
To know the list of arguments that can be given to the configure script, the
script can be launched with the --help command line argument.
$> ./configure --help
The useful arguments to successfully build the model are:
--with-netcdf
Path to NetCDF installation (default: NETCDF
environment)
--with-hdf5
Path to HDF5 installation (default: HDF5
environment)
--with-szip
Path to SZIP installation (default: SZIP
environment)
CC=
C compiler command
CFLAGS=
C compiler flags
LDFLAGS=
linker flags, e.g. -L<lib dir> if you have libraries in a
nonstandard directory <lib dir>
LIBS=
libraries to pass to the linker, e.g. -l<library>
CPPFLAGS=
(Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
you have headers in a nonstandard directory <include dir>
CPP=
C preprocessor
FC=
Fortran compiler command
FCFLAGS=
Fortran compiler flags
MPIFC=
MPI Fortran compiler command
3.2.1
Model configuration at build stage
1. Enable debug
--enable-debug
Enable debugging flags and per processor log file
If enabled, the model will be compiled using debug flags for the compiler,
which will allow the use of a debugger such as gdb. More diagnostics will
also be generated during model run. The default is to build production
binaries with all optimization flags turned on.
2. Serial code using stub MPI library
--enable-mpiserial
Use the included MPI replacement library for single
processor
The model is coded to use an MPI2 library to run in parallel mode using
multiple cores/processors or run on a cluster. To enable instead a serial
compilation option, a stub MPI library with empty callbacks needs to be
compiled and linked to the executable. The RegCM team strongly suggest
to build MPI enabled model also on standalone systems, to take advantage
of the multicore capabilities of any modern processor.
3. CLM option
11
--enable-clm
Supply this option if you plan on using CLM option.
This option switches off the default Land model of RegCM (derived from
BATS1e), and enables the use of the Community Land Model V3.5 inside
RegCM. The default is to use the RegCM BATS Land Model.
3.3
Build the model executables
Now that everything is hopefully configured, you may use the make program to
build executables.
$> make
This target will builds all model parts. The compilation is started in the
whole model tree (PreProc, Main and PostProc). Lot of messages will appear
on screen, abd at the end all executables are built int the source directories. To
copy them to a bin directory in the model root or into a bin directory in the
path specified with the prefix argument to the configure script, esplicitly issue
the command:
$> make install
Congratulations! You can now go to next step and run a test simulation.
12
Chapter 4
Accessing global datasets
The first step to run a test simulation is to obtain static data to localize model
DOMAIN and Atmosphere and Ocean global model dataset to build initial and
boundary conditions ICBC to run a local area simulation.
ICTP maintains a public accessible web repository of datasets on:
http://clima-dods.ictp.it/data/d8/cordex
We will in the following substitute this URL with a shell variable:
$> export ICTP_DATASITE=http://clima-dods.ictp.it/data/d8/cordex
As of now you are requested to download required global data on your local
disk storage before any run attempt. In the future, the ICTP ESP team has
planned to make available an OpenDAP THREDDS Server to give remote access
to global dataset for creating DOMAIN and ICBC without the need to download
the global dataset, but just the required subset in space and time, using the
ICTP web server capabilities to create that subset.
4.1
Global dataset directory Layout
You are suggested to establish a convenient location for global datasets on your
local storage. Keep in mind that required space for a year of global data can be
as large as 8 GBytes.
Having this in mind, we will now consider that you the user have identified
on your system or have network access to such a storage resource to store say 100
GB of data, and have it reachable on your system under the $REGCM_GLOBEDAT
location. On this directory, you are required to make the following directories:
$> cd $REGCM_GLOBEDAT
$> mkdir SURFACE CLM SST EIN15
This does not fill all possible global data sources paths, but will be enough
for the scope of running the model for testing its capabilities.
4.2
Static Surface Dataset
The model needs to be localized on a particular DOMAIN. The needed information are topography, land type classification and optionally lake depth (to run
13
the Hostetler lake model) and soil texture classification (to run the chemistry
option with DUST enabled).
This means downloading four files, which are global archives at 30second
horizontal resolution on a global latitude-longitude grid of the above data.
$>
$>
$>
$>
cd $REGCM_GLOBEDAT
cd SURFACE
curl -o GTOPO_DEM_30s.nc ${ICTP_DATASITE}/SURFACE/GTOPO_DEM_30s.nc
curl -o GLCC_BATS_30s.nc ${ICTP_DATASITE}/SURFACE/GLCC_BATS_30s.nc
Optional Lake and Texture datasets:
$>
$>
$>
$>
cd $REGCM_GLOBEDAT
cd SURFACE
curl -o ETOPO_BTM_30s.nc ${ICTP_DATASITE}/SURFACE/ETOPO_BTM_30s.nc
curl -o GLZB_SOIL_30s.nc ${ICTP_DATASITE}/SURFACE/GLZB_SOIL_30s.nc
4.3
CLM Dataset
If you are planning to enable the CLM option in the model, you will need a series
of files with global land surface characteristics datasets.
$> cd $REGCM_GLOBEDAT
$> cd CLM
$> curl -o mksrf_fmax.nc ${ICTP_DATASITE}/CLM/mksrf_fmax.nc
$> curl -o mksrf_glacier.nc ${ICTP_DATASITE}/CLM/mksrf_glacier.nc
$> curl -o mksrf_lai.nc ${ICTP_DATASITE}/CLM/mksrf_lai.nc
$> curl -o mksrf_lanwat.nc ${ICTP_DATASITE}/CLM/mksrf_lanwat.nc
$> curl -o mksrf_navyoro_20min.nc ${ICTP_DATASITE}/CLM/mksrf_navyoro_20min.nc
$> curl -o mksrf_pft.nc ${ICTP_DATASITE}/CLM/mksrf_pft.nc
$> curl -o mksrf_soicol_clm2.nc ${ICTP_DATASITE}/CLM/mksrf_soicol_clm2.nc
$> curl -o mksrf_soitex.10level.nc ${ICTP_DATASITE}/CLM/mksrf_soitex.10level.nc
$> curl -o mksrf_urban.nc ${ICTP_DATASITE}/CLM/mksrf_urban.nc
$> curl -o pft-physiology.c070207 ${ICTP_DATASITE}/CLM/pft-physiology.c070207
$> curl -o pft-physiology.c070207.readme \
> ${ICTP_DATASITE}/CLM/pft-physiology.c070207.readme
$> curl -o rdirc.05.061026 ${ICTP_DATASITE}/CLM/rdirc.05.061026
This is the input file for the clm2rcm program (see at 6.2).
4.4
Sea Surface Temperature
The model needs a global SST dataset to feed the model with ocean temperature.
You have multiple choices for SST data, but we will for now for our test run
download just CAC OISST weekly for the period 1981 - present.
$>
$>
$>
$>
cd $REGCM_GLOBEDAT
cd SST
CDCSITE="ftp.cdc.noaa.gov/pub/Datasets/noaa.oisst.v2"
curl -o sst.wkmean.1981-1989.nc \
14
> ftp://$CDCSITE/sst.wkmean.1981-1989.nc
$> curl -o sst.wkmean.1990-present.nc \
> ftp://$CDCSITE/sst.wkmean.1990-present.nc
4.5
Atmosphere and Land temperature Global
Dataset
The model needs to build initial and boundary conditions for the regional scale,
interpolating on the RegCM grid the data from a Global Climatic Model output.
The GCM dataset can come from any of the supported models, but we will for
now for our test run download just the EIN15 dataset for the year 1990 (Jan 01
00:00:00 UTC to Dec 31 18:00:00 UTC)
$>
$>
$>
$>
$>
>
>
>
>
>
>
>
cd $REGCM_GLOBEDAT
cd EIN15
mkdir 1990
cd 1990
for type in "air hgt rhum uwnd vwnd"
do
for hh in "00 06 12 18"
do
curl -o ${type}.1990.${hh}.nc \
${ICTP_DATASITE}/EIN15/1990/${type}.1990.${hh}.nc
done
done
With this datasets we are now ready to go through the RegCM Little Tutorial
in the next chapter of this User Guide.
15
Chapter 5
Running a test simulation
using the model
We will in this chapter go through a sample session in using the model with a
sample configuration file prepared for this task.
5.1
Setting up the run environment
The model executables prepared in chapter 3 are waiting for us to use them. So
let’s give them a chance.
The model test run proposed here requires around 100Mb of disk space to
store the DOMAIN and ICBC in input and the output files. We will assume
here that you, the user, have already established a convenient directory on
a disk partition with enough space identified in the following discussion with
$REGCM_RUN
We will setup in this directory a standard environment where the model can
be executed for the purpose of learning how to use it.
$>
$>
$>
$>
$>
cd $REGCM_RUN
mkdir input output
ln -sf $REGCM_ROOT/bin .
cp $REGCM_ROOT/Testing/test_001.in .
cd $REGCM_RUN
Now we are ready to modify the input namelist file to reflect this directory
layout. A namelist file in FORTRAN is a convenient way to give input to
a program in a formatted file, read at runtime by the program to setup its
execution behaviour. So the next step is somewhat tricky, as you need to edit
the namelist file respecting its well defined syntax. Open your preferred text
file editor and load the test_001.in file. You will need to modify for the scope
of the present tutorial the following lines:
FROM:
dirter = ’/set/this/to/where/your/domain/file/is’,
TO:
dirter = ’input/’,
16
FROM:
inpter = ’/set/this/to/where/your/surface/dataset/is’,
TO:
inpter = ’$REGCM_GLOBEDAT’,
where $REGCM_GLOBEDAT is the directory where input data have been downloaded in chapter 4.
FROM:
dirglob = ’/set/this/to/where/your/icbc/for/model/is’,
TO:
dirglob = ’input/’,
FROM:
inpglob = ’/set/this/to/where/your/input/global/data/is’,
TO:
inpglob = ’$REGCM_GLOBEDAT’,
and last bits:
FROM:
dirout=’/set/this/to/where/your/output/files/will/be/written’
TO:
dirout=’output/’
These modifications just reflect the above directory layout proposed for this
tutorial, and any of these paths can point anywhere on your system disks. The
path is limited to 256 characters. We are now ready to execute the first program
of the RegCM model.
5.2
Create the DOMAIN file using terrain
The first step is to create the DOMAIN file to localize the model on a world
region. The program which does this for you reading the global databases is
terrain .
To launch the terrain program, enter the following commands:
$> cd $REGCM_RUN
$> ./bin/terrain test_001.in
If everything is correctly configured up to this point, the model should print
something on stdout, and the last lines will be:
Grid data written to output file
Successfully completed terrain fields generation
In the input directory the program will write the following two files:
$> ls input
test_001_DOMAIN000.nc test_001_LANDUSE
17
The DOMAIN file contains the localized topography and landuse databases,
as well as projection information and land sea mask. The second file is an ASCII
encoded version of the landuse, used for modifying it on request. We will cover
it’s usage later on. To have a quick look at the DOMAIN file content, you may
want to use the GrADSNcPlot program:
$> ./bin/GrADSNcPlot input/test_001_DOMAIN000.nc
If not familiar with GrADS program, enter in sequence the following commands at the ga-> prompt:
ga->
ga->
ga->
ga->
ga->
ga->
ga->
ga->
ga->
q file
set gxout shaded
set mpdset hires
set cint 50
d topo
c
set cint 1
d landuse
quit
this will plot the topography and the landuse on the X11 window.
5.3
Create the SST using the sst program
We are now ready to create the Sea Surface Temperature for the model, reading
a global dataset. The program which does this for you is the sst program,
which is executed with the following commands:
$> cd $REGCM_RUN
$> ./bin/sst test_001.in
If everything is correctly configured up to this point, the model should print
something on stdout, and the last line will be:
Successfully generated SST
The input directory now contains a new file:
$> ls input
test_001_DOMAIN000.nc test_001_LANDUSE test_001_SST.nc
The SST file contains the Sea Surface temperature to be used in generating
the Initial and Boundary Conditions for the model for the period specified in
the namelist file. Again you may want to use the GrADSNcPlot program to
look at file content:
$> ./bin/GrADSNcPlot input/test_001_SST.nc
If not familiar with GrADS program, enter in sequence the following commands at the ga-> prompt:
18
ga->
ga->
ga->
ga->
ga->
ga->
q file
set gxout shaded
set mpdset hires
set cint 2
d sst
quit
this will plot the interpolated sst field on the X11 window.
5.4
Create the ICBC files using the icbc program
Next step is to create the ICBC (Initial Condition, Boundary Conditions) for
the model itself. The program which does this for you is the icbc program,
executed with the following commands:
$> cd $REGCM_RUN
$> ./bin/icbc test_001.in
If everything is correctly configured up to this point, the model should print
something on stdout, and the last line will be:
Successfully completed ICBC
The input directory now contains two more files:
$> ls -1 input
test_001_DOMAIN000.nc
test_001_ICBC.1990060100.nc
test_001_ICBC.1990070100.nc
test_001_LANDUSE
test_001_SST.nc
The ICBC files contain the surface pressure, surface temperature, horizontal
3D wind components, 3D temperature and mixing ratio for the RegCM domain
for the period and time resolution specified in the input file. Again you may
want to use the GrADSNcPlot program to look at file content:
$> ./bin/GrADSNcPlot input/test_001_ICBC.1990060100.nc
If not familiar with GrADS program, enter in sequence the following commands at the ga-> prompt:
ga->
ga->
ga->
ga->
ga->
ga->
ga->
ga->
q file
set gxout shaded
set mpdset hires
set cint 2
d ts
c
set lon 10
set lat 43
19
ga-> set t 1 last
ga-> d ts
ga-> quit
this will plot the interpolated surface temperature field on the X11 window,
first at first time step and then a time section in one of the domain points for a
whole month.
We are now ready to run the model!
5.5
First RegCM model simulation
The model has now all needed data to allow you to launch a test simulation,
the final goal of our little tutorial.
The model command line now will differ if you have prepared the Serial or the
MPI version. For the MPI enabled version we will assume that your machine is
a dual core processor (baseline for current machines, even for laptops). Change
the -np 2 argument to the number of processors you have on Your platform (on
my laptop QuadCore I use -np 4).
• MPI version
1
$> cd $REGCM_RUN
$> mpirun -np 2 ./bin/regcmMPI test_001.in
• Serial version
2
$> cd $REGCM_RUN
$> ./bin/regcmSerial test_001.in
Now the model will start running, and a series of diagnostic messages will
be printed on screen. As this is a simulation known to behave well, no stoppers
will appear, so you may want now to have a coffee break and come back in 10
minutes from now.
At the end of the run, the model will print the following message:
RegCM V4 simulation successfully reached end
The output directory now contains four files:
$> ls output
test_001_ATM.1990060100.nc test_001_SRF.1990060100.nc
test_001_RAD.1990060100.nc test_001_SAV.1990070100.nc
the ATM file contains the atmosphere status from the model, the SRF file
contains the surface diagnostic variables, and the RAD file contains radiation
fluxes information. The SAV file stores the status of the model at the end of the
simulation period to enable a restart, thus allowing a long simulation period to
be splitted in shorter simulations.
To have a look for example at surface fields, you may want to use the following command:
1 Use
regcmMPI clm if the CLM version has been configured
Support will be dropped in future releases.
2 Deprecated.
20
$> ./bin/GrADSNcPlot output/test_001_SRF.1990060100.nc
Assuming the previous crash course in using GraDS was received, you should
be able to plot the variables in the file.
This is the end of this little tutorial, and in the next chapter we will examine
how to configure the model for your research needs.
21
Chapter 6
Localizing the model and
running your simulation
We will examine in this chapter in more detail the namelist configuration file,
to give you the User a deeper knowledge of model capabilities.
6.1
The commented namelist
In this section we will show you the commented namelist input file you will find
under $REGCM_ROOT/Doc with the name README.namelist . All model programs
seen so far, with the exception of the GrADS helper program, use as input this
namelist file, which is unique to a particular simulation. The model input
namelist file is divided in stanzas, each one devoted to configuring the model
capabilities. A stanza in the namelist is identified with a starting & character
followed by stanza name, and ends on a single line with the \ character.
6.1.1
dimparam stanza
This stanza contains the base X,Y,Z domain dimension information, used by the
model dynamic memory allocator to request the Operating System the memory
space to store the model internal variables.
&dimparam
iy
= 34,
jx
= 48,
kz
= 18,
dsmin = 0.01,
dsmax = 0.05,
nsg
= 1,
!
!
!
!
!
!
!
!
This is number of points in the N/S direction
This is number of points in the E/W direction
Number of vertical levels
Minimum sigma spacing (only used if kz is not 14, 18, or 23)
Maximum sigma spacing (only used if kz is not 14, 18, or 23)
For subgridding, number of points to decompose. If nsg=1,
no subgridding is performed. CLM does NOT work as of now with
subgridding enabled.
/
The things you need to know here:
1. In the current version 4.4 the model parallelizes execution dividing the
work between the processors, with the minimum work per processor is 9
points or a box 3 ∗ 3, so the maximum number of processors which can be
used in a parallel run for the above configuration is roughly 180.
22
2. If a custom number of sigma level is chosen (not 14, 18 or 23), the actual sigma values are calculated mimimizing the a, b coefficients for the
equation:
dsig(i) = dsmax ∗ ai−1 ∗ b0.5∗(i−2)∗(i−1)
(6.1)
derived from the recursive relation:
dsig(i) = a(i) ∗ dsig(i − 1)
(6.2)
where a(i) = b ∗ a(i − 1). We at ICTP normally use 18 levels.
3. Specifying an nsg number greater than one triggers the subgrid BATS
model on. There is no plan to extend this feature to CLM model. This
affects only surface variable calculations. All dynamical variables are calculated still on the coarser grid. Rain in the current implementation is
also calculated on the coarser grid.
6.1.2
geoparam stanza
This stanza is used by the terrain program to geolocate the model grid on the
earth surface. The RegCM model uses a limited number of projection engines.
The value here are used by the other model programs to assert consistency with
the geolocation information written by the terrain program in the DOMAIN file.
The first step in any application is the selection of model domain and resolution. There are no strict rules for this selection, which in fact is mostly
determined by the nature of the problem and the availability of computing resources. The domain should be large enough to allow the model to develop
its own circulations and to include all relevant forcings and processes, and the
resolution should be high enough to capture local processes of interest (e.g. due
to complex topography or land surface).
On the other hand the model computational cost increases rapidly with
resolution and domain size, so a compromise needs to be usually reached between
all these factors.
This is usually achieved by experience, understanding of the problem or trial
and error, however one tip to remember is to avoid that the boundaries of the
domain cross major topographical systems.
This is because the mismatch in the resolution of the coarse scale lateral
driving fields and the model fields in the presence of steep topography may
generate spurious local effects (e.g. localized precipitation areas) which can
affect the model behavior, at least in adjacent areas.
&geoparam
iproj = ’LAMCON’, !
!
!
!
!
ds = 60.0,
!
ptop = 5.0,
!
clat = 45.39,
!
!
clon = 13.48,
!
Domain cartographic projection. Supported values are:
’LAMCON’, Lambert conformal.
’POLSTR’, Polar stereographic. (Doesn’t work)
’NORMER’, Normal Mercator.
’ROTMER’, Rotated Mercator.
Grid point horizontal resolution in km
Pressure of model top in cbar
Central latitude of model domain in degrees
North hemisphere is positive
Central longitude of model domain in degrees
23
plat = 45.39,
plon = 13.48,
truelatl = 30.0,
truelath = 60,
i_band = 0,
!
!
!
!
!
!
!
West is negative.
Pole latitude (only for rotated Mercator Proj)
Pole longitude (only for rotated Mercator Proj)
Lambert true latitude (low latitude side)
Lambert true latitude (high latitude side)
Use this to enable a tropical band. In this case the ds,
iproj, clat, clon parameters are not considered.
/
The things you need to know here:
1. The different projection engines produce better results depending on the
position and extent of the domain. In particular, regardless of hemisphere:
• Middle latitudes (around 45 degrees) - Lambert Conformal
• Polar latitudes (more than 75 degrees) - Polar Stereographic
• Low latitudes (up to 30 degrees and crossing the equator) - Mercator
• Crossing more than 45 degrees extent in latitude - Rotated Mercator
2. The model hydrostatic engine does not allow a resolution lower than 20km.
If you want a higher resolution consider using the subgridding scheme.
ICTP plans to introduce in the future a non-hydrostatic compressible core
to the RegCM model.
3. Lowering the top pressure of the model can give you problems in regions
with complex topography. Touch the default after thinking twice on that.
4. Always specify clat and clon, the central domain point, and do fine
adjustment of the position moving it around a little bit. A little shift in
position and some tests can help you obtain a better representation of
coastlines and topography at the coarse resolutions.
5. If using LAMCON projection, take care to place the two true latitudes at
around one fourth and three fourth of the domain latitude space to better
correct the projection distortion of the domain.
6. The pole position for the rotated mercator position should be as near as
possible to the center domain position.
7. For the i_band parameter, selecting this will enable the tropical band experiment, and the horizontal resolution will be calculated from the number
of jx points. The projection is set to Normal Mercator, the center of the
projection is set to clat = 0.0, clon = 180.0, and the grid point resolution is calculated as:
2 ∗ π ∗ 6370.0
(6.3)
jx
Just remember:
(a) The model for a tropical band simulation is heavy, as the number of
points is usually huge to obtain a good horizontal resolution. Check
any memory limit is disabled on your platform before attempting a
run.
(b) The model scales well on a cluster with a large number of processors.
24
6.1.3
terrainparam stanza
This stanza is used by the terrain program to know how you want to generate
the DOMAIN file. You can control its work using a number of parameters to obtain what you consider the best representation of the physical reality. Do not
underestimate what you can do at this early stage, having a good representation of the surface can lead to valuable results later when the model calculates
climatic parameters.
&terrainparam
domname = ’AQWA’,
smthbdy = .false.,
lakedpth
= .false.,
ltexture
= .false.
fudge_lnd
= .false.,
fudge_lnd_s = .false.,
fudge_tex
= .false.,
fudge_tex_s = .false.,
fudge_lak
= .false.,
fudge_lak_s = .false.,
h2opct = 50.,
h2ohgt = .false.,
ismthlev = 1,
dirter = ’input/’,
inpter = ’globdata/’,
/
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
Name of the domain. Controls naming of input files
Smoothing Control flag
true -> Perform extra smoothing in boundaries
If using lakemod (see below), produce from
terrain program the domain bathymetry
If using DUST tracer (see below), produce from
terrain program the texture soil dataset
Fudging Control flag, for landuse of grid
Fudging Control flag, for landuse of subgrid
Fudging Control flag, for texture of grid
Fudging Control flag, for texture of subgrid
Fudging Control flag, for lake of grid
Fudging Control flag, for lake of subgrid
Surface minimum H2O percent to be considered water
Allow water points to have elevation greater than 0
How many times apply the 121 smoothing
Output directory for terrain files
Input directory for SURFACE dataset
The things you need to know here:
1. The domname will control the output file naming convention, all generated
files will add this prefix to the old V3 naming convention, giving you the
capability to recognize different runs. Try to use always meaningful names.
2. You can control the final land-water mask using the h2opct parameter.
This parameter can be used to have more land points than calculated by
the simple interpolation engine. Try it with different values to find best
land shapes. A zero value means use just the interpolation engine, higher
values will extend into ocean points the land at land-water interface. The
h2ohgt parameter allows also water points to have elevation greater than
zero to avoid wall effects on the coasts.
3. A number of flags control the capability of the terrain program to modify
on request the class type variables in the DOMAIN file. You can modify on
request the landuse, the texture and the lake/land interface. Running
once the terrain program, it will generate for you aside from the DOMAIN
file a series of ASCII files you can modify with any text editor. Running
the terrain program the second time and setting a fudge flag, will tell
the program to overwrite the selected variable with the modified value in
the ASCII file. This can be useful for sensitivity experiments in the BATS
surface model or to design a scenario experiment.
4. Some of the land surface types in BATS have been little tested and used or
are extremely simplified and thus should be used cautiously. Specifically
the types are: sea ice, bog/marsh, irrigated crop, glacier. If such types
25
are present in a domain, the user is advised to carefully check the model
behavior at such points and eventually substitute these types with others.
5. The inpter directory is expected to contain a SURFACE directory where
the actual netCDF global dataset are stored. The overall path is limited
to 256 characters.
6. If the netCDF library is compiled with OpenDAP support, an URL can
be used as a path in the dirter and inpter variables. Note that the
256 character limit for paths holds in the whole program. For terrain
program you may want to try the following URL:
http://clima-dods.ictp.it/thredds/dodsC
6.1.4
debugparam stanza
This stanza is used by all RegCM programs to enable/disable some debug printout. In the current release this flag is honored only by the model itself. If you
are not a developer you may find this flags useless.
&debugparam
debug_level = 0, ! Currently value of 2 and 3 control previous DIAG flag
dbgfrq = 3,
! Interval for printout if debug_level >= 3
/
Just note that with current implementation, the output file syncing is left
to the netCDF library. If You want to examine step by step the output while
the model is running, set the debug_level at value 3.
6.1.5
boundaryparam stanza
Being a limited area model, in order to be run RegCM4 requires the provision of
meteorological initial and time dependent lateral boundary conditions, typically
for wind components, temperature, water vapor and surface pressure. These are
obtained by interpolation from output from reanalysis of observations or global
climate model simulations, which thus drive the regional climate model.
The lateral boundary conditions (LBC) are provided through the so called
relaxation/diffusion technique which consists of:
1. selecting a lateral buffer zone of n grid point width (nspgx)
2. interpolating the driving large scale fields onto the model grid
3. applying the relaxation + diffusion term
∂α
= F (n)F1 ∗ (αLBC − αmod ) − F (n)F 2 ∗ ∆2 (αLBC − αmod )
∂t
(6.4)
where α is a prognostic variable (wind components, temperature, water
vapor, surface pressure). The first term on the rhs is a Newtonian relaxation term which brings the model solution (mod) towards the LBC
field (LBC) and the second term diffuses the differences between model
solution and LBC. F (n) is an exponential function given by:
−(n − 1)
(6.5)
F (n) = exp
anudge(k)
26
Where n is the grid point distance from the boundary (varying from 1 to
nspgx): n − 1 is the outermost grid point, n = 2 the adjacent one etc. The
anudge array determines the strength of the LBC forcing and depends on
the model level k. In practice F (n) is equal to 1 at the outermost grid
point row and decreases exponentially to 0 at the internal edge of the
buffer zone (nspgd) at a rate determined by anudge. Larger buffer zones
and larger values of anudge will yield a greater forcing by the LBC.
Typically for domain sizes of 100 grid points we use a buffer zone width of
10 − 12 grid points, for large domains this buffer zone can increase to values of
15 or even 20.
In the model anudge has three increasing values from the lower, to the mid
and higher troposphere. For example for nspgx = 10 we use anudge equals to
1, 2, 3 for the lower, mid and upper troposphere, respectively.
This allows a stronger forcing in the upper troposphere to insure a greater
consistency of large scale circulations with the forcing LBC while allowing more
freedom to the model in the lower troposphere where local high resolution forcings (e.g. complex topography) are more important.
For nspgx of 15−20, for example, anudge values could be increased to 2, 3, 4.
As a rule of thumb, the choice of the maximum anudge value should follow the
conditions:
(nspgx − 1)
≥3
anudge(k)
&boundaryparam
nspgx = 12, !
!
nspgd = 12, !
!
high_nudge
=
medium_nudge =
low_nudge
=
/
6.1.6
(6.6)
nspgx-1 represent the number of cross point slices on
the boundary sponge or relaxation boundary conditions.
nspgd-1 represent the number of dot point slices on
the boundary sponge or relaxation boundary conditions.
3.0, ! Nudge value high range
2.0, ! Nudge value medium range
1.0 ! Nudge value low range
globdatparam stanza
This stanza is used by the sst and icbc ICBC programs. You can tell them
how to build initial and bondary conditions.
&globdatparam
ibdyfrq =
6,
ssttyp = ’OI_WK’,
dattyp = ’EIN15’,
gdate1 = 1990060100,
gdate2 = 1990070100,
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
boundary condition interval (hours)
Type of Sea Surface Temperature used
One in: GISST, OISST, OI2ST, OI_WK, OI2WK,
FV_RF, FV_A2, FV_B2,
EH5RF, EH5A2, EH5B1, EHA1B,
ERSST, ERSKT, CCSST, CA_XX,
HA_XX, EC_XX, IP_XX, GF_XX,
CN_XX
Type of global analysis datasets used
One in: ECMWF, ERA40, EIN75, EIN15, EIN25,
ERAHI, NNRP1, NNRP2, NRP2W, GFS11,
FVGCM, FNEST, EH5RF, EH5A2, EH5B1,
EHA1B, CCSMN, ECEXY, CA_XX, HA_XX,
EC_XX, IP_XX, GF_XX, CN_XX
Start date for ICBC data generation
End data for ICBC data generation
27
calendar = ’gregorian’,
dirglob = ’input/’,
inpglob = ’globdata/’,
ensemble_run = .false.,
! Calendar to use (gregorian, noleap or 360_day)
! Path for ICBC produced input files
! Path for ICBC global input datasets.
! If this is a member of a perturbed ensemble
! run. Activate random noise added to input
! Look http://users.ictp.it/~pubregcm/RegCM4/globedat.htm
! on how to download them.
/
Things you need to know here:
1. The gdate time window to build ICBC must be always greater or equal
to the time window you plan to run the model in. Different GCMs and
reanalysis products have different length of the year. For example, the
reanalysis products employ the real year length (365 days + real leap
years, i.e. and average length of 365.2422), the CCSM has a length of 365
days (no leap year), the HadCM has a length of 360 days (30 day months).
The RegCM4 length of the year has to be the same as in the forcing fields,
and this can be set in the variable dayspy. Please remember to always
check the consistency of the length of the year.
2. Even if listed, not all the input engines are fully tested. Some of them need
data which have been reformatted by ICTP (they are not in the original
format with which they are distributed by the institution producing them).
Some input data are not freely distibutable by ICTP, and you need a
special agreement with the owner to use them. Hopefully the situation
is changing, and data exchange is becoming more and more the basis for
good science in the climatic field.
3. For notes on path, you can see the above in terrainparam stanza description at 5.
6.1.7
perturbparam stanza
This stanza lets you control to which input field and of what fractional level a
perturbation is added at ICBC stage on the input fields. It is read by the ICBC
program if the ensemble_run parameter in the globdatparam stanza is set to
true.
!
! Perturbation control for ensembles
!
&perturbparam
lperturb_topo = .false.,
! Add perturbation
perturb_frac_topo = 0.001D0, ! Fractional value
lperturb_ts = .false.,
! Add perturbation
perturb_frac_ts = 0.001D0,
! Fractional value
lperturb_ps = .false.,
! Add perturbation
perturb_frac_ps = 0.001D0,
! Fractional value
lperturb_t = .false.,
! Add perturbation
perturb_frac_t = 0.001D0,
! Fractional value
lperturb_q = .false.,
! Add perturbation
perturb_frac_q = 0.001D0,
! Fractional value
lperturb_u = .false.,
! Add perturbation
perturb_frac_u = 0.001D0,
! Fractional value
lperturb_v = .false.,
! Add perturbation
perturb_frac_v = 0.001D0,
! Fractional value
/
28
to
of
to
of
to
of
to
of
to
of
to
of
to
of
surface elevation
the perturbation on topo
surface temeprature
the perturbation on ts
surface pressure
the perturbation on ps
temperature
the perturbation on t
humidity mixing ratio
the perturbation on q
zonal velocity
the perturbation on u
meridional velocity
the perturbation on v
Things you need to know here:
1. The perturb_frac should not exceed a percent of the field value. The
algorithm detail of the applied noise can be found in O’Brien et al. (2011).
6.1.8
restartparam stanza
This stanza lets you control the time period the model is currently simulating
in this particular run. You may want to split longer runs for which you have
prepared the ICBC’s into shorter runs, to schedule HPC resource usage in a
more collaborative way with other researcher sharing it: the regcm model allows
restart, so be friendly with other research projects which may not have this
fortune (unless you are late for publication).
&restartparam
ifrest = .false. ,
mdate0 = 1990060100,
mdate1 = 1990060100,
mdate2 = 1990060200,
/
!
!
!
!
If a restart
Global start (is gdate1, most probably)
Start date of this run
End date for this run
Things you need to know here:
1. After the simulation starts, on restart NEVER change the mdate0 value.
The correct scheme for restart is:
• Set ifrest to .true.
• Set mdate1 to the value in mdate2
• Define the new value for mdate2
2. Consider that current RegCM convention is to place midnight of first day
of month as the last timestep in previous month, except on first model
output file (ifrest = .false.). It is for this reason better to use as start
and end time a month boundary. We usually consider a month data file
the basic unit of output, each time you cross a month a new output file
will be created for you.
6.1.9
timeparam stanza
This stanza contains model internal timesteps, used by the model as basic integration timestep and triggers for calling internal parametric schemes.
&timeparam
dt
=
150., ! time step in seconds
dtrad =
30., ! time interval solar radiation calculated (minutes)
dtabem =
18., ! time interval absorption-emission calculated (hours)
dtsrf =
600., ! time interval at which land model is called (seconds)
/
Things you need to know here:
1. The dynamical hydrostatical core of RegCM requires a fixed timestep, and
you need to manually find the correct value which permits not to break
the CourantFriedrichsLewy condition considering R. Courant and Lewy
(1928). A good rule of thumb is to have a dt not greater than three times
the ds value in km specified in the geoparam stanza at 6.1.2. A greater
29
value may lower computing time, but in case of strong advection may lead
to non accurate computation or even the violation of CFL condition and
the divergence of the solution.
2. All the other internal timesteps need to be multiples of the base timestep.
Note that the units are different, so you need to convert the other timesteps
in seconds before the check.
3. In case of strong surface gradients, a low value for the surface timesteps
may help the model better describe the interaction with the atmosphere
and obtain a stable solution.
4. If you hit a non stable condition, the restart capability of the model may
help find the correct timestep just for a particular period, using a different
timestep at different times.
6.1.10
outparam stanza
This stanza controls the model output engine, allowing you to enable/disable
any of the output file writeout, or to modify the frequency the fields are written
in the files.
&outparam
ifsave = .true. ,
savfrq =
48.,
ifatm
= .true. ,
atmfrq =
6.,
ifrad
= .true. ,
radfrq =
6.,
ifsts
= .true. ,
ifsrf
= .true. ,
srffrq =
3.,
ifsub
= .true. ,
subfrq =
6.,
iflak
= .true.,
lakfrq =
6.,
ifchem = .true.,
chemfrq =
6.,
enable_atm_vars = 30*.true.,
enable_srf_vars = 28*.true.,
enable_rad_vars = 23*.true.,
enable_sub_vars = 18*.true.,
enable_sts_vars = 15*.true.,
enable_lak_vars = 19*.true.,
enable_opt_vars = 13*.true.,
enable_che_vars = 24*.true.,
dirout = ’./output’,
lsync
= .false.,
! Create SAV files for restart
! Frequency in hours to create them
! Output ATM ?
! Frequency in hours to write to ATM
! Output RAD ?
! Frequency in hours to write to RAD
! Output STS (frequence is daily) ?
! Output SRF ?
! Frequency in hours to write to SRF
! Output SUB ?
! Frequency in hours to write to SUB
! Output LAK ?
! Frequency in hours to write to LAK
! Output CHE ?
! Frequency in hours to write to CHE
! Mask to eventually disable variables ATM
! Mask to eventually disable variables SRF
! Mask to eventually disable variables RAD
! Mask to eventually disable variables SUB
! Mask to eventually disable variables STS
! Mask to eventually disable variables LAK
! Mask to eventually disable variables OPT
! Mask to eventually disable variables CHE
! Path where all output will be placed
! If sync of output files at every timestep is
! requested. Note, it has a performance impact.
! Enabled by default if debug_level > 2
idiag = 0,
! Enable tendency diagnostic output in the ATM
! file. NOTE: output file gets HUGE.
do_parallel_netcdf_in = .false., ! This enables paralell input
! Each processors reads its slice in the
! input file. Enable ONLY in case of
! HUGE input bandwidth,
do_parallel_netcdf_out = .false., ! This enables paralell output if the
! hdf5/netcdf libraries support it and
! the model is compiled with :
30
!
--enable-nc4-parallel
/
Things you need to know here:
1. The surface fields are the mean values in the interval specified by the
frequency values. The dynamical fields are instead the point value at the
output time. Refer to the Reference Manual Giorgi (2011) for a detailed
description of the model output fields.
2. If the chemistry or lake model are not enabled, the values specified in
the control flags are not considered. If nsg is not greater than one in
dimparam at 6.1.1, the ifsub flag is not considered.
3. For the output directory, the path variable has a limit of 256 characters.
This path must be a local path on disk where the user running the model
has write permissions granted.
4. The enablevar logical arrays can be used to avoid saving one of the time
dependent variables in the output file, in the order they are saved in the
output file itself. Note that geolocation and pressure variables cannot be
disabled.
6.1.11
physicsparam stanza
This stanza controls the model physics. You have a number of option here,
and the best way to select the right set is to carefully read the the Reference
Manual Giorgi (2011). We are for the purposes of this User Guide not going
in detail in here, except in saying that probably you will need to run some
experiments especially with different cumulus convection schemes before finding
out the best model setting. Although the mixed convection scheme (Grell over
land and Emanuel over ocean) seems to provide an overall better performance,
our experience is that there is no scheme that works best everywhere, therefore
we advice to always do some sensitivity experiments to select the best scheme
for your application.
&physicsparam
iboudy =
5,
isladvec =
0,
ibltyp
=
1,
icup
=
4,
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
Lateral Boundary conditions scheme
0 => Fixed
1 => Relaxation, linear technique.
2 => Time-dependent
3 => Time and inflow/outflow dependent.
4 => Sponge (Perkey & Kreitzberg, MWR 1976)
5 => Relaxation, exponential technique.
Semilagrangian advection scheme for tracers and
humidity
0 => Disabled
1 => Enable Semi Lagrangian Scheme
Boundary layer scheme
0 => Frictionless
1 => Holtslag PBL (Holtslag, 1990)
2 => UW PBL (Bretherton and McCaa, 2004)
99 => Holtslag PBL, with UW in diag. mode
Cumulus convection scheme
1 => Kuo
2 => Grell
3 => Betts-Miller (1986) DOES NOT WORK !!!
31
igcc
=
1,
ipptls
=
1,
iocnflx =
2,
iocnrough =
ipgf
=
0,
iemiss =
lakemod =
ichem
=
scenario =
idcsst
iseaice
idesseas
iconvlwp
1,
0,
0,
1,
’A1B’,
=
=
=
=
0,
0,
0,
1,
irrtm
=
iclimao3 =
isolconst =
0,
0,
1,
islab_ocean =
\
0,
6.1.12
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
4 => Emanuel (1991)
5 => Tiedtke (1986) UNTESTED !!!
96 => Use Tiedtke over land and Grell over ocean
97 => Use Tiedtke over land and Emanuel over ocean
98 => Use Emanuel over land and Grell over ocean
99 => Use Grell over land and Emanuel over ocean
Grell Scheme Cumulus closure scheme
1 => Arakawa & Schubert (1974)
2 => Fritsch & Chappell (1980)
Moisture scheme
1 => Explicit moisture (SUBEX; Pal et al 2000)
2 => Explicit moisture Nogherotto/Tompkins
Ocean Flux scheme
1 => Use BATS1e Monin-Obukhov
2 => Zeng et al (1998)
3 => Coare bulk flux algorithm (snowice),
only activated with coupling
Zeng Ocean model roughness formula to use.
1 => (0.0065*ustar*ustar)/egrav
2 => (0.013*ustar*ustar)/egrav + 0.11*visa/ustar
Pressure gradient force scheme
0 => Use full fields
1 => Hydrostatic deduction with pert. temperature
Calculate emission
Use lake model
Use active aerosol chemical model
IPCC Scenario to use in A1B,RF,A2,B1,B2
RCP Scenarios in RCP3PD,RCP4.5,RCP6,RCP8.5
Use diurnal cycle sst scheme
Model seaice effects
Model desert seasonal albedo variability
Use convective liquid water path as the large-scale
liquid water path
Use RRTM radiation scheme instead of CCSM
Use O3 climatic dataset from SPARC CMIP5
Use a constant 1367 W/m^2 instead of the prescribed
TSI recommended CMIP5 solar forcing data.
Activate the SLAB ocean model
subexparam stanza
This stanza controls the SUBEX moisture scheme. Please consider carefully
reporting in your work the tuning you perform on this parameters. The parameters below are the ones currently used at ICTP.
&subexparam
ncld
=
qck1land =
qck1oce
=
gulland
=
guloce
=
rhmax
=
rh0oce
=
rh0land
=
tc0
=
cevaplnd =
cevapoce =
caccrlnd =
caccroce =
cllwcv
=
clfrcvmax =
1,
.250E-03,
.250E-03,
0.4,
0.4,
1.01,
0.90,
0.80,
238.0,
.100E-02,
.100E-02,
3.000,
3.000,
0.3E-3,
1.00,
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
# of bottom model levels with no clouds
Autoconversion Rate for Land
Autoconversion Rate for Ocean
Fract of Gultepe eqn (qcth) when precip occurs
Fract of Gultepe eqn (qcth) for ocean
RH at whicn FCC = 1.0
Relative humidity threshold for ocean
Relative humidity threshold for land
Below this temperature, rh0 begins to approach unity
Raindrop evap rate coef [[(kg m-2 s-1)-1/2]/s]
Raindrop evap rate coef [[(kg m-2 s-1)-1/2]/s]
Raindrop accretion rate [m3/kg/s]
Raindrop accretion rate [m3/kg/s]
Cloud liquid water content for convective precip.
Max cloud fractional cover for convective precip.
32
cftotmax
/
=
0.75, ! Max total cover cloud fraction for radiation
We found that RegCM4 is especially sensitive to:
1. cevap : increasing cevap will generally decrease precipitation
2. gulland, guloce : increase of guland/guloce will generally lead to reduce
precipitation
6.1.13
microparam stanza
This stanza controls the new microphysics scheme.
&microparam
budget_compute = .false., !
nssopt = 1,
!
!
!
!
!
kautoconv = 4,
!
!
!
!
!
ksemi = 1.0D0,
!
!
!
!
/
6.1.14
Verify enthalpy and moisture conservation
Supersaturation Computation
0 => No scheme
1 => Tompkins
2 => Lohmann and Karcher
3 => Gierens
Choose the autoconversion paramaterization
=> 1 Klein & Pincus (2000)
=> 2 Khairoutdinov and Kogan (2000)
=> 3 Kessler (1969)
=> 4 Sundqvist
Implicit/Explicit control
ksemi == 0 => scheme is fully explicit
ksemi == 1 => scheme is fully implicit
0<ksemi<1 => scheme is semi-implicit
grellparam, emanparam and tiedtkeparam stanzas
You are allowed here to tune the convection scheme selected above in 6.1.11
with the icup number if selected number is 2, 4, 5, 96, 97, 98, 99.
&grellparam
shrmin = 0.25,
shrmax = 0.50,
edtmin = 0.25,
edtmax = 0.50,
edtmino = 0.25,
edtmaxo = 0.50,
edtminx = 0.25,
edtmaxx = 0.50,
shrmin_ocn = 0.25,
shrmax_ocn = 0.50,
edtmin_ocn = 0.25,
edtmax_ocn = 0.50,
edtmino_ocn = 0.25,
edtmaxo_ocn = 0.50,
edtminx_ocn = 0.25,
edtmaxx_ocn = 0.50,
pbcmax = 150.0,
mincld = 150.0,
htmin = -250.0,
htmax = 500.0,
skbmax = 0.4,
dtauc = 30.0,
/
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
Minimum Shear effect on precip eff.
Maximum Shear effect on precip eff.
Minimum Precipitation Efficiency
Maximum Precipitation Efficiency
Minimum Precipitation Efficiency (o var)
Maximum Precipitation Efficiency (o var)
Minimum Precipitation Efficiency (x var)
Maximum Precipitation Efficiency (x var)
Minimum Shear effect on precip eff. OCEAN points
Maximum Shear effect on precip eff.
Minimum Precipitation Efficiency
Maximum Precipitation Efficiency
Minimum Precipitation Efficiency (o var)
Maximum Precipitation Efficiency (o var)
Minimum Precipitation Efficiency (x var)
Maximum Precipitation Efficiency (x var)
Max depth (mb) of stable layer b/twn LCL & LFC
Min cloud depth (mb).
Min convective heating
Max convective heating
Max cloud base height in sigma
Fritsch & Chappell (1980) ABE Removal Timescale (min)
33
&emanparam
minsig = 0.95,
elcrit_ocn = 0.0011,
elcrit_lnd = 0.0011,
tlcrit = -55.0,
entp = 1.5,
sigd = 0.05,
sigs = 0.12,
omtrain = 50.0,
omtsnow = 5.5,
coeffr = 1.0,
coeffs = 0.8,
cu = 0.7,
betae = 10.0,
dtmax = 0.9,
alphae = 0.2,
damp = 0.1,
epmax_ocn = 0.999,
epmax_lnd = 0.999,
/
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
&tiedtkeparam
iconv = 1,
entrpen = 1.0D-4,
entrscv = 3.0D-4,
entrmid = 1.0D-4,
entrdd = 2.0D-4,
cmfcmax = 1.0D0,
cmfcmin = 1.0D-10,
cmfdeps = 0.3D0,
rhcdd = 1.0D0,
cmtcape = 20.0D0,
zdlev = 1.5D4,
cprcon = 1.0D-4,
cmcptop = 300.0D0,
centrmax = 2.0D-4,
ctrigger = 1.0D0,
cmfctop = 0.35D0,
lmfpen = .true.,
lmfscv = .true.,
lmfmid = .true.,
lmfdd = .true.,
lmfdudv = .true.,
/
Actual used scheme.
Entrainment rate for penetrative convection
Entrainment rate for shallow convection
Entrainment rate for midlevel convection
Entrainment rate for cumulus downdrafts
Maximum massflux value
Minimum massflux value (for safety)
Fractional massflux for downdrafts at lfs
Relative saturation in downdrafts
CAPE adjustment timescale parameter
Restrict rainfall up to this elevation
Coefficients for determining conversion
Midlevel convection top pressure
Max entrainment
Trigger parameter 0 <- -> 1
Relat. cloud massflux at level above nonbuoyancy
true if penetrative convection is switched on
true if shallow convection is switched on
true if midlevel convection is switched on
true if cumulus downdraft is switched on
true if cumulus friction is switched on
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
Lowest sigma level from which convection can originate
Autoconversion threshold water content (g/g) over ocean
Autoconversion threshold water content (g/g) over land
Below tlcrit auto-conversion threshold is zero
Coefficient of mixing in the entrainment formulation
Fractional area covered by unsaturated dndraft
Fraction of precipitation falling outside of cloud
Fall speed of rain (Pa/s)
Fall speed of snow (Pa/s)
Coefficient governing the rate of rain evaporation
Coefficient governing the rate of snow evaporation
Coefficient governing convective momentum transport
Controls downdraft velocity scale
Max negative parcel temperature perturbation below LFC
Controls the approach rate to quasi-equilibrium
Controls the approach rate to quasi-equilibrium
Maximum precipitation efficiency (ocean)
Maximum precipitation efficiency (land)
Things you need to know here:
1. In case of the mixed schemes 96, 97, 98, 99, both the selected schemes configuration stanzas are read in. Note in this case for the schemes only the
relevant (Ocean or Land) control values are used.
2. Minimum and maximum values of the fraction of reevaporated water in
the downdraft for the Grell scheme is essentially a measure of the precipitation efficiency: increasing their value generally decrease convective
precipitation.
3. Again, read carefully the Reference Manual before attempting any tuning,
and report in any work modification of this parameters.
34
6.1.15
holtslagparam stanza
You are allowed here to tune the Holtslag PBL scheme selected above in 6.1.11
with the ibltyp number if selected number is 1, 99.
&holtslagparam
ricr_ocn = 0.25D0, ! Critical Richardson Number over Ocean
ricr_lnd = 0.25D0, ! Critical Richardson Number over Land
zhnew_fac = 0.25D0, ! Multiplicative factor for zzhnew in holtpbl
/
6.1.16
uwparam stanza
You are allowed here to tune the UW PBL scheme selected above in 6.1.11 with
the ibltyp number if selected number is 2, 99.
&uwparam
iuwvadv = 0,
atwo = 15.0D0,
rstbl = 1.5D0,
!
!
!
!
!
!
!
!
0=standard T/QV/QC advection, 1=GB01-style advection
1 is ideal for MSc simulation, but may have stability issues
Efficiency of enhancement of entrainment by cloud evap.
see Grenier and Bretherton (2001) Mon. Wea. Rev.
and Bretherton and Park (2009) J. Clim.
Scaling parameter for stable boundary layer eddy length
scale. Higher values mean stronger mixing in stable
conditions
/
6.1.17
slabocparam stanza
Here you define parameter and stage fot the Ocean q-flux adjusted mixed layer
model.
&slabocparam
do_qflux_adj
! Activate SLAB Ocean model surface fluxes adjust
! from an already created climatology
do_restore_sst = .true., ! Create during the run the SLAB Ocean model surface
! fluxes climatology to be used in a subsequent run
sst_restore_timescale = 5.0D0, ! Time interval in days in building the
! q-flux adjustment
mixed_layer_depth
= 50.0D0, ! Depth in meters of the Ocean mixed layer.
/
6.1.18
= .false.,
rrtmparam stanza
You are allowed here to tune the RRTM radiative scheme selected above in
6.1.11 with the irrtm number if selected number is 1.
&rrtmparam
inflgsw = 2, ! 0 = use the optical properties calculated in prep_dat_rrtm
!
(same as standard radiation)
! 2 = use RRTM option to calculate cloud optical properties
!
from water path and cloud drop radius
iceflgsw = 3, ! Flag for ice particle specification
!
0 => ice effective radius, r_ec, (Ebert and Curry, 1992),
!
r_ec must be >= 10.0 microns
!
1 => ice effective radius, r_ec, (Ebert and Curry, 1992),
!
r_ec range is limited to 13.0 to 130.0 microns
!
2 => ice effective radius, r_k, (Key, Streamer Ref. Manual,
!
1996), r_k range is limited to 5.0 to 131.0 microns
!
3 => generalized effective size, dge, (Fu, 1996),
!
dge range is limited to 5.0 to 140.0 microns
35
!
liqflgsw = 1, !
!
!
!
!
!
inflglw = 2, !
iceflglw = 3, !
liqflglw = 1, !
idrv = 0,
!
!
icld = 1,
!
irng = 1,
!
/
6.1.19
[dge = 1.0315 * r_ec]
Flag for liquid droplet specification
0 => Compute the optical depths due to water clouds in ATM
(currently not supported)
1 => The water droplet effective radius (microns) is input
and the optical depths due to water clouds are computed
as in Hu and Stamnes, J., Clim., 6, 728-742, (1993).
Flag for cloud optical properties as above but for LW
Flag for ice particle specification as above but for LW
Flag for liquid droplet specification as above but for LW
Flag for calculation of dFdT, the change in upward flux as
a function of surface temperature [0=off, 1=on]
Cloud Overlap hypothesis
mersenne twister random generator for McICA COH
chemparam stanza
This stanza controls the chemistry and aerosol options in the RegCM model.
&chemparam
chemsimtype = ’CBMZ
ichsolver = 1,
ichsursrc = 1,
ichdrdepo = 1,
!
!
!
!
!
!
ichebdy = 1,
!
ichcumtra = 1, !
ichremlsc = 1, !
!
ichremcvc = 1, !
!
ichdustemd = 1, !
!
!
ichdiag = 0,
!
idirect
= 1, !
!
!
!
!
!
!
iindirect = 0, !
rdstemfac = 1.0,!
/
’, ! Which chemical tracers to be activated.
! One in :
!
DUST
: Activate 4 dust bins scheme
!
SSLT
: Activate 2 bins Sea salt scheme
!
DUSS
: Activate DUST +SSLT
!
CARB
: Activate 4 species black/anthropic
!
carbon simulations
!
SULF
: Activate SO2 and SO4 tracers
!
SUCA
: Activate both SUKF and CARB
!
AERO
: Activate all DUST, SSLT, CARB and SULF
!
CBMZ
: Activate gas phase and sulfate
!
DCCB
: Activate CBMZ +DUST +CARB
!
POLLEN : Activate POLLEN transport scheme
Activate the chemical solver
Enable the emissions
1 = enable tracer surface dry deposition. For dust,
it is calculated by a size settling and dry
deposition scheme. For other aerosol,a dry
deposition velocity is simply prescribed further.
Enable boundary conditions read
1 = enable tracer convective transport and mixing.
1 = wet removal of chemical species (washout and rainout
by total rain) is enabled
1 = wet removal of chemical species (washout and rainout
by convective rain) is enabled
Choice for parametrisation of dust emission size distribution
1 = use the standard scheme (Alfaro et al., Zakey et al.)
2 = use the the revised soil granulometry + Kok et al., 2011
1 = enable writing of additional diagnostics in the output
CHoice to enable or not aerosol feedbacks on radiation and
dynamics (aerosol direct and semi direct effcts):
1 = no coupling to dynamic and thermodynamic. However
the clear sky surface and top of atmosphere
aerosol radiative forcings are diagnosed.
2 = allows aerosol feedbacks on radiative,
thermodynamic and dynamic fields.
Enable sulfate indirect effect in radiation scheme
Aerosol correction factor (Laurent et al, 2008)
The chemsimtype parameter select one in a number of fixed sets which define
36
the nature and number of chemical species and/or transported aerosols, together
with wich relevant scheme is to be used in the simulation. The implemented
possible simulation types for the aerosol/chemistry options are:
1. DUST : Activate 4 dust bins scheme, with on line emission, transport and
removal.
2. SSLT : Activate 2 sea salt bins scheme, with on line emission, transport
and removal.
3. CARB : Activate 4 species organic and black carbon in both hydrophobic and hydrophilic aerosol scheme, with on line emission, transport and
removal.
4. SULF : Activate SO2 and SO4 tracers with simple sulfate oxidation from
oxidant climatology, with on line emission, transport and removal.
5. SUCA : Activate both SULF and CARB.
6. AERO : Activate all DUST, SSLT, CARB and SULF
7. CBMZ : Activate CBMZ gas phase option : 35 tracer are considered here.
8. DCCB : Activate CBMZ +DUST +CARB options: 45 tracers are considered
here.
The more tracer are used, the heavier computationally are the simulations
and the outputs. The chemistry outputs consist of one netCDF file per tracer,
named explicitely and containing concentration fields + different diagnostics,
and one netCDF file giving the optical properties of the total aerosol mixture
i.e. aerosol optical depth and radiative forcing. For a big domain, this can
require a huge amount of disk space to store the model results.
We will now detail the steps required to run a chemistry/aerosol simulation
with the RegCM model.
Pre Processing
We need to perform a couple of operations in the pre-processing stage to prepare
input datasets for an aerosol/chemistry simulation.
1. In the case of a DUST, AERO or DCCB simulation, we need the model to
prepare soil type dataset to be used for dust emission calculation at the
terrain program stage. The ltexture parameter in the terrainparam
stanza (see above in 6.1.3) should be set to .true..
2. After having prepared the static and boundary condition data with the
icbc program for the atmosphere, we need also to define chemical emissions and chemical boundary conditions.
The data needed for this second task come from different sources, both
measurements data or GCM model with a chemistry parametrization active.
37
1. Emission dataset. The pre processor can manage CMIP5 RCP anthropogenic emissions for present day and future emission. For this, the global
RCP emission dataset have first been processed by ICTP (F.Solmon and
A. Pozzer) to match the species considered in the chemical solver CBMZ,
and to aggregate different sector of emissions that are present in the RCP
fields (e.g. CO emission from biomass burning + fossil fuel + ship +
. . .). The resulting global files, as well as grid informations are publicly
available on ICTP site :
http://clima-dods.ictp.it/data/d8/cordex/RCP_EMGLOB_PROCESSED
Note : not the whole RCP have been yet processed and put on the website,
but this will be done progressively. At this time you can use only 19902010 Historical emissions.
2. Chemical boundary conditions for important tracersare available through
ICTP. We use monthly boundary condition coming from global simulations (CAM + EC-EARTH) for aerosols, following different RCP scenarios (HIST + future). For the gas phase, we however still rely on a climatology representative of monthly average concentrations over the period
2000-2007 coming from the MOZART CTM. In the future, we hope to
have also GCM forcing interface for relevant gas phase species. The oxidant fields, used in the simple sulfate scheme, is also a climatology coming
from MOZART CTM. The data are available on ICTP site in the folloving
directories:
http://clima-dods.ictp.it/data/d8/cordex/AERGLOB
http://clima-dods.ictp.it/data/d8/cordex/OXIGLOB
The steps to prepare the chemistry boundary conditions data are the following:
1. In case of a chemistry simulation type (CBMZ or DCCB), the global emission
files must first be interpolate to the RegCM model grid using the following
procedure:
• Create the RegCM model grid description file to be used by cdo to
calculate weghts for a conservative remapping interpolation:
$> cd $REGCM_RUN
$> ./bin/emcre_grid test_001.in
• Interpolate the global data on the RegCM grid with the interpolation
script:
$> cd $REGCM_RUN
$> ./bin/interp_emissions test_001.in
The cdo program installation is mandatory in this case to perform this
step. The interpolation is mass conservative and is consistent for any
ratio of model resolution/global emission resolution. Note the programs
and script uses the same root path of terrain and icbc programs for
input and data directory. By default, we expect the global emission to
38
be at the same level than e.g. EIN15 in your data path layout. This
results in a file named *_CHEMISS.nc of monthly emission for the whole
RCP period. You dont need to reprocess the file if you change the date
of your simulation, as long as you are in the RCP temporal windows (for
now, Historical from 1990-2010) . Which scenario to use is controlled by
the scenario variable in the physicsparam parameter stanza as above in
6.1.11
2. In function of the value of the chemsimtype parameter, the relevant boundary conditions will be produced on the RegCM domain by running :
$> cd $REGCM_RUN
$> ./bin/chem_icbc test_001.in
That will result in 6 hourly chemical boundary conditions in your input
directory (*_CHBC*.nc and/or *_AEBC*.nc). We are generating 6 hourly
outputs from monthly global fields because we are anticipating working
soon with 6 hourly global outputs. There is indeed a bit of a waste of
space right now.
Run time parameters
The other chemparam stanza parameters, let you control run time behaviour of
the model chemistry and aerosol schemes.
1. ichsolver : relevant for gas-phase chemistry options, activate the chemical solver CBMZ. If different from 1, there is no chemical reactions and
the tracer are only emitted, transported and removed.
2. ichsursrc : if set different from 1, the emission term is suppressed and
only boundary conditions are generating tracer in the domain.
3. ichdrdepo : if set different from 1, the dry deposition and sedimentation
of tracers is disabled for chemistry species.
4. ichremlsc : if set different from 1, wet removal of chemical species
(washout and rainout by total rain) is disabled.
5. ichcumtra : if set different form 1, the convective transport of tracers is
disabled.
6. = ichdiag : if set to 1, the writing of additional diagnostics in the chemistry output is enabled. Particularly, all the 3D tendency terms (advection,
turbulence, convection, boundary condition, chemistry, removal, etc.) of
the tracer equation are outputted at the frequency ichfreq. This is usefull
for budget and sensitivity studies, as well as debugging. This potentially
can generate HUGE files.
7. idirect : Enable or disable aerosol feedbacks on radiation.
• if equal to 1, only aerosol radiative forcing is calculated and outputted
but there is NO aerosol radiative feedback on climate. This can be
viewed as a control run option.
39
• if equal to 2, there is a feedback of aerosol radiative forcing on climate
fields, via perturbation of the temperature tendency. This can be
view as the perturbed run option.
8. ichdustemd : Choice for parametrisation of dust emission size distribution:
• if set to 1, the standard scheme s used (Alfaro et al., Zakey et al.,
2006)
• if set to 2, the revised soil granulometry + Kok et al., 2011 emission
size distribution is used.
9. rdstemfac : Scaling factor for DUST emission flux
Sparse notes
1. Outputs are in netCDF, so process with your favorite software.
2. The flux and tendency variables, as well as radiative forcings, are accumulated and averaged between 2 output time steps (like precipitations).
The concentration, burden and aerosol optical depth are instantaneous.
3. The outputs size can be huge, especially for full chemistry and diagnostic
options. In the future, we might have the choice of outputting selected
variables only.
Not every possible dynamical configuration has been tested for the chemistry
option, so bugs might appear: please report! CLM enables to calculate on line
biogenic volatile hydrocarbon emissions, as well as chemical deposition that can
be used in RegCM. There are some flags to activate when compiling CLM, we
will update the documentation when fully tested.
The Tiedke and Emmanuel schemes, when activated, offer a more detailed
treatment of convective transport than the simple mixing hypothesis used with
other schemes. The UW planetary boundary layer option integrate directly the
emission and deposition flux terms as part of the calculation of trurbulent tracer
tendency.
6.2
The CLM options
We will now discuss from the user point of view how to use the model setup
which need to be activated at configure stage.
The CLM option if activated allows the user to run a simulation using the
CLM surface model instead of the default BATS1e model. We will not here go
in deep in the difference between the two models, read the Reference Manual for
this. The executable of the model is different in the case of the CLM, and is named
regcmMPI_clm. Note that in the CLM case only the MPI enabled compilation
is supported (no serial), and no subgridding is possible (nsg is always 1).
40
Enable
At configure stage (see 3.2.1), the option is to be enabled with the right command line argument to the configure script
--enable-clm
Supply this option if you plan on using CLM option.
This will enable a preprocessing flag, and build a different model executable.
Note that no modifications are needed for any other part of the model, but this
triggers the building of another pre-processing program, clm2rcm.
Prepare and run
The CLM configuration requires a separate stanza in the namelist input file.
&clmparam
dirclm = ’input/’, !
!
!
clmfrq = 12.,
!
imask =
1,
!
!
!
!
!
!
/
CLM path to Input data produced by clm2rcm. If
relative, It should be how to reach the Input dir
from the Run dir.
Frequency for CLM own output write
For CLM, Type of land surface parameterization
1 => using DOMAIN.INFO for landmask (same as BATS)
2 => using mksrf_navyoro file landfraction for
landmask and perform a weighted average over
ocean/land gridcells; for example:
tgb = tgb_ocean*(1-landfraction)+tgb_land*landfraction
Things you need to know here:
1. The inpter path defined in terrainparam stanza described in 6.1.3 is used
also by the clm2rcm program. See at 4.3 how to obtain needed datasets.
2. The file pft-physiology.c070207 should be manually copied in the dirclm
directory before running the model.
3. The clmfrq is relative to the output produced by the CLM model itself, and
does not control the RegCM model output. To know the CLM output file
content, refer to CLM 3.5 documentation.
4. The imask = 2 option cannot be used with the icup cumulus convection
schemes 2, 98, 99, 96, which rely on the BATS1e landmask.
In the case of CLM run, the user needs to run, after the terrain program,
the clm2rcm program, and copy the pft-physiology.c070207 in the input
directory:
$>
$>
$>
$>
cd $REGCM_RUN
./bin/terrain regcm.in
./bin/clm2rcm regcm.in
cp $REGCM_GLOBEDAT/CLM/pft-physiology.c070207 input/
The clm2rcm program interpolates global land characteristics datasets to
the RegCM projected grid. The content of the pft-physiology.c070207 file
are described in the pft-physiology.c070207.readme file. All the other preprocessing steps are just equal to the one detailed in chapter 5. To run the CLM
option in the RegCM model, just substitute the executable name:
41
$> mpirun -np 2 ./bin/regcmMPI_clm regcm.in
Note that the CLM land model is much heavier than the BATS1e model, and
computing time increases.
6.3
Sensitivity experiments hint
Although the LBC forcing does provide a constraint for the model, as any RCM,
RegCM4 is characterized by a certain level of internal variability due to its nonliner processes (e.g. convection).
For example, if small perturbations are introduced in the initial or lateral
boundary conditions, the model will generally produce different patterns of,
e.g. precipitation, that appear as (sometimes seemingly organized) noise when
compared to the control simulation.
This noise depends on domain size and climatic regimes, for example it
is especially pronounced in warm climate regimes (e.g. tropics or during the
summer season) and large doamins.
When doing for example sensitivity experiments to model modifications,
e.g. to land use change, this internal variability noise can be misinterpreted as
a model response to the factor modified.
Users of RegCM4 should be aware of this when they do sensitivity experiments. The best way to filter out this noise is to perform ensembles of simulations and lok at the ensemble averages to extract the real model response from
the noise.
42
Chapter 7
Postprocessing tools
The new netCDF output format allows users to use a number of general purpose
tools to postprocess model output files. We will in this section do a quick review
of some of the Open Source and Free Software ones.
7.1
Command line tools
Three major set of tools may help you do even complex calculation just from
command line prompt.
7.1.1
netCDF library tools
The netCDF library itself offers three basic tools to play with netCDF archived
data.
• ncdump program, generates a text representation of a specified netCDF
file on standard output. The text representation is in a form called CDL
(network Common Data form Language) that can be viewed, edited, or
serve as input to ncgen, thus ncdump and ncgen can be used as inverses
to transform data representation between binary and text representations.
ncdump may also be used as a simple browser for netCDF datasets, to display the dimension names and lengths; variable names, types, and shapes;
attribute names and values; and optionally, the values of data for all variables or selected variables in a netCDF dataset. Sample usage patterns:
1. Look at the structure of the data in the netCDF dataset:
ncdump -c test_001_SRF.1990060100.nc
2. Produce a fully-annotated (one data value per line) listing of the
data for the variables time and tas, using FORTRAN conventions for
indices, and show the floating-point data with only four significant
digits of precision and the time values with ISO format:
ncdump -v time,tas -p 4 -t -f \
fortran test_001_SRF.1990060100.nc
43
• ncgen program, the reverse of the ncdump program: generates a netCDF
file or a C or FORTRAN program that creates a netCDF dataset from a
CDL input. Sample usage patterns:
1. From a CDL file, generate a binary netCDF file:
ncgen -o test_001_SRF.1990060100_modif.nc \
test_001_SRF.1990060100.cdl
2. From a CDL file, generate a Fortran program to write the netCDF
file:
ncgen -f test_001_SRF.1990060100.cdl > prog.f
• nccopy utility copies an input netCDF file to an output netCDF file, in
any of the four format variants, if possible, and in function of the selected
output format add compression filter and/or data chunking. Sample usage
patterns:
1. Convert a netCDF dataset to a netCDF 4 classic model compressed
data file using shuffling to enhance compression level:
nccopy -k 4 -d 9 -s test_001_SRF.1990060100.nc \
test_001_SRF.1990060100_compressed.nc
You can also find, in the Tools/Programs/RegCM_read directory under
$REGCM_ROOT a sample program to read an output file using the netCDF library you can modify to fit your needs.
7.1.2
NetCDF operators NCO
This set of tools can be considered a swiss army knife to manage netCDF
datasets. There are multiple operators, and Each operator takes netCDF files as
input, then operates (e.g., derives new data, averages, hyperslabs, manipulates
metadata) and produces a netCDF output file. The single-command style of
NCO allows users to manipulate and analyze files interactively, or with simple
scripts that avoid some overhead of higher level programming environments.
The major tools are:
• ncap2 netCDF Arithmetic Processor
• ncatted netCDF Attribute Editor
• ncbo netCDF Binary Operator
• ncea netCDF Ensemble Averager
• ncecat netCDF Ensemble Concatenator
• ncflint netCDF File Interpolator
• ncks netCDF Kitchen Sink
• ncpdq netCDF Permute Dimensions Quickly, Pack Data Quietly
• ncra netCDF Record Averager
• ncrcat netCDF Record Concatenator
44
• ncrename netCDF Renamer
• ncwa netCDF Weighted Averager
A comprehensive user guide can be found at:
http://nco.sourceforge.net/nco.html
Sample usage patterns:
1. Get value of tas variable at a particular point for all timesteps with a
prescribed format one per line on stdout:
ncks -C -H -s "%6.2f\n" -v tas -d iy,16 -d jx,16 \
test_001_SRF.1990060100.nc
2. Extract one timestep of tas from a file and save into a new netCDF file:
ncks -c -v tas -d time,6 test_001_SRF.1990060100.nc \
test_001_SRF.1990060212.nc
3. Cat together a year worth of output data for the single tas variable into a
single file:
ncrcat -c -v tas test_001_SRF.1990??0100.nc \
test_001_T2M.1990.nc
4. Get the DJF mean value of the tempertaure from a multiyear run:
ncra -c -v tas test_001_SRF.????120100.nc \
test_001_SRF.????010100.nc \
test_001_SRF.????020100.nc \
test_001_DJF_T2M.nc
We strongly encourage you to read the on-line user guide of the NCO tools.
You will for sure get a boost on your data manipulation and analysis skills.
7.1.3
Climate data Operators CDO
The monolithic cdo program from the Max Planck Institut f´’ur Meteorologie
implements a really comprehensive collection of command line Operators to manipulate and analyse Climate and NWP model Data either in netCDF or GRIB
format. There are more than 400 operators available, covering the following
topics:
• File information and file operations
• Selection and Comparision
• Modification of meta data
• Arithmetic operations
• Statistical analysis
• Regression and Interpolation
45
• Vector and spectral Transformations
• Formatted I/O
• Climate indices
We wont make here a comprehensive analysis of this tool, but you can find
some ideas in the PostProc directory on $REGCM_ROOT reading the two sample
average and regrid scripts, which use a combination of NCO programs and cdo
operators to reach goal. A very simple usage pattern for example to obtain a
monthly mean is:
cdo monmean test_001_T2M.1990.nc
7.2
GrADS program
This tool is the one mostly used at ICTP to analyze and plot model output
results. It can be used either as an interactive tool either as a batch data
analysis tool. We have already written in chapter 5 about the helper program
GrADSNcPlot which can be used to interactively plot model output results. We
will here detail why an helper program is needed and how it does work. For
information regarding the grads program itself, a comprehensive guide may be
found at:
http://www.iges.org/grads/gadoc/users.html
7.2.1
GrADS limits
The grads program is powerful, yet has limits:
1. Only the equirectangular projection or Plate Carrée is supported. Some
other projections can be used through a pdef entry in the CTL file using
the internal direct preprojection engines, but not all RegCM supported
projections are supported using direct engine.
2. NetCDF format allows multidimensional variables, while grads supports
just four dimensional (time,level,latitude,longitude) variables.
Luckily, these limits can be exceeded, carefully telling grads the RegCM
data structure using the CTL file and one ancillary proj file:
1. The grads program allows usage of the pdef BILIN option in the CTL file,
which allows the user to specify a supplementary file name. In this file are
stored three lat-lon floating-point grids which have for each point on the
equirectangular grid the indexes i,j on the projected grid, as well as wind
rotation values.
2. The grads program allows identifying four dimentional slices of a multidimensional variable as new variables, providing them a unique name. This
is how we are able to see in grads chemical output variables.
46
While the GrADSNcPlot program allows interactive plotting and after quitting the grads program removes the CTL file and the proj file, the GrADSNcPrepare
program only creates this two files, allowing share of the proj file between multiple CTL files sharing the same RegCM domain (i.e. it creates just only once
the proj file). To use the grads program, you need to have both this ancillary
files together with the data netCDF file.
To create the CTL file for the history CLM output file, you need to provide
to the helper programs the path to both the history CLM and the RegCM DOMAIN
file, as in:
$ GrADSNcPrepare clmoutput.clm2.h0.2000-07-30-00000.nc test_DOMAIN000.nc
A collection of sample grads scripts commonly used at ICTP to plot simulation results can be found in the Tools/Scripts/GrADS directory under $REGCM_ROOT.
7.3
CISL’s NCL : NCAR Command Language
This awesome tool from NCAR is an interpreted language designed for scientific
data analysis and visualization. Noah Diffenbaugh and Mark Snyder have created a website dedicated to visualizing RegCM3 output using the NCAR Command Language (NCL). These scripts where built using RegCM3 model output
converted to netCDF using an external converter. They have been adapted
to serve as very basic example scripts to process a native RegCM 4.2 output
data file or do some data analysis using the NCL language and are available
in the Tools/Scripts/NCL/examples directory. Travis O’Brien from the User
Community also contributed sample scripts, which may be found under the
Tools/Scripts/NCL directory.
7.4
R Statistical Computing Language
The R statistical computing language is able with an add on package to load into
interal data structure a meteorological field read from a netCDF RegCM output.
A sample script to load and plot the 2m Temperature at a selected timestep can
be used as a reference to develop a real powerful statistical analysis of model
results: it is under Tools/Scripts/R.
7.5
Non free tools
Note that the netCDF format, using plugins or native capabilities, allows clean
access to model output from a number of non free tools like MatlabTM or IDLTM .
For a more complete list of tools, you are invited to scroll down the very
long list of tools at:
http://www.unidata.ucar.edu/software/netcdf/software.html
47
Chapter 8
Getting help and reporting
bugs
8.1
The Gforge site
A new welcoming home for the RegCM Community has been built with the help
of Italian National Research Council CNR Democritos Group on the e-science
Lab E-Forge web site:
https://gforge.ictp.it/gf/project/regcm
Figure 8.1: The Gforge site
On this site you have access with a simple registration to a friendly bug
tracking system under the tracker link, allowing the users to post problems and
bugs they discover.
It allows posting also of files to give you the opportunity to provide as much
information as possible about the environment the model is running at your
institution, helping us better understand and solve efficiently your problems.
48
Help us grow the model to fit your requirements, giving the broader user
community the benefit of a valuable tool to do better research.
49
50
Chapter 9
Appendices
We will review here a sample installation session of software needed to install
the RegCM model.
The starting point is here a Linux system on a multicore processor box,
and the final goal is to have an optimized system to run the model. I will
use bash as my shell and assume that GNU development tools like make, sed,
awk are installed as part of the default Operating System environment as is
the case in most Linux distro. I will require also for commodity a command
line web downloader such as curl installed on the system, along its development
libraries to be used to enable OpenDAP remote data access protocol capabilities
of netCDF library. Standard file management tools such as tar and gzip and
wget are also required. The symbol $> will stand for a shell prompt. I will
assume that the process is performed as a normal system user, which will own
all the toolchain. I will be now just the regcm user.
9.1
Identify Processor
First step is to identify the processor to know its capabilities:
$> cat /proc/cpuinfo
This command will ask to the operating system to print processor informations. A sample answer on my laptop is:
processor
vendor_id
cpu family
model
model name
stepping
cpu MHz
cache size
physical id
siblings
core id
cpu cores
:
:
:
:
:
:
:
:
:
:
:
:
0
GenuineIntel
6
30
Intel(R) Core(TM) i7 CPU
5
933.000
6144 KB
0
8
0
4
51
Q 740
@ 1.73GHz
apicid
: 0
initial apicid : 0
fpu
: yes
fpu_exception
: yes
cpuid level
: 11
wp
: yes
flags
: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge
mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall
nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology
nonstop_tsc aperfmperf pni dtes64 monitor ds_cpl vmx smx est tm2 ssse3
cx16 xtpr pdcm sse4_1 sse4_2 popcnt lahf_lm ida dts tpr_shadow vnmi
flexpriority ept vpid
bogomips
: 3467.81
clflush size
: 64
cache_alignment : 64
address sizes
: 36 bits physical, 48 bits virtual
power management:
repeated eight time with Processor Ids from 0 to 7: I have a Quad Core Intel
with Hyperthreading on (this multiply by 2 the reported processor list). The
processor reports here also to support Intel Streaming SIMD Extensions V4.2,
which can be later used to speed up code execution vectorizing floating point
operation on any single CPU core.
9.2
Chose compiler
Depending on the processor, we can chose which compiler to use. On a Linux
box, we have multiple choices:
• GNU Gfortran
• G95
• Intel ifort compiler
• Portland compiler
• Absoft ProFortran
• NAG Fortran Compiler
and for sure other which I may not be aware of. All of these compilers have
pros and cons, so I am just for now selecting one in the pool only to continue
the exposition. I am not selecting the trivial solution of Gfortran as most Linux
distributions have it already packaged, and all the other required software as
well (most complete distribution I am aware of for this is Fedora: all needed
software is packaged and it is a matter of yum install).
So let us assume I have licensed the Intel Composer XE Professional Suite
13.0.0 on my laptop. My system administrator installed it on the default location under /opt/intel, and I have my shell environment update loading vendor
provided script:
52
$> source /opt/intel/bin/compilervars.sh intel64
With some modification (the path, the script, the arguments to the script),
same step is to be performed for all non-GNU compilers in the above list, and
is documented in the installation manual of the compiler itself.
In case of Intel, to check the correct behaviour of the compiler, try to type
the following command:
$> ifort --version
ifort (IFORT) 13.0.0 20120731
Copyright (C) 1985-2012 Intel Corporation.
All rights reserved.
I am skipping here any problem that may arise from license installation for
any of the compilers, so I am assuming that if the compiler is callable, it works.
As this step is usually performed by a system administrator on the machine, I
am assuming a skilled professional will take care of that.
9.3
Environment setup
To efficiently use the compilers, I will setup now some environment variables.
On my system (see the above processor informations) I will use:
$> # Where all the software will be installed ?
$> # I am chosing here a place under my home directory.
$> export INTELROOT=/home/regcm/intelsoft
$> # the C compiler. I am assuming here to have the whole Intel
$> # Composer XE suite, so I will use the intel C compiler.
$> export CC=icc
$> # the C++ compiler, the intel one.
$> export CXX=icpc
$> # the Fortran 2003 compiler.
$> export FC=ifort
$> # the Foirtran 77 compiler. For intel, is just the fortran one.
$> export F77=ifort
$> # C Compiler flags
$> export CFLAGS="-O3 -xHost -axSSE4.2 -fPIC"
$> # FORTRAN Compiler flags
$> export FCFLAGS="-O3 -xHost -axSSE4.2 -fPIC"
$> # F77 Compiler flags
$> export FFLAGS="-O3 -xHost -axSSE4.2 -fPIC"
$> # CXX Compiler flags
$> export CXXFLAGS="-O3 -xHost -axSSE4.2 -fPIC"
$> # Linker flags
$> export LDFLAGS="-Wl,-rpath=$INTELROOT/lib \
> -Wl,-rpath=/opt/intel/lib/intel64 -i-dynamic"
$> # Preset PATH to use the installed software during build
$> export PATH=$INTELROOT/bin:$PATH
$> export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$INTELROOT/lib
$> export MANPATH=$INTELROOT/share/man:$MANPATH
53
This step will allow me not to specify those variables at every following step.
Depending on the above compiler selected, those flags my differ for you, but the
concept is that I am selecting a performance target build for the machine I am
on. I am now ready to compile software.
9.4
Pre requisite library installation
To build a complete optimized stack, a sample script have been added in
Tools/Script/prereq_install.sh This help script will build netCDF V4 and
MPICH libraries to be used to compile the RegCM model. Following the above
settings, the script must be edited in the first lines setting the DEST variable to
$INTELROOT.
Then we can just execute the script:
$> ./prereq_install.sh
This script installs the netCDF/mpi librares in the
/home/regcm/intelsoft
directory. If something goes wrong, logs are saved in
/home/regcm/intelsoft/logs
Downloading ZLIB library...
Downloading HDF5 library...
Downloading netCDF Library...
Downloading MPICH2 Library...
Compiling MPI library.
Compiled MPI library.
Compiling zlib Library.
Compiled zlib library.
Compiling HDF5 library.
Compiled HDF5 library.
Compiling netCDF Library.
Compiled netCDF C library.
Compiled netCDF Fortran library.
Done!
To link RegCM with this librares use:
PATH=/home/regcm/intelsoft/bin:$PATH ./configure \
CC=icc FC=ifort \
CPPFLAGS=-I/home/regcm/intelsoft/include \
LDFLAGS=-L/home/regcm/intelsoft/lib \
LIBS="-lnetcdff -lnetcdf -lhdf5_hl -lhdf5 -lz"
The admins who must compile the pre requisite libraries are invited to look
at the script, identifying the various steps. The normal user should be content
of the last printout message which details how to use the just built libraries to
54
compile RegCM model sources against. At run time an environment variable
must be added to set correct paths:
$> export PATH=/home/regcm/intelsoft/bin:$PATH
55
Bibliography
Giorgi, F., Regcm version 4.1 reference manual, Tech. rep., ICTP Trieste, 2011.
O’Brien, T. A., L. C. Sloan, and M. A. Snyder, Can ensembles of regional
climate model simulations improve results from sensitivity studies?, Climate
Dynamics, 37, 1111–1118, doi:10.1007/s00382-010-0900-5, 2011.
R. Courant, K. F., and H. Lewy, über die partiellen differenzengleichungen der
mathematischen physik, Mathematische Annalen, 100 (1), 3274, 1928.
Rew, R. K., and G. P. Davis, Netcdf: An interface for scientific data access,
IEEE Computer Graphics and Applications, 10 (4), 76–82, 1990.
56
GNU Free Documentation License
Version 1.3, 3 November 2008
Copyright (C) 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc.
<http://fsf.org/>
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
0. PREAMBLE
The purpose of this License is to make a manual, textbook, or other
functional and useful document "free" in the sense of freedom: to
assure everyone the effective freedom to copy and redistribute it,
with or without modifying it, either commercially or noncommercially.
Secondarily, this License preserves for the author and publisher a way
to get credit for their work, while not being considered responsible
for modifications made by others.
This License is a kind of "copyleft", which means that derivative
works of the document must themselves be free in the same sense. It
complements the GNU General Public License, which is a copyleft
license designed for free software.
We have designed this License in order to use it for manuals for free
software, because free software needs free documentation: a free
program should come with manuals providing the same freedoms that the
software does. But this License is not limited to software manuals;
it can be used for any textual work, regardless of subject matter or
whether it is published as a printed book. We recommend this License
principally for works whose purpose is instruction or reference.
1. APPLICABILITY AND DEFINITIONS
This License applies to any manual or other work, in any medium, that
contains a notice placed by the copyright holder saying it can be
distributed under the terms of this License. Such a notice grants a
world-wide, royalty-free license, unlimited in duration, to use that
work under the conditions stated herein. The "Document", below,
refers to any such manual or work. Any member of the public is a
licensee, and is addressed as "you". You accept the license if you
copy, modify or distribute the work in a way requiring permission
under copyright law.
A "Modified Version" of the Document means any work containing the
Document or a portion of it, either copied verbatim, or with
modifications and/or translated into another language.
A "Secondary Section" is a named appendix or a front-matter section of
the Document that deals exclusively with the relationship of the
publishers or authors of the Document to the Document’s overall
subject (or to related matters) and contains nothing that could fall
directly within that overall subject. (Thus, if the Document is in
part a textbook of mathematics, a Secondary Section may not explain
any mathematics.) The relationship could be a matter of historical
connection with the subject or with related matters, or of legal,
commercial, philosophical, ethical or political position regarding
them.
The "Invariant Sections" are certain Secondary Sections whose titles
57
are designated, as being those of Invariant Sections, in the notice
that says that the Document is released under this License. If a
section does not fit the above definition of Secondary then it is not
allowed to be designated as Invariant. The Document may contain zero
Invariant Sections. If the Document does not identify any Invariant
Sections then there are none.
The "Cover Texts" are certain short passages of text that are listed,
as Front-Cover Texts or Back-Cover Texts, in the notice that says that
the Document is released under this License. A Front-Cover Text may
be at most 5 words, and a Back-Cover Text may be at most 25 words.
A "Transparent" copy of the Document means a machine-readable copy,
represented in a format whose specification is available to the
general public, that is suitable for revising the document
straightforwardly with generic text editors or (for images composed of
pixels) generic paint programs or (for drawings) some widely available
drawing editor, and that is suitable for input to text formatters or
for automatic translation to a variety of formats suitable for input
to text formatters. A copy made in an otherwise Transparent file
format whose markup, or absence of markup, has been arranged to thwart
or discourage subsequent modification by readers is not Transparent.
An image format is not Transparent if used for any substantial amount
of text. A copy that is not "Transparent" is called "Opaque".
Examples of suitable formats for Transparent copies include plain
ASCII without markup, Texinfo input format, LaTeX input format, SGML
or XML using a publicly available DTD, and standard-conforming simple
HTML, PostScript or PDF designed for human modification. Examples of
transparent image formats include PNG, XCF and JPG. Opaque formats
include proprietary formats that can be read and edited only by
proprietary word processors, SGML or XML for which the DTD and/or
processing tools are not generally available, and the
machine-generated HTML, PostScript or PDF produced by some word
processors for output purposes only.
The "Title Page" means, for a printed book, the title page itself,
plus such following pages as are needed to hold, legibly, the material
this License requires to appear in the title page. For works in
formats which do not have any title page as such, "Title Page" means
the text near the most prominent appearance of the work’s title,
preceding the beginning of the body of the text.
The "publisher" means any person or entity that distributes copies of
the Document to the public.
A section "Entitled XYZ" means a named subunit of the Document whose
title either is precisely XYZ or contains XYZ in parentheses following
text that translates XYZ in another language. (Here XYZ stands for a
specific section name mentioned below, such as "Acknowledgements",
"Dedications", "Endorsements", or "History".) To "Preserve the Title"
of such a section when you modify the Document means that it remains a
section "Entitled XYZ" according to this definition.
The Document may include Warranty Disclaimers next to the notice which
states that this License applies to the Document. These Warranty
Disclaimers are considered to be included by reference in this
License, but only as regards disclaiming warranties: any other
implication that these Warranty Disclaimers may have is void and has
no effect on the meaning of this License.
2. VERBATIM COPYING
58
You may copy and distribute the Document in any medium, either
commercially or noncommercially, provided that this License, the
copyright notices, and the license notice saying this License applies
to the Document are reproduced in all copies, and that you add no
other conditions whatsoever to those of this License. You may not use
technical measures to obstruct or control the reading or further
copying of the copies you make or distribute. However, you may accept
compensation in exchange for copies. If you distribute a large enough
number of copies you must also follow the conditions in section 3.
You may also lend copies, under the same conditions stated above, and
you may publicly display copies.
3. COPYING IN QUANTITY
If you publish printed copies (or copies in media that commonly have
printed covers) of the Document, numbering more than 100, and the
Document’s license notice requires Cover Texts, you must enclose the
copies in covers that carry, clearly and legibly, all these Cover
Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on
the back cover. Both covers must also clearly and legibly identify
you as the publisher of these copies. The front cover must present
the full title with all words of the title equally prominent and
visible. You may add other material on the covers in addition.
Copying with changes limited to the covers, as long as they preserve
the title of the Document and satisfy these conditions, can be treated
as verbatim copying in other respects.
If the required texts for either cover are too voluminous to fit
legibly, you should put the first ones listed (as many as fit
reasonably) on the actual cover, and continue the rest onto adjacent
pages.
If you publish or distribute Opaque copies of the Document numbering
more than 100, you must either include a machine-readable Transparent
copy along with each Opaque copy, or state in or with each Opaque copy
a computer-network location from which the general network-using
public has access to download using public-standard network protocols
a complete Transparent copy of the Document, free of added material.
If you use the latter option, you must take reasonably prudent steps,
when you begin distribution of Opaque copies in quantity, to ensure
that this Transparent copy will remain thus accessible at the stated
location until at least one year after the last time you distribute an
Opaque copy (directly or through your agents or retailers) of that
edition to the public.
It is requested, but not required, that you contact the authors of the
Document well before redistributing any large number of copies, to
give them a chance to provide you with an updated version of the
Document.
4. MODIFICATIONS
You may copy and distribute a Modified Version of the Document under
the conditions of sections 2 and 3 above, provided that you release
the Modified Version under precisely this License, with the Modified
Version filling the role of the Document, thus licensing distribution
and modification of the Modified Version to whoever possesses a copy
of it. In addition, you must do these things in the Modified Version:
59
A. Use in the Title Page (and on the covers, if any) a title distinct
from that of the Document, and from those of previous versions
(which should, if there were any, be listed in the History section
of the Document). You may use the same title as a previous version
if the original publisher of that version gives permission.
B. List on the Title Page, as authors, one or more persons or entities
responsible for authorship of the modifications in the Modified
Version, together with at least five of the principal authors of the
Document (all of its principal authors, if it has fewer than five),
unless they release you from this requirement.
C. State on the Title page the name of the publisher of the
Modified Version, as the publisher.
D. Preserve all the copyright notices of the Document.
E. Add an appropriate copyright notice for your modifications
adjacent to the other copyright notices.
F. Include, immediately after the copyright notices, a license notice
giving the public permission to use the Modified Version under the
terms of this License, in the form shown in the Addendum below.
G. Preserve in that license notice the full lists of Invariant Sections
and required Cover Texts given in the Document’s license notice.
H. Include an unaltered copy of this License.
I. Preserve the section Entitled "History", Preserve its Title, and add
to it an item stating at least the title, year, new authors, and
publisher of the Modified Version as given on the Title Page. If
there is no section Entitled "History" in the Document, create one
stating the title, year, authors, and publisher of the Document as
given on its Title Page, then add an item describing the Modified
Version as stated in the previous sentence.
J. Preserve the network location, if any, given in the Document for
public access to a Transparent copy of the Document, and likewise
the network locations given in the Document for previous versions
it was based on. These may be placed in the "History" section.
You may omit a network location for a work that was published at
least four years before the Document itself, or if the original
publisher of the version it refers to gives permission.
K. For any section Entitled "Acknowledgements" or "Dedications",
Preserve the Title of the section, and preserve in the section all
the substance and tone of each of the contributor acknowledgements
and/or dedications given therein.
L. Preserve all the Invariant Sections of the Document,
unaltered in their text and in their titles. Section numbers
or the equivalent are not considered part of the section titles.
M. Delete any section Entitled "Endorsements". Such a section
may not be included in the Modified Version.
N. Do not retitle any existing section to be Entitled "Endorsements"
or to conflict in title with any Invariant Section.
O. Preserve any Warranty Disclaimers.
If the Modified Version includes new front-matter sections or
appendices that qualify as Secondary Sections and contain no material
copied from the Document, you may at your option designate some or all
of these sections as invariant. To do this, add their titles to the
list of Invariant Sections in the Modified Version’s license notice.
These titles must be distinct from any other section titles.
You may add a section Entitled "Endorsements", provided it contains
nothing but endorsements of your Modified Version by various
parties--for example, statements of peer review or that the text has
been approved by an organization as the authoritative definition of a
standard.
60
You may add a passage of up to five words as a Front-Cover Text, and a
passage of up to 25 words as a Back-Cover Text, to the end of the list
of Cover Texts in the Modified Version. Only one passage of
Front-Cover Text and one of Back-Cover Text may be added by (or
through arrangements made by) any one entity. If the Document already
includes a cover text for the same cover, previously added by you or
by arrangement made by the same entity you are acting on behalf of,
you may not add another; but you may replace the old one, on explicit
permission from the previous publisher that added the old one.
The author(s) and publisher(s) of the Document do not by this License
give permission to use their names for publicity for or to assert or
imply endorsement of any Modified Version.
5. COMBINING DOCUMENTS
You may combine the Document with other documents released under this
License, under the terms defined in section 4 above for modified
versions, provided that you include in the combination all of the
Invariant Sections of all of the original documents, unmodified, and
list them all as Invariant Sections of your combined work in its
license notice, and that you preserve all their Warranty Disclaimers.
The combined work need only contain one copy of this License, and
multiple identical Invariant Sections may be replaced with a single
copy. If there are multiple Invariant Sections with the same name but
different contents, make the title of each such section unique by
adding at the end of it, in parentheses, the name of the original
author or publisher of that section if known, or else a unique number.
Make the same adjustment to the section titles in the list of
Invariant Sections in the license notice of the combined work.
In the combination, you must combine any sections Entitled "History"
in the various original documents, forming one section Entitled
"History"; likewise combine any sections Entitled "Acknowledgements",
and any sections Entitled "Dedications". You must delete all sections
Entitled "Endorsements".
6. COLLECTIONS OF DOCUMENTS
You may make a collection consisting of the Document and other
documents released under this License, and replace the individual
copies of this License in the various documents with a single copy
that is included in the collection, provided that you follow the rules
of this License for verbatim copying of each of the documents in all
other respects.
You may extract a single document from such a collection, and
distribute it individually under this License, provided you insert a
copy of this License into the extracted document, and follow this
License in all other respects regarding verbatim copying of that
document.
7. AGGREGATION WITH INDEPENDENT WORKS
A compilation of the Document or its derivatives with other separate
and independent documents or works, in or on a volume of a storage or
distribution medium, is called an "aggregate" if the copyright
resulting from the compilation is not used to limit the legal rights
61
of the compilation’s users beyond what the individual works permit.
When the Document is included in an aggregate, this License does not
apply to the other works in the aggregate which are not themselves
derivative works of the Document.
If the Cover Text requirement of section 3 is applicable to these
copies of the Document, then if the Document is less than one half of
the entire aggregate, the Document’s Cover Texts may be placed on
covers that bracket the Document within the aggregate, or the
electronic equivalent of covers if the Document is in electronic form.
Otherwise they must appear on printed covers that bracket the whole
aggregate.
8. TRANSLATION
Translation is considered a kind of modification, so you may
distribute translations of the Document under the terms of section 4.
Replacing Invariant Sections with translations requires special
permission from their copyright holders, but you may include
translations of some or all Invariant Sections in addition to the
original versions of these Invariant Sections. You may include a
translation of this License, and all the license notices in the
Document, and any Warranty Disclaimers, provided that you also include
the original English version of this License and the original versions
of those notices and disclaimers. In case of a disagreement between
the translation and the original version of this License or a notice
or disclaimer, the original version will prevail.
If a section in the Document is Entitled "Acknowledgements",
"Dedications", or "History", the requirement (section 4) to Preserve
its Title (section 1) will typically require changing the actual
title.
9. TERMINATION
You may not copy, modify, sublicense, or distribute the Document
except as expressly provided under this License. Any attempt
otherwise to copy, modify, sublicense, or distribute it is void, and
will automatically terminate your rights under this License.
However, if you cease all violation of this License, then your license
from a particular copyright holder is reinstated (a) provisionally,
unless and until the copyright holder explicitly and finally
terminates your license, and (b) permanently, if the copyright holder
fails to notify you of the violation by some reasonable means prior to
60 days after the cessation.
Moreover, your license from a particular copyright holder is
reinstated permanently if the copyright holder notifies you of the
violation by some reasonable means, this is the first time you have
received notice of violation of this License (for any work) from that
copyright holder, and you cure the violation prior to 30 days after
your receipt of the notice.
Termination of your rights under this section does not terminate the
licenses of parties who have received copies or rights from you under
this License. If your rights have been terminated and not permanently
reinstated, receipt of a copy of some or all of the same material does
not give you any rights to use it.
62
10. FUTURE REVISIONS OF THIS LICENSE
The Free Software Foundation may publish new, revised versions of the
GNU Free Documentation License from time to time. Such new versions
will be similar in spirit to the present version, but may differ in
detail to address new problems or concerns. See
http://www.gnu.org/copyleft/.
Each version of the License is given a distinguishing version number.
If the Document specifies that a particular numbered version of this
License "or any later version" applies to it, you have the option of
following the terms and conditions either of that specified version or
of any later version that has been published (not as a draft) by the
Free Software Foundation. If the Document does not specify a version
number of this License, you may choose any version ever published (not
as a draft) by the Free Software Foundation. If the Document
specifies that a proxy can decide which future versions of this
License can be used, that proxy’s public statement of acceptance of a
version permanently authorizes you to choose that version for the
Document.
11. RELICENSING
"Massive Multiauthor Collaboration Site" (or "MMC Site") means any
World Wide Web server that publishes copyrightable works and also
provides prominent facilities for anybody to edit those works. A
public wiki that anybody can edit is an example of such a server. A
"Massive Multiauthor Collaboration" (or "MMC") contained in the site
means any set of copyrightable works thus published on the MMC site.
"CC-BY-SA" means the Creative Commons Attribution-Share Alike 3.0
license published by Creative Commons Corporation, a not-for-profit
corporation with a principal place of business in San Francisco,
California, as well as future copyleft versions of that license
published by that same organization.
"Incorporate" means to publish or republish a Document, in whole or in
part, as part of another Document.
An MMC is "eligible for relicensing" if it is licensed under this
License, and if all works that were first published under this License
somewhere other than this MMC, and subsequently incorporated in whole or
in part into the MMC, (1) had no cover texts or invariant sections, and
(2) were thus incorporated prior to November 1, 2008.
The operator of an MMC Site may republish an MMC contained in the site
under CC-BY-SA on the same site at any time before August 1, 2009,
provided the MMC is eligible for relicensing.
ADDENDUM: How to use this License for your documents
To use this License in a document you have written, include a copy of
the License in the document and put the following copyright and
license notices just after the title page:
Copyright (c) YEAR YOUR NAME.
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3
or any later version published by the Free Software Foundation;
with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
63
A copy of the license is included in the section entitled "GNU
Free Documentation License".
If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts,
replace the "with...Texts." line with this:
with the Invariant Sections being LIST THEIR TITLES, with the
Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST.
If you have Invariant Sections without Cover Texts, or some other
combination of the three, merge those two alternatives to suit the
situation.
If your document contains nontrivial examples of program code, we
recommend releasing these examples in parallel under your choice of
free software license, such as the GNU General Public License,
to permit their use in free software.
64

advertisement

Was this manual useful for you? Yes No
Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Related manuals

Download PDF

advertisement