Versions Compared

Key

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

Adding a new machine

In general, the SE team is happy to set up configuration for new machines provided the machine is "high profile" (an institutional cluster or LCF) and someone on the SE team. If this is not the case, you may have to set up the machine yourself.

Step-by-step guide

...

  1. Add your machine to <ACME>/scripts/ccsm_utils/Machines/config_machines.xml
    1. The easiest approach is probably to copy the configuration for some other machine and then replace all the values
    2. Most of the values should be obvious. You can look at the "userdefined" block to see which items are required and to see documentation on each item.
  2. Add compiler-specific information for each compiler supported by your machine to <ACME>/scripts/ccsm_utils/Machines/config_compilers.xml
    1. Here, for each compiler you want to support, you'll need to create a block <compiler COMPILER="<toolset>" MACH="<machine>">
    2. This block will inherit the properties of the primary block for that toolset and allow you to add/override values for your machine.
      1. The most common thing you'll need to do is add link flags with the ADD_SLIBS item.
      2. You may also need to define NETCDF_PATH and PNETCDF_PATH
  3. Add environment settings for your machine by creating this file: <ACME>/scripts/ccsm_utils/Machines/env_mach_specific.<machine>
    1. This is a csh script that, once sourced, should setup your environment for running ACME
    2. Common actions here are loading modules, setting PATH and LD_LIBRARY_PATH
    3. You may need indirection in this file if your machine supports multiple compilers, e.g: if ($COMPILER == "intel") then; module load intel; else; module load gcc; endif
  4. Add batch settings for your machine by creating this file: <ACME>/scripts/ccsm_utils/Machines/mkbatch.<machine>
    1. It will be much easier to start by copying mkbatch.userdefined and then editing
    2. Machines with similar batch systems should serve a good example of what to put in your file
  5. Now add tests for your machine, starting with the acme_developer tests
    1. Add <ACME>/scripts/acme to your PATH
    2. Cd to <ACME>/scripts/ccsm_utils/Testlistxml
    3. Run: update_acme_tests acme_developer ./testlist.xml -p <machine>,<compiler>
  6. TODO

Adding a new test

Step-by-step guide

...