CESM: Difference between revisions

From Alliance Doc
Jump to navigation Jump to search
(Added other clusters)
(Validation of machine file)
Line 5: Line 5:
==Local machine file==
==Local machine file==


Create and edit the file <code>~/.cime/config_machines.xml</code> with the specific content per cluster:
* Create and edit the file <code>~/.cime/config_machines.xml</code> from the following minimal content per cluster:


<tabs>
<tabs>
Line 173: Line 173:
</tab>
</tab>
</tabs>
</tabs>
* Validate your XML machine file with the following commands:
{{Command2
|prompt=[name@server ~]$|module load cesm/2.1.3 && xmllint --noout --schema $EBROOTCESM/cime/config/xml_schemas/config_machines.xsd ~/.cime/config_machines.xml
|result=
/home/username/.cime/config_machines.xml validates
}}
* Check the official template for additional parameters:
{{Command2
|prompt=[name@server ~]$
|less $EBROOTCESM/cime/config/xml_schemas/config_machines_template.xml
}}


=Reference=
=Reference=


* [https://www.cesm.ucar.edu/ Main website]
* [https://www.cesm.ucar.edu/ Main website]

Revision as of 16:48, 6 September 2023


This article is a draft

This is not a complete article: This is a draft, a work in progress that is intended to be published into an article, which may or may not be ready for inclusion in the main wiki. It should not necessarily be considered factual or authoritative.




Porting and Validating

Local machine file

  • Create and edit the file ~/.cime/config_machines.xml from the following minimal content per cluster:
File : ~/.cime/config_machines.xml

<?xml version="1.0"?>

<config_machines version="2.0">
  <machine MACH="beluga">
    <DESC>https://docs.alliancecan.ca/wiki/Béluga/en</DESC>
    <NODENAME_REGEX>b[cegl].*.int.ets1.calculquebec.ca</NODENAME_REGEX>

    <OS>LINUX</OS>
    <COMPILERS>intel,gnu</COMPILERS>
    <MPILIBS>openmpi,intelmpi</MPILIBS>

    <PROJECT>def-EDIT_THIS</PROJECT>
    <CHARGE_ACCOUNT>def-EDIT_THIS</CHARGE_ACCOUNT>

    <CIME_OUTPUT_ROOT>/scratch/$USER</CIME_OUTPUT_ROOT>
    <DIN_LOC_ROOT>$ENV{CESMDATAROOT}/inputdata</DIN_LOC_ROOT>
    <DOUT_S_ROOT>$CIME_OUTPUT_ROOT/archive/$CASE</DOUT_S_ROOT>

    <BATCH_SYSTEM>slurm</BATCH_SYSTEM>
    <SUPPORTED_BY>support@tech.alliancecan.ca</SUPPORTED_BY>
    <MAX_TASKS_PER_NODE>40</MAX_TASKS_PER_NODE>
    <MAX_MPITASKS_PER_NODE>40</MAX_MPITASKS_PER_NODE>
    <PROJECT_REQUIRED>TRUE</PROJECT_REQUIRED>
  </machine>
</config_machines>


File : ~/.cime/config_machines.xml

<?xml version="1.0"?>

<config_machines version="2.0">
  <machine MACH="cedar">
    <DESC>https://docs.alliancecan.ca/wiki/Cedar</DESC>
    <NODENAME_REGEX>c[de].*.computecanada.ca</NODENAME_REGEX>

    <OS>LINUX</OS>
    <COMPILERS>intel,gnu</COMPILERS>
    <MPILIBS>openmpi,intelmpi</MPILIBS>

    <PROJECT>def-EDIT_THIS</PROJECT>
    <CHARGE_ACCOUNT>def-EDIT_THIS</CHARGE_ACCOUNT>

    <CIME_OUTPUT_ROOT>/scratch/$USER</CIME_OUTPUT_ROOT>
    <DIN_LOC_ROOT>$ENV{CESMDATAROOT}/inputdata</DIN_LOC_ROOT>
    <DOUT_S_ROOT>$CIME_OUTPUT_ROOT/archive/$CASE</DOUT_S_ROOT>

    <BATCH_SYSTEM>slurm</BATCH_SYSTEM>
    <SUPPORTED_BY>support@tech.alliancecan.ca</SUPPORTED_BY>
    <MAX_TASKS_PER_NODE>48</MAX_TASKS_PER_NODE>
    <MAX_MPITASKS_PER_NODE>48</MAX_MPITASKS_PER_NODE>
    <PROJECT_REQUIRED>TRUE</PROJECT_REQUIRED>
  </machine>
</config_machines>


File : ~/.cime/config_machines.xml

<?xml version="1.0"?>

<config_machines version="2.0">
  <machine MACH="graham">
    <DESC>https://docs.alliancecan.ca/wiki/Graham</DESC>
    <NODENAME_REGEX>gra.*</NODENAME_REGEX>

    <OS>LINUX</OS>
    <COMPILERS>intel,gnu</COMPILERS>
    <MPILIBS>openmpi,intelmpi</MPILIBS>

    <PROJECT>def-EDIT_THIS</PROJECT>
    <CHARGE_ACCOUNT>def-EDIT_THIS</CHARGE_ACCOUNT>

    <CIME_OUTPUT_ROOT>/scratch/$USER</CIME_OUTPUT_ROOT>
    <DIN_LOC_ROOT>$ENV{CESMDATAROOT}/inputdata</DIN_LOC_ROOT>
    <DOUT_S_ROOT>$CIME_OUTPUT_ROOT/archive/$CASE</DOUT_S_ROOT>

    <BATCH_SYSTEM>slurm</BATCH_SYSTEM>
    <SUPPORTED_BY>support@tech.alliancecan.ca</SUPPORTED_BY>
    <MAX_TASKS_PER_NODE>44</MAX_TASKS_PER_NODE>
    <MAX_MPITASKS_PER_NODE>44</MAX_MPITASKS_PER_NODE>
    <PROJECT_REQUIRED>TRUE</PROJECT_REQUIRED>
  </machine>
</config_machines>


File : ~/.cime/config_machines.xml

<?xml version="1.0"?>

<config_machines version="2.0">
  <machine MACH="narval">
    <DESC>https://docs.alliancecan.ca/wiki/Narval/en</DESC>
    <NODENAME_REGEX>n[acgl].*.narval.calcul.quebec</NODENAME_REGEX>

    <OS>LINUX</OS>
    <COMPILERS>intel,gnu</COMPILERS>
    <MPILIBS>openmpi,intelmpi</MPILIBS>

    <PROJECT>def-EDIT_THIS</PROJECT>
    <CHARGE_ACCOUNT>def-EDIT_THIS</CHARGE_ACCOUNT>

    <CIME_OUTPUT_ROOT>/scratch/$USER</CIME_OUTPUT_ROOT>
    <DIN_LOC_ROOT>$ENV{CESMDATAROOT}/inputdata</DIN_LOC_ROOT>
    <DOUT_S_ROOT>$CIME_OUTPUT_ROOT/archive/$CASE</DOUT_S_ROOT>

    <BATCH_SYSTEM>slurm</BATCH_SYSTEM>
    <SUPPORTED_BY>support@tech.alliancecan.ca</SUPPORTED_BY>
    <MAX_TASKS_PER_NODE>64</MAX_TASKS_PER_NODE>
    <MAX_MPITASKS_PER_NODE>64</MAX_MPITASKS_PER_NODE>
    <PROJECT_REQUIRED>TRUE</PROJECT_REQUIRED>
  </machine>
</config_machines>


File : ~/.cime/config_machines.xml

<?xml version="1.0"?>

<config_machines version="2.0">
  <machine MACH="niagara">
    <DESC>https://docs.alliancecan.ca/wiki/Niagara</DESC>
    <NODENAME_REGEX>nia.*.scinet.local</NODENAME_REGEX>

    <OS>LINUX</OS>
    <COMPILERS>intel,gnu</COMPILERS>
    <MPILIBS>openmpi,intelmpi</MPILIBS>

    <PROJECT>def-EDIT_THIS</PROJECT>
    <CHARGE_ACCOUNT>def-EDIT_THIS</CHARGE_ACCOUNT>

    <CIME_OUTPUT_ROOT>/scratch/$USER</CIME_OUTPUT_ROOT>
    <DIN_LOC_ROOT>$ENV{CESMDATAROOT}/inputdata</DIN_LOC_ROOT>
    <DOUT_S_ROOT>$CIME_OUTPUT_ROOT/archive/$CASE</DOUT_S_ROOT>

    <BATCH_SYSTEM>slurm</BATCH_SYSTEM>
    <SUPPORTED_BY>support@tech.alliancecan.ca</SUPPORTED_BY>
    <MAX_TASKS_PER_NODE>40</MAX_TASKS_PER_NODE>
    <MAX_MPITASKS_PER_NODE>40</MAX_MPITASKS_PER_NODE>
    <PROJECT_REQUIRED>TRUE</PROJECT_REQUIRED>
  </machine>
</config_machines>


  • Validate your XML machine file with the following commands:
[name@server ~]$ module load cesm/2.1.3 && xmllint --noout --schema $EBROOTCESM/cime/config/xml_schemas/config_machines.xsd ~/.cime/config_machines.xml
/home/username/.cime/config_machines.xml validates
  • Check the official template for additional parameters:
[name@server ~]$ less $EBROOTCESM/cime/config/xml_schemas/config_machines_template.xml


Reference