Changeset 2535 in lmdz_wrf
- Timestamp:
- May 16, 2019, 2:15:19 PM (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/tools/Makefile.camelot.gcc
r1814 r2535 2 2 # Compilation of all required Fortran modules in `camelot' with gcc compilers 3 3 # A following python 'library' creation is required 4 5 # FOLLOWING: http://stackoverflow.com/questions/17156125/f2py-exposing-parameters-from-used-modules 6 # FOLLOWING: http://osdir.com/ml/python.f2py.user/2006-08/msg00019.html 7 # module load gnu/4.4.7 8 # module load python/2.7-anaconda 9 # export LD_LIBRARY_PATH=/opt/anaconda/lib/:$LD_LIBRARY_PATH 10 # Diagnostics compilation _______ 11 # f2py -m module_ForDiag -h module_ForDiag.pyf module_generic.f90 module_ForDiagnosticsVars.f90 module_ForDiagnostics.f90 >& run_f2py_ForDiag_wrapper.log 12 # make 13 # f2py -L/opt/anaconda/lib/ -m module_ForDiag -c --fcompiler=gnu95 module_ForDiag.pyf module_generic.f90 module_ForDiagnosticsVars.f90 module_ForDiagnostics.f90 >& run_f2py_ForDiag_compile.log 14 # Interpolation compilation _______ 15 # f2py -m module_ForInt -h module_ForInt.pyf module_generic.f90 module_ForInterpolate.f90 >& run_f2py_ForInt_wrapper.log 16 # f2py -L/opt/anaconda/lib/ -m module_ForInt -c --fcompiler=gnu95 module_ForInt.pyf module_generic.f90 module_ForInterpolate.f90 >& run_f2py_ForInt_compile.log 4 ## Compilation 5 # Prior to compilation, a copy of the file __test_Fmods.f90__ has to be done 6 # $ cp __test_Fmods.f90__ test_Fmods.f90 7 # make >& run_make.log 8 # NOTE: One will not be able to compile all the set of programs within an anaconda environment 9 # due to problems with anaconda. Installation of netcdf4 colides with installed libnetcdff 10 # - netcdf4 11 # The following packages will be downloaded: 17 12 # 18 13 # using netcdf4.3.3.1gfortran … … 24 19 RM = rm -f 25 20 F2PY = /opt/canopy-1.3.0/Canopy_64bit/User/bin/f2py -L/opt/anaconda/lib/ --fcompiler=gnu95 21 F2PYF = 26 22 #DBGFLAGS = -g -Wall -Wextra -Warray-temporaries -Wconversion -fimplicit-none -fbacktrace -ffree-line-length-0 -fcheck=all -ffpe-trap=zero,overflow,underflow -finit-real=nan 27 23 NCLIBFOLD = /opt/netcdf43/gfortran/bin/ 28 24 NCINCFOLD = /opt/netcdf43/gfortran/include/ 29 LIB_NETCDF = -L$(NCLIBFOLD) -lnetcdff -lnetcdf -I$(NCINCFOLD) -static-libgfortran 25 NCLIBFFOLD = /opt/netcdf43/gfortran/bin/ 26 NCINCFFOLD = /opt/netcdf43/gfortran/include/ 27 LIB_NETCDF = -L$(NCLIBFOLD) -L$(NCLIBFFOLD) -lnetcdff -lnetcdf -I$(NCINCFOLD) -I$(NCINCFFOLD) -static-libgfortran 30 28 31 29 FCFLAGS = $(FCF) $(DBGFLAGS) … … 37 35 intsrcs = $(srcs) module_ForInterpolate.f90 38 36 scisrcs = $(srcs) 37 gensrcs = module_definitions.f90 module_basic.f90 module_generic.f90 39 38 defsrcs = module_definitions.f90 40 39 … … 49 48 module_ForInterpolate.o \ 50 49 module_ForDiagnosticsVars.o \ 51 module_ForDiagnostics.o \ 52 module_DistriCorrection.o 50 module_ForDiagnostics.o 53 51 54 52 FINTMODULES = \ … … 58 56 module_scientific.o \ 59 57 module_ForInterpolate.o 58 59 FEXECMODULES = \ 60 module_definitions.o \ 61 module_basic.o \ 62 module_generic.o \ 63 module_scientific.o \ 64 module_NCgeneric.o \ 65 module_ForInterpolate.o \ 66 module_DistriCorrection.o 67 68 FTESTMODULES = \ 69 module_definitions.o \ 70 module_basic.o \ 71 module_generic.o \ 72 module_NCgeneric.o \ 73 module_scientific.o \ 74 module_ForDiagnosticsVars.o \ 75 module_ForDiagnostics.o 60 76 61 77 all : \ … … 67 83 pyintmods.o \ 68 84 pyscimods.o \ 85 pygenmods.o \ 69 86 pydefmods.o \ 87 trajectories_overlap.o \ 88 test_Fmods.o 89 90 pymods : \ 91 module_ForDiagnostics.o \ 92 pydistrimods.o \ 93 pydiagmods.o \ 94 pyintmods.o \ 95 pyscimods.o \ 96 pygenmods.o \ 97 pydefmods.o 98 99 NCfortran : \ 100 module_definitions.o \ 101 module_basic.o \ 102 module_generic.o \ 103 module_NCgeneric.o \ 104 module_ForInterpolate.o \ 105 DistriCorrection.o \ 70 106 trajectories_overlap.o 71 107 … … 74 110 75 111 clean : 76 $(RM) *.mod *.o interpolate module_ForDiag.so module_ForInt.so module_ForDistriCorrect.so module_ForSci.so module_ForDef.so112 $(RM) *.mod *.o interpolate test_Fmods module_ForDiag.so module_ForInt.so module_ForDistriCorrect.so module_ForSci.so module_ForGen.so module_ForDef.so 77 113 78 114 ######## ####### … … 98 134 $(FC) $(FCFLAGS) $(LIB_INC) module_ForInterpolate.f90 99 135 100 module_ForDiagnosticsVars.o: module_definitions.o module_basic.o module_generic.o 136 module_ForDiagnosticsVars.o: module_definitions.o module_basic.o module_generic.o module_scientific.o 101 137 $(FC) $(FCFLAGS) $(LIB_INC) module_ForDiagnosticsVars.f90 102 138 … … 108 144 109 145 FCEXEFINTCFLAGS = $(FINTMODULES) $(LIB_NETCDF) $(LIB_INC) 110 FCEXECFLAGS = $(MODULES) $(LIB_NETCDF) $(LIB_INC) 146 FCEXECFLAGS = $(FEXECMODULES) $(LIB_NETCDF) $(LIB_INC) 147 FCEXECTESTFLAGS = $(FTESTMODULES) $(LIB_NETCDF) $(LIB_INC) 111 148 112 149 interpolate.o: module_definitions.o module_basic.o module_generic.o module_scientific.o module_ForInterpolate.o … … 116 153 $(FC) $(FCEXECFLAGS) DistriCorrection.f90 -o DistriCorrection 117 154 155 test_Fmods.o: module_definitions.o module_basic.o module_generic.o module_scientific.o module_ForDiagnostics.o module_ForDiagnosticsVars.o 156 $(FC) $(FCEXECTESTFLAGS) test_Fmods.f90 -o test_Fmods 157 118 158 pydistrimods.o: 119 $(F2PY) -c -I$(NCINCFOLD) -m module_ForDistriCorrect $(distrisrcs) -L$(NCLIBFOLD)159 $(F2PY) -c $(F2PYF) -I$(NCINCFOLD) -m module_ForDistriCorrect $(distrisrcs) -L$(NCLIBFOLD) 120 160 121 161 pydiagmods.o: 122 $(F2PY) -c -I$(NCINCFOLD) -m module_ForDiag $(diagsrcs) -L$(NCLIBFOLD)162 $(F2PY) -c $(F2PYF) -I$(NCINCFOLD) -m module_ForDiag $(diagsrcs) -L$(NCLIBFOLD) 123 163 124 164 pyintmods.o: 125 $(F2PY) -c -I$(NCINCFOLD) -m module_ForInt $(intsrcs) -L$(NCLIBFOLD)165 $(F2PY) -c $(F2PYF) -I$(NCINCFOLD) -m module_ForInt $(intsrcs) -L$(NCLIBFOLD) 126 166 127 167 pyscimods.o: 128 $(F2PY) -c -I$(NCINCFOLD) -m module_ForSci $(scisrcs) -L$(NCLIBFOLD) 168 $(F2PY) -c $(F2PYF) -I$(NCINCFOLD) -m module_ForSci $(scisrcs) -L$(NCLIBFOLD) 169 170 pygenmods.o: 171 $(F2PY) -c $(F2PYF) -I$(NCINCFOLD) -m module_ForGen $(gensrcs) -L$(NCLIBFOLD) 129 172 130 173 pydefmods.o: 131 $(F2PY) -c -I$(NCINCFOLD) -m module_ForDef $(defsrcs) -L$(NCLIBFOLD)174 $(F2PY) -c $(F2PYF) -I$(NCINCFOLD) -m module_ForDef $(defsrcs) -L$(NCLIBFOLD) 132 175 133 176 trajectories_overlap.o: module_definitions.o module_basic.o module_generic.o module_NCgeneric.o module_scientific.o 134 177 $(FC) $(FCEXECFLAGS) trajectories_overlap.f90 -o trajectories_overlap 178
Note: See TracChangeset
for help on using the changeset viewer.