Differences between revisions 1 and 3 (spanning 2 versions)
Revision 1 as of 2024-09-26 09:33:51
Size: 4860
Editor: NicoleThomas
Comment:
Revision 3 as of 2024-09-26 11:00:31
Size: 0
Editor: NicoleThomas
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
= Run CLaMS-MESSy =

== Example Setups ==

An example namelist setup for a CLaMS standalone run can be found in directory '''messy/nml/MBM/clams'''.

There you will find all necessary namelists with detailed descriptions of all parameters, a ''README''
with compile and run instructions and the corresponding ''xmessy_mmd.header''. <<BR>>

Example CLaMS standalone run:
 * one day clams run starting on 01/01/1979
 * all CLaMS submodels (except sedi) are used: <<BR>>
  traj, mix, bmix, dissoc, chem, cirrus, deepconv, tracer
 * example ERA5 data (for 2 days) is used


== Create Run Script ==

 Create run script with:
 {{{
./messy/util/xmkr MBM/clams
}}}
 
 Run Script '''messy/util/xmessy_mmd.MBM-clams''' is created.

== Modify Run Script ==

 Modify run script '''messy/util/xmessy_mmd.MBM-clams''':

 * On '''JUWELS/JURECA''' set SBATCH commands in the first lines of the run script:
 {{{#!highlight ksh numbers=disable
#!/bin/bash -e
#SBATCH --nodes=2
#SBATCH --ntasks=48
#SBATCH --ntasks-per-node=24
#SBATCH --output=mpi-out.%j
#SBATCH --error=mpi-err.%j
#SBATCH --time=00:30:00
#SBATCH --partition=batch
#SBATCH --account=clams-esm
}}}

 * Set experiment name (used for output filenames):
 {{{
EXP_NAME=climtest
 }}}

 * Change working directory, e. g.:
 {{{
WORKDIR=/p/scratch/clams-esm/thomas2/messy_out/clams
 }}}


 * On '''JUWELS/JURECA''' you have to set BASEDIR, e.g.:
 {{{
BASEDIR=/p/project/clams-esm/thomas2/messy-clams
 }}}

 * Set start date and end date:
 {{{
START_YEAR=1979
START_MONTH=01
START_DAY=01
START_HOUR=12
STOP_YEAR=1979
STOP_MONTH=01
STOP_DAY=02
STOP_HOUR=12
 }}}

 * Specify subdirectory with namelist setup:
 {{{
NML_SETUP=MBM/clams
 }}}

 * Set MESSy input directory: <<BR>><<BR>>
 On JUWELS:
 {{{
INPUTDIR_MESSY=/p/data1/slmet/model_data/MESSy/DATA/MESSy2
 }}}
 
 On ICE4 workstations:
 {{{
INPUTDIR_MESSY=/usr/nfs/data/meteocloud/data1/model_data/MESSy/DATA/MESSy2
 }}}

 * Select model: <<BR>><<BR>>

 CLaMS run:
 {{{
MINSTANCE[1]=clams
 }}}

 ECHAM5/CLaMS run:
 {{{
MINSTANCE[1]=ECHAM5
 }}}

 * Set NPX[1] and NPY[1]:
 {{{
NPY[1]=6 # => NPROCA for ECHAM5
NPX[1]=8 # => NPROCB for ECHAM5
 }}}
 NPX[1]*NPY[1] number of cores are used. On JURECA/JUWELS it has to match the number of tasks specified in the first lines of the script (#SBATCH ...).


== Change Namelist Setup ==

The namelist setup in directory '''messy/nml/MBM/clams''' should work on IEK7-Cluster and JUWELS without any changes.

==== Messy setup ====

 * channel.nml

 This file includes entries to control the output and restart handling for all channels and channel object <<BR>>
 (see ''MESSy CHANNEL User Manual'')

 * qtimer.nml

 Set queue time limit <<BR>>
 (see ''Restarts'' and ''Development Cycle 2 of the Modular Earth Submodel System'')

 * switch.nml
  * Clams submodels (traj, chem, mix, bmix and cirrus) can be switch on or off
  * USE_CLAMS must be TRUE for all clams runs
  * If USE_CLAMSCHEM is TRUE, USE_DISSOC has to be TRUE too

 * timer.nml
  * delta_time: model time step in seconds <<BR>>
  * IO_RERUN_EV: interval for rerun output, for example write rerun files once a month:
  {{{
IO_RERUN_EV = ${RESTART_INTERVAL},'${RESTART_UNIT}','first',0,
 }}}
  * NO_CYCLES: number of how often rerun files are written without interrupting the simulation
  * RESTART_INTERVAL, RESTART_UNIT and NO_CYCLES were set in messy script

 (see ''MESSy TIMER User Manual'')

==== Setup for clams submodels ====

 * clams.nml
 * clamstraj.nml
 * clamschem.nml
 * dissoc.nml
 * clamsmix.nml
 * clamsbmix.nml
 * clamscirrus.nml
 * clamssedi.nml

See detailed description of all namelist parameters in example namelists in directory '''messy/nml/MBM/clams'''

== Execute ==

 * Create working directory (specified in messy script), e.g.
 {{{
mkdir /p/scratch/clams-esm/thomas2/messy_out/clams
 }}}

 * Change to working directory, e.g.
 {{{
cd /p/scratch/clams-esm/thomas2/messy_out/clams
}}}

 * Start run script from working directory<<BR>><<BR>>

  * Start run script on workstation cluster, e.g.:
  {{{
~/messy-clams/messy/util/xmessy_mmd.climtest 2>&1 | tee out
}}}
  * Start run script on JUWELS/JURECA, e.g.:
  {{{
sbatch /p/project/clams-esm/thomas2/juwels/messy-clams/messy/util/xmessy_mmd.MBM-clams
 }}}


 * The executable and the namelist setup is copied to the working directory

 * All output and restart files are created in the working directory

 * File MSH_NO is created for automatic reruns. <<BR>>
 If MSH_NO is in the working directory, the model is started in rerun-mode. MSH_NO contains the number of the last chain-element.
 If you want run the example again from the beginning, '''remove file MSH_NO''' before starting the run script.

messy/run (last edited 2024-09-27 08:24:31 by NicoleThomas)