Index: trunk/tools/Makefile.ypy.gcc
===================================================================
--- trunk/tools/Makefile.ypy.gcc	(revision 2762)
+++ trunk/tools/Makefile.ypy.gcc	(revision 2763)
@@ -3,5 +3,35 @@
 # A following python 'library' creation is required
 ## Compilation
+# Prior to compilation, a copy of the file __test_Fmods.f90__ has to be done
+#  $ cp __test_Fmods.f90__ test_Fmods.f90
 # make >& run_make.log
+#   NOTE: One will not be able to compile all the set of programs within an anaconda environment 
+#     due to problems with anaconda. Installation of netcdf4 colides with installed libnetcdff
+#   - netcdf4
+# The following packages will be downloaded:
+#
+#    package                    |            build
+#    ---------------------------|-----------------
+#    libnetcdf-4.6.1            |       h10edf3e_2         1.3 MB
+#
+# The following NEW packages will be INSTALLED:
+#
+#    netcdf4:    1.4.2-py27h4b4f87f_0                
+#
+# The following packages will be REMOVED:
+#
+#    libnetcdff: 4.4.4-0              matthewharrison
+#
+# The following packages will be UPDATED:
+#
+#    libnetcdf:  4.4.0-hf6ef953_0     matthewharrison --> 4.6.1-h10edf3e_2
+#####
+# Because of that, Makefile is splitted in two compilation sub-sets
+##
+#  $ make pymods: compilation of Fortran modules used in the python scripts
+#  $ make NCfortran: compiation of Fortran modules and main programs which require 
+#     netCDF-fortran interface: (for: DistriCorrection and trajectories_overlap)
+#  $ make: compiles all components
+## 
 
 FC 		= gfortran
@@ -13,5 +43,7 @@
 NCLIBFOLD	= /home/lluis.fita/bin/netcdf/4.5.0/gcc/lib
 NCINCFOLD	= /home/lluis.fita/bin/netcdf/4.5.0/gcc/include
-LIB_NETCDF	= -L$(NCLIBFOLD) -lnetcdff -lnetcdf -I$(NCINCFOLD)
+NCLIBFFOLD	= /home/lluis.fita/bin/netcdf/4.5.0/gcc/lib
+NCINCFFOLD	= /home/lluis.fita/bin/netcdf/4.5.0/gcc/include
+LIB_NETCDF	= -L$(NCLIBFOLD) -L$(NCLIBFFOLD) -lnetcdff -lnetcdf -I$(NCINCFOLD) -I$(NCINCFFOLD)
 
 FCFLAGS = $(FCF) $(DBGFLAGS)
@@ -23,4 +55,5 @@
 intsrcs = $(srcs) module_ForInterpolate.f90
 scisrcs = $(srcs)
+gensrcs = module_definitions.f90 module_basic.f90 module_generic.f90
 defsrcs = module_definitions.f90
 
@@ -35,6 +68,5 @@
 	module_ForInterpolate.o \
 	module_ForDiagnosticsVars.o \
-	module_ForDiagnostics.o \
-	module_DistriCorrection.o
+	module_ForDiagnostics.o
 
 FINTMODULES = \
@@ -44,4 +76,22 @@
 	module_scientific.o \
 	module_ForInterpolate.o
+
+FEXECMODULES = \
+	module_definitions.o \
+	module_basic.o \
+	module_generic.o \
+	module_scientific.o \
+	module_NCgeneric.o \
+	module_ForInterpolate.o \
+	module_DistriCorrection.o
+
+FTESTMODULES = \
+	module_definitions.o \
+	module_basic.o \
+	module_generic.o \
+	module_NCgeneric.o \
+	module_scientific.o \
+	module_ForDiagnosticsVars.o \
+	module_ForDiagnostics.o
 
 all : \
@@ -53,5 +103,25 @@
 	pyintmods.o \
 	pyscimods.o \
+	pygenmods.o \
 	pydefmods.o \
+	trajectories_overlap.o \
+	test_Fmods.o
+
+pymods : \
+	module_ForDiagnostics.o \
+	pydistrimods.o \
+	pydiagmods.o \
+	pyintmods.o \
+	pyscimods.o \
+	pygenmods.o \
+	pydefmods.o
+
+NCfortran : \
+	module_definitions.o \
+	module_basic.o \
+	module_generic.o \
+	module_NCgeneric.o \
+	module_ForInterpolate.o \
+	DistriCorrection.o \
 	trajectories_overlap.o
 
