Title: Configuration in PRISM : Constraints
1Configuration in PRISM Constraints
- The system must to accommodate any ESCM model
- No changes of the model code required
- Exception
- implementation of PRISM software (PSMILe)
- Source code reorganisation to standard (e.g.
flat tree to enable use of (simple) tools) - New namelist parameters (e.g. of processors)
- Not allowed
- Editing of source code before each compilation
- Duplicate file names
- gt1 F90 module per file
- File name ! F90 module name
- All constellations realised without editing of
source code or scripts
2Configuration in PRISM GUI
- All configuring described can be done through the
GUI - Proposed for GUIs in PRISM
- Separate Configuration and SMS GUI
functionalitiesgt local use
of configure GUIgt no license problem
with gt no portability problem with gt no
security problem with gt no problem with
parallel models not enabled for MPI-1
with
3Configuration in PRISM Methods
- Changing aspects of an experiment without
editing - by user action
- Through a GUI
- Through command line parameters of shell scripts
(clp) - (if no default)
- Configuration files (cf)
- by automatic action
- GNU auto...
- Recognition of platform
- of
- Compile scripts / Makefiles gt Models
- Run etc. scripts / Namelists gt Experiments
4Configuration in PRISM Scripts
- All configuration modifies scripts
- Compile scripts gt Component models
- gt Platforms
- gt Compiler options
- gt Launching method (MPI1,2)
- gt OASIS3 or OASIS4 (to come)
- gt Coupled constellations
- gt Model internal configuration
(param. etc) - Run scripts gt Platforms
- gt Coupled constellation
- gt Experiment characteristics
- gt Namelists
5Configuration in PRISM Experiments
- Run scripts
- Coupled constellation (clp)
- Name of coupled model/constellation
- Platforms (clp or automatic)
- Host name
- Experiment characteristics
- Experiment ID (clp)(path names, executable
versions) - file system (cf)
- Resolution of models (cf)
- w/o vis/arch/data proc (cf)
- Length of exp. / runs (cf)
- Exchange frq. (cf)
- etc. (cf)
6Configuration in PRISM Experiments
- Namelist values are set by export of environment
parameters from cf - (ASCII input / Namelists / namcouple / XML)
- Reformatted start and stop date
- Model time step
- Exchange frequency
- processors
- etc.
- Other model namelist values have to be set by
editing
7Configuration in PRISM Experiments
Create_TASKS.frm cplmod id node
- include files dependend on
- component
- coupled model
- site
m4
setup_cplmod_id
m4
check_setup_cplmod
m4
id/RUN_cplmod Model integration id/POST_cplmod
Output data postprocessing id/VIS_cplmod Output
data visualization id/SAVE_cplmod Archiving
PrepIFS
SMS Tasks
8Configuration in PRISM Models
- Compile scripts
- gt Coupled constellations (clp)
- gt Launching method (clp)
- gt Platforms (clp automatic)
- gt Version ID (clp)
- gt Compiler options (to come)
- gt OASIS3 or OASIS4 (to come)
- gt Model internal configuration
(parameterisation of physics etc.
by editing)
9Configuration in PRISM Models
cplmod mod1 mod2 Create_cpl_mod.ksh
cplmod ID node
Create_COMP_models.frm mod1 MPI1,2 - - node
ID mod1 mod2 Create_COMP_models.frm mod2
MPI1,2 - - node ID mod1 mod2 Create_COMP_model
s.frm oasis3 MPI1,2 - - node Create_COMP_libs.f
rm MPI1,2 - - node
COMP_mod1_ID.node COMP_mod2_ID.node
COMP_oasis3.node COMP_libs.node
mod1_ID.MPI1,2.x mod2_ID.MPI1,2.x
oasis3.MPI1,2.x lib1.MPI1,2.a
lib2.a
10Configuration in PRISM Models
- Create_COMP_models.frm model MPI2 - - node ID
partner models -
XML
GUI
.h
include GUIspecific_model.h include
Sitespecific_node.h include Cppflags_model.h inclu
de Compile_mode_model_node.h include
Make_model.h
PrepIFS
SMS Tasks for compilation
11Configuration in PRISM Models
- COMP_model_ID.node target Compile_mode
include Compile_mode_model_node.h
if Compile_mode default then F90FLAGS
elif Compile_mode debug then F90FLAGS
elif Compile_mode profile
then F90FLAGS elif Compile_mode opt
then F90FLAGS elif Compile_mode adhoc
then F90FLAGS fi
Local modification
12Configuration in PRISM Models (extensions)
- group/userGU
- Create_COMP_models.frm model MPI2 - - node ID
partner models GU
sinclude Compile_mode_GU_model_node.h
Extension of the system w/o feedback
13Configuration in PRISM Models (extensions)
- group/userGU
- Create_COMP_models.frm model MPI2 - - node ID
partner models GU
include Cppflags_GU_model.h
Extension of the system w/o feedback
14Configuration in PRISM Models (extensions)
- Compiler options per source code directory
- .F90 F90FLAGS F90_1,2_FLAGS
- .f90 f90FLAGS f90_1,2_FLAGS
- .F FFLAGS F_1,2_FLAGS
- .f fFLAGS f_1,2_FLAGS
- .c cFLAGS c_1,2_FLAG