- Spack usage disclaimer, copyright and trademark notice
- Introduction to SPACK
- Getting Started
- Build Customization
- Technical Support
AMD Toolchain with SPACK
SPACK HPC Applications
ROMS is a free-surface, terrain-following, primitive equations ocean model widely used by the scientific community for a diverse range of applications. ROMS includes accurate and efficient physical and numerical algorithms and several coupled models for biogeochemical, bio-optical, sediment, and sea ice applications.
Official Website for ROMS: https://www.myroms.org/
Getting ROMS Source Code
A manual download is required for ROMS. Spack will search your current working directory for the download files.
Check the steps to obtaining ROMS in the URL: https://www.myroms.org/index.php?page=login
Please maintain the source code package format as “roms_3.8_source.tar.gz” from the source code by running the command “tar -czvf roms_3.8_source.tar.gz ./ROMS_source“.
Build ROMS using Spack
Reference to add external packages to Spack: Build Customization (Adding external packages to Spack)
Use any combination of the following components/applications and their corresponding versions:
Specifications and Dependencies
|-d||To enable debug output|
|-v||To enable verbose|
|@||To specify version number|
|–no-checksum||Don’t check SHA-checksums|
|target=zen3||Build for AMD “Zen3” architecture|
|^hdf5+hl+cxx+fortran||To build with hdf5 for C++ and Fortran variants|
|^netcdf-c||To build with netcdf-c|
|^netcdf-fortran||To build with netcdf-fortran|
|^openmpi fabrics=auto||To build with Open MPI and using fabrics=auto|
- For testing ROMS performance, the following roms_benchmark3.in workload has been considered:
- Make sure ROMS/ directory from the source code available in your system before running the benchmark.
- roms_benchmark3.in: is a standard input file can be found in “ROMS/External/roms_benchmark3.in“
- Modify roms_benchmark3.in to increase its grid size to maximum fit in the resolution in X- direction.
- Recommended benchmark settings are:
- Lm==8192, Mm==256, N==30
- NtileI==8, NtileJ==8