Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update dependencies and modules for IntelOneApi to work with NorESM/CESM #43

Merged
merged 11 commits into from
Aug 12, 2024
16 changes: 5 additions & 11 deletions component_grids_nuopc.xml
Original file line number Diff line number Diff line change
Expand Up @@ -328,12 +328,6 @@
<mesh>$DIN_LOC_ROOT/share/meshes/gx3v7_120309_ESMFmesh.nc</mesh>
<desc>gx3v7 is displaced Greenland pole v7 3-deg grid:</desc>
</domain>
<domain name="tx0.66v1">
<nx>540</nx> <ny>458</ny>
<mesh>$DIN_LOC_ROOT/share/meshes/tx0.66v1_190314_ESMFmesh.nc</mesh>
<desc>tx0.66v1 is tripole v1 0.66-deg MOM6 grid:</desc>
<support>Experimental for MOM6 experiments</support>
</domain>
<domain name="tx2_3v2">
<nx>540</nx> <ny>480</ny>
<mesh>$DIN_LOC_ROOT/share/meshes/tx2_3v2_230415_ESMFmesh.nc</mesh>
Expand Down Expand Up @@ -523,11 +517,11 @@
<desc>gx3v7 global grid</desc>
<support>For testing of the WAV model</support>
</domain>
<domain name="wtx0.66v1">
<nx>540</nx> <ny>458</ny>
<mesh>$DIN_LOC_ROOT/share/meshes/wtx0.66v1_210917_ESMFmesh.nc</mesh>
<desc>wtx0.66v1 is tripole v1 0.66-deg WW3 grid based on MOM6 grid</desc>
<support>MOM6 tx0.66v1-based WW3 grid where cells above 88N are masked</support>
<domain name="wtx2_3v2">
<nx>540</nx> <ny>480</ny>
<mesh>$DIN_LOC_ROOT/share/meshes/wtx2_3v2_231005b_ESMFmesh.nc</mesh>
<desc>wtx2_3v2 is tripole v2 2/3-deg WW3 grid based on MOM6 grid</desc>
<support>MOM6 tx2_3v2-based WW3 grid where cells above 88N are masked</support>
</domain>
<domain name="wtnx1v4">
<nx>360</nx> <ny>384</ny>
Expand Down
43 changes: 0 additions & 43 deletions config_archive.xml
Original file line number Diff line number Diff line change
@@ -1,48 +1,5 @@
<components version="2.0">

<comp_archive_spec compname="pop" compclass="ocn">
<rest_file_extension>r</rest_file_extension>
<rest_file_extension>r[ho]</rest_file_extension>
<rest_file_extension>rh.*</rest_file_extension>
<hist_file_extension>h\d*.*\.nc$</hist_file_extension>
<hist_file_extension>d[dovt]</hist_file_extension>
<rest_history_varname>unset</rest_history_varname>
<rpointer>
<rpointer_file>rpointer.ocn$NINST_STRING.restart</rpointer_file>
<rpointer_content>./$CASE.pop$NINST_STRING.r.$DATENAME.nc,RESTART_FMT=nc</rpointer_content>
</rpointer>
<rpointer>
<rpointer_file>rpointer.ocn$NINST_STRING.ovf</rpointer_file>
<rpointer_content>./$CASE.pop$NINST_STRING.ro.$DATENAME</rpointer_content>
</rpointer>
<rpointer>
<rpointer_file>rpointer.ocn$NINST_STRING.tavg</rpointer_file>
<rpointer_content>./$CASE.pop$NINST_STRING.rh.$DATENAME.nc</rpointer_content>
</rpointer>
<test_file_names>
<tfile disposition="copy">rpointer.pop</tfile>
<tfile disposition="copy">casename.pop_0001.r.1976-01-01-00000.nc</tfile>
<tfile disposition="copy">casename.pop.r.1976-01-01-00000.nc</tfile>
<tfile disposition="move">casename.pop.h.1976-01-01-00000.nc</tfile>
<tfile disposition="move">casename.pop.h.1975-02-01-00000.nc</tfile>
<tfile disposition="move">casename.pop.h0.1976-01-01-00000.nc</tfile>
<tfile disposition="move">casename.pop.dd.1976-01-01-00000</tfile>
<tfile disposition="copy">casename.pop.rh.ecosys.nyear1.1976-01-01-00000.nc</tfile>
<tfile disposition="ignore">casename.pop.r.1975-01-01-00000.nc</tfile>
<tfile disposition="ignore">anothercasename.pop.r.1976-01-01-00000.nc</tfile>
</test_file_names>
</comp_archive_spec>

