...
Now that you have compiled the MITgcm and copied the executable to the run directory, you can start a MITgcm simulation. We will look at the file
Run
...
directory files
In the global_hg_llc90/run
, pfos/run
, and pcb/run
directory, you will find several sample scripts that you can use to run MITgcm jobs.
...
The run.mitgcm* scripts are used to start a MITgcm simulation with 13 CPUs (for debugging) or 96 CPUs. The For example, the run.mitgcm.*13np.debug
scripts look like this:
Code Block |
---|
#!/bin/bash #SBATCH -n 13 #SBATCH -N 1 #SBATCH -t 60 #SBATCH -p generalregal #SBATCH --mem-per-cpu=3750 #SBATCH --mail-type=ALL #EOC #------------------------------------------------------------------------------ # Harvard Biogeochemistry of Global Pollutants Group ! #------------------------------------------------------------------------------ #BOP # # !IROUTINE: run.mitgcm.13np.debug # # !DESCRIPTION: Script to run a debug MITgcm simulation with 13 CPUs. #\\ #\\ # !CALLING SEQUENCE: # sbatch run.mitgcm.13np.debug # To submit a batch job # ./run.mitgcm.hg.13np.debug # To run in an interactive session # # !REMARKS: # Consider requesting an entire node (-N 64 -n 1), which will prevent # outside jobs from slowing down your simulation. # # Also note: Make your timestep edits in "data.debug_run", which will # automatically be copied to "data" by this script. # # !REVISION HISTORY: # 17 Feb 2015 - R. Yantosca - Initial version #EOP #------------------------------------------------------------------------------ #BOC # Make sure we apply the .bashrc_mitgcm settings source ~/.bashrc_mitgcm # Copy run-time parameter input files for the 13 CPU run cp -f data.debug_run data cp -f data.exch2.13np data.exch2 # Remove old output files rm -f STDOUT.* rm -f STDERR.* rm -f PTRACER* # Run MITgcm with 13 CPUs time -p ( mpirun -np 13 ./mitgcmuv ) exit 0 #EOC |
Each run script also copies the following files before starting the run
data.exch2.13np or data.exch2.96np ---> data.exch2
...
The run.mitgcm.96np.debug is similar except for the fact that it requests SLURM to give it more CPUs:
Code Block |
---|
#!/bin/bash
#SBATCH -n 128
#SBATCH -N 2
#SBATCH -t 60
#SBATCH -p regal
#SBATCH --mem-per-cpu=3750
#SBATCH --mail-type=ALL
#EOC
#------------------------------------------------------------------------------
# GEOS-Chem Global Chemical Transport Model !
#------------------------------------------------------------------------------
#BOP
#
# !IROUTINE: run.mitgcm.96np.debug
#
# !DESCRIPTION: Script to run a debug MITgcm Hg simulation with 96 CPUs.
#\\
#\\
# !CALLING SEQUENCE:
# sbatch run.mitgcm.96np.debug # To submit a batch job
#
# !REMARKS:
# Consider requesting 2 entire nodes (-n 128 -N 2), which will prevent
# outside jobs from slowing down your simulation.
#
# Also note: Make your timestep edits in "data.debug_run", which will
# automatically be copied to "data" by this script.
#
# !REVISION HISTORY:
# 17 Feb 2015 - R. Yantosca - Initial version
#EOP
#------------------------------------------------------------------------------
#BOC
# Make sure we apply the .bashrc_mitgcm settings
source ~/.bashrc_mitgcm
# Copy run-time parameter input files for the 96 CPU run
cp -f data.debug.run data
cp -f data.exch2.96np data.exch2
# Remove old output files
rm -f STDOUT.*
rm -f STDERR.*
rm -f PTRACER*
# Run MITgcm with 96 CPUs
time -p ( mpirun -np 96 ./mitgcmuv )
exit 0
#EOC |
The run.mitgcm* scripts all do the following things:
Gets the proper compiler and library settings from your
~/.bashrc_mitgcm
file.Reserves CPUs for the MITgcm run.
- NOTE: For MITgcm production runs, we recommend that you request 128 CPUs (i.e. 2 entire nodes) even though the MITgcm only uses 96. This will reserve both nodes exclusively for your MITgcm simulation, and will prevent other Odyssey jobs from running on the same node and competing for resources.
- NOTE: For MITgcm production runs, we recommend that you request 128 CPUs (i.e. 2 entire nodes) even though the MITgcm only uses 96. This will reserve both nodes exclusively for your MITgcm simulation, and will prevent other Odyssey jobs from running on the same node and competing for resources.
Creates the proper
data
file for your simulation from a template. This file contains basic information for the simulation, including- The number of timesteps for the simulation to run;
- How frequently diagnostics are saved to disk (i.e.
dumpFreq
); - How frequenlty statistics are written to the log file (i.e.
monitorFreq
)
Creates the proper
data.exch
file for your simulation from a template.The data.exch file, which is described below, contains information about the tiles used for the horizontal grid specification.
- Runs the MITgcm simulation and prints the user, cpu, and system time in seconds.
The data.exch2.13np and data.exch2.96np files
...
Code Block |
---|
&W2_EXCH2_PARM01 W2_printMsg = 0 , W2_mapIO = 1 , preDefTopol = 0 , #============================================================================== #-- 5 facets llc_120 topology (drop facet 6 and its connection): #============================================================================== dimsFacets(1:10) = 90, 270, 90, 270, 90, 90, 270, 90, 270, 90 , facetEdgeLink(1:4,1) = 3.4, 0. , 2.4, 5.1 , facetEdgeLink(1:4,2) = 3.2, 0. , 4.2, 1.3 , facetEdgeLink(1:4,3) = 5.4, 2.1, 4.4, 1.1 , facetEdgeLink(1:4,4) = 5.2, 2.3, 0. , 3.3 , facetEdgeLink(1:4,5) = 1.4, 4.1, 0. , 3.1 , #============================================================================== #-- 30x30 nprocs = 96 : Blank out certain tiles #============================================================================== blankList(1:21) = 1,2,3,5,6,28,29,30,31,32,33,49,50 52,53,72,81,90,99,108,117 / |
The run.mitgcm*
scripts will copy data.exch2.13np
or data.exch2.96np
to a file named data.exch2
, so that you won't forget to do this yourself. or data.exch2.96np
to a file named data.exch2
, so that you won't forget to do this yourself.
NOTE: You should not have to touch the data.exch2* input files because they are already set up for the 13 CPU and 96 CPU runs. The only time you would have to modify these input files if you were changing the horizontal grid specification and the number of CPUs that you wanted to use.
The data files
Debug run
To submit a debugging run (on 13 CPUs), type the following commands:
...