From e31a4b6dc6d892533b7dd494de553cc60bd89f68 Mon Sep 17 00:00:00 2001 From: Jim Edwards Date: Wed, 12 Oct 2022 02:59:02 -0600 Subject: ESMF package update (#33202) --- var/spack/repos/builtin/packages/esmf/cce.patch | 22 ---------------------- .../repos/builtin/packages/esmf/longtoint.patch | 22 ++++++++++++++++++++++ var/spack/repos/builtin/packages/esmf/package.py | 14 +++++++++++--- 3 files changed, 33 insertions(+), 25 deletions(-) delete mode 100644 var/spack/repos/builtin/packages/esmf/cce.patch create mode 100644 var/spack/repos/builtin/packages/esmf/longtoint.patch (limited to 'var') diff --git a/var/spack/repos/builtin/packages/esmf/cce.patch b/var/spack/repos/builtin/packages/esmf/cce.patch deleted file mode 100644 index 2044f5e13e..0000000000 --- a/var/spack/repos/builtin/packages/esmf/cce.patch +++ /dev/null @@ -1,22 +0,0 @@ ---- old/src/Infrastructure/Mesh/src/Legacy/ESMCI_MeshPNC.C -+++ new/src/Infrastructure/Mesh/src/Legacy/ESMCI_MeshPNC.C -@@ -122,7 +122,7 @@ void LoadNCDualMeshPar(Mesh &mesh, const std::string fname) { - local_grid_start = my_start*grid_dims[0]; - } - -- int local_grid_dims[2] = {grid_dims[0], my_num > 0 ? my_num+1 : 0}; -+ int local_grid_dims[2] = {grid_dims[0], (int) my_num > 0 ? (int) my_num+1 : 0}; - - Par::Out() << "min_row=" << min_row << ", max_row=" << max_row << std::endl; - Par::Out() << "local_grid_start=" << local_grid_start << ", local_grid_size:" << local_grid_size << std::endl; ---- old/src/Infrastructure/Mesh/src/Legacy/ESMCI_WriteWeightsPar.C -+++ new/src/Infrastructure/Mesh/src/Legacy/ESMCI_WriteWeightsPar.C -@@ -229,7 +229,7 @@ static void get_nc_grid_file1(nc_grid_file1 &ncf, const std::string &ncfile, boo - ncf.local_grid_size = local_grid_size; - ncf.local_grid_start = local_grid_start; - -- int local_grid_dims[2] = {grid_dims[0], my_num > 0 ? my_num+1 : 0}; -+ int local_grid_dims[2] = {grid_dims[0], (int) my_num > 0 ? (int) my_num+1 : 0}; - - Par::Out() << "min_row=" << min_row << ", max_row=" << max_row << std::endl; - Par::Out() << "local_grid_start=" << local_grid_start << ", local_grid_size:" << local_grid_size << std::endl; diff --git a/var/spack/repos/builtin/packages/esmf/longtoint.patch b/var/spack/repos/builtin/packages/esmf/longtoint.patch new file mode 100644 index 0000000000..c9594806bf --- /dev/null +++ b/var/spack/repos/builtin/packages/esmf/longtoint.patch @@ -0,0 +1,22 @@ +--- old/src/Infrastructure/Mesh/src/Legacy/ESMCI_MeshPNC.C ++++ new/src/Infrastructure/Mesh/src/Legacy/ESMCI_MeshPNC.C +@@ -122,7 +122,7 @@ void LoadNCDualMeshPar(Mesh &mesh, const std::string fname) { + local_grid_start = my_start*grid_dims[0]; + } + +- int local_grid_dims[2] = {grid_dims[0], my_num > 0 ? my_num+1 : 0}; ++ int local_grid_dims[2] = {grid_dims[0], (int) my_num > 0 ? (int) my_num+1 : 0}; + + Par::Out() << "min_row=" << min_row << ", max_row=" << max_row << std::endl; + Par::Out() << "local_grid_start=" << local_grid_start << ", local_grid_size:" << local_grid_size << std::endl; +--- old/src/Infrastructure/Mesh/src/Legacy/ESMCI_WriteWeightsPar.C ++++ new/src/Infrastructure/Mesh/src/Legacy/ESMCI_WriteWeightsPar.C +@@ -229,7 +229,7 @@ static void get_nc_grid_file1(nc_grid_file1 &ncf, const std::string &ncfile, boo + ncf.local_grid_size = local_grid_size; + ncf.local_grid_start = local_grid_start; + +- int local_grid_dims[2] = {grid_dims[0], my_num > 0 ? my_num+1 : 0}; ++ int local_grid_dims[2] = {grid_dims[0], (int) my_num > 0 ? (int) my_num+1 : 0}; + + Par::Out() << "min_row=" << min_row << ", max_row=" << max_row << std::endl; + Par::Out() << "local_grid_start=" << local_grid_start << ", local_grid_size:" << local_grid_size << std::endl; diff --git a/var/spack/repos/builtin/packages/esmf/package.py b/var/spack/repos/builtin/packages/esmf/package.py index c58902bd49..dcfde5415b 100644 --- a/var/spack/repos/builtin/packages/esmf/package.py +++ b/var/spack/repos/builtin/packages/esmf/package.py @@ -23,6 +23,11 @@ class Esmf(MakefilePackage): # Develop is a special name for spack and is always considered the newest version version("develop", branch="develop") + # generate chksum with spack checksum esmf@x.y.z + version( + "8.3.1", + sha256="6c39261e55dcdf9781cdfa344417b9606f7f961889d5ec626150f992f04f146d", + ) version( "8.3.0", sha256="0ff43ede83d1ac6beabd3d5e2a646f7574174b28a48d1b9f2c318a054ba268fd", @@ -56,7 +61,7 @@ class Esmf(MakefilePackage): description="Build with external LAPACK support", ) variant("netcdf", default=True, description="Build with NetCDF support") - variant("pnetcdf", default=True, description="Build with pNetCDF support") + variant("pnetcdf", default=True, description="Build with pNetCDF support", when="+mpi") variant("xerces", default=True, description="Build with Xerces support") variant( "parallelio", @@ -111,7 +116,8 @@ class Esmf(MakefilePackage): patch("mvapich2.patch", when="@:7.0") # explicit type cast of variables from long to int - patch("cce.patch", when="@:8.4.0 %cce@13.99:") + patch("longtoint.patch", when="@:8.3.2 %cce@14:") + patch("longtoint.patch", when="@:8.3.2 %oneapi@2022:") # Allow different directories for creation and # installation of dynamic libraries on OSX: @@ -194,7 +200,7 @@ class Esmf(MakefilePackage): "." )[0] ) - elif self.compiler.name == "intel": + elif self.compiler.name == "intel" or self.compiler.name == "oneapi": os.environ["ESMF_COMPILER"] = "intel" elif self.compiler.name in ["clang", "apple-clang"]: os.environ["ESMF_COMPILER"] = "gfortranclang" @@ -207,6 +213,8 @@ class Esmf(MakefilePackage): os.environ["ESMF_COMPILER"] = "nag" elif self.compiler.name == "pgi": os.environ["ESMF_COMPILER"] = "pgi" + elif self.compiler.name == "nvhpc": + os.environ["ESMF_COMPILER"] = "nvhpc" elif self.compiler.name == "cce": os.environ["ESMF_COMPILER"] = "cce" else: -- cgit v1.2.3-60-g2f50