<comp_archive_spec compname="ww3" compclass="wav">
<rest_file_extension>r</rest_file_extension>
<hist_file_extension>hi.*\.nc$</hist_file_extension>
<rest_history_varname>unset</rest_history_varname>
<rpointer>
<rpointer_file>rpointer.wav$NINST_STRING</rpointer_file>
<rpointer_content>unset</rpointer_content>
</rpointer>
</comp_archive_spec>

<comp_archive_spec compclass="esp" compname="dart">
<rest_file_extension>r</rest_file_extension>
<rest_file_extension>rh\d?</rest_file_extension>
Expand Down
11 changes: 9 additions & 2 deletions machines/betzy/config_machines.xml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<machine MACH="betzy">
<DESC> BullSequana XH2000 AMD® Epyc™ "Rome" 2.2GHz, 128-way nodes, os is Linux, batch system is SLURM</DESC>
<OS>LINUX</OS>
<COMPILERS>intel</COMPILERS>
<COMPILERS>intel,intel-oneapi</COMPILERS>
<MPILIBS compiler="intel" >openmpi,impi</MPILIBS>
<CIME_OUTPUT_ROOT>/cluster/work/users/$USER/noresm</CIME_OUTPUT_ROOT>
<DIN_LOC_ROOT>/cluster/shared/noresm/inputdata</DIN_LOC_ROOT>
Expand Down Expand Up @@ -30,14 +30,21 @@
<cmd_path lang="python">$ENV{LMOD_PKG}/libexec/lmod python</cmd_path>
<cmd_path lang="sh">module</cmd_path>
<cmd_path lang="csh">module</cmd_path>
<modules compiler="intel-oneapi" mpilib='openmpi'>
<command name="--force purge"></command>
<command name="load">StdEnv</command>
<command name="use">/cluster/shared/noresm/eb_mods/modules/all</command>
<command name="load">ESMF/8.4.2-iomkl-2022a-ParallelIO-2.5.10</command>
<command name="load">Python/3.11.3-GCCcore-12.3.0</command>
<command name="load">CMake/3.26.3-GCCcore-12.3.0</command>
</modules>
<modules compiler="intel" mpilib="openmpi">
<command name="--force purge"></command>
<command name="load">StdEnv</command>
<command name="use">/cluster/shared/noresm/eb_mods/modules/all</command>
<command name="load">ESMF/8.4.1-iomkl-2021b-ParallelIO-2.5.10</command>
<command name="load">CMake/3.21.1-GCCcore-11.2.0</command>
<command name="load">Python/3.9.6-GCCcore-11.2.0</command>

<command name="load">ParMETIS/4.0.3-iompi-2021b</command>
</modules>
<modules compiler="intel" mpilib="impi">
Expand Down
32 changes: 32 additions & 0 deletions machines/cmake_macros/intel-oneapi_betzy.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
set(PIO_FILESYSTEM_HINTS "lustre")
string(APPEND CFLAGS " -qopt-report -march=core-avx2")
string(APPEND FFLAGS " -qopt-report -march=core-avx2")
set(NETCDF_C_PATH $ENV{EBROOTNETCDF})
set(NETCDF_FORTRAN_PATH $ENV{EBROOTNETCDFMINFORTRAN})
set(PNETCDF_PATH $ENV{PNETCDF})

if(DEFINED ENV{PIO})
set(PIO_LIBDIR "$ENV{PIO}/lib")
set(PIO_INCDIR "$ENV{PIO}/include")
endif()

string(REPLACE "-mkl=cluster" "" SLIBS "${SLIBS}")
string(APPEND CPPDEFS " -DHAVE_GETTID")

if (COMP_WAV STREQUAL ww3dev)
if (MPILIB STREQUAL openmpi)
string(APPEND SLIBS " -l:libparmetis.a -lmetis ")
endif()
endif()

if (MPILIB STREQUAL impi)
set(MPICC "mpiicc")
set(MPICXX "mpiicpc")
set(MPIFC "mpiifort")
endif()

if (MPILIB STREQUAL openmpi)
set(MPICC "mpicc")
set(MPICXX "mpicpc")
set(MPIFC "mpifort")
endif()
2 changes: 1 addition & 1 deletion machines/cmake_macros/ubuntu-latest.cmake
Original file line number Diff line number Diff line change
@@ -1 +1 @@
set(PFUNIT_PATH "$GITHUB_WORKSPACE/pfunit/build")
set(PFUNIT_PATH "$GITHUB_WORKSPACE/pfunit/build")