forked from CICE-Consortium/Icepack
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
machines: add conda environment for macOS and Linux
- Loading branch information
1 parent
0962a6d
commit cd0a6b6
Showing
6 changed files
with
171 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,35 @@ | ||
#============================================================================== | ||
# Makefile macros for conda environment, GNU/Linux systems | ||
#============================================================================== | ||
|
||
# Preprocessor macros | ||
CPPDEFS := -DFORTRANUNDERSCORE ${ICE_CPPDEFS} | ||
|
||
# Flags for the C compiler | ||
CFLAGS := -c -O2 | ||
|
||
# Flags for the Fortran compiler | ||
FREEFLAGS := -ffree-form | ||
FFLAGS := -fconvert=big-endian -fbacktrace -ffree-line-length-none | ||
|
||
# Additional flags for the Fortran compiler when compiling in debug mode | ||
ifeq ($(ICE_BLDDEBUG), true) | ||
FFLAGS += -O0 -g -fcheck=bounds -finit-real=nan -fimplicit-none -ffpe-trap=invalid,zero,overflow | ||
else | ||
FFLAGS += -O2 | ||
endif | ||
|
||
# C and Fortran compilers and MPI wrappers | ||
SCC := gcc | ||
SFC := gfortran | ||
CC := $(SCC) | ||
FC := $(SFC) | ||
LD := $(FC) | ||
|
||
# Necessary flag to compile with OpenMP support | ||
ifeq ($(ICE_THREADED), true) | ||
LDFLAGS += -fopenmp | ||
CFLAGS += -fopenmp | ||
FFLAGS += -fopenmp | ||
endif | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,38 @@ | ||
#============================================================================== | ||
# Makefile macros for conda environment, macOS systems | ||
#============================================================================== | ||
|
||
# Preprocessor macros | ||
CPPDEFS := -DFORTRANUNDERSCORE ${ICE_CPPDEFS} | ||
|
||
# Flags for the C compiler | ||
CFLAGS := -c -O2 | ||
|
||
# Flags for the Fortran compiler | ||
FREEFLAGS := -ffree-form | ||
FFLAGS := -fconvert=big-endian -fbacktrace -ffree-line-length-none | ||
|
||
# Additional flags for the Fortran compiler when compiling in debug mode | ||
ifeq ($(ICE_BLDDEBUG), true) | ||
FFLAGS += -O0 -g -fcheck=bounds -finit-real=nan -fimplicit-none -ffpe-trap=invalid,zero,overflow | ||
else | ||
FFLAGS += -O2 | ||
endif | ||
|
||
# C and Fortran compilers and MPI wrappers | ||
SCC := clang | ||
SFC := gfortran | ||
CC := $(SCC) | ||
FC := $(SFC) | ||
LD := $(FC) | ||
|
||
# Location of the system C header files (required on recent macOS to compile makdep) | ||
CFLAGS_HOST = -isysroot$(shell xcrun --show-sdk-path) | ||
|
||
# Necessary flag to compile with OpenMP support | ||
ifeq ($(ICE_THREADED), true) | ||
LDFLAGS += -fopenmp | ||
CFLAGS += -fopenmp | ||
FFLAGS += -fopenmp | ||
endif | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,41 @@ | ||
#!/bin/csh -f | ||
|
||
set inp = "undefined" | ||
if ($#argv == 1) then | ||
set inp = $1 | ||
endif | ||
|
||
if ("$inp" != "-nomodules") then | ||
|
||
# Init conda | ||
if ! $?CONDA_EXE then | ||
echo "" | ||
echo "${0}: conda executable not found, see the Icepack documentation for how to initialize your login shell to use conda" | ||
echo "" | ||
exit 1 | ||
endif | ||
source `$CONDA_EXE info --base`/etc/profile.d/conda.csh | ||
# Activate "icepack" conda environment | ||
conda activate icepack | ||
if $status then | ||
echo "" | ||
echo "${0}: 'icepack' conda environment not found, see the Icepack documentation for how to create the conda icepack env" | ||
echo "" | ||
exit 1 | ||
endif | ||
|
||
endif | ||
|
||
setenv ICE_MACHINE_ENVNAME conda | ||
setenv ICE_MACHINE_COMPILER linux | ||
setenv ICE_MACHINE_MAKE make | ||
setenv ICE_MACHINE_WKDIR $HOME/icepack-dirs/runs | ||
setenv ICE_MACHINE_INPUTDATA $HOME/icepack-dirs/input | ||
setenv ICE_MACHINE_BASELINE $HOME/icepack-dirs/baseline | ||
setenv ICE_MACHINE_SUBMIT " " | ||
setenv ICE_MACHINE_TPNODE 4 | ||
setenv ICE_MACHINE_ACCT P0000000 | ||
setenv ICE_MACHINE_QUEUE "debug" | ||
setenv ICE_MACHINE_BLDTHRDS 4 | ||
setenv ICE_MACHINE_QSTAT " " | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,41 @@ | ||
#!/bin/csh -f | ||
|
||
set inp = "undefined" | ||
if ($#argv == 1) then | ||
set inp = $1 | ||
endif | ||
|
||
if ("$inp" != "-nomodules") then | ||
|
||
# Init conda | ||
if ! $?CONDA_EXE then | ||
echo "" | ||
echo "${0}: conda executable not found, see the Icepack documentation for how to initialize your login shell to use conda" | ||
echo "" | ||
exit 1 | ||
endif | ||
source `$CONDA_EXE info --base`/etc/profile.d/conda.csh | ||
# Activate "icepack" conda environment | ||
conda activate cice | ||
if $status then | ||
echo "" | ||
echo "${0}: 'cice' conda environment not found, see the Icepack documentation for how to create the conda icepack env" | ||
echo "" | ||
exit 1 | ||
endif | ||
|
||
endif | ||
|
||
setenv ICE_MACHINE_ENVNAME conda | ||
setenv ICE_MACHINE_COMPILER macos | ||
setenv ICE_MACHINE_MAKE make | ||
setenv ICE_MACHINE_WKDIR $HOME/icepack-dirs/runs | ||
setenv ICE_MACHINE_INPUTDATA $HOME/icepack-dirs/input | ||
setenv ICE_MACHINE_BASELINE $HOME/icepack-dirs/baseline | ||
setenv ICE_MACHINE_SUBMIT " " | ||
setenv ICE_MACHINE_TPNODE 4 | ||
setenv ICE_MACHINE_ACCT P0000000 | ||
setenv ICE_MACHINE_QUEUE "debug" | ||
setenv ICE_MACHINE_BLDTHRDS 4 | ||
setenv ICE_MACHINE_QSTAT " " | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
name: icepack | ||
channels: | ||
- conda-forge | ||
- nodefaults | ||
dependencies: | ||
# Build dependencies | ||
- compilers | ||
- make | ||
# Python dependencies for building the HTML documentation | ||
- sphinx | ||
- sphinxcontrib-bibtex |