Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
41 changes: 28 additions & 13 deletions configuration/scripts/cice.batch.csh
Original file line number Diff line number Diff line change
Expand Up @@ -274,19 +274,6 @@ cat >> ${jobfile} << EOFB
##SBATCH --qos=standby
EOFB

else if (${ICE_MACHINE} =~ discover*) then
cat >> ${jobfile} << EOFB
#SBATCH -J ${ICE_CASENAME}
#SBATCH -t ${ICE_RUNLENGTH}
#SBATCH -A ${acct}
#SBATCH -N ${nnodes}
#SBATCH -e slurm%j.err
#SBATCH -o slurm%j.out
###SBATCH --mail-type END,FAIL
###SBATCH --mail-user=eclare@lanl.gov
#SBATCH --qos=debug
EOFB

else if (${ICE_MACHINE} =~ fram*) then
cat >> ${jobfile} << EOFB
#SBATCH -J ${ICE_CASENAME}
Expand Down Expand Up @@ -429,6 +416,34 @@ cat >> ${jobfile} << EOFB
##SBATCH --mail-user=xxx@noaa.gov
EOFB

else if (${ICE_MACHINE} =~ ursa*) then
cat >> ${jobfile} << EOFB
#SBATCH -J ${ICE_CASENAME}
#SBATCH --partition=u1-compute
#SBATCH --qos=${queue}
#SBATCH -A ${acct}
#SBATCH --time=${batchtime}
#SBATCH --nodes=${nnodes}
#SBATCH --ntasks-per-node=${taskpernodelimit}
#SBATCH --cpus-per-task=${nthrds}
#SBATCH -e slurm%j.err
#SBATCH -o slurm%j.out
##SBATCH --mail-type FAIL
##SBATCH --mail-user=xxx@noaa.gov
EOFB

else if (${ICE_MACHINE} =~ wcoss2*) then
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You're also adding wcoss2---Aren't other changes also required in order to run on wcoss2?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I consider this a pre-adaptation for the WCOSS2, which, yes, requires the env and macros files. This aspect works as is (being uninvoked, but even when it is (development in parallel) it works ok. issues with env and or macros on wcoss2).

cat >> ${jobfile} << EOFB
#PBS -N ${ICE_CASENAME}
#PBS -o ${ICE_CASENAME}
#PBS -j oe
#PBS -A ICE-DEV
#PBS -l walltime=${batchtime}
##PBS -l select=${nnodes}:ncpus=${taskpernodelimit}
##PBS -l select=${nnodes}:ncpus=${corespernode}:mpiprocs=${taskpernodelimit}:ompthreads=${nthrds}
#PBS -l place=vscatter,select=${nnodes}:ncpus=${corespernode}:mpiprocs=${corespernode}:mem=256M
EOFB

else if (${ICE_MACHINE} =~ orion*) then
cat >> ${jobfile} << EOFB
#SBATCH -J ${ICE_CASENAME}
Expand Down
2 changes: 1 addition & 1 deletion configuration/scripts/cice.launch.csh
Original file line number Diff line number Diff line change
Expand Up @@ -279,7 +279,7 @@ srun -n ${ntasks} -c ${nthrds} ./cice >&! \$ICE_RUNLOG_FILE
EOFR

#=======
else if (${ICE_MACHCOMP} =~ hera*) then
else if (${ICE_MACHCOMP} =~ hera* || ${ICE_MACHCOMP} =~ ursa*) then
cat >> ${jobfile} << EOFR
srun -n ${ntasks} -c ${nthrds} ./cice >&! \$ICE_RUNLOG_FILE
EOFR
Expand Down
59 changes: 59 additions & 0 deletions configuration/scripts/machines/Macros.ursa_intel
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
#==============================================================================
# Makefile macros for NOAA ursa, intel compiler
#==============================================================================

CPP := fpp
CPPDEFS := -DFORTRANUNDERSCORE ${ICE_CPPDEFS}
CFLAGS := -c -O2 -fp-model precise -xHost

