# Multithreaded + multi-processing makefile for:
#    Linux node414 3.10.0-1062.el7.x86_64 #1 SMP Wed Aug 7 18:08:02 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
# This makefile was generated automatically on
#    Mon Sep 12 00:33:08 EDT 2022
# by the command:
#    ../../../tools/genmake2 -ds -m make -mods=../code -optfile=/pool001/jahn/centos7/darwin3_gfortran-mpi/tools/build_options/linux_amd64_gfortran -ieee -mpi
# executed by:
#    jahn@node414:/pool001/jahn/centos7/darwin3_gfortran-mpi/verification_darwin/ecco_darwin_v05_3deg/build
#
# OPTFILE="/pool001/jahn/centos7/darwin3_gfortran-mpi/tools/build_options/linux_amd64_gfortran"
#
# BUILDDIR     : Directory where object files are written
# SOURCEDIRS   : Directories containing the source (.F) files
# INCLUDEDIRS  : Directories containing the header-source (.h) files
# EXEDIR       : Directory where executable that is generated is written
# EXECUTABLE   : Full path of executable binary
#
# CPP          : C-preprocessor command
# INCLUDES     : Directories searched for header files
# DEFINES      : Macro definitions for CPP
# MAKEDEPEND   : Dependency generator
# FC           : Fortran compiler command
# FFLAGS       : Configuration/debugging options for FC
# FOPTIM       : Optimization options for FC
# LINK         : Command for link editor program
# LIBS         : Library flags /or/ additional optimization/debugging flags

ROOTDIR     = ../../..
BUILDDIR    = .
SOURCEDIRS  =  ../code $(ROOTDIR)/pkg/cal $(ROOTDIR)/pkg/cd_code $(ROOTDIR)/pkg/ctrl $(ROOTDIR)/pkg/darwin $(ROOTDIR)/pkg/debug $(ROOTDIR)/pkg/diagnostics $(ROOTDIR)/pkg/exch2 $(ROOTDIR)/pkg/exf $(ROOTDIR)/pkg/gchem $(ROOTDIR)/pkg/generic_advdiff $(ROOTDIR)/pkg/ggl90 $(ROOTDIR)/pkg/gmredi $(ROOTDIR)/pkg/mdsio $(ROOTDIR)/pkg/mom_vecinv $(ROOTDIR)/pkg/monitor $(ROOTDIR)/pkg/ptracers $(ROOTDIR)/pkg/rw $(ROOTDIR)/pkg/salt_plume $(ROOTDIR)/pkg/seaice $(ROOTDIR)/pkg/smooth $(ROOTDIR)/pkg/mom_common $(ROOTDIR)/eesupp/src $(ROOTDIR)/model/src
INCLUDEDIRS =  /home/jahn/software/mvapich2/2.3.2_gcc-6.2.0/include ../code $(ROOTDIR)/pkg/cal $(ROOTDIR)/pkg/cd_code $(ROOTDIR)/pkg/ctrl $(ROOTDIR)/pkg/darwin $(ROOTDIR)/pkg/debug $(ROOTDIR)/pkg/diagnostics $(ROOTDIR)/pkg/exch2 $(ROOTDIR)/pkg/exf $(ROOTDIR)/pkg/gchem $(ROOTDIR)/pkg/generic_advdiff $(ROOTDIR)/pkg/ggl90 $(ROOTDIR)/pkg/gmredi $(ROOTDIR)/pkg/mdsio $(ROOTDIR)/pkg/mom_vecinv $(ROOTDIR)/pkg/monitor $(ROOTDIR)/pkg/ptracers $(ROOTDIR)/pkg/rw $(ROOTDIR)/pkg/salt_plume $(ROOTDIR)/pkg/seaice $(ROOTDIR)/pkg/smooth $(ROOTDIR)/pkg/mom_common $(ROOTDIR)/eesupp/inc $(ROOTDIR)/model/inc
EXEDIR      = .
EXECUTABLE  = $(EXEDIR)/mitgcmuv
TOOLSDIR    = $(ROOTDIR)/tools
OADTOOLS    = 

#eh3  new defines for the adjoint work
AUTODIFF    = $(ROOTDIR)/pkg/autodiff
EXE_AD      = mitgcmuv_ad
EXE_FTL     = mitgcmuv_ftl
EXE_SVD     = mitgcmuv_svd

