/[MITgcm]/MITgcm_contrib/ecco_utils/ecco_v4_release3_optimization/optim/Makefile
ViewVC logotype

Annotation of /MITgcm_contrib/ecco_utils/ecco_v4_release3_optimization/optim/Makefile

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.1 - (hide annotations) (download)
Wed Jan 3 17:14:04 2018 UTC (7 years, 6 months ago) by ou.wang
Branch: MAIN
Check in the optimization used in ECCO v4r3

1 ou.wang 1.1
2     #***********************************************************************
3     # Makefile for the ECCO off-line large scale optimization.
4     #
5     # started: Patrick Heimbach heimbach@mit.edu 19-Jun-2000
6     #
7     # changed:
8     #
9     #***********************************************************************
10    
11     # The optimization routines.
12     SRC = optim_main.F \
13     optim_sub.F \
14     optim_numbmod.F \
15     optim_initmod.F \
16     optim_readdata.F \
17     optim_writedata.F \
18     optim_write_control.F \
19     xerbla.F \
20     simul.F
21    
22     EXEDIR = ./
23    
24     # Location of cpp preprocessor
25     # default is (Linux)
26     CPP = cat $< | /lib/cpp -P -traditional
27     # on SUNOS
28     # CPP = cat $< | /usr/ccs/lib/cpp
29    
30     INCLUDEDIRS = -I. \
31     -I../../../verification/release2/build08/
32    
33     LIBDIRS = -L. \
34     -L../lsopt/
35    
36     #LIBS = -llsopt_ecco \
37     # -lblas1
38    
39     LIBS = -llsopt_ecco \
40     -mkl \
41     -lpthread \
42     -lmpi
43    
44    
45    
46     # OPTMODE is either equal to OFFLINE or ONLINE
47     OPTMODE = OFFLINE
48     EXECUTABLE = $(EXEDIR)optim.x
49    
50     # The cpp flags.
51     CPPFLAGS = -DREAL_BYTE=4 \
52     -DMAX_INDEPEND=283933928 \
53     -D_RL='double precision' \
54     -D_RS='double precision' \
55     -D_d='D' \
56     -D$(OPTMODE)
57    
58     #split control
59     # -DMAX_INDEPEND=256135110 \
60     # -DMAX_INDEPEND=293570968 \
61     # FORTRAN compiler and its flags.
62     # default is (Linux)
63     #FC = f77
64    
65     # ifort compilers
66     FC = ifort
67     FFLAGS = -mcmodel=large -shared-intel -fp-model precise -132 -r8 -i4 -W0 -WB -CB -fpe0 -traceback -convert big_endian -assume byterecl
68     #FFLAGS = -mp -132 -r8 -i4 -w95 -W0 -WB -CB -fpe0 -traceback -convert big_endian -assume byterecl
69    
70     # SGI o3k IRIX64
71     #FC = f77
72     #FFLAGS = -extend_source -bytereclen -mips4 -r8 -static
73    
74     # AER cluster
75     #FC = /opt/mpich/bin/mpif77
76     #FFLAGS = -byteswapio -r8 -Mnodclchk -Mextend
77    
78     # File removal.
79     RM = rm -f
80    
81     SMALLF = $(SRC:.F=.f)
82     OBJECTS = $(SRC:.F=.o)
83    
84     .SUFFIXES: .o .f .F
85    
86     all: small_f $(EXECUTABLE)
87     $(EXECUTABLE): $(OBJECTS)
88     $(FC) -o $@ $(FFLAGS) $(OBJECTS) $(LIBDIRS) $(LIBS)
89    
90     small_f: $(SMALLF)
91    
92     depend:
93     makedepend -o .f $(INCLUDEDIRS) $(SRC)
94    
95     # The normal chain of rules is ( .F - .f - .o )
96     .F.f:
97     $(CPP) $(CPPFLAGS) $(INCLUDEDIRS) > $@
98     xerbla.f: xerbla.F
99     $(CPP) $(INCLUDEDIRS) > $@
100     .f.o:
101     $(FC) $(FFLAGS) -c $<
102    
103     # Cleaning options.
104     clean:
105     $(RM) $(EXEDIR)optim.x *.o *.f
106    
107     scratch:
108     $(RM) OPWARMD OPWARMI $(EXEDIR)optim.x $(OBJ)
109    
110     # DO NOT DELETE
111    

  ViewVC Help
Powered by ViewVC 1.1.22