Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 4.0
Table of Contents

Run the code via Make It So!

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.

Usage

Once you've set the corresponding environment variables, learn more about MakeItSo via the --help flag:

Code Block
makeItSo.py --help

There are two ways to run the script generator:

  1. Interactive mode: At the command-line, type
    Code Block
    /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.
  1. Preconfigured run mode: Each time you run the script generator, it writes a makeItSo.config file at:
    Code Block
    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:
    Code Block
    /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:

  • Input files that set model parameters
  • Shell script to configure the models (RUN_IDENTIFIER-setup.sh)
  • Run scripts to execute the models (RUN_IDENTIFIER-001.*)

Follow the instructions displayed by Make It So to run the code.

FAQ

How do I restart or continue a long run?

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 interval
  • LFM-002.sh: Job script for 1st hour of run
  • LFM-003.sh: Job script for 2nd hour of run
  • SW-SM-DAT: 6 hours of solar wind data from OMNI
  • LFM_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:

  1. Extend the run (recommended)
    1. Edit LFM_makeItSo.config and set the stop top tim 2 hours later
    2. Re-run MakeItSo:
      Code Block
      makeItSo.py -c LFM_makeItSo.config
    3. Submit the next job script in the iteration: LFM-004.sh. This will pick up where the previous job script left off and continue executing the model.
  2. Configure a restart run (advanced)
    1. Edit LFM_makeItSo.config and
      1. change start time to 2 hours later
      2. change stop time to 2 hours later
      3. add the the parameter SPINUP: false to Shared model settings
    2. Re-run MakeItSo:
      Code Block
      makeItSo.py -c LFM_makeItSo.config
      This will create the following run scripts:
      • {LFM-001.sh}}: Job script for 3rd hour of run
      • {LFM-002.sh}}: Job script for 4th hour of run
        Note: if you ran MakeItSo in the original run directory, you may have overwritten the pre-existing job scripts!

Extending MakeItSo

Note
titleNote

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:

Create Config File (recommended)

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.

Modify at Run Time

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)

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