ENABLED_PACKAGES =  -DALLOW_CAL -DALLOW_CD_CODE -DALLOW_CTRL -DALLOW_DARWIN -DALLOW_DEBUG -DALLOW_DIAGNOSTICS -DALLOW_EXCH2 -DALLOW_EXF -DALLOW_GCHEM -DALLOW_GENERIC_ADVDIFF -DALLOW_GGL90 -DALLOW_GMREDI -DALLOW_MDSIO -DALLOW_MOM_VECINV -DALLOW_MONITOR -DALLOW_PTRACERS -DALLOW_RW -DALLOW_SALT_PLUME -DALLOW_SEAICE -DALLOW_SMOOTH -DALLOW_MOM_COMMON
DISABLED_PACKAGES =  -UALLOW_ADMTLM -UALLOW_AIM_V23 -UALLOW_ATM2D -UALLOW_ATM_COMMON -UALLOW_ATM_COMPON_INTERF -UALLOW_ATM_OCN_COUPLER -UALLOW_ATM_PHYS -UALLOW_AUTODIFF -UALLOW_BBL -UALLOW_BLING -UALLOW_BULK_FORCE -UALLOW_CFC -UALLOW_CHEAPAML -UALLOW_CHRONOS -UALLOW_COMPON_COMMUNIC -UALLOW_COST -UALLOW_DIC -UALLOW_DOWN_SLOPE -UALLOW_EBM -UALLOW_ECCO -UALLOW_EMBED_FILES -UALLOW_FIZHI -UALLOW_FLT -UALLOW_FRAZIL -UALLOW_GRDCHK -UALLOW_GRIDALT -UALLOW_ICEFRONT -UALLOW_KL10 -UALLOW_KPP -UALLOW_LAND -UALLOW_LAYERS -UALLOW_LONGSTEP -UALLOW_MATRIX -UALLOW_MNC -UALLOW_MOM_FLUXFORM -UALLOW_MY82 -UALLOW_MYPACKAGE -UALLOW_OBCS -UALLOW_OCN_COMPON_INTERF -UALLOW_OFFLINE -UALLOW_OPENAD -UALLOW_OPPS -UALLOW_PP81 -UALLOW_PROFILES -UALLOW_RADTRANS -UALLOW_RBCS -UALLOW_REGRID -UALLOW_RUNCLOCK -UALLOW_SBO -UALLOW_SHAP_FILT -UALLOW_SHELFICE -UALLOW_SHOWFLOPS -UALLOW_SPHERE -UALLOW_STREAMICE -UALLOW_SUN -UALLOW_THSICE -UALLOW_TIMEAVE -UALLOW_ZONAL_FILT

# These files are created by Makefile
SPECIAL_FILES = PACKAGES_CONFIG.h AD_CONFIG.h FC_NAMEMANGLE.h BUILD_INFO.h
EMBEDDED_FILES = 
# Unix ln (link)
LN = ln -s
# Dependency generator
MAKEDEPEND = $(TOOLSDIR)/xmakedepend
# Special preprocessor (KAP on DECs, FPP on Crays)
KPP = 
# Fortran compiler
FC = mpif77
# Fortran compiler
F90C = mpif90
# C compiler
CC = mpicc
# Link editor
LINK = mpif77 

# Defines for CPP
DEFINES = -DWORDLENGTH=4 -DNML_TERMINATOR -DALLOW_USE_MPI -DHAVE_SYSTEM -DHAVE_FDATE -DHAVE_ETIME_SBR -DHAVE_CLOC -DHAVE_SETRLSTK -DHAVE_SIGREG -DHAVE_STAT -DHAVE_NETCDF -DHAVE_FLUSH 
# Includes for CPP
INCLUDES = -I/home/jahn/software/netcdf-fortran/4.5.2_gcc-6.2.0_hdf-1.10.6/include -I/home/jahn/software/mvapich2/2.3.2_gcc-6.2.0/include
# default CPP includes for makedepend
CPPINCLUDES =  -I/home/jahn/software/netcdf-fortran/4.5.2_gcc-6.2.0_hdf-1.10.6/include -I/home/jahn/software/netcdf-c/4.7.3_gcc-6.2.0_hdf-1.10.6/include -I/home/jahn/software/hdf5/1.10.6_gcc-6.2.0/include -I/home/jahn/software/mvapich2/2.3.2_gcc-6.2.0/include -I/nfs/software001/home/software/gcc/6.2.0/bin/../lib/gcc/x86_64-pc-linux-gnu/6.2.0/include -I/nfs/software001/home/software/gcc/6.2.0/bin/../lib/gcc/x86_64-pc-linux-gnu/6.2.0/include-fixed -I/usr/local/include -I/nfs/software001/home/software/gcc/6.2.0/bin/../lib/gcc/../../include -I/usr/include
# Flags for KPP
KFLAGS1 = 
KFLAGS2 = 
# Optim./debug for FC
FFLAGS =  -fconvert=big-endian -fimplicit-none -mcmodel=medium -Wall
FOPTIM = -O0 
# Optim./debug for FC
F90FLAGS =  -fconvert=big-endian -fimplicit-none -mcmodel=medium -Wall
F90OPTIM = -O0
F90FIXEDFORMAT = -ffixed-form
# Flags for CC
CFLAGS = -O0 -mcmodel=medium
# Files that should not be optimized
NOOPTFILES = 
NOOPTFLAGS = -O0
# Flags and libraries needed for linking
LIBS = -L/home/jahn/software/netcdf-fortran/4.5.2_gcc-6.2.0_hdf-1.10.6/lib -lnetcdff -L/home/jahn/software/hdf5/1.10.6_gcc-6.2.0/lib -L/home/jahn/software/netcdf-c/4.7.3_gcc-6.2.0_hdf-1.10.6/lib -lnetcdf -lnetcdf -ldl -lm
# Name of the makefile
MAKEFILE = Makefile
# Name of the make program
MAKE = make

F77_SRC_FILES =  \
 darwin_check.F \
 cal_addtime.F \
 cal_checkdate.F \
 cal_compdates.F \
 cal_convdate.F \
 cal_copydate.F \
 cal_daysformonth.F \
 cal_dayspermonth.F \
