diff --git a/amatos2d/compile/Makefiles/Makefile_linuxGfortran_amatos b/amatos2d/compile/Makefiles/Makefile_linuxGfortran_amatos new file mode 100644 index 0000000000000000000000000000000000000000..c0a22547f6d5d5528649ce50b057eb32d9fcc6a5 --- /dev/null +++ b/amatos2d/compile/Makefiles/Makefile_linuxGfortran_amatos @@ -0,0 +1,229 @@ +################################################################## +# AMATOS # +# Adaptive Mesh generator for # +# ATmospheric and Oceanic Simulation # +################################################################## +# makefile to build AMATOS / library objects of amatos API # +# j. behrens 2/95, 3/96, 5/97, 12/2003 # +# l. mentrup 1/2005 # +# --- this is for linux on 64-bit Intel architecture --- # +# --- using the gnu Fortran compiler --- # +################################################################## + +# MACHINE +MACHINE = linux_g64 + +# SYSTEM +SYSTEM = gfortran + +# SET MAKETHING CORRESPONDING TO MACHINE: +MAKETHING= AMATOS +AMATFLAG = $(MF)$(MAKETHING) + +SAVETHING= SAVETEST + +# OPTIMIZATION SETTINGS [debug|optdebug|norm|opt] +MODE := debug + +# CREATE SHARED LIBRARIES +CREATE_SHARED := no + +# FURTHER OPTIONS +DBL_DBL := yes + +# PARALLELISM SETTINGS +OMP := no +MPI := no + +# LIBRARY SETTINGS [yes|no] +# Usage: $(MAKE) NO_NETCDF=yes +NO_NETCDF := no + +# LIBRARY SETTINGS [yes|no] +# Usage: make IO_EMIT=yes IO_PGM=yes +IO_EMIT := no +IO_PGM := no + +# ADDITIONAL MACRO DEFS +MACROS = + +# SET MAIN DIRECTORY PATH +# !! This has to be alterd by user !! +ROOTDIR = $(HOME)/Transport-20/tracertransportsoftware + +# SET atlas/blas DIRECTORY PATH +# !! This has to be alterd by user !! +BLASLIB = -L/usr/lib -lblas + +# SET LAPACK DIRECTORY PATH +# !! This has to be alterd by user !! +LAPACKLIB = -L/usr/lib -lblas -llapack -lpthread -lc -L$(ROOTDIR)/amatos2d/3rdparty/LAPACK95 -llapack95 +LAPACKINC = -DLAPACK95 -I$(ROOTDIR)/amatos2d/3rdparty/LAPACK95/lapack95_modules + +# SET IO_EMIT LIBRARY PATH +# !! This has to be alterd by user !! +EMITLIB = +ifeq ($(strip $(IO_EMIT)),yes) + EMITLIB = -lstdc++ #-lresolv -lsocket -lnsl -lCstd +endif + +# SET BITMAP LIBRARY PATH +# !! This has to be alterd by user !! +BITMAPLIB = +BITMAPINC = +ifeq ($(strip $(IO_PGM)),yes) + BITMAPLIB = -lnetpbm + BITMAPINC = +endif + +# SET NETCDF PATHS +# !! This has to be alterd by user !! +NETCDFLIB = +NETCDFINC = +NCUGRIDLIB = +ifneq ($(strip $(NO_NETCDF)), yes) + NETCDFLIB = -L/sw/jessie-x64/netcdf_fortran-4.4.2-static-gcc81/lib -lnetcdff \ + -L/sw/jessie-x64/szip-2.1-static-gccsys/lib -L/sw/jessie-x64/hdf5-1.8.16-static-gccsys/lib \ + -L/sw/jessie-x64/netcdf-4.3.3.1-static-gccsys/lib -lnetcdf \ + -lnetcdf -lhdf5_hl -lhdf5 -lsz -lz -lm -ldl + NETCDFINC = -I/sw/jessie-x64/netcdf_fortran-4.4.2-static-gcc81/include/ + NCUGRIDLIB = -lncugrid +endif + +# SET MORE DIRECTORY PATHS +MAINDIR = $(ROOTDIR)/amatos2d + +BUILDIR = $(MAINDIR)/compile/$(MACHINE) +LIBDIR = $(ROOTDIR)/lib/$(MACHINE) +INCDIR = $(ROOTDIR)/include/$(MACHINE) +DATDIR = $(MAINDIR)/data +SRCDIR = $(MAINDIR)/src + +TSTDIR = $(SRCDIR)/test +GRIDDIR = $(SRCDIR)/gridgen +SYSDIR = $(SRCDIR)/system/$(SYSTEM) +TIMDIR = $(SRCDIR)/timing + +GRIDLIB = libamatos.a +GRDSLIB = libamatos.so +MODEND = mod +GRDMOD = *.$(MODEND) + +#----------------------------------------------------------------# +# library and include paths # +#----------------------------------------------------------------# +LIB_SH = $(LAPACKLIB) $(EMITLIB) +LIBS = -L$(LIBDIR) -lamatos $(BLASLIB) $(LAPACKLIB) $(NCUGRIDLIB) $(NETCDFLIB) +INCPATH = $(NETCDFINC) -I$(INCDIR) -I. +INCPATH_CC = $(BITMAPINC) + +#----------------------------------------------------------------# +# FLAGS FOR LINUX / gnu Fortran Compiler # +#----------------------------------------------------------------# +F90 = gfortran +cc = gcc +CC = g++ +LOADER = gfortran +AR = ar +CP = cp +CPFLAGS = +ARFLAGS = vru +# Compiler flag for macros +MF = -D + +# --------------------- next are for debugging ------------------# +ifeq ($(strip $(MODE)),debug) + FFLAGS = -ggdb -fpic -funderscoring -fbounds-check -finit-local-zero # -C + CFLAGS = -ggdb -fpic + LDFLAGS = -ggdb + SHFLAGS = -fpic -shared +endif +# --------------------- next are for optimized debugging --------# +ifeq ($(strip $(MODE)),optdebug) + FFLAGS = -fPIC -funderscoring # -C + CFLAGS = -g -fpic + LDFLAGS = -g + SHFLAGS = -fPIC -shared +endif +# --------------------- next are for normal compilation ---------# +ifeq ($(strip $(MODE)),norm) + FFLAGS = -fPIC -funderscoring + CFLAGS = -fpic + LDFLAGS = + SHFLAGS = -fPIC -shared +endif +# --------------------- next are for optimization ---------------# +ifeq ($(strip $(MODE)),opt) + FFLAGS = -O3 -fPIC -funderscoring + CFLAGS = -O3 -fpic + LDFLAGS = -O3 + SHFLAGS = -fPIC -shared +endif + +# ----- next flags identify the fortran compiler ----------------# +FFLAGS += $(MF)$(F90) +CFLAGS += $(MF)$(F90) $(MF)$(MACHINE) + +# --------------------- next are for Module IO_EMIT -------------# +ifeq ($(strip $(IO_EMIT)),yes) + FFLAGS += $(MF)IO_EMIT + CFLAGS += $(MF)IO_EMIT +endif +# --------------------- next are for Module IO_PGM --------------# +ifeq ($(strip $(IO_PGM)),yes) + FFLAGS += $(MF)IO_PGM + CFLAGS += $(MF)IO_PGM +endif + +ifeq ($(strip $(DBL_DBL)),yes) + FFLAGS += -DDBL_DBL + CFLAGS += -DDBL_DBL +endif +# --------------------- next are for NetCDF support -------------# +ifeq ($(strip $(NO_NETCDF)),yes) + FFLAGS += $(MF)NO_NETCDF +endif +# --------------------- next are for OpenMP ---------------------# +ifeq ($(strip $(OMP)),yes) + #LIBS += + #FFLAGS += + #CFLAGS += +endif +# --------------------- next are for MPI ------------------------# +ifeq ($(strip $(MPI)),yes) + #LIBS += + #FFLAGS += + #CFLAGS += +endif + +#----------------------------------------------------------------# +# additional clear/clean-Items # +#----------------------------------------------------------------# +CLEARSRC_EXT = +CLEAREX_EXT = $(SAVETHING) +CLEARDAT_EXT = $(SAVETHING:%=%_*) +CLEARLIB_EXT = +CLEAN_EXT = *.vtu +TIDY_EXT = + +#----------------------------------------------------------------# +# common stuff # +#----------------------------------------------------------------# + +include $(MAINDIR)/compile/Makefiles/Makefile.common + +#----------------------------------------------------------------# +# copy source files # +#----------------------------------------------------------------# + +include $(MAINDIR)/compile/Makefiles/Makefile.cpsrc + +#----------------------------------------------------------------# +# test programs # +#----------------------------------------------------------------# + +include $(MAINDIR)/compile/Makefiles/Makefile.TestsAmatos + +#----------------------------------------------------------------# +# DEPENDENCIES ON INCLUDE FILES # +#----------------------------------------------------------------# diff --git a/amatos2d/compile/Makefiles/Makefile_linuxGfortran_samatos b/amatos2d/compile/Makefiles/Makefile_linuxGfortran_samatos new file mode 100644 index 0000000000000000000000000000000000000000..502f149c9644d410cc69e19bd32c35ab496e663c --- /dev/null +++ b/amatos2d/compile/Makefiles/Makefile_linuxGfortran_samatos @@ -0,0 +1,227 @@ +################################################################## +# AMATOS # +# Adaptive Mesh generator for # +# ATmospheric and Oceanic Simulation # +################################################################## +# makefile to build AMATOS / library objects of amatos API # +# j. behrens 2/95, 3/96, 5/97, 12/2003 # +# l. mentrup 1/2005 # +# --- this is for linux on 64-bit Intel architecture --- # +# --- using the gnu Fortran compiler --- # +################################################################## + +# MACHINE +MACHINE = linux_g64 + +# SYSTEM +SYSTEM = gfortran + +# SET MAKETHING CORRESPONDING TO MACHINE: +MAKETHING= SAMATOS +AMATFLAG = $(MF)$(MAKETHING) + +# OPTIMIZATION SETTINGS [debug|optdebug|norm|opt] +MODE := debug + +# CREATE SHARED LIBRARIES +CREATE_SHARED := no + +# FURTHER OPTIONS +DBL_DBL := yes + +# PARALLELISM SETTINGS +OMP := no +MPI := no + +# LIBRARY SETTINGS [yes|no] +# Usage: $(MAKE) NO_NETCDF=yes +NO_NETCDF := no + +# LIBRARY SETTINGS [yes|no] +# Usage: make IO_EMIT=yes IO_PGM=yes +IO_EMIT := no +IO_PGM := no + +# ADDITIONAL MACRO DEFS +MACROS = + +# SET MAIN DIRECTORY PATH +# !! This has to be alterd by user !! +ROOTDIR = $(HOME)/Transport-20/tracertransportsoftware + +# SET atlas/blas DIRECTORY PATH +# !! This has to be alterd by user !! +BLASLIB = -L/usr/lib -lblas + +# SET LAPACK DIRECTORY PATH +# !! This has to be alterd by user !! +LAPACKLIB = -L/usr/lib -lblas -llapack -lpthread -lc -L$(ROOTDIR)/amatos2d/3rdparty/LAPACK95 -llapack95 +LAPACKINC = -DLAPACK95 -I$(ROOTDIR)/amatos2d/3rdparty/LAPACK95/lapack95_modules + +# SET IO_EMIT LIBRARY PATH +# !! This has to be alterd by user !! +EMITLIB = +ifeq ($(strip $(IO_EMIT)),yes) + EMITLIB = -lstdc++ #-lresolv -lsocket -lnsl -lCstd +endif + +# SET BITMAP LIBRARY PATH +# !! This has to be alterd by user !! +BITMAPLIB = +BITMAPINC = +ifeq ($(strip $(IO_PGM)),yes) + BITMAPLIB = -lnetpbm + BITMAPINC = +endif + +# SET NETCDF PATHS +# !! This has to be alterd by user !! +NETCDFLIB = +NETCDFINC = +NCUGRIDLIB = +ifneq ($(strip $(NO_NETCDF)), yes) + NETCDFLIB = -L/sw/jessie-x64/netcdf_fortran-4.4.2-static-gcc81/lib -lnetcdff \ + -L/sw/jessie-x64/szip-2.1-static-gccsys/lib -L/sw/jessie-x64/hdf5-1.8.16-static-gccsys/lib \ + -L/sw/jessie-x64/netcdf-4.3.3.1-static-gccsys/lib -lnetcdf \ + -lnetcdf -lhdf5_hl -lhdf5 -lsz -lz -lm -ldl + NETCDFINC = -I/sw/jessie-x64/netcdf_fortran-4.4.2-static-gcc81/include/ + NCUGRIDLIB = -lncugrid +endif + +# SET MORE DIRECTORY PATHS +MAINDIR = $(ROOTDIR)/amatos2d + +BUILDIR = $(MAINDIR)/compile/$(MACHINE) +LIBDIR = $(ROOTDIR)/lib/$(MACHINE) +INCDIR = $(ROOTDIR)/include/$(MACHINE) +DATDIR = $(MAINDIR)/data +SRCDIR = $(MAINDIR)/src + +TSTDIR = $(SRCDIR)/test +GRIDDIR = $(SRCDIR)/gridgen +SYSDIR = $(SRCDIR)/system/$(SYSTEM) +TIMDIR = $(SRCDIR)/timing + +GRIDLIB = libsamatos.a +GRDSLIB = libsamatos.so +MODEND = mod +GRDMOD = *.$(MODEND) + +#----------------------------------------------------------------# +# library and include paths # +#----------------------------------------------------------------# +LIB_SH = $(LAPACKLIB) $(EMITLIB) +LIBS = -L$(LIBDIR) -lsamatos $(BLASLIB) $(LAPACKLIB) $(NCUGRIDLIB) $(NETCDFLIB) +INCPATH = $(NETCDFINC) -I$(INCDIR) -I. +INCPATH_CC = $(BITMAPINC) + +#----------------------------------------------------------------# +# FLAGS FOR LINUX / gnu Fortran Compiler # +#----------------------------------------------------------------# +F90 = gfortran +cc = gcc +CC = g++ +LOADER = gfortran +AR = ar +CP = cp +CPFLAGS = +ARFLAGS = vru +# Compiler flag for macros +MF = -D + +# --------------------- next are for debugging ------------------# +ifeq ($(strip $(MODE)),debug) + FFLAGS = -ggdb -fpic -funderscoring -fbounds-check -finit-local-zero # -C + CFLAGS = -ggdb -fpic + LDFLAGS = -ggdb + SHFLAGS = -fpic -shared +endif +# --------------------- next are for optimized debugging --------# +ifeq ($(strip $(MODE)),optdebug) + FFLAGS = -fPIC -funderscoring # -C + CFLAGS = -g -fpic + LDFLAGS = -g + SHFLAGS = -fPIC -shared +endif +# --------------------- next are for normal compilation ---------# +ifeq ($(strip $(MODE)),norm) + FFLAGS = -fPIC -funderscoring + CFLAGS = -fpic + LDFLAGS = + SHFLAGS = -fPIC -shared +endif +# --------------------- next are for optimization ---------------# +ifeq ($(strip $(MODE)),opt) + FFLAGS = -O3 -fPIC -funderscoring + CFLAGS = -O3 -fpic + LDFLAGS = -O3 + SHFLAGS = -fPIC -shared +endif + +# ----- next flags identify the fortran compiler ----------------# +FFLAGS += $(MF)$(F90) +CFLAGS += $(MF)$(F90) $(MF)$(MACHINE) + +# --------------------- next are for Module IO_EMIT -------------# +ifeq ($(strip $(IO_EMIT)),yes) + FFLAGS += $(MF)IO_EMIT + CFLAGS += $(MF)IO_EMIT +endif +# --------------------- next are for Module IO_PGM --------------# +ifeq ($(strip $(IO_PGM)),yes) + FFLAGS += $(MF)IO_PGM + CFLAGS += $(MF)IO_PGM +endif + +ifeq ($(strip $(DBL_DBL)),yes) + FFLAGS += -DDBL_DBL + CFLAGS += -DDBL_DBL +endif +# --------------------- next are for NetCDF support -------------# +ifeq ($(strip $(NO_NETCDF)),yes) + FFLAGS += $(MF)NO_NETCDF +endif +# --------------------- next are for OpenMP ---------------------# +ifeq ($(strip $(OMP)),yes) + #LIBS += + #FFLAGS += + #CFLAGS += +endif +# --------------------- next are for MPI ------------------------# +ifeq ($(strip $(MPI)),yes) + #LIBS += + #FFLAGS += + #CFLAGS += +endif + +#----------------------------------------------------------------# +# additional clear/clean-Items # +#----------------------------------------------------------------# +CLEARSRC_EXT = +CLEAREX_EXT = $(SAVETHING) +CLEARDAT_EXT = $(SAVETHING:%=%_*) +CLEARLIB_EXT = +CLEAN_EXT = *.vtu +TIDY_EXT = + +#----------------------------------------------------------------# +# common stuff # +#----------------------------------------------------------------# + +include $(MAINDIR)/compile/Makefiles/Makefile.common + +#----------------------------------------------------------------# +# copy source files # +#----------------------------------------------------------------# + +include $(MAINDIR)/compile/Makefiles/Makefile.cpsrc + +#----------------------------------------------------------------# +# test programs # +#----------------------------------------------------------------# + +include $(MAINDIR)/compile/Makefiles/Makefile.TestsSamatos + +#----------------------------------------------------------------# +# DEPENDENCIES ON INCLUDE FILES # +#----------------------------------------------------------------# diff --git a/amatos2d/compile/linux_g64/Makefile b/amatos2d/compile/linux_g64/Makefile index c0a22547f6d5d5528649ce50b057eb32d9fcc6a5..502f149c9644d410cc69e19bd32c35ab496e663c 100644 --- a/amatos2d/compile/linux_g64/Makefile +++ b/amatos2d/compile/linux_g64/Makefile @@ -17,11 +17,9 @@ MACHINE = linux_g64 SYSTEM = gfortran # SET MAKETHING CORRESPONDING TO MACHINE: -MAKETHING= AMATOS +MAKETHING= SAMATOS AMATFLAG = $(MF)$(MAKETHING) -SAVETHING= SAVETEST - # OPTIMIZATION SETTINGS [debug|optdebug|norm|opt] MODE := debug @@ -104,8 +102,8 @@ GRIDDIR = $(SRCDIR)/gridgen SYSDIR = $(SRCDIR)/system/$(SYSTEM) TIMDIR = $(SRCDIR)/timing -GRIDLIB = libamatos.a -GRDSLIB = libamatos.so +GRIDLIB = libsamatos.a +GRDSLIB = libsamatos.so MODEND = mod GRDMOD = *.$(MODEND) @@ -113,7 +111,7 @@ GRDMOD = *.$(MODEND) # library and include paths # #----------------------------------------------------------------# LIB_SH = $(LAPACKLIB) $(EMITLIB) -LIBS = -L$(LIBDIR) -lamatos $(BLASLIB) $(LAPACKLIB) $(NCUGRIDLIB) $(NETCDFLIB) +LIBS = -L$(LIBDIR) -lsamatos $(BLASLIB) $(LAPACKLIB) $(NCUGRIDLIB) $(NETCDFLIB) INCPATH = $(NETCDFINC) -I$(INCDIR) -I. INCPATH_CC = $(BITMAPINC) @@ -222,7 +220,7 @@ include $(MAINDIR)/compile/Makefiles/Makefile.cpsrc # test programs # #----------------------------------------------------------------# -include $(MAINDIR)/compile/Makefiles/Makefile.TestsAmatos +include $(MAINDIR)/compile/Makefiles/Makefile.TestsSamatos #----------------------------------------------------------------# # DEPENDENCIES ON INCLUDE FILES # diff --git a/flash2d/compile/Makefiles/Makefile.common b/flash2d/compile/Makefiles/Makefile.common index 761efc798b5877b329a63a0da755818a4c71b1fd..c81b7d589445c6bfbadfd015f44ebe264960afb1 100644 --- a/flash2d/compile/Makefiles/Makefile.common +++ b/flash2d/compile/Makefiles/Makefile.common @@ -8,6 +8,7 @@ # OBJECTS # #----------------------------------------------------------------# MAINOBJ = \ +FLASH_metadata.o \ FLASH_parameters.o \ MISC_timing.o \ MISC_system.o \ diff --git a/flash2d/compile/Makefiles/Makefile.linux_g64 b/flash2d/compile/Makefiles/Makefile.linux_g64 new file mode 100644 index 0000000000000000000000000000000000000000..385299402746c7398d712f80db69c3ecedf751f3 --- /dev/null +++ b/flash2d/compile/Makefiles/Makefile.linux_g64 @@ -0,0 +1,143 @@ +################################################################## +# FLASH90 # +# FLexible Adaptive Semi-Lagrangian Hack # +# written in Fortran 90 # +################################################################## +# makefile to build FLASH # +# j. behrens 2/95, 3/96, 8/98 # +# l. mentrup 7/05 # +# --- this is for linux --- # +################################################################## + +# MACHINE +MACHINE = linux_g64 + +# SYSTEM +SYSTEM = gfortran + +# SET MAKETHING CORRESPONDING TO MACHINE: +MAKETHING= FLASH + +# OPTIMIZATION SETTINGS [debug|norm|opt] +MODE := debug + +# LIBRARY SETTINGS [yes|no] +# Useage: make NO_NETCDF=yes NO_VISNET=yes +NO_NETCDF := no +NO_VISNET := yes + +# Use Method MPSLM [yes|no] +NO_MPSLM := yes + +# SET MAIN DIRECTORY PATH +# !! This has to be alterd by user !! +ROOTDIR = $(HOME)/Transport-20/tracertransportsoftware + +# SET atlas/blas DIRECTORY PATH +# !! This has to be alterd by user !! +BLASDIR = /usr/lib +BLASLIB = -lblas + +# SET LAPACK DIRECTORY PATH/BLAS INCLUDED IN INTEL MKL +# !! This has to be alterd by user !! +LAPACKDIR = /usr/lib +LAPACKLIB = -llapack -lpthread -lc # -L$(ROOTDIR)/amatos2d/3rdpparty/LAPACK95 -llapack95 +# SET C++ DIRECTORY PATH +# !! This has to be alterd by user !! +CCLIBDIR = /usr/lib/ +CCLIB = # -lstdc++ + +# SET MORE DIRECTORY PATHS +LIBDIR = $(ROOTDIR)/lib/$(MACHINE) +INCDIR = $(ROOTDIR)/include/$(MACHINE) +MODDIR = $(ROOTDIR)/include/$(MACHINE) +MAINDIR = $(ROOTDIR)/flash2d + +SRCDIR = $(MAINDIR)/src/flash +OPTDIR = $(MAINDIR)/src/options +SYSDIR = $(MAINDIR)/src/system/$(SYSTEM) +TIMDIR = $(MAINDIR)/src/timing +DATDIR = $(MAINDIR)/data +BUILDIR = $(MAINDIR)/compile/$(MACHINE) + +# SET NETCDF PATHS +LIBNETCDF = +INCNETCDF = +ifneq ($(strip $(NO_NETCDF)), yes) +LIBNETCDF = -L/sw/jessie-x64/netcdf_fortran-4.4.2-static-gcc81/lib -lnetcdff \ + -L/sw/jessie-x64/szip-2.1-static-gccsys/lib -L/sw/jessie-x64/hdf5-1.8.16-static-gccsys/lib \ + -L/sw/jessie-x64/netcdf-4.3.3.1-static-gccsys/lib -lnetcdf \ + -lhdf5_hl -lhdf5 -lsz -lz -lm -ldl +INCNETCDF = -I/sw/jessie-x64/netcdf_fortran-4.4.2-static-gcc81/include/ +endif + +# SET VISNET DIRECTORY PATH +# !! This has to be alterd by user !! +VISNETDIR = +VISNETLIB = +ifneq ($(strip $(NO_VISNET)),yes) +VISNETDIR = $(ROOTDIR)/lib/SINGLE +VISNETLIB = -lvisnet4flash -lm3tv -ldelaunay \ + -ldetri -llia -lsos -lbasic \ + $(VISNETDIR)/fortify.o \ + -lglut -lGLU -lGL -ltiff +endif + +# SET PATH TO GRID_API.mod +AMATOS = $(MODDIR)/grid_api.mod + +# SET THE ENDING OF MODULE FILES +MODEND = mod + +#----------------------------------------------------------------# +# FLAGS FOR LINUX / Intel Fortran Compiler # +#----------------------------------------------------------------# +F90 = gfortran +cc = gcc +CC = g++ +LOADER = gfortran + +# --------------------- next are for debugging ------------------# +ifeq ($(strip $(MODE)),debug) + FFLAGS = -fbounds-check -ggdb -fpic -funderscoring # -C + CFLAGS = -ggdb -fpic + LDFLAGS = -ggdb +endif +# --------------------- next are for normal compilation ---------# +ifeq ($(strip $(MODE)),norm) + FFLAGS = -fPIC -funderscoring + CFLAGS = -fpic + LDFLAGS = +endif +# --------------------- next are for optimization ---------------# +ifeq ($(strip $(MODE)),opt) + FFLAGS = -O3 -fPIC -funderscoring + CFLAGS = -O3 -fpic + LDFLAGS = -O3 +endif + +# --------------------- include Visnet/NetCDF or not ------------# +ifeq ($(strip $(NO_VISNET)),yes) +FFLAGS += -DNO_VISNET +endif +ifeq ($(strip $(NO_NETCDF)),yes) +FFLAGS += -DNO_NETCDF +endif + +# -------- next flag for using dummy graphics library -----------# +LIBS = -L$(LIBDIR) -lamatos -lncugrid -L$(BLASDIR) $(BLASLIB) \ + -L$(LAPACKDIR) $(LAPACKLIB) \ + $(LIBNETCDF) -L$(CCLIBDIR) $(CCLIB)\ + -lm + +INCS = $(INCNETCDF) -I$(INCDIR) -I$(MODDIR) + +#----------------------------------------------------------------# +# common stuff # +#----------------------------------------------------------------# + +include $(MAINDIR)/compile/Makefiles/Makefile.common + +#----------------------------------------------------------------# +# END of Makefile # +#----------------------------------------------------------------# diff --git a/flash2d/compile/Makefiles/Makefile.linux_g64.sphere b/flash2d/compile/Makefiles/Makefile.linux_g64.sphere new file mode 100644 index 0000000000000000000000000000000000000000..1a940a3e10da014d002747a1738f08e6202c6bd5 --- /dev/null +++ b/flash2d/compile/Makefiles/Makefile.linux_g64.sphere @@ -0,0 +1,146 @@ +################################################################## +# FLASH90 # +# FLexible Adaptive Semi-Lagrangian Hack # +# written in Fortran 90 # +################################################################## +# makefile to build FLASH # +# j. behrens 2/95, 3/96, 8/98 # +# l. mentrup 7/05 # +# --- this is for linux --- # +################################################################## + +# MACHINE +MACHINE = linux_g64 + +# SYSTEM +SYSTEM = gfortran + +# SET MAKETHING CORRESPONDING TO MACHINE: +MAKETHING= FLASH + +# OPTIMIZATION SETTINGS [debug|norm|opt] +MODE := debug + +# LIBRARY SETTINGS [yes|no] +# Useage: make NO_NETCDF=yes NO_VISNET=yes +NO_NETCDF := no +NO_VISNET := yes + +# Use Method MPSLM [yes|no] +NO_MPSLM := yes + +# SET MAIN DIRECTORY PATH +# !! This has to be alterd by user !! +ROOTDIR = $(HOME)/Transport-20/tracertransportsoftware + +# SET atlas/blas DIRECTORY PATH +# !! This has to be alterd by user !! +BLASDIR = /usr/lib +BLASLIB = -lblas + +# SET LAPACK DIRECTORY PATH/BLAS INCLUDED IN INTEL MKL +# !! This has to be alterd by user !! +LAPACKDIR = /usr/lib +LAPACKLIB = -llapack -lpthread -lc # -L$(ROOTDIR)/amatos2d/3rdpparty/LAPACK95 -llapack95 +# SET C++ DIRECTORY PATH +# !! This has to be alterd by user !! +CCLIBDIR = /usr/lib/ +CCLIB = # -lstdc++ + +# SET MORE DIRECTORY PATHS +LIBDIR = $(ROOTDIR)/lib/$(MACHINE) +INCDIR = $(ROOTDIR)/include/$(MACHINE) +MODDIR = $(ROOTDIR)/include/$(MACHINE) +MAINDIR = $(ROOTDIR)/flash2d + +SRCDIR = $(MAINDIR)/src/flash-sphere +OPTDIR = $(MAINDIR)/src/options-sphere +SYSDIR = $(MAINDIR)/src/system/$(SYSTEM) +TIMDIR = $(MAINDIR)/src/timing +DATDIR = $(MAINDIR)/data +BUILDIR = $(MAINDIR)/compile/$(MACHINE) + +# SET NETCDF PATHS +LIBNETCDF = +INCNETCDF = +ifneq ($(strip $(NO_NETCDF)), yes) +LIBNETCDF = -L/sw/jessie-x64/netcdf_fortran-4.4.2-static-gcc81/lib -lnetcdff \ + -L/sw/jessie-x64/szip-2.1-static-gccsys/lib -L/sw/jessie-x64/hdf5-1.8.16-static-gccsys/lib \ + -L/sw/jessie-x64/netcdf-4.3.3.1-static-gccsys/lib -lnetcdf \ + -lhdf5_hl -lhdf5 -lsz -lz -lm -ldl +INCNETCDF = -I/sw/jessie-x64/netcdf_fortran-4.4.2-static-gcc81/include/ +endif + +# SET VISNET DIRECTORY PATH +# !! This has to be alterd by user !! +VISNETDIR = +VISNETLIB = +ifneq ($(strip $(NO_VISNET)),yes) +VISNETDIR = $(ROOTDIR)/lib/SINGLE +VISNETLIB = -lvisnet4flash -lm3tv -ldelaunay \ + -ldetri -llia -lsos -lbasic \ + $(VISNETDIR)/fortify.o \ + -lglut -lGLU -lGL -ltiff +endif + +# SET PATH TO GRID_API.mod +AMATOS = $(MODDIR)/grid_api.mod + +# SET THE ENDING OF MODULE FILES +MODEND = mod + +#----------------------------------------------------------------# +# FLAGS FOR LINUX / Intel Fortran Compiler # +#----------------------------------------------------------------# +F90 = gfortran +cc = gcc +CC = g++ +LOADER = gfortran + +# --------------------- next are for debugging ------------------# +ifeq ($(strip $(MODE)),debug) + FFLAGS = -fbounds-check -ggdb -fpic -funderscoring # -C + CFLAGS = -ggdb -fpic + LDFLAGS = -ggdb +endif +# --------------------- next are for normal compilation ---------# +ifeq ($(strip $(MODE)),norm) + FFLAGS = -fPIC -funderscoring + CFLAGS = -fpic + LDFLAGS = +endif +# --------------------- next are for optimization ---------------# +ifeq ($(strip $(MODE)),opt) + FFLAGS = -O3 -fPIC -funderscoring + CFLAGS = -O3 -fpic + LDFLAGS = -O3 +endif + +# --------------------- include Visnet/NetCDF or not ------------# +ifeq ($(strip $(NO_VISNET)),yes) +FFLAGS += -DNO_VISNET +endif +ifeq ($(strip $(NO_NETCDF)),yes) +FFLAGS += -DNO_NETCDF +endif + +FFLAGS += -D$(MACHINE) +CFLAGS += -D$(MACHINE) + +# -------- next flag for using dummy graphics library -----------# +LIBS = -L$(LIBDIR) -lsamatos -lncugrid -L$(BLASDIR) $(BLASLIB) \ + -L$(LAPACKDIR) $(LAPACKLIB) \ + $(LIBNETCDF) -L$(CCLIBDIR) $(CCLIB)\ + -lm + +INCS = $(INCNETCDF) -I$(INCDIR) -I$(MODDIR) + +#----------------------------------------------------------------# +# common stuff # +#----------------------------------------------------------------# + +include $(MAINDIR)/compile/Makefiles/Makefile.common + +#----------------------------------------------------------------# +# END of Makefile # +#----------------------------------------------------------------# diff --git a/flash2d/compile/linux_g64/Makefile b/flash2d/compile/linux_g64/Makefile index 385299402746c7398d712f80db69c3ecedf751f3..1a940a3e10da014d002747a1738f08e6202c6bd5 100644 --- a/flash2d/compile/linux_g64/Makefile +++ b/flash2d/compile/linux_g64/Makefile @@ -53,8 +53,8 @@ INCDIR = $(ROOTDIR)/include/$(MACHINE) MODDIR = $(ROOTDIR)/include/$(MACHINE) MAINDIR = $(ROOTDIR)/flash2d -SRCDIR = $(MAINDIR)/src/flash -OPTDIR = $(MAINDIR)/src/options +SRCDIR = $(MAINDIR)/src/flash-sphere +OPTDIR = $(MAINDIR)/src/options-sphere SYSDIR = $(MAINDIR)/src/system/$(SYSTEM) TIMDIR = $(MAINDIR)/src/timing DATDIR = $(MAINDIR)/data @@ -124,8 +124,11 @@ ifeq ($(strip $(NO_NETCDF)),yes) FFLAGS += -DNO_NETCDF endif +FFLAGS += -D$(MACHINE) +CFLAGS += -D$(MACHINE) + # -------- next flag for using dummy graphics library -----------# -LIBS = -L$(LIBDIR) -lamatos -lncugrid -L$(BLASDIR) $(BLASLIB) \ +LIBS = -L$(LIBDIR) -lsamatos -lncugrid -L$(BLASDIR) $(BLASLIB) \ -L$(LAPACKDIR) $(LAPACKLIB) \ $(LIBNETCDF) -L$(CCLIBDIR) $(CCLIB)\ -lm diff --git a/flash2d/compile/linux_g64/Makefile.sphere b/flash2d/compile/linux_g64/Makefile.sphere deleted file mode 100644 index f115f19d5327e7c588d57a920db4af0a6aa7aa2f..0000000000000000000000000000000000000000 --- a/flash2d/compile/linux_g64/Makefile.sphere +++ /dev/null @@ -1,227 +0,0 @@ -################################################################## -# FLASH90 # -# FLexible Adaptive Semi-Lagrangian Hack # -# written in Fortran 90 # -################################################################## -# makefile to build FLASH # -# j. behrens 2/95, 3/96, 8/98 # -# --- this is for linux --- # -################################################################## - -# MACHINE -MACHINE = linux - -# SET MAKETHING CORRESPONDING TO MACHINE: -MAKETHING= FLASH - -# SET MAIN DIRECTORY PATH -MAINDIR = $(PWD)/.. - -# SET MORE DIRECTORY PATHS -SRCDIR = $(MAINDIR)/src/flash-sphere -OPTDIR = $(MAINDIR)/src/options -LIBDIR = /home/behrens/lib/SAMATOS -SYSDIR = $(MAINDIR)/src/system/nag-f90 -TIMDIR = $(MAINDIR)/src/timing -DATDIR = $(MAINDIR)/data -INCDIR = /home/behrens/include -MODDIR = /home/behrens/lib/SAMATOS -BUILDIR = $(MAINDIR)/$(MACHINE) - -# SET LIBRARY PATHS -LIBNETCDF = -# LIBNETCDF = -L/usr/local/lib -lnetcdf - -# SET INCLUDE PATHS -INCNETCDF = -# INCNETCDF = -I/usr/local/include -AMATOS = $(MODDIR)/grid_api.mod - -# SET THE ENDING OF MODULE FILES -MODEND = mod - -#----------------------------------------------------------------# -# FLAGS FOR LINUX # -#----------------------------------------------------------------# - -F90 = f95 -CC = cc -LOADER = f95 -# --------------------- next three for debugging ----------------# -FFLAGS = -g -g90 -C=all -DNO_NETCDF -CFLAGS = -g -LDFLAGS = -g -g90 -# --------------------- next three with optimization ------------# -# FFLAGS = -O3 -DNO_NETCDF -# CFLAGS = -O3 -# LDFLAGS = -O3 -# -------- next flag for using dummy graphics library -----------# -#LIBS = -L$(LIBDIR) -L/usr/X11R6/lib $(NAGLIBS) \ -# -lBJUGL -lBUI -lamatos -llapack $(LIBNETCDF) -lm -LIBS = -L$(LIBDIR) -L/usr/X11R6/lib \ - -lamatos -lPMLAPACK -lgpc $(LIBNETCDF) -lm -# -luGL -L. -lgapi $(LIBGLUT) -lGLU -lGL $(LIBMUI) -lmui -ltiff -lglut -L$(LIBNETCDF) -lnetcdf -lXmu -lXi -lXext -lX11 -lm -INCS = $(INCNETCDF) -I$(INCDIR) -I$(MODDIR) - -################################################################## -# AFTER THIS LINE, NO CHANGES SHOULD BE NECESSARY # -################################################################## - -#----------------------------------------------------------------# -# OBJECTS # -#----------------------------------------------------------------# -MAINOBJ = \ -FLASH_parameters.o \ -MISC_timing.o \ -MISC_system.o \ -IO_plotdefine.o \ -IO_utils.o \ -IO_matlabplot.o \ -IO_gmvplot.o \ -IO_griddedplot.o \ -SLM_initial.o \ -SLM_errorestimate.o \ -ADV_wind.o \ -ADV_rhs.o \ -SLM_simple.o \ -SLM_advanced.o \ -ADV_semilagrange.o \ -Flash90.o - -# BJUGL.o \ -# IO_bjuglplot.o \ - -#----------------------------------------------------------------# -# COMPILE STEP # -#----------------------------------------------------------------# - -.SUFFIXES: .F90 .f90 $(SUFFIXES) - -.F90.o: - @echo "make: Building object module from "$< - @$(F90) $(FFLAGS) $(INCS) -c $< - -.f90.o: - @echo "make: Building object module from "$< - $(F90) $(FFLAGS) $(INCS) -c $< - -.c.o: - @echo "make: Building object module from "$< - @$(CC) $(CFLAGS) $(INCS) -D$(MACHINE) -c $< - -clearsrc:: - @rm -f *.f90 *.h *.F90 - -clearex:: - @rm -f $(MAKETHING) Flash90* fort.* - -cleardat:: - @rm -f *.dat - -clean:: - @rm -f *.o *.$(MODEND) *.g90 core - -tidy:: - make clean - make clearex - make cleardat - make clearsrc - -#----------------------------------------------------------------# -# THIS COPIES REQUIRED DATA FILES # -#----------------------------------------------------------------# - -datacopy:: - @cp $(DATDIR)/*.dat . - -#----------------------------------------------------------------# -# THIS CREATES THE MAIN PROGRAM # -#----------------------------------------------------------------# - -maincopy:: - @cp $(SRCDIR)/*.f90 . - @cp $(SRCDIR)/*.F90 . - @cp $(SYSDIR)/*.f90 . - @cp $(TIMDIR)/*.f90 . - @cp $(INCDIR)/BJUGL.f90 . - -Slot:: - @make maincopy - @cp $(OPTDIR)/SLM_simple.clip SLM_simple.f90 - -Potsdam:: - @cp $(OPTDIR)/ADV_wind.file ADV_wind.f90 - @cp $(OPTDIR)/SLM_initial.file SLM_initial.f90 - @cp $(OPTDIR)/SLM_simple.clip SLM_simple.f90 - -Gerrits:: - @cp $(OPTDIR)/ADV_wind.file ADV_wind.f90 - @cp $(OPTDIR)/ADV_rhs.gerrit ADV_rhs.f90 - @cp $(OPTDIR)/SLM_initial.gerrit SLM_initial.f90 - @cp $(OPTDIR)/SLM_simple.clip SLM_simple.f90 - -Burgers:: - @cp $(OPTDIR)/ADV_rhs.burgers ADV_rhs.f90 - @cp $(OPTDIR)/ADV_semilagrange.burgers ADV_semilagrange.F90 - @cp $(OPTDIR)/SLM_initial.burgers SLM_initial.f90 - @cp $(OPTDIR)/SLM_simple.clip SLM_simple.f90 - -Bar:: - @cp $(OPTDIR)/SLM_simple.clip SLM_simple.f90 - @cp $(SRCDIR)/ADV_wind.bar ADV_wind.f90 - @cp $(SRCDIR)/SLM_initial.bar SLM_initial.f90 - -Conservative:: - @cp $(OPTDIR)/ADV_semilagrange.adv ADV_semilagrange.F90 - @cp $(OPTDIR)/SLM_simple.plain SLM_simple.f90 - @cp $(OPTDIR)/SLM_advanced.cons SLM_advanced.f90 - -Dual:: - @cp $(OPTDIR)/ADV_semilagrange.adv ADV_semilagrange.F90 - @cp $(OPTDIR)/SLM_simple.plain SLM_simple.f90 - @cp $(OPTDIR)/SLM_advanced.dual SLM_advanced.f90 - -Cellintegrated:: - @cp $(OPTDIR)/ADV_semilagrange.adv ADV_semilagrange.F90 - @cp $(OPTDIR)/SLM_simple.plain SLM_simple.f90 - @cp $(OPTDIR)/SLM_advanced.cellint SLM_advanced.f90 - -Quadrature:: - @cp $(OPTDIR)/ADV_semilagrange.adv ADV_semilagrange.F90 - @cp $(OPTDIR)/SLM_simple.plain SLM_simple.f90 - @cp $(OPTDIR)/SLM_advanced.quadrature SLM_advanced.f90 - -Quadrature7:: - @cp $(OPTDIR)/ADV_semilagrange.adv ADV_semilagrange.F90 - @cp $(OPTDIR)/SLM_simple.plain SLM_simple.f90 - @cp $(OPTDIR)/SLM_advanced.quadrature7 SLM_advanced.f90 - -ConvWind:: - @cp $(OPTDIR)/ADV_wind.convergent ADV_wind.f90 - @cp $(OPTDIR)/SLM_initial.divergent SLM_initial.f90 - -DivWind:: - @cp $(OPTDIR)/ADV_wind.divergent ADV_wind.f90 - @cp $(OPTDIR)/SLM_initial.divergent SLM_initial.f90 - -DiagonalWind:: - @cp $(OPTDIR)/ADV_wind.diagonal ADV_wind.f90 - @cp $(OPTDIR)/SLM_initial.divergent SLM_initial.f90 - -executable: $(MAINOBJ) - @echo "make: Linking object modules and libraries" - @$(LOADER) $(LDFLAGS) -o $(MAKETHING) $(LIBS) $(MAINOBJ) - -$(MAKETHING):: - @make maincopy - @make executable - -all:: - @make maincopy - @make executable - @make clearsrc - @make clean - -#----------------------------------------------------------------# -# DEPENDENCIES ON INCLUDE FILES # -#----------------------------------------------------------------#