Skip to content
Closed
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
28 changes: 28 additions & 0 deletions configuration/scripts/cice.batch.csh
Original file line number Diff line number Diff line change
Expand Up @@ -165,6 +165,34 @@ cat >> ${jobfile} << EOFB
#SBATCH --qos=standby
EOFB

else if (${ICE_MACHINE} =~ theia*) then
cat >> ${jobfile} << EOFB
#SBATCH -J ${ICE_CASENAME}
#SBATCH -t ${batchtime}
#SBATCH -q batch
#SBATCH -A marine-cpu
#SBATCH -N ${nnodes}
#SBATCH -e slurm%j.err
#SBATCH -o slurm%j.out
#SBATCH --mail-type END,FAIL
#SBATCH --mail-user=robert.grumbine@noaa.gov
EOFB

else if (${ICE_MACHINE} =~ phase2*) then
cat >> ${jobfile} << EOFB
# nothing to do
EOFB

else if (${ICE_MACHINE} =~ phase3*) then
cat >> ${jobfile} << EOFB
# nothing to do
EOFB

else if (${ICE_MACHINE} =~ high_Sierra*) then
cat >> ${jobfile} << EOFB
# nothing to do
EOFB

else if (${ICE_MACHINE} =~ testmachine*) then
cat >> ${jobfile} << EOFB
# nothing to do
Expand Down
27 changes: 27 additions & 0 deletions configuration/scripts/cice.launch.csh
Original file line number Diff line number Diff line change
Expand Up @@ -153,6 +153,33 @@ mpirun -np ${ntasks} ./cice >&! \$ICE_RUNLOG_FILE
EOFR
endif

#=======
else if (${ICE_MACHINE} =~ theia*) then
cat >> ${jobfile} << EOFR
#mpirun -np ${ntasks} ./cice >&! \$ICE_RUNLOG_FILE
srun -n ${ntasks} -c ${nthrds} ./cice >&! \$ICE_RUNLOG_FILE
#./cice >&! \$ICE_RUNLOG_FILE
EOFR
#=======
else if (${ICE_MACHINE} =~ high_Sierra*) then
cat >> ${jobfile} << EOFR
mpirun -np ${ntasks} ./cice >&! \$ICE_RUNLOG_FILE
#./cice >&! \$ICE_RUNLOG_FILE
EOFR

#=======
else if (${ICE_MACHINE} =~ phase2*) then
cat >> ${jobfile} << EOFR
mpirun -np ${ntasks} ./cice >&! \$ICE_RUNLOG_FILE
#./cice >&! \$ICE_RUNLOG_FILE
EOFR

#=======
else if (${ICE_MACHINE} =~ phase3*) then
cat >> ${jobfile} << EOFR
mpirun -np ${ntasks} ./cice >&! \$ICE_RUNLOG_FILE
#./cice >&! \$ICE_RUNLOG_FILE
EOFR
#=======
else if (${ICE_MACHINE} =~ testmachine*) then
cat >> ${jobfile} << EOFR
Expand Down
47 changes: 47 additions & 0 deletions configuration/scripts/machines/Macros.high_Sierra_gnu
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
#==============================================================================
# Makefile macros for Travis-CI - GCC and openmpi compilers
#==============================================================================

CPP := cpp
CPPDEFS := -DFORTRANUNDERSCORE -DNO_R16 -DHAVE_F2008_CONTIGUOUS -DLINUX -DCPRINTEL ${ICE_CPPDEFS}
CFLAGS := -c -O2

FIXEDFLAGS := -132
FFLAGS := -O2 -ffree-line-length-none -fconvert=big-endian -finit-real=nan
FFLAGS_NOOPT:= -O0

ifeq ($(ICE_BLDDEBUG), true)
#FFLAGS += -O0 -g -Wextra -fbacktrace -fbounds-check -ffpe-trap=zero,overflow
FFLAGS += -O0 -g -std=f2008 -fbacktrace -fbounds-check -ffpe-trap=zero,overflow
else
FFLAGS += -O2
endif

FC := mpif90

MPICC:=

MPIFC:= mpif90
LD:= $(FC)

NETCDF_PATH := $(NETCDF)

ifeq ($(ICE_IOTYPE), netcdf)
NETCDF_PATH := $(shell nc-config --prefix)
INCLDIR := $(INCLDIR) -I$(NETCDF_PATH)/include
LIB_NETCDF := $(NETCDF_PATH)/lib
LIB_PNETCDF :=
SLIBS := -L$(LIB_NETCDF) -lnetcdf -lnetcdff
else
SLIBS :=
endif

