diff options
Diffstat (limited to 'var/spack/repos/builtin/packages/nalu-wind/package.py')
-rw-r--r-- | var/spack/repos/builtin/packages/nalu-wind/package.py | 179 |
1 files changed, 93 insertions, 86 deletions
diff --git a/var/spack/repos/builtin/packages/nalu-wind/package.py b/var/spack/repos/builtin/packages/nalu-wind/package.py index ac426e9fe3..b66595d939 100644 --- a/var/spack/repos/builtin/packages/nalu-wind/package.py +++ b/var/spack/repos/builtin/packages/nalu-wind/package.py @@ -19,113 +19,120 @@ class NaluWind(CMakePackage, CudaPackage): """Nalu-Wind: Wind energy focused variant of Nalu.""" homepage = "https://nalu-wind.readthedocs.io" - git = "https://github.com/exawind/nalu-wind.git" - - maintainers = ['jrood-nrel'] - - tags = ['ecp', 'ecp-apps'] - - version('master', branch='master') - - variant('pic', default=True, - description='Position independent code') - variant('abs_tol', default=1.0e-15, - values=_parse_float, - description='Absolute tolerance for regression tests') - variant('rel_tol', default=1.0e-12, - values=_parse_float, - description='Relative tolerance for regression tests') - variant('openfast', default=False, - description='Compile with OpenFAST support') - variant('tioga', default=False, - description='Compile with Tioga support') - variant('hypre', default=False, - description='Compile with Hypre support') - variant('catalyst', default=False, - description='Compile with Catalyst support') - variant('fftw', default=False, - description='Compile with FFTW support') - variant('boost', default=False, - description='Enable Boost integration') - variant('wind-utils', default=False, - description='Build wind-utils') - - depends_on('mpi') - depends_on('yaml-cpp@0.5.3:') + git = "https://github.com/exawind/nalu-wind.git" + + maintainers = ["jrood-nrel"] + + tags = ["ecp", "ecp-apps"] + + version("master", branch="master") + + variant("pic", default=True, description="Position independent code") + variant( + "abs_tol", + default=1.0e-15, + values=_parse_float, + description="Absolute tolerance for regression tests", + ) + variant( + "rel_tol", + default=1.0e-12, + values=_parse_float, + description="Relative tolerance for regression tests", + ) + variant("openfast", default=False, description="Compile with OpenFAST support") + variant("tioga", default=False, description="Compile with Tioga support") + variant("hypre", default=False, description="Compile with Hypre support") + variant("catalyst", default=False, description="Compile with Catalyst support") + variant("fftw", default=False, description="Compile with FFTW support") + variant("boost", default=False, description="Enable Boost integration") + variant("wind-utils", default=False, description="Build wind-utils") + + depends_on("mpi") + depends_on("yaml-cpp@0.5.3:") depends_on( - 'trilinos@stable:' - '+exodus+tpetra+muelu+belos+ifpack2+amesos2+zoltan+stk+boost' - '~superlu-dist~superlu+hdf5+shards~hypre+gtest' + "trilinos@stable:" + "+exodus+tpetra+muelu+belos+ifpack2+amesos2+zoltan+stk+boost" + "~superlu-dist~superlu+hdf5+shards~hypre+gtest" ) - depends_on('trilinos~cuda~wrapper', when='~cuda') + depends_on("trilinos~cuda~wrapper", when="~cuda") # Cannot build Trilinos as a shared library with STK on Darwin # https://github.com/trilinos/Trilinos/issues/2994 - depends_on('trilinos~shared', when=(sys.platform == 'darwin')) - depends_on('openfast@2.6.0: +cxx', when='+openfast') - depends_on('tioga@master:', when='+tioga') - depends_on('hypre@2.18.2: ~int64+mpi~superlu-dist', when='+hypre') - depends_on('kokkos-nvcc-wrapper', type='build', when='+cuda') + depends_on("trilinos~shared", when=(sys.platform == "darwin")) + depends_on("openfast@2.6.0: +cxx", when="+openfast") + depends_on("tioga@master:", when="+tioga") + depends_on("hypre@2.18.2: ~int64+mpi~superlu-dist", when="+hypre") + depends_on("kokkos-nvcc-wrapper", type="build", when="+cuda") for _arch in CudaPackage.cuda_arch_values: - depends_on('trilinos~shared+cuda+cuda_rdc+wrapper cuda_arch={0}'.format(_arch), - when='+cuda cuda_arch={0}'.format(_arch)) - depends_on('hypre@develop +mpi+cuda~int64~superlu-dist cuda_arch={0}'.format(_arch), - when='+hypre+cuda cuda_arch={0}'.format(_arch)) - depends_on('trilinos-catalyst-ioss-adapter', when='+catalyst') - depends_on('fftw+mpi', when='+fftw') - depends_on('nccmp') + depends_on( + "trilinos~shared+cuda+cuda_rdc+wrapper cuda_arch={0}".format(_arch), + when="+cuda cuda_arch={0}".format(_arch), + ) + depends_on( + "hypre@develop +mpi+cuda~int64~superlu-dist cuda_arch={0}".format(_arch), + when="+hypre+cuda cuda_arch={0}".format(_arch), + ) + depends_on("trilinos-catalyst-ioss-adapter", when="+catalyst") + depends_on("fftw+mpi", when="+fftw") + depends_on("nccmp") # indirect dependency needed to make original concretizer work - depends_on('netcdf-c+parallel-netcdf') - depends_on('boost +filesystem +iostreams cxxstd=14', when='+boost') + depends_on("netcdf-c+parallel-netcdf") + depends_on("boost +filesystem +iostreams cxxstd=14", when="+boost") def cmake_args(self): spec = self.spec args = [ - self.define_from_variant('CMAKE_POSITION_INDEPENDENT_CODE', 'pic'), - self.define('CMAKE_CXX_COMPILER', spec['mpi'].mpicxx), - self.define('CMAKE_Fortran_COMPILER', spec['mpi'].mpifc), - self.define('Trilinos_DIR', spec['trilinos'].prefix), - self.define('YAML_DIR', spec['yaml-cpp'].prefix), - self.define_from_variant('ENABLE_CUDA', 'cuda'), - self.define_from_variant('ENABLE_WIND_UTILS', 'wind-utils'), - self.define_from_variant('ENABLE_BOOST', 'boost'), + self.define_from_variant("CMAKE_POSITION_INDEPENDENT_CODE", "pic"), + self.define("CMAKE_CXX_COMPILER", spec["mpi"].mpicxx), + self.define("CMAKE_Fortran_COMPILER", spec["mpi"].mpifc), + self.define("Trilinos_DIR", spec["trilinos"].prefix), + self.define("YAML_DIR", spec["yaml-cpp"].prefix), + self.define_from_variant("ENABLE_CUDA", "cuda"), + self.define_from_variant("ENABLE_WIND_UTILS", "wind-utils"), + self.define_from_variant("ENABLE_BOOST", "boost"), ] - args.append(self.define_from_variant('ENABLE_OPENFAST', 'openfast')) - if '+openfast' in spec: - args.append(self.define('OpenFAST_DIR', spec['openfast'].prefix)) + args.append(self.define_from_variant("ENABLE_OPENFAST", "openfast")) + if "+openfast" in spec: + args.append(self.define("OpenFAST_DIR", spec["openfast"].prefix)) - args.append(self.define_from_variant('ENABLE_TIOGA', 'tioga')) - if '+tioga' in spec: - args.append(self.define('TIOGA_DIR', spec['tioga'].prefix)) + args.append(self.define_from_variant("ENABLE_TIOGA", "tioga")) + if "+tioga" in spec: + args.append(self.define("TIOGA_DIR", spec["tioga"].prefix)) - args.append(self.define_from_variant('ENABLE_HYPRE', 'hypre')) - if '+hypre' in spec: - args.append(self.define('HYPRE_DIR', spec['hypre'].prefix)) + args.append(self.define_from_variant("ENABLE_HYPRE", "hypre")) + if "+hypre" in spec: + args.append(self.define("HYPRE_DIR", spec["hypre"].prefix)) - args.append(self.define_from_variant('ENABLE_PARAVIEW_CATALYST', 'catalyst')) - if '+catalyst' in spec: - args.append(self.define('PARAVIEW_CATALYST_INSTALL_PATH', - spec['trilinos-catalyst-ioss-adapter'].prefix)) + args.append(self.define_from_variant("ENABLE_PARAVIEW_CATALYST", "catalyst")) + if "+catalyst" in spec: + args.append( + self.define( + "PARAVIEW_CATALYST_INSTALL_PATH", spec["trilinos-catalyst-ioss-adapter"].prefix + ) + ) - args.append(self.define_from_variant('ENABLE_FFTW', 'fftw')) - if '+fftw' in spec: - args.append(self.define('FFTW_DIR', spec['fftw'].prefix)) + args.append(self.define_from_variant("ENABLE_FFTW", "fftw")) + if "+fftw" in spec: + args.append(self.define("FFTW_DIR", spec["fftw"].prefix)) - args.append(self.define('ENABLE_TESTS', self.run_tests)) + args.append(self.define("ENABLE_TESTS", self.run_tests)) if self.run_tests: - args.extend([ - self.define('TEST_TOLERANCE', spec.variants['abs_tol'].value), - self.define('TEST_REL_TOL', spec.variants['rel_tol'].value), - ]) + args.extend( + [ + self.define("TEST_TOLERANCE", spec.variants["abs_tol"].value), + self.define("TEST_REL_TOL", spec.variants["rel_tol"].value), + ] + ) - if 'darwin' in spec.architecture: - args.append(self.define('CMAKE_MACOSX_RPATH', 'ON')) + if "darwin" in spec.architecture: + args.append(self.define("CMAKE_MACOSX_RPATH", "ON")) return args - @run_before('cmake') + @run_before("cmake") def add_submodules(self): - if self.run_tests or '+wind-utils' in self.spec: - git = which('git') - git('submodule', 'update', '--init', '--recursive') + if self.run_tests or "+wind-utils" in self.spec: + git = which("git") + git("submodule", "update", "--init", "--recursive") |