Changeset 2410 in lmdz_wrf
- Timestamp:
- Mar 19, 2019, 6:03:14 PM (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/tools/Makefile.skogul.gcc
r2220 r2410 2 2 # Compilation of all required Fortran modules in `hydra' with gcc compilers 3 3 # A following python 'library' creation is required 4 # Diagnostics compilation _______ 5 # f2py -m module_ForDiag -h module_ForDiag.pyf module_generic.f90 module_ForDiagnosticsVars.f90 module_ForDiagnostics.f90 >& run_f2py_ForDiag_wrapper.log 6 # make 7 # f2py -m module_ForDiag -c --f90exec=/usr/bin/gfortran-6 module_ForDiag.pyf module_generic.f90 module_ForDiagnosticsVars.f90 module_ForDiagnostics.f90 >& run_f2py_ForDiag_compile.log 8 # Interpolation compilation _______ 9 # f2py -m module_ForInt -h module_ForInt.pyf module_generic.f90 module_ForInterpolate.f90 >& run_f2py_ForInt_wrapper.log 10 # f2py -m module_ForInt -c --f90exec=/usr/bin/gfortran-6 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: 12 # 13 # package | build 14 # ---------------------------|----------------- 15 # libnetcdf-4.6.1 | h10edf3e_2 1.3 MB 16 # 17 # The following NEW packages will be INSTALLED: 18 # 19 # netcdf4: 1.4.2-py27h4b4f87f_0 20 # 21 # The following packages will be REMOVED: 22 # 23 # libnetcdff: 4.4.4-0 matthewharrison 24 # 25 # The following packages will be UPDATED: 26 # 27 # libnetcdf: 4.4.0-hf6ef953_0 matthewharrison --> 4.6.1-h10edf3e_2 28 ##### 29 # Because of that, Makefile is splitted in two compilation sub-sets 30 ## 31 # $ make pymods: compilation of Fortran modules used in the python scripts 32 # $ make NCfortran: compiation of Fortran modules and main programs which require 33 # netCDF-fortran interface: (for: DistriCorrection and trajectories_overlap) 34 # $ make: compiles all components 35 ## 11 36 12 37 FC = /usr/bin/gfortran … … 31 56 intsrcs = $(srcs) module_ForInterpolate.f90 32 57 scisrcs = $(srcs) 58 gensrcs = module_definitions.f90 module_basic.f90 module_generic.f90 33 59 defsrcs = module_definitions.f90 34 60 … … 43 69 module_ForInterpolate.o \ 44 70 module_ForDiagnosticsVars.o \ 45 module_ForDiagnostics.o \ 46 module_DistriCorrection.o 71 module_ForDiagnostics.o 47 72 48 73 FINTMODULES = \ … … 52 77 module_scientific.o \ 53 78 module_ForInterpolate.o 79 80 FEXECMODULES = \ 81 module_definitions.o \ 82 module_basic.o \ 83 module_generic.o \ 84 module_scientific.o \ 85 module_NCgeneric.o \ 86 module_ForInterpolate.o \ 87 module_DistriCorrection.o 88 89 FTESTMODULES = \ 90 module_definitions.o \ 91 module_basic.o \ 92 module_generic.o \ 93 module_NCgeneric.o \ 94 module_scientific.o \ 95 module_ForDiagnosticsVars.o \ 96 module_ForDiagnostics.o 54 97 55 98 all : \ … … 61 104 pyintmods.o \ 62 105 pyscimods.o \ 106 pygenmods.o \ 63 107 pydefmods.o \ 108 trajectories_overlap.o \ 109 test_Fmods.o 110 111 pymods : \ 112 module_ForDiagnostics.o \ 113 pydistrimods.o \ 114 pydiagmods.o \ 115 pyintmods.o \ 116 pyscimods.o \ 117 pygenmods.o \ 118 pydefmods.o 119 120 NCfortran : \ 121 module_definitions.o \ 122 module_basic.o \ 123 module_generic.o \ 124 module_NCgeneric.o \ 125 module_ForInterpolate.o \ 126 DistriCorrection.o \ 64 127 trajectories_overlap.o 65 128 … … 68 131 69 132 clean : 70 $(RM) *.mod *.o interpolate module_ForDiag.so module_ForInt.so module_ForDistriCorrect.so module_ForSci.so module_ForDef.so133 $(RM) *.mod *.o interpolate test_Fmods module_ForDiag.so module_ForInt.so module_ForDistriCorrect.so module_ForSci.so module_ForGen.so module_ForDef.so 71 134 72 135 ######## ####### … … 102 165 103 166 FCEXEFINTCFLAGS = $(FINTMODULES) $(LIB_NETCDF) $(LIB_INC) 104 FCEXECFLAGS = $(MODULES) $(LIB_NETCDF) $(LIB_INC) 167 FCEXECFLAGS = $(FEXECMODULES) $(LIB_NETCDF) $(LIB_INC) 168 FCEXECTESTFLAGS = $(FTESTMODULES) $(LIB_NETCDF) $(LIB_INC) 105 169 106 170 interpolate.o: module_definitions.o module_basic.o module_generic.o module_scientific.o module_ForInterpolate.o … … 109 173 DistriCorrection.o: module_definitions.o module_basic.o module_generic.o module_NCgeneric.o module_scientific.o module_DistriCorrection.o 110 174 $(FC) $(FCEXECFLAGS) DistriCorrection.f90 -o DistriCorrection 175 176 test_Fmods.o: module_definitions.o module_basic.o module_generic.o module_scientific.o module_ForDiagnostics.o module_ForDiagnosticsVars.o 177 $(FC) $(FCEXECTESTFLAGS) test_Fmods.f90 -o test_Fmods 111 178 112 179 pydistrimods.o: … … 122 189 $(F2PY) -c $(F2PYF) -I$(NCINCFOLD) -m module_ForSci $(scisrcs) -L$(NCLIBFOLD) 123 190 191 pygenmods.o: 192 $(F2PY) -c $(F2PYF) -I$(NCINCFOLD) -m module_ForGen $(gensrcs) -L$(NCLIBFOLD) 193 124 194 pydefmods.o: 125 195 $(F2PY) -c $(F2PYF) -I$(NCINCFOLD) -m module_ForDef $(defsrcs) -L$(NCLIBFOLD)
Note: See TracChangeset
for help on using the changeset viewer.