-
Notifications
You must be signed in to change notification settings - Fork 154
Running on gaea #1013
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
Running on gaea #1013
Changes from all commits
d669c28
d80896f
adde170
0e365fb
35f9f04
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,57 @@ | ||
| #============================================================================== | ||
| # Makefile macros for NOAA hera, intel compiler | ||
| #============================================================================== | ||
|
|
||
| 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 | ||
|
|
||
| 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 | ||
|
|
| 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 | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe 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.
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe 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
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. OK, but Gaea provides "world-shared" project space for this purpose, eg |
||
| 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=" | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -7,20 +7,27 @@ endif | |
|
|
||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe 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 | ||
|
|
||
| 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=" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
hera->gaeaC5