The easiest way to configure models coupled to the LFM is via the script generator affectionately named "Make It So". MakeItSo requires Python >= 2.4.
Once you've set the corresponding environment variables, learn more about MakeItSo via the --help
flag:
makeItSo.py --help
There are two ways to run the script generator:
Interactive mode: At the command-line, type
/path/to/makeItSo.py
and follow the prompts. You will be asked to set a series of parameters. Press <enter>
for the default value or ? <enter>
for more information on a particular variable. Once you've entered all model parameters & environment setup, MakeItSo will create input files & job scripts necessary to run the code.
Preconfigured run mode: Each time you run the script generator, it writes a makeItSo.config
file at:
Output directory/RUN_IDENTIFIER_makeItSo.config
Once you've run the script generator via interactive mode (see above), open up a *makeItSo.config
file with a text editor. You can edit run parameters, save the file and configure a new run using this simple text file. Execute:
/path/to/makeItSo.py -c /path/to/RUN_IDENTIFIER_makeItSo.config
MakeItSo will create all the input files & job scripts necessary to run the code.
Make It So will print instructions and create a set of files:
RUN_IDENTIFIER-setup.sh
)RUN_IDENTIFIER-001.*
)Follow the instructions displayed by Make It So to run the code.
Say you ran MakeItSo to generate a 2 hour run of LFM. You should have several files in your run directory, including:
LFM-001.sh
: 50 minute spinup intervalLFM-002.sh
: Job script for 1st hour of runLFM-003.sh
: Job script for 2nd hour of runSW-SM-DAT
: 6 hours of solar wind data from OMNILFM_makeItSo.config
: configuration file for MakeItSo.You execute the job scripts and your 2 hour run (plus 50 minute spinup) have completed. Let's say you want to restart the run and continue for an additional 2 hours. There are two ways to do this:
LFM_makeItSo.config
and set the stop top tim 2 hours laterRe-run MakeItSo:
makeItSo.py -c LFM_makeItSo.config
LFM-004.sh
. This will pick up where the previous job script left off and continue executing the model.SPINUP: false
to Shared
model settingsRe-run MakeItSo:
makeItSo.py -c LFM_makeItSo.config
This will create the following run scripts:
First, the hdf5 module needs to be loaded before MFLFM can be built.
module load hdf5
Build MFLFM as normal.
To turn on HDF5 support, makeItSo.py needs to be run in expert mode. (Warning: This may prompt you to enter dozens of model parameters). Not using expert mode will default back to HDF4.
makeItSo.py --expert
When the model parameter option "IO_EXTENSIONS( hdf ):" is reached, enter "hdf5". Entering "hdf", or just hitting return will default back to HDF4.
IO_EXTENSION ( hdf ): hdf5
HDF5 file support for MFLFM is now turned on. Run MFLFM as normal, there should be .hdf5 files in the run directory.
Add HDFnompi path to HDF5 libraries.
HDF5nompi= /opt/apps/intel13/hdf5/1.8.9
There was also issues with finding the szip library, so EXTRA_LIBS needs to set to find szip.
EXTRA_LIBS = -L/opt/apps/intel13/hdf5/1.8.9/lib -lsz
Add HDFnompi path to HDF5 libraries.
HDF5nompi = /glade/apps/opt/hdf5/1.8.11/intel/12.1.5
Note
Adding a new environment to MakeItSo is an advanced topic. Do not hesitate to ask for help with initial configuration.
We have tested MakeItSo on a variety of systems. You can customize for your particular machine in two ways:
You can permanently add your environment by defining all parameters in a QUEING-ENVIRONMENT.yml file. This file must reside in the MakeItSo/Environments
subdirectory. It describes the computer (MPI installation, flags for the number of processors, etc) and any queue information that is required. We recommend that you start with a pre-existing environment & extend it to your own environment. For example, see LSF.yml or SGE.yml.
At runtime, MakeItSo will locate this YAML file & provide an interface to the user to set up the environment.
You can modify a pre-configured environment at run-time. Start makeItSo.py in "expert" mode (Warning: This may prompt you to enter dozens of model parameters)
misc/python/makeItSo.py --expert
When prompted for an environment, select the one most similar to yours. If you are working on a Linux desktop computer, select "Standard Linux Bourne shell without a queue". You will be asked to enter a series of parameters related to your compute environment. You must know the settings used to compile the LTR prerequisites.