FIXEDFLAGS := -132
FREEFLAGS := -FR
FFLAGS := -fp-model precise -convert big_endian -assume byterecl -ftz -traceback -align array64byte -xHost
FFLAGS_NOOPT:= -O0

ifeq ($(ICE_BLDDEBUG), true)
#FFLAGS += -O0 -g -check uninit -check bounds -check pointers -fpe0 -check noarg_temp_created -link_mpi=dbg
# check uninit triggers link failure on ursa
FFLAGS += -O0 -g -check bounds -check pointers -fpe0 -check noarg_temp_created -link_mpi=dbg
else
#FFLAGS += -O2
endif

SCC := icx
SFC := ifx
MPICC := mpiicx
MPIFC := mpiifx

ifeq ($(ICE_COMMDIR), mpi)
FC := $(MPIFC)
CC := $(MPICC)
else
FC := $(SFC)
CC := $(SCC)
endif
LD:= $(FC)

#NETCDF_PATH := $(NETCDF)
NETCDF_PATH := $(NETCDF_FORTRAN_ROOT)

PIO_CONFIG_OPTS:= --enable-filesystem-hints=gpfs

#PNETCDF_PATH := $(PNETCDF)

INC_NETCDF := $(NETCDF_PATH)/include
LIB_NETCDF := $(NETCDF_PATH)/lib

#LIB_PNETCDF := $(PNETCDF_PATH)/lib
#LIB_MPI := $(IMPILIBDIR)

INCLDIR := $(INCLDIR) -I$(INC_NETCDF)
#SLIBS := -L$(LIB_NETCDF) -lnetcdf -lnetcdff -L$(LIB_PNETCDF) -lpnetcdf -lgptl
#SLIBS := -L$(LIB_NETCDF) -lnetcdf -lnetcdff
SLIBS := -L$(LIB_NETCDF) -lnetcdff

ifeq ($(ICE_THREADED), true)
LDFLAGS += -qopenmp
CFLAGS += -qopenmp
FFLAGS += -qopenmp
endif

39 changes: 39 additions & 0 deletions configuration/scripts/machines/env.ursa_intel
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
#!/bin/csh -f

set inp = "undefined"
if ($#argv == 1) then
set inp = $1
endif

if ("$inp" != "-nomodules") then

source /etc/profile.d/modules.csh
#module list
module purge
module load intel-oneapi-compilers/2025.1.1
module load intel-oneapi-mpi/2021.15.0
#module load intel-oneapi-mpi/2021.13.1
#module load hpcx-mpi/2.18.1
module load netcdf-c/4.9.2
module load netcdf-fortran/4.6.1
#module list

endif

# May be needed for OpenMP memory
setenv OMP_STACKSIZE 64M

setenv ICE_MACHINE_MACHNAME ursa
setenv ICE_MACHINE_MACHINFO "AMD Genoa 9654, NDR-200-IB interconnect"
setenv ICE_MACHINE_ENVNAME intel
setenv ICE_MACHINE_ENVINFO "icx/ifx 2025.1.1.20250418, intel-oneapi-mpi-2021.15.0, netcdf-c 4.9.2, netcdf-fortran 4.6.1"
setenv ICE_MACHINE_MAKE gmake
setenv ICE_MACHINE_WKDIR $HOME/scratch/CICE_RUNS
setenv ICE_MACHINE_INPUTDATA /home/Anthony.Craig/scratch/CICE_INPUTDATA
setenv ICE_MACHINE_BASELINE $HOME/scratch/CICE_BASELINE
setenv ICE_MACHINE_SUBMIT "sbatch"
setenv ICE_MACHINE_TPNODE 192
setenv ICE_MACHINE_ACCT marine-cpu
setenv ICE_MACHINE_QUEUE "batch"
setenv ICE_MACHINE_BLDTHRDS 1
setenv ICE_MACHINE_QSTAT "squeue --jobs="
Loading