@@ -60,5 +130,5 @@
 
 clean :
-	$(RM) *.mod *.o interpolate module_ForDiag.so module_ForInt.so module_ForDistriCorrect.so module_ForSci.so module_ForDef.so
+	$(RM) *.mod *.o interpolate test_Fmods module_ForDiag.so module_ForInt.so module_ForDistriCorrect.so module_ForSci.so module_ForGen.so module_ForDef.so
 
 ########    #######
@@ -84,5 +154,5 @@
 	$(FC) $(FCFLAGS) $(LIB_INC) module_ForInterpolate.f90
 
-module_ForDiagnosticsVars.o: module_definitions.o module_basic.o module_generic.o
+module_ForDiagnosticsVars.o: module_definitions.o module_basic.o module_generic.o module_scientific.o
 	$(FC) $(FCFLAGS) $(LIB_INC) module_ForDiagnosticsVars.f90
 
@@ -94,5 +164,6 @@
 
 FCEXEFINTCFLAGS = $(FINTMODULES) $(LIB_NETCDF) $(LIB_INC)
-FCEXECFLAGS = $(MODULES) $(LIB_NETCDF) $(LIB_INC)
+FCEXECFLAGS = $(FEXECMODULES) $(LIB_NETCDF) $(LIB_INC)
+FCEXECTESTFLAGS = $(FTESTMODULES) $(LIB_NETCDF) $(LIB_INC)
 
 interpolate.o: module_definitions.o module_basic.o module_generic.o module_scientific.o module_ForInterpolate.o
@@ -102,18 +173,24 @@
 	$(FC) $(FCEXECFLAGS) DistriCorrection.f90 -o DistriCorrection
 
+test_Fmods.o: module_definitions.o module_basic.o module_generic.o module_scientific.o module_ForDiagnostics.o module_ForDiagnosticsVars.o
+	$(FC) $(FCEXECTESTFLAGS) test_Fmods.f90 -o test_Fmods
+
 pydistrimods.o:
-	$(F2PY) -c -I$(NCINCFOLD) -m module_ForDistriCorrect $(distrisrcs) -L$(NCLIBFOLD)
+	$(F2PY) -c $(F2PYF) -I$(NCINCFOLD) -m module_ForDistriCorrect $(distrisrcs) -L$(NCLIBFOLD)
 
 pydiagmods.o:
-	$(F2PY) -c -I$(NCINCFOLD) -m module_ForDiag $(diagsrcs) -L$(NCLIBFOLD)
+	$(F2PY) -c $(F2PYF) -I$(NCINCFOLD) -m module_ForDiag $(diagsrcs) -L$(NCLIBFOLD)
 
 pyintmods.o:
-	$(F2PY) -c -I$(NCINCFOLD) -m module_ForInt $(intsrcs) -L$(NCLIBFOLD)
+	$(F2PY) -c $(F2PYF) -I$(NCINCFOLD) -m module_ForInt $(intsrcs) -L$(NCLIBFOLD)
 
 pyscimods.o:
-	$(F2PY) -c -I$(NCINCFOLD) -m module_ForSci $(scisrcs) -L$(NCLIBFOLD)
+	$(F2PY) -c $(F2PYF) -I$(NCINCFOLD) -m module_ForSci $(scisrcs) -L$(NCLIBFOLD)
+
+pygenmods.o:
+	$(F2PY) -c $(F2PYF) -I$(NCINCFOLD) -m module_ForGen $(gensrcs) -L$(NCLIBFOLD)
 
 pydefmods.o:
-	$(F2PY) -c -I$(NCINCFOLD) -m module_ForDef $(defsrcs) -L$(NCLIBFOLD)
+	$(F2PY) -c $(F2PYF) -I$(NCINCFOLD) -m module_ForDef $(defsrcs) -L$(NCLIBFOLD)
 
 trajectories_overlap.o: module_definitions.o module_basic.o module_generic.o module_NCgeneric.o module_scientific.o
