-
Notifications
You must be signed in to change notification settings - Fork 9
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
dfdcf60
commit 54409ac
Showing
9 changed files
with
28,866 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
module load gcc/13.2.0 | ||
module load hdf5/1.14.3 | ||
module load netcdf/4.9.2 | ||
module load mpich/4.1.2 | ||
which mpif90 |
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,182 @@ | ||
# $Id: gnu.mk,v 1.1.2.1.4.1.2.1.2.1 2012/11/30 16:53:18 Seth.Underwood Exp $ | ||
# template for the GNU fortran compiler | ||
# typical use with mkmf | ||
# mkmf -t gnu.mk -c"-Duse_libMPI -Duse_netCDF" path_names /usr/local/include | ||
############ | ||
# commands # | ||
############ | ||
FC = gfortran | ||
CC = gcc | ||
CXX = g++ | ||
LD = gfortran $(MAIN_PROGRAM) | ||
|
||
######### | ||
# flags # | ||
######### | ||
DEBUG = | ||
REPRO = | ||
VERBOSE = | ||
OPENMP = | ||
|
||
MAKEFLAGS += --jobs=$(shell grep '^processor' /proc/cpuinfo | wc -l) | ||
|
||
# Macro for Fortran preprocessor | ||
FPPFLAGS = $(INCLUDES) | ||
# Fortran Compiler flags for the NetCDF library | ||
#FPPFLAGS += -I/opt/netcdf/4.9.2/GCC/13.1.0/include | ||
|
||
FFLAGS := -fcray-pointer -fdefault-double-8 -fdefault-real-8 -Waliasing -ffree-line-length-none -fno-range-check | ||
#FFLAGS += -I$(shell nc-config --includedir) | ||
FFLAGS += $(shell pkg-config --cflags-only-I netcdf) | ||
FFLAGS += $(shell pkg-config --cflags-only-I mpich) | ||
FFLAGS_OPT = -O3 | ||
FFLAGS_REPRO = -O2 -fbounds-check | ||
FFLAGS_DEBUG = -O0 -g -W -fbounds-check -fbacktrace | ||
FFLAGS_OPENMP = -fopenmp | ||
FFLAGS_VERBOSE = | ||
|
||
CFLAGS := -D__IFC | ||
CFLAGS += $(FPPFLAGS) | ||
CFLAGS += $(shell pkg-config --cflags-only-I netcdf) | ||
CFLAGS += $(shell pkg-config --cflags-only-I mpich) | ||
CFLAGS_OPT = -O2 | ||
CFLAGS_OPENMP = -fopenmp | ||
CFLAGS_DEBUG = -O0 -g | ||
|
||
# Optional Testing compile flags. Mutually exclusive from DEBUG, REPRO, and OPT | ||
# *_TEST will match the production if no new option(s) is(are) to be tested. | ||
FFLAGS_TEST = -O2 | ||
CFLAGS_TEST = -O2 | ||
|
||
LDFLAGS := | ||
LDFLAGS_OPENMP := -fopenmp | ||
LDFLAGS_VERBOSE := | ||
|
||
ifneq ($(REPRO),) | ||
CFLAGS += $(CFLAGS_REPRO) | ||
FFLAGS += $(FFLAGS_REPRO) | ||
else ifneq ($(DEBUG),) | ||
CFLAGS += $(CFLAGS_DEBUG) | ||
FFLAGS += $(FFLAGS_DEBUG) | ||
else ifneq ($(TEST),) | ||
CFLAGS += $(CFLAGS_TEST) | ||
FFLAGS += $(FFLAGS_TEST) | ||
else | ||
CFLAGS += $(CFLAGS_OPT) | ||
FFLAGS += $(FFLAGS_OPT) | ||
endif | ||
|
||
ifneq ($(OPENMP),) | ||
CFLAGS += $(CFLAGS_OPENMP) | ||
FFLAGS += $(FFLAGS_OPENMP) | ||
LDFLAGS += $(LDFLAGS_OPENMP) | ||
endif | ||
|
||
ifneq ($(VERBOSE),) | ||
CFLAGS += $(CFLAGS_VERBOSE) | ||
FFLAGS += $(FFLAGS_VERBOSE) | ||
LDFLAGS += $(LDFLAGS_VERBOSE) | ||
endif | ||
|
||
ifeq ($(NETCDF),3) | ||
# add the use_LARGEFILE cppdef | ||
ifneq ($(findstring -Duse_netCDF,$(CPPDEFS)),) | ||
CPPDEFS += -Duse_LARGEFILE | ||
endif | ||
endif | ||
|
||
LIBS := $(shell pkg-config --libs-only-L netcdf) $(shell pkg-config --libs-only-L mpich) | ||
LIBS += -L/opt/netcdf/4.9.2/GCC/13.1.0/lib64 -L/opt/mpich/4.1.2/GNU/13.1.0/lib | ||
LIBS += -lnetcdff -lnetcdf -lz -lmpi -lfmpich | ||
#LIBS += -lnetcdff -lnetcdf -lhdf5_hl -lhdf5 -lz -lmpich -lfmpich | ||
LDFLAGS += $(LIBS) | ||
|
||
#--------------------------------------------------------------------------- | ||
# you should never need to change any lines below. | ||
|
||
# see the MIPSPro F90 manual for more details on some of the file extensions | ||
# discussed here. | ||
# this makefile template recognizes fortran sourcefiles with extensions | ||
# .f, .f90, .F, .F90. Given a sourcefile <file>.<ext>, where <ext> is one of | ||
# the above, this provides a number of default actions: | ||
|
||
# make <file>.opt create an optimization report | ||
# make <file>.o create an object file | ||
# make <file>.s create an assembly listing | ||
# make <file>.x create an executable file, assuming standalone | ||
# source | ||
# make <file>.i create a preprocessed file (for .F) | ||
# make <file>.i90 create a preprocessed file (for .F90) | ||
|
||
# The macro TMPFILES is provided to slate files like the above for removal. | ||
|
||
RM = rm -f | ||
SHELL = /bin/csh -f | ||
TMPFILES = .*.m *.B *.L *.i *.i90 *.l *.s *.mod *.opt | ||
|
||
.SUFFIXES: .F .F90 .H .L .T .f .f90 .h .i .i90 .l .o .s .opt .x | ||
|
||
.f.L: | ||
$(FC) $(FFLAGS) -c -listing $*.f | ||
.f.opt: | ||
$(FC) $(FFLAGS) -c -opt_report_level max -opt_report_phase all -opt_report_file $*.opt $*.f | ||
.f.l: | ||
$(FC) $(FFLAGS) -c $(LIST) $*.f | ||
.f.T: | ||
$(FC) $(FFLAGS) -c -cif $*.f | ||
.f.o: | ||
$(FC) $(FFLAGS) -c $*.f | ||
.f.s: | ||
$(FC) $(FFLAGS) -S $*.f | ||
.f.x: | ||
$(FC) $(FFLAGS) -o $*.x $*.f *.o $(LDFLAGS) | ||
.f90.L: | ||
$(FC) $(FFLAGS) -c -listing $*.f90 | ||
.f90.opt: | ||
$(FC) $(FFLAGS) -c -opt_report_level max -opt_report_phase all -opt_report_file $*.opt $*.f90 | ||
.f90.l: | ||
$(FC) $(FFLAGS) -c $(LIST) $*.f90 | ||
.f90.T: | ||
$(FC) $(FFLAGS) -c -cif $*.f90 | ||
.f90.o: | ||
$(FC) $(FFLAGS) -c $*.f90 | ||
.f90.s: | ||
$(FC) $(FFLAGS) -c -S $*.f90 | ||
.f90.x: | ||
$(FC) $(FFLAGS) -o $*.x $*.f90 *.o $(LDFLAGS) | ||
.F.L: | ||
$(FC) $(CPPDEFS) $(FPPFLAGS) $(FFLAGS) -c -listing $*.F | ||
.F.opt: | ||
$(FC) $(CPPDEFS) $(FPPFLAGS) $(FFLAGS) -c -opt_report_level max -opt_report_phase all -opt_report_file $*.opt $*.F | ||
.F.l: | ||
$(FC) $(CPPDEFS) $(FPPFLAGS) $(FFLAGS) -c $(LIST) $*.F | ||
.F.T: | ||
$(FC) $(CPPDEFS) $(FPPFLAGS) $(FFLAGS) -c -cif $*.F | ||
.F.f: | ||
$(FC) $(CPPDEFS) $(FPPFLAGS) -EP $*.F > $*.f | ||
.F.i: | ||
$(FC) $(CPPDEFS) $(FPPFLAGS) -P $*.F | ||
.F.o: | ||
$(FC) $(CPPDEFS) $(FPPFLAGS) $(FFLAGS) -c $*.F | ||
.F.s: | ||
$(FC) $(CPPDEFS) $(FPPFLAGS) $(FFLAGS) -c -S $*.F | ||
.F.x: | ||
$(FC) $(CPPDEFS) $(FPPFLAGS) $(FFLAGS) -o $*.x $*.F *.o $(LDFLAGS) | ||
.F90.L: | ||
$(FC) $(CPPDEFS) $(FPPFLAGS) $(FFLAGS) -c -listing $*.F90 | ||
.F90.opt: | ||
$(FC) $(CPPDEFS) $(FPPFLAGS) $(FFLAGS) -c -opt_report_level max -opt_report_phase all -opt_report_file $*.opt $*.F90 | ||
.F90.l: | ||
$(FC) $(CPPDEFS) $(FPPFLAGS) $(FFLAGS) -c $(LIST) $*.F90 | ||
.F90.T: | ||
$(FC) $(CPPDEFS) $(FPPFLAGS) $(FFLAGS) -c -cif $*.F90 | ||
.F90.f90: | ||
$(FC) $(CPPDEFS) $(FPPFLAGS) -EP $*.F90 > $*.f90 | ||
.F90.i90: | ||
$(FC) $(CPPDEFS) $(FPPFLAGS) -P $*.F90 | ||
.F90.o: | ||
$(FC) $(CPPDEFS) $(FPPFLAGS) $(FFLAGS) -c $*.F90 | ||
.F90.s: | ||
$(FC) $(CPPDEFS) $(FPPFLAGS) $(FFLAGS) -c -S $*.F90 | ||
.F90.x: | ||
$(FC) $(CPPDEFS) $(FPPFLAGS) $(FFLAGS) -o $*.x $*.F90 *.o $(LDFLAGS) |
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,4 @@ | ||
module load oneapi/2024.0 | ||
module load compiler/2024.0.0 | ||
module load hdf5/1.14.3 libyaml/0.2.5 mpich/4.1.2 netcdf/4.9.2 | ||
which mpif90 |
Oops, something went wrong.