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 |
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.