Changeset 2535 in lmdz_wrf


Ignore:
Timestamp:
May 16, 2019, 2:15:19 PM (6 years ago)
Author:
lfita
Message:

Actualizing camelot's Makefile

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/tools/Makefile.camelot.gcc

    r1814 r2535  
    22# Compilation of all required Fortran modules in `camelot' with gcc compilers
    33# 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:
    1712#
    1813# using netcdf4.3.3.1gfortran
     
    2419RM              = rm -f
    2520F2PY    = /opt/canopy-1.3.0/Canopy_64bit/User/bin/f2py -L/opt/anaconda/lib/ --fcompiler=gnu95
     21F2PYF   =
    2622#DBGFLAGS = -g -Wall -Wextra -Warray-temporaries -Wconversion -fimplicit-none -fbacktrace -ffree-line-length-0 -fcheck=all -ffpe-trap=zero,overflow,underflow -finit-real=nan
    2723NCLIBFOLD       = /opt/netcdf43/gfortran/bin/
    2824NCINCFOLD       = /opt/netcdf43/gfortran/include/
    29 LIB_NETCDF      = -L$(NCLIBFOLD) -lnetcdff -lnetcdf -I$(NCINCFOLD) -static-libgfortran
     25NCLIBFFOLD      = /opt/netcdf43/gfortran/bin/
     26NCINCFFOLD      = /opt/netcdf43/gfortran/include/
     27LIB_NETCDF      = -L$(NCLIBFOLD) -L$(NCLIBFFOLD) -lnetcdff -lnetcdf -I$(NCINCFOLD) -I$(NCINCFFOLD) -static-libgfortran
    3028
    3129FCFLAGS = $(FCF) $(DBGFLAGS)
     
    3735intsrcs = $(srcs) module_ForInterpolate.f90
    3836scisrcs = $(srcs)
     37gensrcs = module_definitions.f90 module_basic.f90 module_generic.f90
    3938defsrcs = module_definitions.f90
    4039
     
    4948        module_ForInterpolate.o \
    5049        module_ForDiagnosticsVars.o \
    51         module_ForDiagnostics.o \
    52         module_DistriCorrection.o
     50        module_ForDiagnostics.o
    5351
    5452FINTMODULES = \
     
    5856        module_scientific.o \
    5957        module_ForInterpolate.o
     58
     59FEXECMODULES = \
     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
     68FTESTMODULES = \
     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
    6076
    6177all : \
     
    6783        pyintmods.o \
    6884        pyscimods.o \
     85        pygenmods.o \
    6986        pydefmods.o \
     87        trajectories_overlap.o \
     88        test_Fmods.o
     89
     90pymods : \
     91        module_ForDiagnostics.o \
     92        pydistrimods.o \
     93        pydiagmods.o \
     94        pyintmods.o \
     95        pyscimods.o \
     96        pygenmods.o \
     97        pydefmods.o
     98
     99NCfortran : \
     100        module_definitions.o \
     101        module_basic.o \
     102        module_generic.o \
     103        module_NCgeneric.o \
     104        module_ForInterpolate.o \
     105        DistriCorrection.o \
    70106        trajectories_overlap.o
    71107
     
    74110
    75111clean :
    76         $(RM) *.mod *.o interpolate module_ForDiag.so module_ForInt.so module_ForDistriCorrect.so module_ForSci.so module_ForDef.so
     112        $(RM) *.mod *.o interpolate test_Fmods module_ForDiag.so module_ForInt.so module_ForDistriCorrect.so module_ForSci.so module_ForGen.so module_ForDef.so
    77113
    78114########    #######
     
    98134        $(FC) $(FCFLAGS) $(LIB_INC) module_ForInterpolate.f90
    99135
    100 module_ForDiagnosticsVars.o: module_definitions.o module_basic.o module_generic.o
     136module_ForDiagnosticsVars.o: module_definitions.o module_basic.o module_generic.o module_scientific.o
    101137        $(FC) $(FCFLAGS) $(LIB_INC) module_ForDiagnosticsVars.f90
    102138
     
    108144
    109145FCEXEFINTCFLAGS = $(FINTMODULES) $(LIB_NETCDF) $(LIB_INC)
    110 FCEXECFLAGS = $(MODULES) $(LIB_NETCDF) $(LIB_INC)
     146FCEXECFLAGS = $(FEXECMODULES) $(LIB_NETCDF) $(LIB_INC)
     147FCEXECTESTFLAGS = $(FTESTMODULES) $(LIB_NETCDF) $(LIB_INC)
    111148
    112149interpolate.o: module_definitions.o module_basic.o module_generic.o module_scientific.o module_ForInterpolate.o
     
    116153        $(FC) $(FCEXECFLAGS) DistriCorrection.f90 -o DistriCorrection
    117154
     155test_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
    118158pydistrimods.o:
    119         $(F2PY) -c -I$(NCINCFOLD) -m module_ForDistriCorrect $(distrisrcs) -L$(NCLIBFOLD)
     159        $(F2PY) -c $(F2PYF) -I$(NCINCFOLD) -m module_ForDistriCorrect $(distrisrcs) -L$(NCLIBFOLD)
    120160
    121161pydiagmods.o:
    122         $(F2PY) -c -I$(NCINCFOLD) -m module_ForDiag $(diagsrcs) -L$(NCLIBFOLD)
     162        $(F2PY) -c $(F2PYF) -I$(NCINCFOLD) -m module_ForDiag $(diagsrcs) -L$(NCLIBFOLD)
    123163
    124164pyintmods.o:
    125         $(F2PY) -c -I$(NCINCFOLD) -m module_ForInt $(intsrcs) -L$(NCLIBFOLD)
     165        $(F2PY) -c $(F2PYF) -I$(NCINCFOLD) -m module_ForInt $(intsrcs) -L$(NCLIBFOLD)
    126166
    127167pyscimods.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
     170pygenmods.o:
     171        $(F2PY) -c $(F2PYF) -I$(NCINCFOLD) -m module_ForGen $(gensrcs) -L$(NCLIBFOLD)
    129172
    130173pydefmods.o:
    131         $(F2PY) -c -I$(NCINCFOLD) -m module_ForDef $(defsrcs) -L$(NCLIBFOLD)
     174        $(F2PY) -c $(F2PYF) -I$(NCINCFOLD) -m module_ForDef $(defsrcs) -L$(NCLIBFOLD)
    132175
    133176trajectories_overlap.o: module_definitions.o module_basic.o module_generic.o module_NCgeneric.o module_scientific.o
    134177        $(FC) $(FCEXECFLAGS) trajectories_overlap.f90 -o trajectories_overlap
     178
Note: See TracChangeset for help on using the changeset viewer.