LIB_MPI :=
SCC:=gcc
SFC:=

#ifeq ($(ICE_THREADED), true)
# LDFLAGS += -fopenmp
# CFLAGS += -fopenmp
# FFLAGS += -fopenmp
#endif
57 changes: 57 additions & 0 deletions configuration/scripts/machines/Macros.phase2_intel
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
#==============================================================================
# Makefile macros for generic test machine, intel compiler
#==============================================================================

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

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

ifeq ($(ICE_BLDDEBUG), true)
FFLAGS += -O0 -g -check uninit -check bounds -check pointers -fpe0 -check noarg_temp_created
else
FFLAGS += -O2
endif

SCC := icc
SFC := ifort
MPICC := mpicc
MPIFC := mpiifort

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

INCLDIR := $(INCLDIR) $(NETCDF_INCLUDE)

LIB_NETCDF := $(NETCDF_PATH)/lib
LIB_MPI := $(IMPILIBDIR)

SLIBS := -L$(LIB_NETCDF) -lnetcdf -lnetcdff

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

### if using parallel I/O, load all 3 libraries. PIO must be first!
#ifeq ($(IO_TYPE), pio)
# PIO_PATH:=/glade/u/apps/ch/opt/pio/2.2/mpt/2.15f/intel/17.0.1/lib
# INCLDIR += -I/glade/u/apps/ch/opt/pio/2.2/mpt/2.15f/intel/17.0.1/include
# SLIBS := $(SLIBS) -L$(PIO_PATH) -lpiof
#endif
58 changes: 58 additions & 0 deletions configuration/scripts/machines/Macros.phase3_intel
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
#==============================================================================
# Makefile macros for generic test machine, intel compiler
#==============================================================================

CPP := fpp
CPPDEFS := -DFORTRANUNDERSCORE ${ICE_CPPDEFS}

#CFLAGS := -c -O2 -fp-model precise -xHost
CFLAGS := -c -O2

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

ifeq ($(ICE_BLDDEBUG), true)
FFLAGS += -O0 -g -check uninit -check bounds -check pointers -fpe0 -check noarg_temp_created
else
FFLAGS += -O2
endif

SCC := icc
SFC := ifort
MPICC := mpicc
MPIFC := mpiifort

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

INCLDIR := $(INCLDIR) $(NETCDF_INCLUDE)

LIB_NETCDF := $(NETCDF_PATH)/lib
LIB_MPI := $(IMPILIBDIR)

SLIBS := -L$(LIB_NETCDF) -lnetcdf -lnetcdff

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

### if using parallel I/O, load all 3 libraries. PIO must be first!
#ifeq ($(IO_TYPE), pio)
# PIO_PATH:=/glade/u/apps/ch/opt/pio/2.2/mpt/2.15f/intel/17.0.1/lib
# INCLDIR += -I/glade/u/apps/ch/opt/pio/2.2/mpt/2.15f/intel/17.0.1/include
# SLIBS := $(SLIBS) -L$(PIO_PATH) -lpiof
#endif
60 changes: 60 additions & 0 deletions configuration/scripts/machines/Macros.theia_intel
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
#==============================================================================
# Makefile macros for theia - intel and openmpi compilers
#==============================================================================

CPP := cpp
CPPDEFS := -DFORTRANUNDERSCORE -DNO_R16 -DHAVE_F2008_CONTIGUOUS -DLINUX -DCPRINTEL ${ICE_CPPDEFS}
CFLAGS := -c -O2 -xHost

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

FFLAGS_NOOPT:= -O0

ifeq ($(ICE_BLDDEBUG), true)
#RG: this looks more like gfortran options:
## FFLAGS += -O0 -g -fcheck=bounds -finit-real=nan -fimplicit-none -ffpe-trap=invalid,zero,overflow
FFLAGS += -O0 -g -check-bounds -implicit-none -fpe3
else
FFLAGS += -O2
endif

#Note that on theia mpif90 refers to gfortran even though it is in the intel bin
FC := mpiifort
MPIFC:= mpiifort
LD:= $(MPIFC)

NETCDF_PATH := $(NETCDF)

ifeq ($(ICE_IOTYPE), netcdf)
NETCDF_PATH := $(shell nc-config --prefix)
INCLDIR := $(INCLDIR) -I$(NETCDF_PATH)/include
LIB_NETCDF := $(NETCDF_PATH)/lib
LIB_PNETCDF :=
SLIBS := -L$(LIB_NETCDF) -lnetcdf -lnetcdff
else
SLIBS :=
endif

LIB_MPI :=


SCC := icc
SFC := ifort
MPICC := mpiicc
MPIFC := mpiifort

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

