Changeset 2410 in lmdz_wrf


Ignore:
Timestamp:
Mar 19, 2019, 6:03:14 PM (6 years ago)
Author:
lfita
Message:

Updating Makefile for skogul

File:
1 edited

Legend:

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

    r2220 r2410  
    22# Compilation of all required Fortran modules in `hydra' with gcc compilers
    33# 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##
    1136
    1237FC              = /usr/bin/gfortran
     
    3156intsrcs = $(srcs) module_ForInterpolate.f90
    3257scisrcs = $(srcs)
     58gensrcs = module_definitions.f90 module_basic.f90 module_generic.f90
    3359defsrcs = module_definitions.f90
    3460
     
    4369        module_ForInterpolate.o \
    4470        module_ForDiagnosticsVars.o \
    45         module_ForDiagnostics.o \
    46         module_DistriCorrection.o
     71        module_ForDiagnostics.o
    4772
    4873FINTMODULES = \
     
    5277        module_scientific.o \
    5378        module_ForInterpolate.o
     79
     80FEXECMODULES = \
     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
     89FTESTMODULES = \
     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
    5497
    5598all : \
     
    61104        pyintmods.o \
    62105        pyscimods.o \
     106        pygenmods.o \
    63107        pydefmods.o \
     108        trajectories_overlap.o \
     109        test_Fmods.o
     110
     111pymods : \
     112        module_ForDiagnostics.o \
     113        pydistrimods.o \
     114        pydiagmods.o \
     115        pyintmods.o \
     116        pyscimods.o \
     117        pygenmods.o \
     118        pydefmods.o
     119
     120NCfortran : \
     121        module_definitions.o \
     122        module_basic.o \
     123        module_generic.o \
     124        module_NCgeneric.o \
     125        module_ForInterpolate.o \
     126        DistriCorrection.o \
    64127        trajectories_overlap.o
    65128
     
    68131
    69132clean :
    70         $(RM) *.mod *.o interpolate module_ForDiag.so module_ForInt.so module_ForDistriCorrect.so module_ForSci.so module_ForDef.so
     133        $(RM) *.mod *.o interpolate test_Fmods module_ForDiag.so module_ForInt.so module_ForDistriCorrect.so module_ForSci.so module_ForGen.so module_ForDef.so
    71134
    72135########    #######
     
    102165
    103166FCEXEFINTCFLAGS = $(FINTMODULES) $(LIB_NETCDF) $(LIB_INC)
    104 FCEXECFLAGS = $(MODULES) $(LIB_NETCDF) $(LIB_INC)
     167FCEXECFLAGS = $(FEXECMODULES) $(LIB_NETCDF) $(LIB_INC)
     168FCEXECTESTFLAGS = $(FTESTMODULES) $(LIB_NETCDF) $(LIB_INC)
    105169
    106170interpolate.o: module_definitions.o module_basic.o module_generic.o module_scientific.o module_ForInterpolate.o
     
    109173DistriCorrection.o: module_definitions.o module_basic.o module_generic.o module_NCgeneric.o module_scientific.o module_DistriCorrection.o
    110174        $(FC) $(FCEXECFLAGS) DistriCorrection.f90 -o DistriCorrection
     175
     176test_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
    111178
    112179pydistrimods.o:
     
    122189        $(F2PY) -c $(F2PYF) -I$(NCINCFOLD) -m module_ForSci $(scisrcs) -L$(NCLIBFOLD)
    123190
     191pygenmods.o:
     192        $(F2PY) -c $(F2PYF) -I$(NCINCFOLD) -m module_ForGen $(gensrcs) -L$(NCLIBFOLD)
     193
    124194pydefmods.o:
    125195        $(F2PY) -c $(F2PYF) -I$(NCINCFOLD) -m module_ForDef $(defsrcs) -L$(NCLIBFOLD)
Note: See TracChangeset for help on using the changeset viewer.