Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added machine support for NCAR's cheyenne machine. #4

Merged
merged 1 commit into from
Jun 1, 2017
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
19 changes: 19 additions & 0 deletions configuration/scripts/cice.run.setup.csh
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,20 @@ cat >> ${jobfile} << EOFB
#BSUB -P ${acct}
EOFB

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

elseif (${CICE_MACHINE} =~ cheyenne*) then
cat >> ${jobfile} << EOFB
#PBS -j oe
#PBS -m ae
#PBS -V
#PBS -q regular
#PBS -N ${CICE_CASENAME}
#PBS -A ${CICE_ACCT}
#PBS -l select=${nnodes}:ncpus=${ntasks}:mpiprocs=${ntasks}
#PBS -l walltime=02:00:00
EOFB

else if (${CICE_MACHINE} =~ thunder* || ${CICE_MACHINE} =~ gordon* || ${CICE_MACHINE} =~ conrad*) then
cat >> ${jobfile} << EOFB
#PBS -N ${CICE_CASENAME}
Expand Down Expand Up @@ -145,6 +159,11 @@ setenv MP_TASK_AFFINITY core:\${OMP_NUM_THREADS}
mpirun.lsf ./cice >&! \$CICE_RUNLOG_FILE
EOFR

elseif (${CICE_MACHINE} =~ cheyenne*) then
cat >> ${jobfile} << EOFR
mpiexec_mpt -n ${ntasks} ./cice >&! \$CICE_RUNLOG_FILE
EOFR

else if (${CICE_MACHINE} =~ thunder*) then
cat >> ${jobfile} << EOFR
mpiexec_mpt -np ${ntasks} omplace ./cice >&! \$CICE_RUNLOG_FILE
Expand Down
67 changes: 67 additions & 0 deletions configuration/scripts/machines/Macros.cheyenne
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
#==============================================================================
# Makefile macros for "yellowstone" an NCAR Linux Cluster
#==============================================================================
# For use with intel compiler
#==============================================================================

CPP := fpp
CPPDEFS := -DFORTRANUNDERSCORE -DNO_R16 -DHAVE_F2008_CONTIGUOUS -DLINUX -DCPRINTEL ${CICE_CPPDEFS}
CFLAGS := -c -O2 -fp-model precise -xHost

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

ifeq ($(CICE_COMMDIR), mpi)
FC := mpif90
else
FC := ifort
endif

MPICC:= mpicc

MPIFC:= mpif90
LD:= $(MPIFC)

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

INCLDIR := $(INCLDIR)

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

SLIBS := -L$(LIB_NETCDF) -lnetcdf -lnetcdff -L$(LIB_PNETCDF) -lpnetcdf -lgptl

SCC:= icc

SFC:= ifort

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

ifeq ($(DITTO), yes)
CPPDEFS := $(CPPDEFS) -DREPRODUCIBLE
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

CPPDEFS := $(CPPDEFS) -Dncdf
endif

ifeq ($(IO_TYPE), netcdf)
CPPDEFS := $(CPPDEFS) -Dncdf
endif
23 changes: 23 additions & 0 deletions configuration/scripts/machines/env.cheyenne
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
#!/bin/csh -f

source /glade/u/apps/ch/opt/lmod/7.2.1/lmod/7.2.1/init/csh

module purge
module load ncarenv/1.1
module load intel/17.0.1
module load mpt/2.15f
module load ncarcompilers/0.4.1
module load pio/2.2.0

setenv CICE_MACHINE_ENVNAME cheyenne
setenv CICE_MACHINE_WKDIR /glade/scratch/$user/CICE_RUNS
setenv CICE_MACHINE_INPUTDATA /glade/p/work/dbailey/atm/gx3v2m/NCAR_bulk
setenv CICE_MACHINE_SUBMIT "qsub"
setenv CICE_MACHINE_TPNODE 36
setenv CICE_MACHINE_ACCT P0000000
setenv CICE_MACHINE_BLDTHRDS 1

if (-e ~/.cice_proj) then
set account_name = `head -1 ~/.cice_proj`
setenv CICE_ACCT ${account_name}
endif