ifeq ($(ICE_THREADED), true)
LDFLAGS += -fopenmp
CFLAGS += -fopenmp
FFLAGS += -fopenmp
endif
15 changes: 15 additions & 0 deletions configuration/scripts/machines/env.high_Sierra_gnu
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
#!/bin/csh -f

setenv ICE_MACHINE_ENVNAME high_Sierra
setenv ICE_MACHINE_COMPILER gnu
setenv ICE_MACHINE_MAKE make
setenv ICE_MACHINE_WKDIR /Volumes/ncep/CICE_RUNS
setenv ICE_MACHINE_INPUTDATA /Volumes/Data/CICE_data
setenv ICE_MACHINE_BASELINE /Volumes/ncep/CICE_BASELINE
setenv ICE_MACHINE_SUBMIT " "
setenv ICE_MACHINE_TPNODE 4
setenv ICE_MACHINE_ACCT P0000000
setenv ICE_MACHINE_BLDTHRDS 1
setenv ICE_MACHINE_QSTAT " "
setenv ICE_MACHINE_QUIETMODE false
setenv ICE_MACHINE_QUEUE " "
14 changes: 14 additions & 0 deletions configuration/scripts/machines/env.phase2_intel
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
#!/bin/csh -f

setenv ICE_MACHINE_ENVNAME phase2
setenv ICE_MACHINE_COMPILER intel
setenv ICE_MACHINE_MAKE gmake
setenv ICE_MACHINE_WKDIR ~/noscrub/CICE_RUNS
setenv ICE_MACHINE_INPUTDATA ~/noscrub/
setenv ICE_MACHINE_BASELINE ~/noscrub/CICE_BASELINE
setenv ICE_MACHINE_SUBMIT " "
setenv ICE_MACHINE_TPNODE 4
setenv ICE_MACHINE_QUEUE "default"
setenv ICE_MACHINE_ACCT P0000000
setenv ICE_MACHINE_BLDTHRDS 1
setenv ICE_MACHINE_QSTAT "qstat "
24 changes: 24 additions & 0 deletions configuration/scripts/machines/env.phase3_intel
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
#!/bin/csh -f --login

source /etc/profile.d/lmod.csh

module purge
module load ips/18.0.1.163
module load impi/18.0.1
module load NetCDF/4.5.0
module load ESMF/7_1_0r
module list

setenv ICE_MACHINE_ENVNAME phase3
setenv ICE_MACHINE_COMPILER intel
setenv ICE_MACHINE_MAKE gmake
setenv ICE_MACHINE_WKDIR /u/Robert.Grumbine/noscrub/CICE_RUNS
setenv ICE_MACHINE_INPUTDATA /u/Robert.Grumbine/noscrub/
setenv ICE_MACHINE_BASELINE /u/Robert.Grumbine/noscrub/CICE_BASELINE
setenv ICE_MACHINE_SUBMIT " "
setenv ICE_MACHINE_TPNODE 4
setenv ICE_MACHINE_QUEUE "default"
setenv ICE_MACHINE_ACCT P0000000
setenv ICE_MACHINE_BLDTHRDS 1
setenv ICE_MACHINE_QSTAT "qstat "

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

source /etc/profile.d/modules.csh
#module list
module purge
#module load intel/18.1.163 Works, at least w. nc 4.4.0,
#14.0.2 w nc4.3.0 does not module load intel/18.1.163
# ok w nc4.3.0: module load intel/16.0.1.150
# ok w nc4.3.0: module load intel/15.3.187
module load intel/17.0.5.239
module load impi
module load esmf
module load hdf5 netcdf/4.3.0
module load wgrib wgrib2
#echo renewed modules:
#module list

setenv ICE_MACHINE_ENVNAME theia
setenv ICE_MACHINE_COMPILER intel
setenv ICE_MACHINE_MAKE make
setenv ICE_MACHINE_WKDIR /home/Robert.Grumbine/save/CICE_RUNS
setenv ICE_MACHINE_INPUTDATA /scratch3/NCEPDEV/marine/save/Robert.Grumbine/
setenv ICE_MACHINE_BASELINE /home/Robert.Grumbine/save/CICE_BASELINE
setenv ICE_MACHINE_SUBMIT "sbatch"
setenv ICE_MACHINE_TPNODE 4
setenv ICE_MACHINE_ACCT P0000000
setenv ICE_MACHINE_QUEUE "batch"
setenv ICE_MACHINE_BLDTHRDS 1
setenv ICE_MACHINE_QSTAT " "
#setenv ICE_MACHINE_QUIETMODE true