Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: add note about minium python version for wait_for_tests script

...

  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. Now lets make sure the acme_developer tests pass, for your first run of any test, you'll need to generate baselines, all subsequent runs should compare against these baselines
    1. cd <ACME>/scripts
    2. ./create_test -xml_category acme_developer -xml_mach <machine> -xml_compiler <compiler> -testroot <any-path> -project <batch project> -generate <some-name-for-these-baselines>
    3. cd <testroot>
    4. <ACME>/scripts/acme/wait_for_tests */TestStatus
      1. Note: The wait_for_tests script requires a minimum python version number of 2.7.
    5. All tests should pass

Adding a new test

...