Skip to content

config_build migration guide

Sean Patrick Santos edited this page Aug 26, 2016 · 3 revisions
  1. Clean up any bugs in config_compilers.xml, e.g. bad XML, misspelled tags. When processing the CESM file, there were a few variables that should not have been in there (PIO_TYPENAME, and ADD_CPPDEFS was misspelled as ADD_CPPFLAGS in some places).
  2. Run utils/perl5lib/compilers_translation_tool.pl on the config_compilers.xml file, and use xmllint to make sure that the output matches the config_build schema. The schema is located at cime_config/xml_schemas/config_build.xsd.
  3. Do as much BFB testing as reasonably possible, because we want to know if the compiler flags have changed from all of the above.
    • Macros generation can be switched from config_compilers to config_build by setting CIME_USE_CONFIG_BUILD=TRUE in the environment.
    • Note that <var> tags may need to be replaced with <env> tags, or vice versa, depending on whether a variable is intended to be used from the environment or from elsewhere in config_build.
    • Note also that a generic setting that is overridden for a specific machine and MPILIB value needs to be overridden for all MPILIB values. E.g. on yellowstone, SCC is set to the same value as MPICC for MPILIB="mpich2". Because this setting "hides" more generic settings, this means that SCC has to be set to ifort for MPILIB="mpi-serial".
  4. Fix the comments in the output config_build file (they are likely to be in the wrong place, or possibly not correct at all).
  5. Remove the config_compilers.xml, and remove the COMPILERS_SPEC_FILE entry from config_files.xml.
Clone this wiki locally