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
21 changes: 19 additions & 2 deletions configuration/scripts/cice.batch.csh
Original file line number Diff line number Diff line change
Expand Up @@ -366,13 +366,30 @@ cat >> ${jobfile} << EOFB
#PBS -l walltime=${batchtime}
EOFB

else if (${ICE_MACHINE} =~ gaea*) then
else if (${ICE_MACHINE} =~ gaeac5*) then
cat >> ${jobfile} << EOFB
#SBATCH -J ${ICE_CASENAME}
#SBATCH --partition=batch
#SBATCH --qos=${queue}
#SBATCH --account=nggps_emc
#SBATCH --clusters=c3
#SBATCH --clusters=c5
#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} =~ gaeac6*) then
cat >> ${jobfile} << EOFB
#SBATCH -J ${ICE_CASENAME}
#SBATCH --partition=batch
#SBATCH --qos=${queue}
#SBATCH --account=sfs_emc
#SBATCH --clusters=c6
#SBATCH --time=${batchtime}
#SBATCH --nodes=${nnodes}
#SBATCH --ntasks-per-node=${taskpernodelimit}
Expand Down
57 changes: 57 additions & 0 deletions configuration/scripts/machines/Macros.gaea_cray
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
#==============================================================================
# Makefile macros for NOAA hera, intel compiler
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.

hera->gaeaC5

#==============================================================================

CPP := fpp
CPPDEFS := -DFORTRANUNDERSCORE ${ICE_CPPDEFS}
CFLAGS := -c -O2

FIXEDFLAGS := -132
FREEFLAGS :=
FFLAGS := -hbyteswapio
FFLAGS_NOOPT:= -O0
LDLAGS := -hbyteswapio

ifeq ($(ICE_BLDDEBUG), true)
FFLAGS += -O0 -hfp0 -g -Rbcdps -Ktrap=fp
else
FFLAGS += -O2 -hfp0
endif

SCC := cc
SFC := ftn
MPICC := cc
MPIFC := ftn

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

NETCDF_PATH := $(NETCDF)

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

#PNETCDF_PATH := $(PNETCDF)
#PNETCDF_PATH := /glade/u/apps/ch/opt/pio/2.2/mpt/2.15f/intel/17.0.1/lib

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

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

56 changes: 56 additions & 0 deletions configuration/scripts/machines/Macros.gaeac5_intel
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
#==============================================================================
# Makefile macros for NOAA gaeac5, 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
else
FFLAGS += -O2
endif

SCC := cc
SFC := ftn
MPICC := cc
MPIFC := ftn

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

NETCDF_PATH := $(NETCDF)

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

#PNETCDF_PATH := $(PNETCDF)
#PNETCDF_PATH := /glade/u/apps/ch/opt/pio/2.2/mpt/2.15f/intel/17.0.1/lib

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

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

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

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

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

#source /lustre/f2/pdata/esrl/gsd/contrib/lua-5.1.4.9/init/init_lmod.csh
source $MODULESHOME/init/csh
module purge
module load PrgEnv-cray
module load cce/18.0.0
module load cray-libsci/24.07.0
module load cray-hdf5/1.14.3.1
module load cray-netcdf/4.9.0.13
setenv NETCDF $NETCDF_DIR
module list

# May be needed for OpenMP memory
#setenv OMP_STACKSIZE 64M

endif

# May be needed for OpenMP memory
#setenv OMP_STACKSIZE 64M

endif

setenv ICE_MACHINE_MACHNAME gaea
setenv ICE_MACHINE_MACHINFO "Cray XC40 Intel Haswell/Broadwell 2.3GHz, Gemini Interconnect"
setenv ICE_MACHINE_ENVNAME intel
setenv ICE_MACHINE_ENVINFO "ifort 18.0.5 20180823, cray-mpich, cray-netcdf"
setenv ICE_MACHINE_MAKE gmake
setenv ICE_MACHINE_WKDIR $HOME/scratch/CICE_RUNS
setenv ICE_MACHINE_INPUTDATA /ncrc/home1/Robert.Grumbine/rgdev/CICE_INPUTDATA
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.

This input would not be available to anyone else on Gaea. I'd suggest moving it to a world-shared space.

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.

