Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents

Run the code via Make It So!

...

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:

...

  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!

How do I turn on HDF5 file support for MFLFM on stampede and yellowstone?

  1. Stampede
    1. First, the hdf5 module needs to be loaded before MFLFM can be built.

      Code Block
      languagetext
      module load hdf5
    2. Build MFLFM as normal.

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

      Code Block
      languagetext
      makeItSo.py --expert
    4. When the model parameter option "IO_EXTENSIONS( hdf ):" is reached, enter "hdf5".  Entering "hdf", or just hitting return will default back to HDF4.

      Code Block
      languagetext
              IO_EXTENSION ( hdf ): hdf5
    5. HDF5 file support for MFLFM is now turned on.  Run MFLFM as normal, there should be .hdf5 files in the run directory.

       

  2. Yellowstone
    1. On yellowstone, the hdf5 module doesn't need to be loaded.  Follow the Stampede directions starting at 1b.

  3. More details on changes to help add HDF5 support on other machines.
    1. Changes to env/Makefile.${MACHINE}
      1. Stampede changes to env/Makefile.${MACHINE}
        1. Add HDFnompi path to HDF5 libraries.

          Code Block
          languagetext
          HDF5nompi= /opt/apps/intel13/hdf5/1.8.9
        2. There was also issues with finding the szip library, so EXTRA_LIBS needs to set to find szip.

          Code Block
          languagetext
          EXTRA_LIBS = -L/opt/apps/intel13/hdf5/1.8.9/lib -lsz
      2. Yellowstone changes to env/Makefiel.${MACHINE}
        1. Add HDFnompi path to HDF5 libraries.

          Code Block
          languagetext
          HDF5nompi = /glade/apps/opt/hdf5/1.8.11/intel/12.1.5
    2. There may also need to be changes to the machines enviroment.  On yellowstone, there was no changes needed from the default machine enviroment.  On stampede, the hdf5 module needed to be loaded.    On other systems, the hdf5 and szip modules might need to be loaded, if they exist. 
    3. Switching back and forth between HDF4 and HDF5 file support is possible by running makeItSo.py --expert and specifying a different IO_EXTENSION.  The input files will need to be either HDF4 or HDF5, you cannot mix HDF4 input files with HDF5 output files, and vice versa   Running makeItSo.py without --expert will default to HDF4.

Extending MakeItSo

Note
titleNote

Adding a new environment to MakeItSo is an advanced topic. Do not hesitate to ask for help with initial configuration.

...

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

...