Macros.gaea_intel and env.gaea_intel aren't required, but do work on both c5 and c6.

The path is actually a link to a world-shared disk. Specifying it this way, though, gives some parallelism between different platforms. For gaea, hera, and wcoss2, the path is $BOBHOME/rgdev/CICE_INPUTDATA

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.

OK, but Gaea provides "world-shared" project space for this purpose, eg /gpfs/f5/epic/world-shared/...

setenv ICE_MACHINE_BASELINE $HOME/scratch/CICE_BASELINE
setenv ICE_MACHINE_SUBMIT "sbatch"
setenv ICE_MACHINE_TPNODE 40
setenv ICE_MACHINE_ACCT P0000000
setenv ICE_MACHINE_QUEUE "normal"
setenv ICE_MACHINE_BLDTHRDS 1
setenv ICE_MACHINE_QSTAT "squeue --jobs="
21 changes: 14 additions & 7 deletions configuration/scripts/machines/env.gaea_intel
Original file line number Diff line number Diff line change
Expand Up @@ -7,20 +7,27 @@ endif

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.

The env.gaea should probably be env.gaeac5 since this I presume gaeac6 would be different.

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

source /lustre/f2/pdata/esrl/gsd/contrib/lua-5.1.4.9/init/init_lmod.csh
#source /lustre/f2/pdata/esrl/gsd/contrib/lua-5.1.4.9/init/init_lmod.csh
source $MODULESHOME/init/csh
#module list
module purge
module load PrgEnv-intel
module load intel
module load cray-mpich
module load cray-netcdf
module load PrgEnv-intel/6.0.5
#module load intel/2023.2.0
#module load cce/18.0.0
module load cray-hdf5/1.14.3.1
module load cray-netcdf/4.9.0.13
setenv NETCDF $NETCDF_DIR
echo zzz final module list
module list
#module avail intel

# May be needed for OpenMP memory
#setenv OMP_STACKSIZE 64M
setenv OMP_STACKSIZE 64M

endif


env | grep NETCDF

setenv ICE_MACHINE_MACHNAME gaea
setenv ICE_MACHINE_MACHINFO "Cray XC40 Intel Haswell/Broadwell 2.3GHz, Gemini Interconnect"
setenv ICE_MACHINE_ENVNAME intel
Expand Down
44 changes: 44 additions & 0 deletions configuration/scripts/machines/env.gaeac5_intel
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
#!/bin/csh -f

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

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

#source /lustre/f2/pdata/esrl/gsd/contrib/lua-5.1.4.9/init/init_lmod.csh
source $MODULESHOME/init/csh
#module list
module load PrgEnv-intel
module load intel
#module load intel/2023.2.0
#module load cce/18.0.0
module load cray-hdf5/1.14.3.1
module load cray-netcdf/4.9.0.13
setenv NETCDF $NETCDF_DIR
echo zzz final module list
module list
#module avail intel

# May be needed for OpenMP memory
setenv OMP_STACKSIZE 64M

endif

env | grep NETCDF

setenv ICE_MACHINE_MACHNAME gaea
setenv ICE_MACHINE_MACHINFO "Cray XC40 Intel Haswell/Broadwell 2.3GHz, Gemini Interconnect"
setenv ICE_MACHINE_ENVNAME intel
setenv ICE_MACHINE_ENVINFO "ifort 18.0.5 20180823, cray-mpich, cray-netcdf"
setenv ICE_MACHINE_MAKE gmake
setenv ICE_MACHINE_WKDIR $HOME/scratch/CICE_RUNS
setenv ICE_MACHINE_INPUTDATA /ncrc/home1/Robert.Grumbine/rgdev/CICE_INPUTDATA
setenv ICE_MACHINE_BASELINE $HOME/scratch/CICE_BASELINE
setenv ICE_MACHINE_SUBMIT "sbatch"
setenv ICE_MACHINE_TPNODE 40
setenv ICE_MACHINE_ACCT P0000000
setenv ICE_MACHINE_QUEUE "normal"
setenv ICE_MACHINE_BLDTHRDS 1
setenv ICE_MACHINE_QSTAT "squeue --jobs="