[cig-commits] r12365 - in seismo/3D/SPECFEM3D_GLOBE/tags: . v4.0.1-portal v4.0.1-portal/DATA v4.0.1-portal/UTILS

leif at geodynamics.org leif at geodynamics.org
Tue Jul 1 16:53:00 PDT 2008


Author: leif
Date: 2008-07-01 16:52:59 -0700 (Tue, 01 Jul 2008)
New Revision: 12365

Added:
   seismo/3D/SPECFEM3D_GLOBE/tags/v4.0.1-portal/
Removed:
   seismo/3D/SPECFEM3D_GLOBE/tags/v4.0.1-portal/DATA/Par_file.cfg
   seismo/3D/SPECFEM3D_GLOBE/tags/v4.0.1-portal/PyxMeshfem.c
   seismo/3D/SPECFEM3D_GLOBE/tags/v4.0.1-portal/PyxMeshfem.pyx
   seismo/3D/SPECFEM3D_GLOBE/tags/v4.0.1-portal/PyxParameters.c
   seismo/3D/SPECFEM3D_GLOBE/tags/v4.0.1-portal/PyxParameters.pyx
   seismo/3D/SPECFEM3D_GLOBE/tags/v4.0.1-portal/PyxSpecfem.c
   seismo/3D/SPECFEM3D_GLOBE/tags/v4.0.1-portal/PyxSpecfem.pyx
   seismo/3D/SPECFEM3D_GLOBE/tags/v4.0.1-portal/Specfem3DGlobe/
   seismo/3D/SPECFEM3D_GLOBE/tags/v4.0.1-portal/archimedes/
   seismo/3D/SPECFEM3D_GLOBE/tags/v4.0.1-portal/ez_setup.py
   seismo/3D/SPECFEM3D_GLOBE/tags/v4.0.1-portal/main.c
   seismo/3D/SPECFEM3D_GLOBE/tags/v4.0.1-portal/misc.c
   seismo/3D/SPECFEM3D_GLOBE/tags/v4.0.1-portal/program_create_header_file.f90
   seismo/3D/SPECFEM3D_GLOBE/tags/v4.0.1-portal/program_create_movie_AVS_DX.f90
   seismo/3D/SPECFEM3D_GLOBE/tags/v4.0.1-portal/program_meshfem3D.f90
   seismo/3D/SPECFEM3D_GLOBE/tags/v4.0.1-portal/program_specfem3D.f90
   seismo/3D/SPECFEM3D_GLOBE/tags/v4.0.1-portal/setup.py
Modified:
   seismo/3D/SPECFEM3D_GLOBE/tags/v4.0.1-portal/Makefile.in
   seismo/3D/SPECFEM3D_GLOBE/tags/v4.0.1-portal/UTILS/run_lsf.bash
   seismo/3D/SPECFEM3D_GLOBE/tags/v4.0.1-portal/config.h.in
   seismo/3D/SPECFEM3D_GLOBE/tags/v4.0.1-portal/configure
   seismo/3D/SPECFEM3D_GLOBE/tags/v4.0.1-portal/configure.ac
   seismo/3D/SPECFEM3D_GLOBE/tags/v4.0.1-portal/create_header_file.f90
   seismo/3D/SPECFEM3D_GLOBE/tags/v4.0.1-portal/create_movie_AVS_DX.f90
   seismo/3D/SPECFEM3D_GLOBE/tags/v4.0.1-portal/meshfem3D.f90
   seismo/3D/SPECFEM3D_GLOBE/tags/v4.0.1-portal/specfem3D.f90
Log:
Merged my post-v4-release portal-related Makefile/build changes
(r11183, r11236, r11263, r11271) to create the "v4.0.1-portal" tag.
This is the version of SPECFEM3D GLOBE used by the portal.


Copied: seismo/3D/SPECFEM3D_GLOBE/tags/v4.0.1-portal (from rev 12364, seismo/3D/SPECFEM3D_GLOBE/tags/v4.0.1)


Property changes on: seismo/3D/SPECFEM3D_GLOBE/tags/v4.0.1-portal
___________________________________________________________________
Name: svn:ignore
   + *.mod
x*
config.log
config.status
xmeshfem3D
xspecfem3D
precision.h
constants.h
aclocal.m4
config.h
Makefile
autom4te.cache



Deleted: seismo/3D/SPECFEM3D_GLOBE/tags/v4.0.1-portal/DATA/Par_file.cfg
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/tags/v4.0.1/DATA/Par_file.cfg	2008-07-01 22:46:03 UTC (rev 12364)
+++ seismo/3D/SPECFEM3D_GLOBE/tags/v4.0.1-portal/DATA/Par_file.cfg	2008-07-01 23:52:59 UTC (rev 12365)
@@ -1,112 +0,0 @@
-# example parameter file for the Pyrized verion of Specfem 3D Globe
-
-
-######################################################################
-[Specfem3DGlobe]                                  ; general parameters
-
-# 1D models with real structure:
-# 1D_isotropic_prem, 1D_transversely_isotropic_prem, 1D_iasp91, 1D_1066a, 1D_ak135
-#
-# 1D models with only one fictitious averaged crustal layer:
-# 1D_isotropic_prem_onecrust, 1D_transversely_isotropic_prem_onecrust, 1D_iasp91_onecrust, 1D_1066a_onecrust, 1D_ak135_onecrust
-#
-# fully 3D models:
-# 3D_crust_2.0_plus_transversely_isotropic_prem, 3D_s20rts, 3D_anisotropic, 3D_attenuation
-model = 1D_isotropic_prem
-
-
-######################################################################
-[Specfem3DGlobe.mesher]                            ; mesher parameters
-
-# number of chunks (1,2,3 or 6)
-nchunks = 6
-
-# angular width of the first chunk (not used if full sphere with six chunks)
-angular-width-xi        = 90.0*deg      ; angular size of a chunk
-angular-width-eta       = 90.0*deg
-
-center-latitude         = 40.0*deg
-center-longitude        = 10.0*deg
-
-gamma-rotation-azimuth  = 20.0*deg
-
-# number of elements at the surface along the two sides of the first chunk
-# (must be 16 * multiple of 'nproc' below)
-nex-xi     = 160
-nex-eta    = 160
-
-# number of MPI processors along the two sides of the first chunk
-nproc-xi   = 5
-nproc-eta  = 5
-
-# save mesh files to check the mesh
-save-files = False
-
-
-######################################################################
-[Specfem3DGlobe.model]                              ; model parameters
-
-# parameters describing the Earth model
-oceans       = False
-ellipticity  = False
-topography   = False
-gravity      = False
-rotation     = False
-attenuation  = False
-
-
-######################################################################
-[Specfem3DGlobe.solver]                            ; solver parameters
-
-# 'forward', 'adjoint', or 'both'
-simulation-type = forward
-
-# save last frame of forward simulation or not
-save-forward = False
-
-# record length in minutes
-record-length = 40.0*minute
-
-# absorbing boundary conditions for a regional simulation
-absorbing-conditions = False
-
-# save AVS or OpenDX movies
-movie-surface          = False
-movie-volume           = False
-ntstep-between-frames  = 100
-hdur-movie             = 0.0
-
-# restart files (number of runs can be 1, 2 or 3, choose 1 for no restart files)
-number-of-runs      = 1
-number-of-this-run  = 1
-
-# interval at which we output time step info and max of norm of displacement
-ntstep-between-output-info = 200
-
-# interval in time steps for temporary writing of seismograms
-ntstep-between-output-seismos = 5000000
-
-# output format for the seismograms (one can use either or all of the three formats)
-output-seismos-ascii-text       = .true.
-output-seismos-sac-alphanum     = .false.
-output-seismos-sac-binary       = .false.
-
-# rotate seismograms to Radial-Transverse-Z or use default North-East-Z reference frame
-rotate-seimograms-rt           = .false.
-
-# decide wheter master process writes all the seismograms or if all processes do it in parallel
-write-seismograms-by-master    = .true.
-
-# save all seismograms in one large combined file instead of one file per seismogram
-# to avoid overloading shared non-local file systems such as GPFS for instance
-save-all-seismos-in-one-file    = .false.
-use-binary-for-large-file       = .false.
-
-# flag to impose receivers at the surface or allow them to be buried
-receivers-can-be-buried = False
-
-# print source time function
-print-source-time-function = False
-
-
-# end of file

Modified: seismo/3D/SPECFEM3D_GLOBE/tags/v4.0.1-portal/Makefile.in
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/tags/v4.0.1/Makefile.in	2008-07-01 22:46:03 UTC (rev 12364)
+++ seismo/3D/SPECFEM3D_GLOBE/tags/v4.0.1-portal/Makefile.in	2008-07-01 23:52:59 UTC (rev 12365)
@@ -42,33 +42,15 @@
 
 CC = @CC@
 CFLAGS = @CFLAGS@
-CPPFLAGS = @CPPFLAGS@
+CPPFLAGS = -I. @CPPFLAGS@
 
 AR = ar
 ARFLAGS = cru
 RANLIB = ranlib
 
-# extra defines for the Pyrized version
- at COND_PYRE_TRUE@MPICC = @MPICC@
- at COND_PYRE_TRUE@FCLIBS = @FCLIBS@
- at COND_PYRE_TRUE@PYTHON = @PYTHON@
- at COND_PYRE_TRUE@PYTHON_CFLAGS = $(PYTHON_EGG_CFLAGS) $(PYTHON_CPPFLAGS)
- at COND_PYRE_TRUE@PYTHON_CPPFLAGS = $(PYTHON_EGG_CPPFLAGS) -I at PYTHON_INCDIR@
- at COND_PYRE_TRUE@PYTHON_LDFLAGS = $(PYTHON_EGG_LDFLAGS) @PYTHON_LDFLAGS@ @PYTHON_LINKFORSHARED@ @PYTHON_BLDLIBRARY@ @PYTHON_LIBS@ @PYTHON_MODLIBS@ @PYTHON_SYSLIBS@ @PYTHON_LDLAST@
- at COND_PYRE_TRUE@OUTPUT_DIR = OUTPUT_FILES
- at COND_PYRE_TRUE@PYTHON_EGG_CFLAGS = @PYTHON_EGG_CFLAGS@
- at COND_PYRE_TRUE@PYTHON_EGG_CPPFLAGS = @PYTHON_EGG_CPPFLAGS@
- at COND_PYRE_TRUE@PYTHON_EGG_LDFLAGS = @PYTHON_EGG_LDFLAGS@
-
 O = obj
+S = @srcdir@
 
-# objects toggled between the pure Fortran and Pyrized version
- at COND_PYRE_TRUE@PYRE_EXTRA_OBJECTS = $O/misc.o $O/trampoline.o $O/PyxMeshfem.o
- at COND_PYRE_TRUE@TOGGLED_OBJECTS = $O/PyxParameters.o $(PYRE_EXTRA_OBJECTS)
-
-# objects toggled between the pure Fortran and Pyrized version
- at COND_PYRE_FALSE@TOGGLED_OBJECTS = $O/read_value_parameters.o $O/get_value_parameters.o
-
 libspecfem_a_OBJECTS = \
 	$O/add_missing_nodes.o \
 	$O/add_topography.o \
@@ -101,6 +83,7 @@
 	$O/define_derivation_matrices.o \
 	$O/define_superbrick.o \
 	$O/euler_angles.o \
+	$O/exit_mpi.o \
 	$O/get_MPI_1D_buffers.o \
 	$O/get_MPI_cutplanes_eta.o \
 	$O/get_MPI_cutplanes_xi.o \
@@ -111,10 +94,11 @@
 	$O/get_event_info.o \
 	$O/get_global.o \
 	$O/get_jacobian_boundaries.o \
-  $O/get_jacobian_discontinuities.o \
+	$O/get_jacobian_discontinuities.o \
 	$O/get_model.o \
 	$O/get_shape2D.o \
 	$O/get_shape3D.o \
+	$O/get_value_parameters.o \
 	$O/gll_library.o \
 	$O/hex_nodes.o \
 	$O/intgrl.o \
@@ -126,7 +110,6 @@
 	$O/make_gravity.o \
 	$O/mantle_model.o \
 	$O/memory_eval.o \
-	$O/meshfem3D.o \
 	$O/model_1066a.o \
 	$O/model_ak135.o \
 	$O/model_iasp91.o \
@@ -137,6 +120,7 @@
 	$O/netlib_specfun_erf.o \
 	$O/read_arrays_buffers_solver.o \
 	$O/read_compute_parameters.o \
+	$O/read_value_parameters.o \
 	$O/auto_ner.o \
 	$O/recompute_jacobian.o \
 	$O/reduce.o \
@@ -152,7 +136,7 @@
 	$O/write_AVS_DX_global_faces_data.o \
 	$O/write_AVS_DX_surface_data.o \
 	$O/write_c_binary.o \
-  $O/write_seismograms.o \
+	$O/write_seismograms.o \
 	$(EMPTY_MACRO)
 
 # solver objects with statically allocated arrays; dependent upon
@@ -162,45 +146,34 @@
 	$O/compute_forces_crust_mantle.o \
 	$O/compute_forces_inner_core.o \
 	$O/compute_forces_outer_core.o \
-  $O/compute_boundary_kernel.o \
+	$O/compute_boundary_kernel.o \
 	$O/read_arrays_solver.o \
 	$O/write_movie_volume.o \
 	$O/specfem3D.o \
 	$(EMPTY_MACRO)
 
-LIBSPECFEM = $(TOGGLED_OBJECTS) $O/libspecfem.a
+LIBSPECFEM = $O/libspecfem.a
 
-# objects for the pure Fortran version
- at COND_PYRE_FALSE@XMESHFEM_OBJECTS = $O/program_meshfem3D.o $O/exit_mpi.o $(LIBSPECFEM)
- at COND_PYRE_FALSE@XSPECFEM_OBJECTS = $O/program_specfem3D.o $O/exit_mpi.o $(SOLVER_ARRAY_OBJECTS) $(LIBSPECFEM)
 
-# objects for the Pyrized version
- at COND_PYRE_TRUE@XMESHFEM_OBJECTS = $(LIBSPECFEM)
- at COND_PYRE_TRUE@XSPECFEM_OBJECTS = $O/PyxSpecfem.o $(SOLVER_ARRAY_OBJECTS) $(LIBSPECFEM)
-
-
 ####
 #### targets
 ####
 
-# default targets for the pure Fortran version
- at COND_PYRE_FALSE@DEFAULT = \
- at COND_PYRE_FALSE@	check_buffers_1D \
- at COND_PYRE_FALSE@	check_buffers_2D \
- at COND_PYRE_FALSE@	check_buffers_corners_chunks \
- at COND_PYRE_FALSE@	check_buffers_faces_chunks \
- at COND_PYRE_FALSE@	combine_AVS_DX \
- at COND_PYRE_FALSE@	convolve_source_timefunction \
- at COND_PYRE_FALSE@	create_header_file \
- at COND_PYRE_FALSE@	create_movie_AVS_DX \
- at COND_PYRE_FALSE@	create_movie_GMT_global \
- at COND_PYRE_FALSE@	meshfem3D \
- at COND_PYRE_FALSE@	specfem3D \
- at COND_PYRE_FALSE@	$(EMPTY_MACRO)
+# default targets
+DEFAULT = \
+	xcheck_buffers_1D \
+	xcheck_buffers_2D \
+	xcheck_buffers_corners_chunks \
+	xcheck_buffers_faces_chunks \
+	xcombine_AVS_DX \
+	xconvolve_source_timefunction \
+	xcreate_header_file \
+	xcreate_movie_AVS_DX \
+	xcreate_movie_GMT_global \
+	xmeshfem3D \
+	xspecfem3D \
+	$(EMPTY_MACRO)
 
-# default targets for the Pyrized version
- at COND_PYRE_TRUE@DEFAULT = specfem3D
-
 default: $(DEFAULT)
 
 all: clean default
@@ -215,71 +188,61 @@
 #### rules for executables
 ####
 
-# rules for the pure Fortran version
- at COND_PYRE_FALSE@meshfem3D: $(XMESHFEM_OBJECTS)
- at COND_PYRE_FALSE@## use MPI here
- at COND_PYRE_FALSE@	${MPIFCCOMPILE_CHECK} -o xmeshfem3D $(XMESHFEM_OBJECTS) $(MPILIBS)
- at COND_PYRE_FALSE@
- at COND_PYRE_FALSE@# solver also depends on values from mesher
- at COND_PYRE_FALSE@specfem3D: $(XSPECFEM_OBJECTS)
- at COND_PYRE_FALSE@## use MPI here
- at COND_PYRE_FALSE@	${MPIFCCOMPILE_NO_CHECK} -o xspecfem3D $(XSPECFEM_OBJECTS) $(MPILIBS)
- at COND_PYRE_FALSE@
+# rules for the main programs
+XMESHFEM_OBJECTS = $O/meshfem3D.o $(LIBSPECFEM)
+xmeshfem3D: $(XMESHFEM_OBJECTS)
+## use MPI here
+	${MPIFCCOMPILE_CHECK} -o xmeshfem3D $(XMESHFEM_OBJECTS) $(MPILIBS)
 
-# rules for the Pyrized version
- at COND_PYRE_TRUE@specfem3D: pyspecfem3D
- at COND_PYRE_TRUE@
- at COND_PYRE_TRUE@pyspecfem3D: main.c $(XMESHFEM_OBJECTS)
- at COND_PYRE_TRUE@	${MPICC} $(CFLAGS) -o $@ $(CFLAGS) $(PYTHON_CFLAGS) main.c \
- at COND_PYRE_TRUE@		$(XMESHFEM_OBJECTS) $(MPILIBS) $(PYTHON_LDFLAGS) $(FCLIBS)
- at COND_PYRE_TRUE@
- at COND_PYRE_TRUE@$(OUTPUT_DIR)/mpipyspecfem3D: main.c $(XSPECFEM_OBJECTS)
- at COND_PYRE_TRUE@	${MPICC} $(CFLAGS) -o $@ $(CFLAGS) $(PYTHON_CFLAGS) -DBUILDING_SOLVER -DUSE_MPI main.c \
- at COND_PYRE_TRUE@		$(XSPECFEM_OBJECTS) $(MPILIBS) $(PYTHON_LDFLAGS) $(FCLIBS)
+# solver also depends on values from mesher
+XSPECFEM_OBJECTS = $(SOLVER_ARRAY_OBJECTS) $(LIBSPECFEM)
+xspecfem3D: $(XSPECFEM_OBJECTS)
+## use MPI here
+	${MPIFCCOMPILE_NO_CHECK} -o xspecfem3D $(XSPECFEM_OBJECTS) $(MPILIBS)
 
 
-convolve_source_timefunction: $O/convolve_source_timefunction.o
+xconvolve_source_timefunction: $O/convolve_source_timefunction.o
 	${FCCOMPILE_CHECK} -o xconvolve_source_timefunction $O/convolve_source_timefunction.o
 
-create_header_file: $O/program_create_header_file.o $(LIBSPECFEM)
-	${FCCOMPILE_CHECK} -o xcreate_header_file $O/program_create_header_file.o $(LIBSPECFEM)
+xcreate_header_file: $O/create_header_file.o $(LIBSPECFEM)
+	${FCCOMPILE_CHECK} -o xcreate_header_file $O/create_header_file.o $(LIBSPECFEM)
 
- at COND_PYRE_FALSE@create_movie_AVS_DX: $O/program_create_movie_AVS_DX.o $(LIBSPECFEM)
- at COND_PYRE_FALSE@	${FCCOMPILE_CHECK} -o xcreate_movie_AVS_DX $O/program_create_movie_AVS_DX.o $(LIBSPECFEM)
+xcreate_movie_AVS_DX: $O/create_movie_AVS_DX.o $(LIBSPECFEM)
+	${FCCOMPILE_CHECK} -o xcreate_movie_AVS_DX $O/create_movie_AVS_DX.o $(LIBSPECFEM)
 
- at COND_PYRE_FALSE@create_movie_GMT_global: $O/create_movie_GMT_global.o $(LIBSPECFEM)
- at COND_PYRE_FALSE@	${FCCOMPILE_CHECK} -o xcreate_movie_GMT_global $O/create_movie_GMT_global.o $(LIBSPECFEM)
+xcreate_movie_GMT_global: $O/create_movie_GMT_global.o $(LIBSPECFEM)
+	${FCCOMPILE_CHECK} -o xcreate_movie_GMT_global $O/create_movie_GMT_global.o $(LIBSPECFEM)
 
-combine_AVS_DX: $O/combine_AVS_DX.o $(LIBSPECFEM)
+xcombine_AVS_DX: $O/combine_AVS_DX.o $(LIBSPECFEM)
 	${FCCOMPILE_CHECK} -o xcombine_AVS_DX $O/combine_AVS_DX.o $(LIBSPECFEM)
 
-check_buffers_1D: $O/check_buffers_1D.o $(LIBSPECFEM)
+xcheck_buffers_1D: $O/check_buffers_1D.o $(LIBSPECFEM)
 	${FCCOMPILE_CHECK} -o xcheck_buffers_1D $O/check_buffers_1D.o $(LIBSPECFEM)
 
-check_buffers_2D: $O/check_buffers_2D.o $(LIBSPECFEM)
+xcheck_buffers_2D: $O/check_buffers_2D.o $(LIBSPECFEM)
 	${FCCOMPILE_CHECK} -o xcheck_buffers_2D $O/check_buffers_2D.o $(LIBSPECFEM)
 
-check_buffers_corners_chunks: $O/check_buffers_corners_chunks.o $(LIBSPECFEM)
+xcheck_buffers_corners_chunks: $O/check_buffers_corners_chunks.o $(LIBSPECFEM)
 	${FCCOMPILE_CHECK} -o xcheck_buffers_corners_chunks $O/check_buffers_corners_chunks.o $(LIBSPECFEM)
 
-check_buffers_faces_chunks: $O/check_buffers_faces_chunks.o $(LIBSPECFEM)
+xcheck_buffers_faces_chunks: $O/check_buffers_faces_chunks.o $(LIBSPECFEM)
 	${FCCOMPILE_CHECK} -o xcheck_buffers_faces_chunks $O/check_buffers_faces_chunks.o $(LIBSPECFEM)
 
-combine_vol_data: $O/combine_vol_data.o $O/write_c_binary.o
+xcombine_vol_data: $O/combine_vol_data.o $O/write_c_binary.o
 	${FCCOMPILE_CHECK} -o xcombine_vol_data  $O/combine_vol_data.o $O/write_c_binary.o
 
-combine_surf_data: $O/combine_surf_data.o $O/write_c_binary.o
+xcombine_surf_data: $O/combine_surf_data.o $O/write_c_binary.o
 	${FCCOMPILE_CHECK} -o xcombine_surf_data  $O/combine_surf_data.o $O/write_c_binary.o
 
-extract_database: UTILS/extract_database/extract_database.f90 
-	${FCCOMPILE_CHECK} -o extract_database UTILS/extract_database/extract_database.f90
+xextract_database: $S/UTILS/extract_database/extract_database.f90 
+	${FCCOMPILE_CHECK} -o xextract_database $S/UTILS/extract_database/extract_database.f90
 
 
-combine_paraview_strain_data: $O/combine_paraview_strain_data.o $O/write_c_binary.o
+xcombine_paraview_strain_data: $O/combine_paraview_strain_data.o $O/write_c_binary.o
 	${FCCOMPILE_CHECK} -o xcombine_paraview_strain_data  $O/combine_paraview_strain_data.o $O/write_c_binary.o
 
 clean:
-	rm -f $O/* *.o work.pc* *.mod xmeshfem3D xspecfem3D xcombine_AVS_DX xcheck_buffers_1D xcheck_buffers_2D xcheck_buffers_corners_chunks xcheck_buffers_faces_chunks xconvolve_source_timefunction xcreate_header_file xcreate_movie_AVS_DX xcreate_movie_GMT_global xcombine_vol_data xcombine_surf_data extract_database PI*
+	rm -f $O/* *.o work.pc* *.mod xmeshfem3D xspecfem3D xcombine_AVS_DX xcheck_buffers_1D xcheck_buffers_2D xcheck_buffers_corners_chunks xcheck_buffers_faces_chunks xconvolve_source_timefunction xcreate_header_file xcreate_movie_AVS_DX xcreate_movie_GMT_global xcombine_vol_data xcombine_surf_data xextract_database PI*
 
 
 ###
@@ -299,372 +262,334 @@
 ### optimized flags and dependence on values from mesher here
 ###
 
-$O/program_specfem3D.o: constants.h program_specfem3D.f90
-	${MPIFCCOMPILE_NO_CHECK} -c -o $O/program_specfem3D.o ${FCFLAGS_f90} program_specfem3D.f90
+$O/specfem3D.o: constants.h OUTPUT_FILES/values_from_mesher.h $S/specfem3D.f90
+	${MPIFCCOMPILE_NO_CHECK} -c -o $O/specfem3D.o ${FCFLAGS_f90} $S/specfem3D.f90
 
-$O/specfem3D.o: constants.h OUTPUT_FILES/values_from_mesher.h specfem3D.f90
-	${MPIFCCOMPILE_NO_CHECK} -c -o $O/specfem3D.o ${FCFLAGS_f90} specfem3D.f90
+$O/compute_forces_crust_mantle.o: constants.h OUTPUT_FILES/values_from_mesher.h $S/compute_forces_crust_mantle.f90
+	${FCCOMPILE_NO_CHECK} -c -o $O/compute_forces_crust_mantle.o ${FCFLAGS_f90} $S/compute_forces_crust_mantle.f90
 
-$O/compute_forces_crust_mantle.o: constants.h OUTPUT_FILES/values_from_mesher.h compute_forces_crust_mantle.f90
-	${FCCOMPILE_NO_CHECK} -c -o $O/compute_forces_crust_mantle.o ${FCFLAGS_f90} compute_forces_crust_mantle.f90
+$O/compute_forces_outer_core.o: constants.h OUTPUT_FILES/values_from_mesher.h $S/compute_forces_outer_core.f90
+	${FCCOMPILE_NO_CHECK} -c -o $O/compute_forces_outer_core.o ${FCFLAGS_f90} $S/compute_forces_outer_core.f90
 
-$O/compute_forces_outer_core.o: constants.h OUTPUT_FILES/values_from_mesher.h compute_forces_outer_core.f90
-	${FCCOMPILE_NO_CHECK} -c -o $O/compute_forces_outer_core.o ${FCFLAGS_f90} compute_forces_outer_core.f90
+$O/compute_forces_inner_core.o: constants.h OUTPUT_FILES/values_from_mesher.h $S/compute_forces_inner_core.f90
+	${FCCOMPILE_NO_CHECK} -c -o $O/compute_forces_inner_core.o ${FCFLAGS_f90} $S/compute_forces_inner_core.f90
 
-$O/compute_forces_inner_core.o: constants.h OUTPUT_FILES/values_from_mesher.h compute_forces_inner_core.f90
-	${FCCOMPILE_NO_CHECK} -c -o $O/compute_forces_inner_core.o ${FCFLAGS_f90} compute_forces_inner_core.f90
-
 ### use MPI here
-$O/assemble_MPI_vector.o: constants.h assemble_MPI_vector.f90
-	${MPIFCCOMPILE_NO_CHECK} -c -o $O/assemble_MPI_vector.o ${FCFLAGS_f90} assemble_MPI_vector.f90
+$O/assemble_MPI_vector.o: constants.h $S/assemble_MPI_vector.f90
+	${MPIFCCOMPILE_NO_CHECK} -c -o $O/assemble_MPI_vector.o ${FCFLAGS_f90} $S/assemble_MPI_vector.f90
 
 ### use MPI here
-$O/assemble_MPI_scalar.o: constants.h assemble_MPI_scalar.f90
-	${MPIFCCOMPILE_NO_CHECK} -c -o $O/assemble_MPI_scalar.o ${FCFLAGS_f90} assemble_MPI_scalar.f90
+$O/assemble_MPI_scalar.o: constants.h $S/assemble_MPI_scalar.f90
+	${MPIFCCOMPILE_NO_CHECK} -c -o $O/assemble_MPI_scalar.o ${FCFLAGS_f90} $S/assemble_MPI_scalar.f90
 
-$O/assemble_MPI_central_cube.o: constants.h OUTPUT_FILES/values_from_mesher.h assemble_MPI_central_cube.f90
-	${MPIFCCOMPILE_NO_CHECK} -c -o $O/assemble_MPI_central_cube.o ${FCFLAGS_f90} assemble_MPI_central_cube.f90
+$O/assemble_MPI_central_cube.o: constants.h OUTPUT_FILES/values_from_mesher.h $S/assemble_MPI_central_cube.f90
+	${MPIFCCOMPILE_NO_CHECK} -c -o $O/assemble_MPI_central_cube.o ${FCFLAGS_f90} $S/assemble_MPI_central_cube.f90
 
-$O/read_arrays_solver.o: constants.h OUTPUT_FILES/values_from_mesher.h read_arrays_solver.f90
-	${FCCOMPILE_CHECK} -c -o $O/read_arrays_solver.o ${FCFLAGS_f90} read_arrays_solver.f90
+$O/read_arrays_solver.o: constants.h OUTPUT_FILES/values_from_mesher.h $S/read_arrays_solver.f90
+	${FCCOMPILE_CHECK} -c -o $O/read_arrays_solver.o ${FCFLAGS_f90} $S/read_arrays_solver.f90
 
 ###
 ### regular compilation options here
 ###
 
-$O/convolve_source_timefunction.o: convolve_source_timefunction.f90
-	${FCCOMPILE_CHECK} -c -o $O/convolve_source_timefunction.o ${FCFLAGS_f90} convolve_source_timefunction.f90
+$O/convolve_source_timefunction.o: $S/convolve_source_timefunction.f90
+	${FCCOMPILE_CHECK} -c -o $O/convolve_source_timefunction.o ${FCFLAGS_f90} $S/convolve_source_timefunction.f90
 
-$O/program_create_header_file.o: program_create_header_file.f90
-	${FCCOMPILE_CHECK} -c -o $O/program_create_header_file.o ${FCFLAGS_f90} program_create_header_file.f90
+$O/create_header_file.o: $S/create_header_file.f90
+	${FCCOMPILE_CHECK} -c -o $O/create_header_file.o ${FCFLAGS_f90} $S/create_header_file.f90
 
-$O/create_header_file.o: create_header_file.f90
-	${FCCOMPILE_CHECK} -c -o $O/create_header_file.o ${FCFLAGS_f90} create_header_file.f90
+$O/comp_source_time_function.o: $S/comp_source_time_function.f90
+	${FCCOMPILE_CHECK} -c -o $O/comp_source_time_function.o ${FCFLAGS_f90} $S/comp_source_time_function.f90
 
-$O/comp_source_time_function.o: comp_source_time_function.f90
-	${FCCOMPILE_CHECK} -c -o $O/comp_source_time_function.o ${FCFLAGS_f90} comp_source_time_function.f90
+$O/compute_kernels.o: constants.h $S/compute_kernels.f90
+	${FCCOMPILE_CHECK} -c -o $O/compute_kernels.o ${FCFLAGS_f90} $S/compute_kernels.f90
 
-$O/compute_kernels.o: constants.h compute_kernels.f90
-	${FCCOMPILE_CHECK} -c -o $O/compute_kernels.o ${FCFLAGS_f90} compute_kernels.f90
+$O/combine_AVS_DX.o: constants.h $S/combine_AVS_DX.f90
+	${FCCOMPILE_CHECK} -c -o $O/combine_AVS_DX.o ${FCFLAGS_f90} $S/combine_AVS_DX.f90
 
-$O/combine_AVS_DX.o: constants.h combine_AVS_DX.f90
-	${FCCOMPILE_CHECK} -c -o $O/combine_AVS_DX.o ${FCFLAGS_f90} combine_AVS_DX.f90
-
 ## use MPI here
-$O/create_chunk_buffers.o: constants.h create_chunk_buffers.f90
-	${MPIFCCOMPILE_CHECK} -c -o $O/create_chunk_buffers.o ${FCFLAGS_f90} create_chunk_buffers.f90
+$O/create_chunk_buffers.o: constants.h $S/create_chunk_buffers.f90
+	${MPIFCCOMPILE_CHECK} -c -o $O/create_chunk_buffers.o ${FCFLAGS_f90} $S/create_chunk_buffers.f90
 
-$O/sort_array_coordinates.o: constants.h sort_array_coordinates.f90
-	${FCCOMPILE_CHECK} -c -o $O/sort_array_coordinates.o ${FCFLAGS_f90} sort_array_coordinates.f90
+$O/sort_array_coordinates.o: constants.h $S/sort_array_coordinates.f90
+	${FCCOMPILE_CHECK} -c -o $O/sort_array_coordinates.o ${FCFLAGS_f90} $S/sort_array_coordinates.f90
 
-$O/check_buffers_1D.o: constants.h check_buffers_1D.f90
-	${FCCOMPILE_CHECK} -c -o $O/check_buffers_1D.o ${FCFLAGS_f90} check_buffers_1D.f90
+$O/check_buffers_1D.o: constants.h $S/check_buffers_1D.f90
+	${FCCOMPILE_CHECK} -c -o $O/check_buffers_1D.o ${FCFLAGS_f90} $S/check_buffers_1D.f90
 
-$O/check_buffers_2D.o: constants.h check_buffers_2D.f90
-	${FCCOMPILE_CHECK} -c -o $O/check_buffers_2D.o ${FCFLAGS_f90} check_buffers_2D.f90
+$O/check_buffers_2D.o: constants.h $S/check_buffers_2D.f90
+	${FCCOMPILE_CHECK} -c -o $O/check_buffers_2D.o ${FCFLAGS_f90} $S/check_buffers_2D.f90
 
-$O/check_buffers_corners_chunks.o: constants.h check_buffers_corners_chunks.f90
-	${FCCOMPILE_CHECK} -c -o $O/check_buffers_corners_chunks.o ${FCFLAGS_f90} check_buffers_corners_chunks.f90
+$O/check_buffers_corners_chunks.o: constants.h $S/check_buffers_corners_chunks.f90
+	${FCCOMPILE_CHECK} -c -o $O/check_buffers_corners_chunks.o ${FCFLAGS_f90} $S/check_buffers_corners_chunks.f90
 
-$O/check_buffers_faces_chunks.o: constants.h check_buffers_faces_chunks.f90
-	${FCCOMPILE_CHECK} -c -o $O/check_buffers_faces_chunks.o ${FCFLAGS_f90} check_buffers_faces_chunks.f90
+$O/check_buffers_faces_chunks.o: constants.h $S/check_buffers_faces_chunks.f90
+	${FCCOMPILE_CHECK} -c -o $O/check_buffers_faces_chunks.o ${FCFLAGS_f90} $S/check_buffers_faces_chunks.f90
 
 ### use MPI here
-$O/locate_sources.o: constants.h locate_sources.f90
-	${MPIFCCOMPILE_CHECK} -c -o $O/locate_sources.o ${FCFLAGS_f90} locate_sources.f90
+$O/locate_sources.o: constants.h $S/locate_sources.f90
+	${MPIFCCOMPILE_CHECK} -c -o $O/locate_sources.o ${FCFLAGS_f90} $S/locate_sources.f90
 
 ### use MPI here
-$O/locate_receivers.o: constants.h locate_receivers.f90
-	${MPIFCCOMPILE_CHECK} -c -o $O/locate_receivers.o ${FCFLAGS_f90} locate_receivers.f90
+$O/locate_receivers.o: constants.h $S/locate_receivers.f90
+	${MPIFCCOMPILE_CHECK} -c -o $O/locate_receivers.o ${FCFLAGS_f90} $S/locate_receivers.f90
 
 ## use MPI here
-$O/exit_mpi.o: constants.h exit_mpi.f90
-	${MPIFCCOMPILE_CHECK} -c -o $O/exit_mpi.o ${FCFLAGS_f90} exit_mpi.f90
+$O/exit_mpi.o: constants.h $S/exit_mpi.f90
+	${MPIFCCOMPILE_CHECK} -c -o $O/exit_mpi.o ${FCFLAGS_f90} $S/exit_mpi.f90
 
-$O/count_number_of_sources.o: constants.h count_number_of_sources.f90
-	${FCCOMPILE_CHECK} -c -o $O/count_number_of_sources.o ${FCFLAGS_f90} count_number_of_sources.f90
+$O/count_number_of_sources.o: constants.h $S/count_number_of_sources.f90
+	${FCCOMPILE_CHECK} -c -o $O/count_number_of_sources.o ${FCFLAGS_f90} $S/count_number_of_sources.f90
 
-$O/read_value_parameters.o: constants.h read_value_parameters.f90
-	${FCCOMPILE_CHECK} -c -o $O/read_value_parameters.o ${FCFLAGS_f90} read_value_parameters.f90
+$O/read_value_parameters.o: constants.h $S/read_value_parameters.f90
+	${FCCOMPILE_CHECK} -c -o $O/read_value_parameters.o ${FCFLAGS_f90} $S/read_value_parameters.f90
 
-$O/get_value_parameters.o: constants.h get_value_parameters.f90
-	${FCCOMPILE_CHECK} -c -o $O/get_value_parameters.o ${FCFLAGS_f90} get_value_parameters.f90
+$O/get_value_parameters.o: constants.h $S/get_value_parameters.f90
+	${FCCOMPILE_CHECK} -c -o $O/get_value_parameters.o ${FCFLAGS_f90} $S/get_value_parameters.f90
 
-$O/topo_bathy.o: constants.h topo_bathy.f90
-	${FCCOMPILE_CHECK} -c -o $O/topo_bathy.o ${FCFLAGS_f90} topo_bathy.f90
+$O/topo_bathy.o: constants.h $S/topo_bathy.f90
+	${FCCOMPILE_CHECK} -c -o $O/topo_bathy.o ${FCFLAGS_f90} $S/topo_bathy.f90
 
-$O/calc_jacobian.o: constants.h calc_jacobian.f90
-	${FCCOMPILE_CHECK} -c -o $O/calc_jacobian.o ${FCFLAGS_f90} calc_jacobian.f90
+$O/calc_jacobian.o: constants.h $S/calc_jacobian.f90
+	${FCCOMPILE_CHECK} -c -o $O/calc_jacobian.o ${FCFLAGS_f90} $S/calc_jacobian.f90
 
-$O/crustal_model.o: constants.h crustal_model.f90
-	${FCCOMPILE_CHECK} -c -o $O/crustal_model.o ${FCFLAGS_f90} crustal_model.f90
+$O/crustal_model.o: constants.h $S/crustal_model.f90
+	${FCCOMPILE_CHECK} -c -o $O/crustal_model.o ${FCFLAGS_f90} $S/crustal_model.f90
 
-$O/make_ellipticity.o: constants.h make_ellipticity.f90
-	${FCCOMPILE_CHECK} -c -o $O/make_ellipticity.o ${FCFLAGS_f90} make_ellipticity.f90
+$O/make_ellipticity.o: constants.h $S/make_ellipticity.f90
+	${FCCOMPILE_CHECK} -c -o $O/make_ellipticity.o ${FCFLAGS_f90} $S/make_ellipticity.f90
 
-$O/get_jacobian_boundaries.o: constants.h get_jacobian_boundaries.f90
-	${FCCOMPILE_CHECK} -c -o $O/get_jacobian_boundaries.o ${FCFLAGS_f90} get_jacobian_boundaries.f90
+$O/get_jacobian_boundaries.o: constants.h $S/get_jacobian_boundaries.f90
+	${FCCOMPILE_CHECK} -c -o $O/get_jacobian_boundaries.o ${FCFLAGS_f90} $S/get_jacobian_boundaries.f90
 
-$O/get_jacobian_discontinuities.o: constants.h get_jacobian_discontinuities.f90
-	${FCCOMPILE_CHECK} -c -o $O/get_jacobian_discontinuities.o ${FCFLAGS_f90} get_jacobian_discontinuities.f90
+$O/get_jacobian_discontinuities.o: constants.h $S/get_jacobian_discontinuities.f90
+	${FCCOMPILE_CHECK} -c -o $O/get_jacobian_discontinuities.o ${FCFLAGS_f90} $S/get_jacobian_discontinuities.f90
 
-$O/program_create_movie_AVS_DX.o: constants.h program_create_movie_AVS_DX.f90
-	${FCCOMPILE_CHECK} -c -o $O/program_create_movie_AVS_DX.o ${FCFLAGS_f90} program_create_movie_AVS_DX.f90
+$O/create_movie_AVS_DX.o: constants.h $S/create_movie_AVS_DX.f90
+	${FCCOMPILE_CHECK} -c -o $O/create_movie_AVS_DX.o ${FCFLAGS_f90} $S/create_movie_AVS_DX.f90
 
-$O/create_movie_AVS_DX.o: constants.h create_movie_AVS_DX.f90
-	${FCCOMPILE_CHECK} -c -o $O/create_movie_AVS_DX.o ${FCFLAGS_f90} create_movie_AVS_DX.f90
+$O/create_movie_GMT_global.o: constants.h $S/create_movie_GMT_global.f90
+	${FCCOMPILE_CHECK} -c -o $O/create_movie_GMT_global.o ${FCFLAGS_f90} $S/create_movie_GMT_global.f90
 
-$O/create_movie_GMT_global.o: constants.h create_movie_GMT_global.f90
-	${FCCOMPILE_CHECK} -c -o $O/create_movie_GMT_global.o ${FCFLAGS_f90} create_movie_GMT_global.f90
+$O/get_MPI_cutplanes_xi.o: constants.h $S/get_MPI_cutplanes_xi.f90
+	${FCCOMPILE_CHECK} -c -o $O/get_MPI_cutplanes_xi.o ${FCFLAGS_f90} $S/get_MPI_cutplanes_xi.f90
 
-$O/get_MPI_cutplanes_xi.o: constants.h get_MPI_cutplanes_xi.f90
-	${FCCOMPILE_CHECK} -c -o $O/get_MPI_cutplanes_xi.o ${FCFLAGS_f90} get_MPI_cutplanes_xi.f90
+$O/get_MPI_cutplanes_eta.o: constants.h $S/get_MPI_cutplanes_eta.f90
+	${FCCOMPILE_CHECK} -c -o $O/get_MPI_cutplanes_eta.o ${FCFLAGS_f90} $S/get_MPI_cutplanes_eta.f90
 
-$O/get_MPI_cutplanes_eta.o: constants.h get_MPI_cutplanes_eta.f90
-	${FCCOMPILE_CHECK} -c -o $O/get_MPI_cutplanes_eta.o ${FCFLAGS_f90} get_MPI_cutplanes_eta.f90
+$O/get_MPI_1D_buffers.o: constants.h $S/get_MPI_1D_buffers.f90
+	${FCCOMPILE_CHECK} -c -o $O/get_MPI_1D_buffers.o ${FCFLAGS_f90} $S/get_MPI_1D_buffers.f90
 
-$O/get_MPI_1D_buffers.o: constants.h get_MPI_1D_buffers.f90
-	${FCCOMPILE_CHECK} -c -o $O/get_MPI_1D_buffers.o ${FCFLAGS_f90} get_MPI_1D_buffers.f90
+$O/get_cmt.o: constants.h $S/get_cmt.f90
+	${FCCOMPILE_CHECK} -c -o $O/get_cmt.o ${FCFLAGS_f90} $S/get_cmt.f90
 
-$O/get_cmt.o: constants.h get_cmt.f90
-	${FCCOMPILE_CHECK} -c -o $O/get_cmt.o ${FCFLAGS_f90} get_cmt.f90
+$O/get_event_info.o: constants.h $S/get_event_info.f90
+	${MPIFCCOMPILE_CHECK} -c -o $O/get_event_info.o ${FCFLAGS_f90} $S/get_event_info.f90
 
-$O/get_event_info.o: constants.h get_event_info.f90
-	${MPIFCCOMPILE_CHECK} -c -o $O/get_event_info.o ${FCFLAGS_f90} get_event_info.f90
+$O/get_ellipticity.o: constants.h $S/get_ellipticity.f90
+	${FCCOMPILE_CHECK} -c -o $O/get_ellipticity.o ${FCFLAGS_f90} $S/get_ellipticity.f90
 
-$O/get_ellipticity.o: constants.h get_ellipticity.f90
-	${FCCOMPILE_CHECK} -c -o $O/get_ellipticity.o ${FCFLAGS_f90} get_ellipticity.f90
+$O/get_global.o: constants.h $S/get_global.f90
+	${FCCOMPILE_CHECK} -c -o $O/get_global.o ${FCFLAGS_f90} $S/get_global.f90
 
-$O/get_global.o: constants.h get_global.f90
-	${FCCOMPILE_CHECK} -c -o $O/get_global.o ${FCFLAGS_f90} get_global.f90
+$O/make_gravity.o: constants.h $S/make_gravity.f90
+	${FCCOMPILE_CHECK} -c -o $O/make_gravity.o ${FCFLAGS_f90} $S/make_gravity.f90
 
-$O/make_gravity.o: constants.h make_gravity.f90
-	${FCCOMPILE_CHECK} -c -o $O/make_gravity.o ${FCFLAGS_f90} make_gravity.f90
+$O/rthetaphi_xyz.o: constants.h $S/rthetaphi_xyz.f90
+	${FCCOMPILE_CHECK} -c -o $O/rthetaphi_xyz.o ${FCFLAGS_f90} $S/rthetaphi_xyz.f90
 
-$O/rthetaphi_xyz.o: constants.h rthetaphi_xyz.f90
-	${FCCOMPILE_CHECK} -c -o $O/rthetaphi_xyz.o ${FCFLAGS_f90} rthetaphi_xyz.f90
+$O/get_model.o: constants.h $S/get_model.f90
+	${FCCOMPILE_CHECK} -c -o $O/get_model.o ${FCFLAGS_f90} $S/get_model.f90
 
-$O/get_model.o: constants.h get_model.f90
-	${FCCOMPILE_CHECK} -c -o $O/get_model.o ${FCFLAGS_f90} get_model.f90
+$O/write_AVS_DX_global_faces_data.o: constants.h $S/write_AVS_DX_global_faces_data.f90
+	${FCCOMPILE_CHECK} -c -o $O/write_AVS_DX_global_faces_data.o ${FCFLAGS_f90} $S/write_AVS_DX_global_faces_data.f90
 
-$O/write_AVS_DX_global_faces_data.o: constants.h write_AVS_DX_global_faces_data.f90
-	${FCCOMPILE_CHECK} -c -o $O/write_AVS_DX_global_faces_data.o ${FCFLAGS_f90} write_AVS_DX_global_faces_data.f90
+$O/write_AVS_DX_global_chunks_data.o: constants.h $S/write_AVS_DX_global_chunks_data.f90
+	${FCCOMPILE_CHECK} -c -o $O/write_AVS_DX_global_chunks_data.o ${FCFLAGS_f90} $S/write_AVS_DX_global_chunks_data.f90
 
-$O/write_AVS_DX_global_chunks_data.o: constants.h write_AVS_DX_global_chunks_data.f90
-	${FCCOMPILE_CHECK} -c -o $O/write_AVS_DX_global_chunks_data.o ${FCFLAGS_f90} write_AVS_DX_global_chunks_data.f90
+$O/write_AVS_DX_surface_data.o: constants.h $S/write_AVS_DX_surface_data.f90
+	${FCCOMPILE_CHECK} -c -o $O/write_AVS_DX_surface_data.o ${FCFLAGS_f90} $S/write_AVS_DX_surface_data.f90
 
-$O/write_AVS_DX_surface_data.o: constants.h write_AVS_DX_surface_data.f90
-	${FCCOMPILE_CHECK} -c -o $O/write_AVS_DX_surface_data.o ${FCFLAGS_f90} write_AVS_DX_surface_data.f90
+$O/write_AVS_DX_global_data.o: constants.h $S/write_AVS_DX_global_data.f90
+	${FCCOMPILE_CHECK} -c -o $O/write_AVS_DX_global_data.o ${FCFLAGS_f90} $S/write_AVS_DX_global_data.f90
 
-$O/write_AVS_DX_global_data.o: constants.h write_AVS_DX_global_data.f90
-	${FCCOMPILE_CHECK} -c -o $O/write_AVS_DX_global_data.o ${FCFLAGS_f90} write_AVS_DX_global_data.f90
+$O/get_shape3D.o: constants.h $S/get_shape3D.f90
+	${FCCOMPILE_CHECK} -c -o $O/get_shape3D.o ${FCFLAGS_f90} $S/get_shape3D.f90
 
-$O/get_shape3D.o: constants.h get_shape3D.f90
-	${FCCOMPILE_CHECK} -c -o $O/get_shape3D.o ${FCFLAGS_f90} get_shape3D.f90
+$O/get_shape2D.o: constants.h $S/get_shape2D.f90
+	${FCCOMPILE_CHECK} -c -o $O/get_shape2D.o ${FCFLAGS_f90} $S/get_shape2D.f90
 
-$O/get_shape2D.o: constants.h get_shape2D.f90
-	${FCCOMPILE_CHECK} -c -o $O/get_shape2D.o ${FCFLAGS_f90} get_shape2D.f90
+$O/hex_nodes.o: constants.h $S/hex_nodes.f90
+	${FCCOMPILE_CHECK} -c -o $O/hex_nodes.o ${FCFLAGS_f90} $S/hex_nodes.f90
 
-$O/hex_nodes.o: constants.h hex_nodes.f90
-	${FCCOMPILE_CHECK} -c -o $O/hex_nodes.o ${FCFLAGS_f90} hex_nodes.f90
+$O/intgrl.o: constants.h $S/intgrl.f90
+	${FCCOMPILE_CHECK} -c -o $O/intgrl.o ${FCFLAGS_f90} $S/intgrl.f90
 
-$O/intgrl.o: constants.h intgrl.f90
-	${FCCOMPILE_CHECK} -c -o $O/intgrl.o ${FCFLAGS_f90} intgrl.f90
+$O/mantle_model.o: constants.h $S/mantle_model.f90
+	${FCCOMPILE_CHECK} -c -o $O/mantle_model.o ${FCFLAGS_f90} $S/mantle_model.f90
 
-$O/mantle_model.o: constants.h mantle_model.f90
-	${FCCOMPILE_CHECK} -c -o $O/mantle_model.o ${FCFLAGS_f90} mantle_model.f90
+$O/get_absorb.o: constants.h $S/get_absorb.f90
+	${FCCOMPILE_CHECK} -c -o $O/get_absorb.o ${FCFLAGS_f90} $S/get_absorb.f90
 
-$O/get_absorb.o: constants.h get_absorb.f90
-	${FCCOMPILE_CHECK} -c -o $O/get_absorb.o ${FCFLAGS_f90} get_absorb.f90
+$O/euler_angles.o: constants.h $S/euler_angles.f90
+	${FCCOMPILE_CHECK} -c -o $O/euler_angles.o ${FCFLAGS_f90} $S/euler_angles.f90
 
-$O/euler_angles.o: constants.h euler_angles.f90
-	${FCCOMPILE_CHECK} -c -o $O/euler_angles.o ${FCFLAGS_f90} euler_angles.f90
-
 ## use MPI here
-$O/program_meshfem3D.o: constants.h program_meshfem3D.f90
-	${MPIFCCOMPILE_CHECK} -c -o $O/program_meshfem3D.o ${FCFLAGS_f90} program_meshfem3D.f90
+$O/meshfem3D.o: constants.h $S/meshfem3D.f90
+	${MPIFCCOMPILE_CHECK} -c -o $O/meshfem3D.o ${FCFLAGS_f90} $S/meshfem3D.f90
 
-## use MPI here
-$O/meshfem3D.o: constants.h meshfem3D.f90
-	${MPIFCCOMPILE_CHECK} -c -o $O/meshfem3D.o ${FCFLAGS_f90} meshfem3D.f90
+$O/spline_routines.o: constants.h $S/spline_routines.f90
+	${FCCOMPILE_CHECK} -c -o $O/spline_routines.o ${FCFLAGS_f90} $S/spline_routines.f90
 
-$O/spline_routines.o: constants.h spline_routines.f90
-	${FCCOMPILE_CHECK} -c -o $O/spline_routines.o ${FCFLAGS_f90} spline_routines.f90
+$O/netlib_specfun_erf.o: $S/netlib_specfun_erf.f90
+	${FCCOMPILE_CHECK} -c -o $O/netlib_specfun_erf.o ${FCFLAGS_f90} $S/netlib_specfun_erf.f90
 
-$O/netlib_specfun_erf.o: netlib_specfun_erf.f90
-	${FCCOMPILE_CHECK} -c -o $O/netlib_specfun_erf.o ${FCFLAGS_f90} netlib_specfun_erf.f90
+$O/lgndr.o: constants.h $S/lgndr.f90
+	${FCCOMPILE_CHECK} -c -o $O/lgndr.o ${FCFLAGS_f90} $S/lgndr.f90
 
-$O/lgndr.o: constants.h lgndr.f90
-	${FCCOMPILE_CHECK} -c -o $O/lgndr.o ${FCFLAGS_f90} lgndr.f90
+$O/model_prem.o: constants.h $S/model_prem.f90
+	${FCCOMPILE_CHECK} -c -o $O/model_prem.o ${FCFLAGS_f90} $S/model_prem.f90
 
-$O/model_prem.o: constants.h model_prem.f90
-	${FCCOMPILE_CHECK} -c -o $O/model_prem.o ${FCFLAGS_f90} model_prem.f90
+$O/model_iasp91.o: constants.h $S/model_iasp91.f90
+	${FCCOMPILE_CHECK} -c -o $O/model_iasp91.o ${FCFLAGS_f90} $S/model_iasp91.f90
 
-$O/model_iasp91.o: constants.h model_iasp91.f90
-	${FCCOMPILE_CHECK} -c -o $O/model_iasp91.o ${FCFLAGS_f90} model_iasp91.f90
+$O/model_1066a.o: constants.h $S/model_1066a.f90
+	${FCCOMPILE_CHECK} -c -o $O/model_1066a.o ${FCFLAGS_f90} $S/model_1066a.f90
 
-$O/model_1066a.o: constants.h model_1066a.f90
-	${FCCOMPILE_CHECK} -c -o $O/model_1066a.o ${FCFLAGS_f90} model_1066a.f90
+$O/model_ak135.o: constants.h $S/model_ak135.f90
+	${FCCOMPILE_CHECK} -c -o $O/model_ak135.o ${FCFLAGS_f90} $S/model_ak135.f90
 
-$O/model_ak135.o: constants.h model_ak135.f90
-	${FCCOMPILE_CHECK} -c -o $O/model_ak135.o ${FCFLAGS_f90} model_ak135.f90
+$O/model_ref.o: constants.h $S/model_ref.f90
+	${FCCOMPILE_CHECK} -c -o $O/model_ref.o ${FCFLAGS_f90} $S/model_ref.f90
 
-$O/model_ref.o: constants.h model_ref.f90
-	${FCCOMPILE_CHECK} -c -o $O/model_ref.o ${FCFLAGS_f90} model_ref.f90
+$O/anisotropic_mantle_model.o: constants.h $S/anisotropic_mantle_model.f90
+	${FCCOMPILE_CHECK} -c -o $O/anisotropic_mantle_model.o ${FCFLAGS_f90} $S/anisotropic_mantle_model.f90
 
-$O/anisotropic_mantle_model.o: constants.h anisotropic_mantle_model.f90
-	${FCCOMPILE_CHECK} -c -o $O/anisotropic_mantle_model.o ${FCFLAGS_f90} anisotropic_mantle_model.f90
+$O/anisotropic_inner_core_model.o: constants.h $S/anisotropic_inner_core_model.f90
+	${FCCOMPILE_CHECK} -c -o $O/anisotropic_inner_core_model.o ${FCFLAGS_f90} $S/anisotropic_inner_core_model.f90
 
-$O/anisotropic_inner_core_model.o: constants.h anisotropic_inner_core_model.f90
-	${FCCOMPILE_CHECK} -c -o $O/anisotropic_inner_core_model.o ${FCFLAGS_f90} anisotropic_inner_core_model.f90
+$O/reduce.o: constants.h $S/reduce.f90
+	${FCCOMPILE_CHECK} -c -o $O/reduce.o ${FCFLAGS_f90} $S/reduce.f90
 
-$O/reduce.o: constants.h reduce.f90
-	${FCCOMPILE_CHECK} -c -o $O/reduce.o ${FCFLAGS_f90} reduce.f90
+$O/save_arrays_solver.o: constants.h $S/save_arrays_solver.f90
+	${FCCOMPILE_CHECK} -c -o $O/save_arrays_solver.o ${FCFLAGS_f90} $S/save_arrays_solver.f90
 
-$O/save_arrays_solver.o: constants.h save_arrays_solver.f90
-	${FCCOMPILE_CHECK} -c -o $O/save_arrays_solver.o ${FCFLAGS_f90} save_arrays_solver.f90
+$O/save_header_file.o: constants.h $S/save_header_file.f90
+	${FCCOMPILE_CHECK} -c -o $O/save_header_file.o ${FCFLAGS_f90} $S/save_header_file.f90
 
-$O/save_header_file.o: constants.h save_header_file.f90
-	${FCCOMPILE_CHECK} -c -o $O/save_header_file.o ${FCFLAGS_f90} save_header_file.f90
+$O/comp_source_spectrum.o: constants.h $S/comp_source_spectrum.f90
+	${FCCOMPILE_CHECK} -c -o $O/comp_source_spectrum.o ${FCFLAGS_f90} $S/comp_source_spectrum.f90
 
-$O/comp_source_spectrum.o: constants.h comp_source_spectrum.f90
-	${FCCOMPILE_CHECK} -c -o $O/comp_source_spectrum.o ${FCFLAGS_f90} comp_source_spectrum.f90
+$O/add_topography.o: constants.h $S/add_topography.f90
+	${FCCOMPILE_CHECK} -c -o $O/add_topography.o ${FCFLAGS_f90} $S/add_topography.f90
 
-$O/add_topography.o: constants.h add_topography.f90
-	${FCCOMPILE_CHECK} -c -o $O/add_topography.o ${FCFLAGS_f90} add_topography.f90
+$O/moho_stretching.o: constants.h $S/moho_stretching.f90
+	${FCCOMPILE_CHECK} -c -o $O/moho_stretching.o ${FCFLAGS_f90} $S/moho_stretching.f90
 
-$O/moho_stretching.o: constants.h  moho_stretching.f90
-	${FCCOMPILE_CHECK} -c -o $O/moho_stretching.o ${FCFLAGS_f90} moho_stretching.f90
+$O/add_topography_410_650.o: constants.h $S/add_topography_410_650.f90
+	${FCCOMPILE_CHECK} -c -o $O/add_topography_410_650.o ${FCFLAGS_f90} $S/add_topography_410_650.f90
 
-$O/add_topography_410_650.o: constants.h add_topography_410_650.f90
-	${FCCOMPILE_CHECK} -c -o $O/add_topography_410_650.o ${FCFLAGS_f90} add_topography_410_650.f90
+$O/add_topography_cmb.o: constants.h $S/add_topography_cmb.f90
+	${FCCOMPILE_CHECK} -c -o $O/add_topography_cmb.o ${FCFLAGS_f90} $S/add_topography_cmb.f90
 
-$O/add_topography_cmb.o: constants.h add_topography_cmb.f90
-	${FCCOMPILE_CHECK} -c -o $O/add_topography_cmb.o ${FCFLAGS_f90} add_topography_cmb.f90
+$O/add_topography_icb.o: constants.h $S/add_topography_icb.f90
+	${FCCOMPILE_CHECK} -c -o $O/add_topography_icb.o ${FCFLAGS_f90} $S/add_topography_icb.f90
 
-$O/add_topography_icb.o: constants.h add_topography_icb.f90
-	${FCCOMPILE_CHECK} -c -o $O/add_topography_icb.o ${FCFLAGS_f90} add_topography_icb.f90
+$O/write_movie_volume.o: constants.h $S/write_movie_volume.f90
+	${MPIFCCOMPILE_CHECK} -c -o $O/write_movie_volume.o ${FCFLAGS_f90} $S/write_movie_volume.f90
 
-$O/write_movie_volume.o: constants.h write_movie_volume.f90
-	${MPIFCCOMPILE_CHECK} -c -o $O/write_movie_volume.o ${FCFLAGS_f90} write_movie_volume.f90
+$O/write_seismograms.o: constants.h $S/write_seismograms.f90
+	${MPIFCCOMPILE_CHECK} -c -o $O/write_seismograms.o ${FCFLAGS_f90} $S/write_seismograms.f90
 
-$O/write_seismograms.o: constants.h write_seismograms.f90
-	${MPIFCCOMPILE_CHECK} -c -o $O/write_seismograms.o ${FCFLAGS_f90} write_seismograms.f90
+$O/calendar.o: $S/calendar.f90
+	${FCCOMPILE_CHECK} -c -o $O/calendar.o ${FCFLAGS_f90} $S/calendar.f90
 
-$O/calendar.o: calendar.f90
-	${FCCOMPILE_CHECK} -c -o $O/calendar.o ${FCFLAGS_f90} calendar.f90
+$O/convert_time.o: $S/convert_time.f90
+	${FCCOMPILE_CHECK} -c -o $O/convert_time.o ${FCFLAGS_f90} $S/convert_time.f90
 
-$O/convert_time.o: convert_time.f90
-	${FCCOMPILE_CHECK} -c -o $O/convert_time.o ${FCFLAGS_f90} convert_time.f90
+$O/lagrange_poly.o: constants.h $S/lagrange_poly.f90
+	${FCCOMPILE_CHECK} -c -o $O/lagrange_poly.o ${FCFLAGS_f90} $S/lagrange_poly.f90
 
-$O/lagrange_poly.o: constants.h lagrange_poly.f90
-	${FCCOMPILE_CHECK} -c -o $O/lagrange_poly.o ${FCFLAGS_f90} lagrange_poly.f90
+$O/recompute_jacobian.o: constants.h $S/recompute_jacobian.f90
+	${FCCOMPILE_CHECK} -c -o $O/recompute_jacobian.o ${FCFLAGS_f90} $S/recompute_jacobian.f90
 
-$O/recompute_jacobian.o: constants.h recompute_jacobian.f90
-	${FCCOMPILE_CHECK} -c -o $O/recompute_jacobian.o ${FCFLAGS_f90} recompute_jacobian.f90
+$O/create_regions_mesh.o: constants.h $S/create_regions_mesh.f90
+	${FCCOMPILE_CHECK} -c -o $O/create_regions_mesh.o ${FCFLAGS_f90} $S/create_regions_mesh.f90
 
-$O/create_regions_mesh.o: constants.h create_regions_mesh.f90
-	${FCCOMPILE_CHECK} -c -o $O/create_regions_mesh.o ${FCFLAGS_f90} create_regions_mesh.f90
+$O/create_name_database.o: constants.h $S/create_name_database.f90
+	${FCCOMPILE_CHECK} -c -o $O/create_name_database.o ${FCFLAGS_f90} $S/create_name_database.f90
 
-$O/create_name_database.o: constants.h create_name_database.f90
-	${FCCOMPILE_CHECK} -c -o $O/create_name_database.o ${FCFLAGS_f90} create_name_database.f90
+$O/create_serial_name_database.o: constants.h $S/create_serial_name_database.f90
+	${FCCOMPILE_CHECK} -c -o $O/create_serial_name_database.o ${FCFLAGS_f90} $S/create_serial_name_database.f90
 
-$O/create_serial_name_database.o: constants.h create_serial_name_database.f90
-	${FCCOMPILE_CHECK} -c -o $O/create_serial_name_database.o ${FCFLAGS_f90} create_serial_name_database.f90
-
 ## use MPI here
-$O/read_arrays_buffers_solver.o: constants.h read_arrays_buffers_solver.f90
-	${MPIFCCOMPILE_CHECK} -c -o $O/read_arrays_buffers_solver.o ${FCFLAGS_f90} read_arrays_buffers_solver.f90
+$O/read_arrays_buffers_solver.o: constants.h $S/read_arrays_buffers_solver.f90
+	${MPIFCCOMPILE_CHECK} -c -o $O/read_arrays_buffers_solver.o ${FCFLAGS_f90} $S/read_arrays_buffers_solver.f90
 
-$O/define_derivation_matrices.o: constants.h define_derivation_matrices.f90
-	${FCCOMPILE_CHECK} -c -o $O/define_derivation_matrices.o ${FCFLAGS_f90} define_derivation_matrices.f90
+$O/define_derivation_matrices.o: constants.h $S/define_derivation_matrices.f90
+	${FCCOMPILE_CHECK} -c -o $O/define_derivation_matrices.o ${FCFLAGS_f90} $S/define_derivation_matrices.f90
 
-$O/compute_arrays_source.o: constants.h compute_arrays_source.f90
-	${FCCOMPILE_CHECK} -c -o $O/compute_arrays_source.o ${FCFLAGS_f90} compute_arrays_source.f90
+$O/compute_arrays_source.o: constants.h $S/compute_arrays_source.f90
+	${FCCOMPILE_CHECK} -c -o $O/compute_arrays_source.o ${FCFLAGS_f90} $S/compute_arrays_source.f90
 
-$O/compute_boundary_kernel.o: constants.h compute_boundary_kernel.f90
-	${FCCOMPILE_CHECK} -c -o $O/compute_boundary_kernel.o ${FCFLAGS_f90} compute_boundary_kernel.f90
+$O/compute_boundary_kernel.o: constants.h $S/compute_boundary_kernel.f90
+	${FCCOMPILE_CHECK} -c -o $O/compute_boundary_kernel.o ${FCFLAGS_f90} $S/compute_boundary_kernel.f90
 
-$O/create_central_cube_buffers.o: constants.h create_central_cube_buffers.f90
-	${MPIFCCOMPILE_CHECK} -c -o $O/create_central_cube_buffers.o ${FCFLAGS_f90} create_central_cube_buffers.f90
+$O/create_central_cube_buffers.o: constants.h $S/create_central_cube_buffers.f90
+	${MPIFCCOMPILE_CHECK} -c -o $O/create_central_cube_buffers.o ${FCFLAGS_f90} $S/create_central_cube_buffers.f90
 
-$O/attenuation_model.o: constants.h attenuation_model.f90 $O/model_ak135.o $O/model_1066a.o $O/model_ref.o
-	${MPIFCCOMPILE_CHECK} -c -o $O/attenuation_model.o ${FCFLAGS_f90} attenuation_model.f90
+$O/attenuation_model.o: constants.h $S/attenuation_model.f90 $O/model_ak135.o $O/model_1066a.o $O/model_ref.o
+	${MPIFCCOMPILE_CHECK} -c -o $O/attenuation_model.o ${FCFLAGS_f90} $S/attenuation_model.f90
 
-$O/gll_library.o: constants.h gll_library.f90
-	${FCCOMPILE_CHECK} -c -o $O/gll_library.o ${FCFLAGS_f90} gll_library.f90
+$O/gll_library.o: constants.h $S/gll_library.f90
+	${FCCOMPILE_CHECK} -c -o $O/gll_library.o ${FCFLAGS_f90} $S/gll_library.f90
 
-$O/combine_vol_data.o: constants.h combine_vol_data.f90
-	${FCCOMPILE_CHECK} -c -o $O/combine_vol_data.o ${FCFLAGS_f90} combine_vol_data.f90
+$O/combine_vol_data.o: constants.h $S/combine_vol_data.f90
+	${FCCOMPILE_CHECK} -c -o $O/combine_vol_data.o ${FCFLAGS_f90} $S/combine_vol_data.f90
 
-$O/combine_paraview_strain_data.o: constants.h combine_paraview_strain_data.f90
-	${FCCOMPILE_CHECK} -c -o $O/combine_paraview_strain_data.o ${FCFLAGS_f90} combine_paraview_strain_data.f90
+$O/combine_paraview_strain_data.o: constants.h $S/combine_paraview_strain_data.f90
+	${FCCOMPILE_CHECK} -c -o $O/combine_paraview_strain_data.o ${FCFLAGS_f90} $S/combine_paraview_strain_data.f90
 
-$O/combine_surf_data.o: constants.h combine_surf_data.f90
-	${FCCOMPILE_CHECK} -c -o $O/combine_surf_data.o ${FCFLAGS_f90} combine_surf_data.f90
+$O/combine_surf_data.o: constants.h $S/combine_surf_data.f90
+	${FCCOMPILE_CHECK} -c -o $O/combine_surf_data.o ${FCFLAGS_f90} $S/combine_surf_data.f90
 
-$O/write_c_binary.o: write_c_binary.c config.h
-	$(CC) $(CFLAGS) -c -o $O/write_c_binary.o write_c_binary.c
+$O/write_c_binary.o: $S/write_c_binary.c config.h
+	$(CC) $(CPPFLAGS) $(CFLAGS) -c -o $O/write_c_binary.o $S/write_c_binary.c
 
-$O/add_missing_nodes.o: constants.h add_missing_nodes.f90
-	${FCCOMPILE_CHECK} -c -o $O/add_missing_nodes.o ${FCFLAGS_f90} add_missing_nodes.f90
+$O/add_missing_nodes.o: constants.h $S/add_missing_nodes.f90
+	${FCCOMPILE_CHECK} -c -o $O/add_missing_nodes.o ${FCFLAGS_f90} $S/add_missing_nodes.f90
 
-$O/compute_coordinates_grid.o: constants.h compute_coordinates_grid.f90
-	${FCCOMPILE_CHECK} -c -o $O/compute_coordinates_grid.o ${FCFLAGS_f90} compute_coordinates_grid.f90
+$O/compute_coordinates_grid.o: constants.h $S/compute_coordinates_grid.f90
+	${FCCOMPILE_CHECK} -c -o $O/compute_coordinates_grid.o ${FCFLAGS_f90} $S/compute_coordinates_grid.f90
 
-$O/compute_element_properties.o: constants.h compute_element_properties.f90
-	${FCCOMPILE_CHECK} -c -o $O/compute_element_properties.o ${FCFLAGS_f90} compute_element_properties.f90
+$O/compute_element_properties.o: constants.h $S/compute_element_properties.f90
+	${FCCOMPILE_CHECK} -c -o $O/compute_element_properties.o ${FCFLAGS_f90} $S/compute_element_properties.f90
 
-$O/define_superbrick.o: constants.h define_superbrick.f90
-	${FCCOMPILE_CHECK} -c -o $O/define_superbrick.o ${FCFLAGS_f90} define_superbrick.f90
+$O/define_superbrick.o: constants.h $S/define_superbrick.f90
+	${FCCOMPILE_CHECK} -c -o $O/define_superbrick.o ${FCFLAGS_f90} $S/define_superbrick.f90
 
-$O/stretching_function.o: constants.h stretching_function.f90
-	${FCCOMPILE_CHECK} -c -o $O/stretching_function.o ${FCFLAGS_f90} stretching_function.f90
+$O/stretching_function.o: constants.h $S/stretching_function.f90
+	${FCCOMPILE_CHECK} -c -o $O/stretching_function.o ${FCFLAGS_f90} $S/stretching_function.f90
 
-$O/read_compute_parameters.o: constants.h read_compute_parameters.f90
-	${FCCOMPILE_CHECK} -c -o $O/read_compute_parameters.o ${FCFLAGS_f90} read_compute_parameters.f90
+$O/read_compute_parameters.o: constants.h $S/read_compute_parameters.f90
+	${FCCOMPILE_CHECK} -c -o $O/read_compute_parameters.o ${FCFLAGS_f90} $S/read_compute_parameters.f90
 
-$O/auto_ner.o: constants.h auto_ner.f90
-	${FCCOMPILE_CHECK} -c -o $O/auto_ner.o ${FCFLAGS_f90} auto_ner.f90
+$O/auto_ner.o: constants.h $S/auto_ner.f90
+	${FCCOMPILE_CHECK} -c -o $O/auto_ner.o ${FCFLAGS_f90} $S/auto_ner.f90
 
-$O/memory_eval.o: constants.h memory_eval.f90
-	${FCCOMPILE_CHECK} -c -o $O/memory_eval.o ${FCFLAGS_f90} memory_eval.f90
+$O/memory_eval.o: constants.h $S/memory_eval.f90
+	${FCCOMPILE_CHECK} -c -o $O/memory_eval.o ${FCFLAGS_f90} $S/memory_eval.f90
 
-$O/get_backazimuth.o: constants.h get_backazimuth.f90
-	${FCCOMPILE_CHECK} -c -o $O/get_backazimuth.o ${FCFLAGS_f90} get_backazimuth.f90
+$O/get_backazimuth.o: constants.h $S/get_backazimuth.f90
+	${FCCOMPILE_CHECK} -c -o $O/get_backazimuth.o ${FCFLAGS_f90} $S/get_backazimuth.f90
 
-$O/s362ani.o: constants.h s362ani.f90
-	${FCCOMPILE_CHECK} -c -o $O/s362ani.o ${FCFLAGS_f90} s362ani.f90
+$O/s362ani.o: constants.h $S/s362ani.f90
+	${FCCOMPILE_CHECK} -c -o $O/s362ani.o ${FCFLAGS_f90} $S/s362ani.f90
 
 ###
 ### rule for the header file
 ###
 
- at COND_PYRE_FALSE@OUTPUT_FILES/values_from_mesher.h: xcreate_header_file
- at COND_PYRE_FALSE@	./xcreate_header_file
-
-###
-### additional rules for the Pyrized version
-###
-
-$O/misc.o: misc.c config.h
-	${MPICC} $(CFLAGS) -c $(PYTHON_CFLAGS) -o $O/misc.o misc.c
-
-$O/PyxParameters.o: PyxParameters.c config.h
-	${CC} -c $(CFLAGS) $(PYTHON_CFLAGS) -o $O/PyxParameters.o PyxParameters.c
-
-$O/PyxMeshfem.o: PyxMeshfem.c config.h
-	${CC} -c $(CFLAGS) $(PYTHON_CFLAGS) -o $O/PyxMeshfem.o PyxMeshfem.c
-
-$O/PyxSpecfem.o: PyxSpecfem.c config.h
-	${CC} -c $(CFLAGS) $(PYTHON_CFLAGS) -o $O/PyxSpecfem.o PyxSpecfem.c
-
-$O/trampoline.o: trampoline.f90
-	${FCCOMPILE_NO_CHECK} -c -o $O/trampoline.o ${FCFLAGS_f90} trampoline.f90
-
-# target to update the Pyrex-generated code
-# requires Pyrex:  http://www.cosc.canterbury.ac.nz/~greg/python/Pyrex/
-pyrex:
-	pyrexc PyxParameters.pyx -o PyxParameters.c
-	pyrexc PyxMeshfem.pyx -o PyxMeshfem.c
-	pyrexc PyxSpecfem.pyx -o PyxSpecfem.c
+OUTPUT_FILES/values_from_mesher.h: xcreate_header_file
+	mkdir -p OUTPUT_FILES
+	./xcreate_header_file

Deleted: seismo/3D/SPECFEM3D_GLOBE/tags/v4.0.1-portal/PyxMeshfem.c
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/tags/v4.0.1/PyxMeshfem.c	2008-07-01 22:46:03 UTC (rev 12364)
+++ seismo/3D/SPECFEM3D_GLOBE/tags/v4.0.1-portal/PyxMeshfem.c	2008-07-01 23:52:59 UTC (rev 12365)
@@ -1,264 +0,0 @@
-/* Generated by Pyrex 0.9.3 on Wed Aug  9 17:36:08 2006 */
-
-#include "Python.h"
-#include "structmember.h"
-#ifndef PY_LONG_LONG
-  #define PY_LONG_LONG LONG_LONG
-#endif
-#include "config.h"
-
-
-typedef struct {PyObject **p; char *s;} __Pyx_InternTabEntry; /*proto*/
-typedef struct {PyObject **p; char *s; long n;} __Pyx_StringTabEntry; /*proto*/
-static PyObject *__Pyx_UnpackItem(PyObject *, int); /*proto*/
-static int __Pyx_EndUnpack(PyObject *, int); /*proto*/
-static int __Pyx_PrintItem(PyObject *); /*proto*/
-static int __Pyx_PrintNewline(void); /*proto*/
-static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb); /*proto*/
-static void __Pyx_ReRaise(void); /*proto*/
-static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list); /*proto*/
-static PyObject *__Pyx_GetExcValue(void); /*proto*/
-static int __Pyx_ArgTypeTest(PyObject *obj, PyTypeObject *type, int none_allowed, char *name); /*proto*/
-static int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type); /*proto*/
-static int __Pyx_GetStarArgs(PyObject **args, PyObject **kwds, char *kwd_list[], int nargs, PyObject **args2, PyObject **kwds2); /*proto*/
-static void __Pyx_WriteUnraisable(char *name); /*proto*/
-static void __Pyx_AddTraceback(char *funcname); /*proto*/
-static PyTypeObject *__Pyx_ImportType(char *module_name, char *class_name, long size);  /*proto*/
-static int __Pyx_SetVtable(PyObject *dict, void *vtable); /*proto*/
-static int __Pyx_GetVtable(PyObject *dict, void *vtabptr); /*proto*/
-static PyObject *__Pyx_CreateClass(PyObject *bases, PyObject *dict, PyObject *name, char *modname); /*proto*/
-static int __Pyx_InternStrings(__Pyx_InternTabEntry *t); /*proto*/
-static int __Pyx_InitStrings(__Pyx_StringTabEntry *t); /*proto*/
-static PyObject *__Pyx_GetName(PyObject *dict, PyObject *name); /*proto*/
-
-static PyObject *__pyx_m;
-static PyObject *__pyx_b;
-static int __pyx_lineno;
-static char *__pyx_filename;
-staticforward char **__pyx_f;
-
-static char __pyx_mdoc[] = "Python bindings for the SPECFEM3D Global Solver.";
-
-/* Declarations from PyxMeshfem */
-
-void (FC_FUNC(meshfem3d, MESHFEM3D)(void)); /*proto*/
-void (FC_FUNC_(read_params_and_create_movie, READ_PARAMS_AND_CREATE_MOVIE)(void)); /*proto*/
-
-/* Implementation of PyxMeshfem */
-
-static PyObject *__pyx_n_meshfem3D;
-static PyObject *__pyx_n_read_params_and_create_movie;
-
-static PyObject *__pyx_n_PyxParameters;
-static PyObject *__pyx_n_component;
-
-
-static PyObject *__pyx_f_10PyxMeshfem_meshfem3D(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static char __pyx_doc_10PyxMeshfem_meshfem3D[] = "Run the SPECFEM3D Global Mesher.";
-static PyObject *__pyx_f_10PyxMeshfem_meshfem3D(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
-  PyObject *__pyx_v_arg = 0;
-  PyObject *__pyx_v_PyxParameters;
-  PyObject *__pyx_r;
-  PyObject *__pyx_1 = 0;
-  static char *__pyx_argnames[] = {"arg",0};
-  if (!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "O", __pyx_argnames, &__pyx_v_arg)) return 0;
-  Py_INCREF(__pyx_v_arg);
-  __pyx_v_PyxParameters = Py_None; Py_INCREF(__pyx_v_PyxParameters);
-
-  /* "/ibrixfs1/home/lstrand/dv/SPECFEM3D_GLOBE/PyxMeshfem.pyx":17 */
-  __pyx_1 = __Pyx_Import(__pyx_n_PyxParameters, 0); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 17; goto __pyx_L1;}
-  Py_DECREF(__pyx_v_PyxParameters);
-  __pyx_v_PyxParameters = __pyx_1;
-  __pyx_1 = 0;
-
-  /* "/ibrixfs1/home/lstrand/dv/SPECFEM3D_GLOBE/PyxMeshfem.pyx":18 */
-  if (PyObject_SetAttr(__pyx_v_PyxParameters, __pyx_n_component, __pyx_v_arg) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 18; goto __pyx_L1;}
-
-  /* "/ibrixfs1/home/lstrand/dv/SPECFEM3D_GLOBE/PyxMeshfem.pyx":19 */
-  FC_FUNC(meshfem3d, MESHFEM3D)(); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 19; goto __pyx_L1;}
-
-  __pyx_r = Py_None; Py_INCREF(__pyx_r);
-  goto __pyx_L0;
-  __pyx_L1:;
-  Py_XDECREF(__pyx_1);
-  __Pyx_AddTraceback("PyxMeshfem.meshfem3D");
-  __pyx_r = 0;
-  __pyx_L0:;
-  Py_DECREF(__pyx_v_PyxParameters);
-  Py_DECREF(__pyx_v_arg);
-  return __pyx_r;
-}
-
-
-static PyObject *__pyx_f_10PyxMeshfem_read_params_and_create_movie(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static char __pyx_doc_10PyxMeshfem_read_params_and_create_movie[] = "Create a movie.";
-static PyObject *__pyx_f_10PyxMeshfem_read_params_and_create_movie(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
-  PyObject *__pyx_v_arg = 0;
-  PyObject *__pyx_v_PyxParameters;
-  PyObject *__pyx_r;
-  PyObject *__pyx_1 = 0;
-  static char *__pyx_argnames[] = {"arg",0};
-  if (!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "O", __pyx_argnames, &__pyx_v_arg)) return 0;
-  Py_INCREF(__pyx_v_arg);
-  __pyx_v_PyxParameters = Py_None; Py_INCREF(__pyx_v_PyxParameters);
-
-  /* "/ibrixfs1/home/lstrand/dv/SPECFEM3D_GLOBE/PyxMeshfem.pyx":25 */
-  __pyx_1 = __Pyx_Import(__pyx_n_PyxParameters, 0); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 25; goto __pyx_L1;}
-  Py_DECREF(__pyx_v_PyxParameters);
-  __pyx_v_PyxParameters = __pyx_1;
-  __pyx_1 = 0;
-
-  /* "/ibrixfs1/home/lstrand/dv/SPECFEM3D_GLOBE/PyxMeshfem.pyx":26 */
-  if (PyObject_SetAttr(__pyx_v_PyxParameters, __pyx_n_component, __pyx_v_arg) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 26; goto __pyx_L1;}
-
-  /* "/ibrixfs1/home/lstrand/dv/SPECFEM3D_GLOBE/PyxMeshfem.pyx":27 */
-  FC_FUNC_(read_params_and_create_movie, READ_PARAMS_AND_CREATE_MOVIE)(); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 27; goto __pyx_L1;}
-
-  __pyx_r = Py_None; Py_INCREF(__pyx_r);
-  goto __pyx_L0;
-  __pyx_L1:;
-  Py_XDECREF(__pyx_1);
-  __Pyx_AddTraceback("PyxMeshfem.read_params_and_create_movie");
-  __pyx_r = 0;
-  __pyx_L0:;
-  Py_DECREF(__pyx_v_PyxParameters);
-  Py_DECREF(__pyx_v_arg);
-  return __pyx_r;
-}
-
-static __Pyx_InternTabEntry __pyx_intern_tab[] = {
-  {&__pyx_n_PyxParameters, "PyxParameters"},
-  {&__pyx_n_component, "component"},
-  {&__pyx_n_meshfem3D, "meshfem3D"},
-  {&__pyx_n_read_params_and_create_movie, "read_params_and_create_movie"},
-  {0, 0}
-};
-
-static struct PyMethodDef __pyx_methods[] = {
-  {"meshfem3D", (PyCFunction)__pyx_f_10PyxMeshfem_meshfem3D, METH_VARARGS|METH_KEYWORDS, __pyx_doc_10PyxMeshfem_meshfem3D},
-  {"read_params_and_create_movie", (PyCFunction)__pyx_f_10PyxMeshfem_read_params_and_create_movie, METH_VARARGS|METH_KEYWORDS, __pyx_doc_10PyxMeshfem_read_params_and_create_movie},
-  {0, 0, 0, 0}
-};
-
-DL_EXPORT(void) initPyxMeshfem(void); /*proto*/
-DL_EXPORT(void) initPyxMeshfem(void) {
-  __pyx_m = Py_InitModule4("PyxMeshfem", __pyx_methods, __pyx_mdoc, 0, PYTHON_API_VERSION);
-  if (!__pyx_m) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 4; goto __pyx_L1;};
-  __pyx_b = PyImport_AddModule("__builtin__");
-  if (!__pyx_b) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 4; goto __pyx_L1;};
-  if (PyObject_SetAttrString(__pyx_m, "__builtins__", __pyx_b) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 4; goto __pyx_L1;};
-  if (__Pyx_InternStrings(__pyx_intern_tab) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 4; goto __pyx_L1;};
-
-  /* "/ibrixfs1/home/lstrand/dv/SPECFEM3D_GLOBE/PyxMeshfem.pyx":23 */
-  return;
-  __pyx_L1:;
-  __Pyx_AddTraceback("PyxMeshfem");
-}
-
-static char *__pyx_filenames[] = {
-  "PyxMeshfem.pyx",
-};
-statichere char **__pyx_f = __pyx_filenames;
-
-/* Runtime support code */
-
-static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list) {
-    PyObject *__import__ = 0;
-    PyObject *empty_list = 0;
-    PyObject *module = 0;
-    PyObject *global_dict = 0;
-    PyObject *empty_dict = 0;
-    PyObject *list;
-    __import__ = PyObject_GetAttrString(__pyx_b, "__import__");
-    if (!__import__)
-        goto bad;
-    if (from_list)
-        list = from_list;
-    else {
-        empty_list = PyList_New(0);
-        if (!empty_list)
-            goto bad;
-        list = empty_list;
-    }
-    global_dict = PyModule_GetDict(__pyx_m);
-    if (!global_dict)
-        goto bad;
-    empty_dict = PyDict_New();
-    if (!empty_dict)
-        goto bad;
-    module = PyObject_CallFunction(__import__, "OOOO",
-        name, global_dict, empty_dict, list);
-bad:
-    Py_XDECREF(empty_list);
-    Py_XDECREF(__import__);
-    Py_XDECREF(empty_dict);
-    return module;
-}
-
-static int __Pyx_InternStrings(__Pyx_InternTabEntry *t) {
-    while (t->p) {
-        *t->p = PyString_InternFromString(t->s);
-        if (!*t->p)
-            return -1;
-        ++t;
-    }
-    return 0;
-}
-
-#include "compile.h"
-#include "frameobject.h"
-#include "traceback.h"
-
-static void __Pyx_AddTraceback(char *funcname) {
-    PyObject *py_srcfile = 0;
-    PyObject *py_funcname = 0;
-    PyObject *py_globals = 0;
-    PyObject *empty_tuple = 0;
-    PyObject *empty_string = 0;
-    PyCodeObject *py_code = 0;
-    PyFrameObject *py_frame = 0;
-
-    py_srcfile = PyString_FromString(__pyx_filename);
-    if (!py_srcfile) goto bad;
-    py_funcname = PyString_FromString(funcname);
-    if (!py_funcname) goto bad;
-    py_globals = PyModule_GetDict(__pyx_m);
-    if (!py_globals) goto bad;
-    empty_tuple = PyTuple_New(0);
-    if (!empty_tuple) goto bad;
-    empty_string = PyString_FromString("");
-    if (!empty_string) goto bad;
-    py_code = PyCode_New(
-        0,            /*int argcount,*/
-        0,            /*int nlocals,*/
-        0,            /*int stacksize,*/
-        0,            /*int flags,*/
-        empty_string, /*PyObject *code,*/
-        empty_tuple,  /*PyObject *consts,*/
-        empty_tuple,  /*PyObject *names,*/
-        empty_tuple,  /*PyObject *varnames,*/
-        empty_tuple,  /*PyObject *freevars,*/
-        empty_tuple,  /*PyObject *cellvars,*/
-        py_srcfile,   /*PyObject *filename,*/
-        py_funcname,  /*PyObject *name,*/
-        __pyx_lineno,   /*int firstlineno,*/
-        empty_string  /*PyObject *lnotab*/
-    );
-    if (!py_code) goto bad;
-    py_frame = PyFrame_New(
-        PyThreadState_Get(), /*PyThreadState *tstate,*/
-        py_code,             /*PyCodeObject *code,*/
-        py_globals,          /*PyObject *globals,*/
-        0                    /*PyObject *locals*/
-    );
-    if (!py_frame) goto bad;
-    py_frame->f_lineno = __pyx_lineno;
-    PyTraceBack_Here(py_frame);
-bad:
-    Py_XDECREF(py_srcfile);
-    Py_XDECREF(py_funcname);
-    Py_XDECREF(empty_tuple);
-    Py_XDECREF(empty_string);
-    Py_XDECREF(py_code);
-    Py_XDECREF(py_frame);
-}

Deleted: seismo/3D/SPECFEM3D_GLOBE/tags/v4.0.1-portal/PyxMeshfem.pyx
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/tags/v4.0.1/PyxMeshfem.pyx	2008-07-01 22:46:03 UTC (rev 12364)
+++ seismo/3D/SPECFEM3D_GLOBE/tags/v4.0.1-portal/PyxMeshfem.pyx	2008-07-01 23:52:59 UTC (rev 12365)
@@ -1,30 +0,0 @@
-# Process this file with Pyrex to produce PyxMeshfem.c
-
-
-"""Python bindings for the SPECFEM3D Global Solver."""
-
-
-# include 'config.h' in order to get the definitions of FC_FUNC and FC_FUNC_
-cdef extern from "config.h":
-    pass
-
-
-# external Fortran functions
-
-cdef extern void meshfem3D_f "FC_FUNC(meshfem3d, MESHFEM3D)" () except *
-def meshfem3D(arg):
-    """Run the SPECFEM3D Global Mesher."""
-    import PyxParameters
-    PyxParameters.component = arg
-    meshfem3D_f()
-
-
-cdef extern void read_params_and_create_movie_f "FC_FUNC_(read_params_and_create_movie, READ_PARAMS_AND_CREATE_MOVIE)" () except *
-def read_params_and_create_movie(arg):
-    """Create a movie."""
-    import PyxParameters
-    PyxParameters.component = arg
-    read_params_and_create_movie_f()
-
-
-# end of file

Deleted: seismo/3D/SPECFEM3D_GLOBE/tags/v4.0.1-portal/PyxParameters.c
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/tags/v4.0.1/PyxParameters.c	2008-07-01 22:46:03 UTC (rev 12364)
+++ seismo/3D/SPECFEM3D_GLOBE/tags/v4.0.1-portal/PyxParameters.c	2008-07-01 23:52:59 UTC (rev 12365)
@@ -1,730 +0,0 @@
-/* Generated by Pyrex 0.9.3 on Fri May 12 09:19:49 2006 */
-
-#include "Python.h"
-#include "structmember.h"
-#ifndef PY_LONG_LONG
-  #define PY_LONG_LONG LONG_LONG
-#endif
-#include "config.h"
-#include "string.h"
-
-
-typedef struct {PyObject **p; char *s;} __Pyx_InternTabEntry; /*proto*/
-typedef struct {PyObject **p; char *s; long n;} __Pyx_StringTabEntry; /*proto*/
-static PyObject *__Pyx_UnpackItem(PyObject *, int); /*proto*/
-static int __Pyx_EndUnpack(PyObject *, int); /*proto*/
-static int __Pyx_PrintItem(PyObject *); /*proto*/
-static int __Pyx_PrintNewline(void); /*proto*/
-static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb); /*proto*/
-static void __Pyx_ReRaise(void); /*proto*/
-static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list); /*proto*/
-static PyObject *__Pyx_GetExcValue(void); /*proto*/
-static int __Pyx_ArgTypeTest(PyObject *obj, PyTypeObject *type, int none_allowed, char *name); /*proto*/
-static int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type); /*proto*/
-static int __Pyx_GetStarArgs(PyObject **args, PyObject **kwds, char *kwd_list[], int nargs, PyObject **args2, PyObject **kwds2); /*proto*/
-static void __Pyx_WriteUnraisable(char *name); /*proto*/
-static void __Pyx_AddTraceback(char *funcname); /*proto*/
-static PyTypeObject *__Pyx_ImportType(char *module_name, char *class_name, long size);  /*proto*/
-static int __Pyx_SetVtable(PyObject *dict, void *vtable); /*proto*/
-static int __Pyx_GetVtable(PyObject *dict, void *vtabptr); /*proto*/
-static PyObject *__Pyx_CreateClass(PyObject *bases, PyObject *dict, PyObject *name, char *modname); /*proto*/
-static int __Pyx_InternStrings(__Pyx_InternTabEntry *t); /*proto*/
-static int __Pyx_InitStrings(__Pyx_StringTabEntry *t); /*proto*/
-static PyObject *__Pyx_GetName(PyObject *dict, PyObject *name); /*proto*/
-
-static PyObject *__pyx_m;
-static PyObject *__pyx_b;
-static int __pyx_lineno;
-static char *__pyx_filename;
-staticforward char **__pyx_f;
-
-static char __pyx_mdoc[] = "Python bindings for the SPECFEM3D Global Solver.";
-
-/* Declarations from PyxParameters */
-
-DL_EXPORT(void) (FC_FUNC_(read_value_integer, READ_VALUE_INTEGER)(int (*),char (*),int )); /*proto*/
-DL_EXPORT(void) (FC_FUNC_(read_value_double_precision, READ_VALUE_DOUBLE_PRECISION)(double (*),char (*),int )); /*proto*/
-DL_EXPORT(void) (FC_FUNC_(read_value_logical, READ_VALUE_LOGICAL)(int (*),char (*),int )); /*proto*/
-DL_EXPORT(void) (FC_FUNC_(read_value_string, READ_VALUE_STRING)(char (*),char (*),int ,int )); /*proto*/
-DL_EXPORT(void) (FC_FUNC_(open_parameter_file, OPEN_PARAMETER_FILE)(void)); /*proto*/
-DL_EXPORT(void) (FC_FUNC_(close_parameter_file, CLOSE_PARAMETER_FILE)(void)); /*proto*/
-DL_EXPORT(void) (FC_FUNC_(get_value_integer, GET_VALUE_INTEGER)(int (*),char (*),int (*),int )); /*proto*/
-DL_EXPORT(void) (FC_FUNC_(get_value_double_precision, GET_VALUE_DOUBLE_PRECISION)(double (*),char (*),double (*),int )); /*proto*/
-DL_EXPORT(void) (FC_FUNC_(get_value_logical, GET_VALUE_LOGICAL)(int (*),char (*),int (*),int )); /*proto*/
-DL_EXPORT(void) (FC_FUNC_(get_value_string, GET_VALUE_STRING)(char (*),char (*),char (*),int ,int ,int )); /*proto*/
-void (FC_FUNC_(create_header_file, CREATE_HEADER_FILE)(void)); /*proto*/
-
-/* Implementation of PyxParameters */
-
-static PyObject *__pyx_n_component;
-static PyObject *__pyx_n_getValue;
-static PyObject *__pyx_n_create_header_file;
-
-static PyObject *__pyx_n_split;
-static PyObject *__pyx_n_getattr;
-
-static PyObject *__pyx_k1p;
-
-static char (__pyx_k1[]) = ".";
-
-static PyObject *__pyx_f_13PyxParameters_getValue(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static char __pyx_doc_13PyxParameters_getValue[] = "Get a value from the Python scripts.";
-static PyObject *__pyx_f_13PyxParameters_getValue(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
-  PyObject *__pyx_v_o = 0;
-  PyObject *__pyx_v_name = 0;
-  PyObject *__pyx_v_l;
-  PyObject *__pyx_v_n;
-  PyObject *__pyx_r;
-  PyObject *__pyx_1 = 0;
-  PyObject *__pyx_2 = 0;
-  PyObject *__pyx_3 = 0;
-  PyObject *__pyx_4 = 0;
-  static char *__pyx_argnames[] = {"o","name",0};
-  if (!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "OO", __pyx_argnames, &__pyx_v_o, &__pyx_v_name)) return 0;
-  Py_INCREF(__pyx_v_o);
-  Py_INCREF(__pyx_v_name);
-  __pyx_v_l = Py_None; Py_INCREF(__pyx_v_l);
-  __pyx_v_n = Py_None; Py_INCREF(__pyx_v_n);
-
-  /* "/home/leif/dv/SPECFEM3D_GLOBE/PyxParameters.pyx":27 */
-  __pyx_1 = PyObject_GetAttr(__pyx_v_name, __pyx_n_split); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 27; goto __pyx_L1;}
-  __pyx_2 = PyTuple_New(1); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 27; goto __pyx_L1;}
-  Py_INCREF(__pyx_k1p);
-  PyTuple_SET_ITEM(__pyx_2, 0, __pyx_k1p);
-  __pyx_3 = PyObject_CallObject(__pyx_1, __pyx_2); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 27; goto __pyx_L1;}
-  Py_DECREF(__pyx_1); __pyx_1 = 0;
-  Py_DECREF(__pyx_2); __pyx_2 = 0;
-  Py_DECREF(__pyx_v_l);
-  __pyx_v_l = __pyx_3;
-  __pyx_3 = 0;
-
-  /* "/home/leif/dv/SPECFEM3D_GLOBE/PyxParameters.pyx":28 */
-  __pyx_1 = PyObject_GetIter(__pyx_v_l); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 28; goto __pyx_L1;}
-  for (;;) {
-    __pyx_L2:;
-    __pyx_2 = PyIter_Next(__pyx_1);
-    if (!__pyx_2) {
-      if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 28; goto __pyx_L1;}
-      break;
-    }
-    Py_DECREF(__pyx_v_n);
-    __pyx_v_n = __pyx_2;
-    __pyx_2 = 0;
-
-    /* "/home/leif/dv/SPECFEM3D_GLOBE/PyxParameters.pyx":29 */
-    __pyx_3 = __Pyx_GetName(__pyx_b, __pyx_n_getattr); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 29; goto __pyx_L1;}
-    __pyx_2 = PyTuple_New(2); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 29; goto __pyx_L1;}
-    Py_INCREF(__pyx_v_o);
-    PyTuple_SET_ITEM(__pyx_2, 0, __pyx_v_o);
-    Py_INCREF(__pyx_v_n);
-    PyTuple_SET_ITEM(__pyx_2, 1, __pyx_v_n);
-    __pyx_4 = PyObject_CallObject(__pyx_3, __pyx_2); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 29; goto __pyx_L1;}
-    Py_DECREF(__pyx_3); __pyx_3 = 0;
-    Py_DECREF(__pyx_2); __pyx_2 = 0;
-    Py_DECREF(__pyx_v_o);
-    __pyx_v_o = __pyx_4;
-    __pyx_4 = 0;
-  }
-  __pyx_L3:;
-  Py_DECREF(__pyx_1); __pyx_1 = 0;
-
-  /* "/home/leif/dv/SPECFEM3D_GLOBE/PyxParameters.pyx":30 */
-  Py_INCREF(__pyx_v_o);
-  __pyx_r = __pyx_v_o;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; Py_INCREF(__pyx_r);
-  goto __pyx_L0;
-  __pyx_L1:;
-  Py_XDECREF(__pyx_1);
-  Py_XDECREF(__pyx_2);
-  Py_XDECREF(__pyx_3);
-  Py_XDECREF(__pyx_4);
-  __Pyx_AddTraceback("PyxParameters.getValue");
-  __pyx_r = 0;
-  __pyx_L0:;
-  Py_DECREF(__pyx_v_l);
-  Py_DECREF(__pyx_v_n);
-  Py_DECREF(__pyx_v_o);
-  Py_DECREF(__pyx_v_name);
-  return __pyx_r;
-}
-
-DL_EXPORT(void) FC_FUNC_(read_value_integer, READ_VALUE_INTEGER)(int (*__pyx_v_value),char (*__pyx_v_name),int __pyx_v_nameLen) {
-  PyObject *__pyx_v_attrName;
-  PyObject *__pyx_1 = 0;
-  PyObject *__pyx_2 = 0;
-  PyObject *__pyx_3 = 0;
-  int __pyx_4;
-  __pyx_v_attrName = Py_None; Py_INCREF(__pyx_v_attrName);
-
-  /* "/home/leif/dv/SPECFEM3D_GLOBE/PyxParameters.pyx":36 */
-  __pyx_1 = PyString_FromStringAndSize(__pyx_v_name,__pyx_v_nameLen); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 36; goto __pyx_L1;}
-  Py_DECREF(__pyx_v_attrName);
-  __pyx_v_attrName = __pyx_1;
-  __pyx_1 = 0;
-
-  /* "/home/leif/dv/SPECFEM3D_GLOBE/PyxParameters.pyx":37 */
-  __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_n_getValue); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 37; goto __pyx_L1;}
-  __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_n_component); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 37; goto __pyx_L1;}
-  __pyx_3 = PyTuple_New(2); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 37; goto __pyx_L1;}
-  PyTuple_SET_ITEM(__pyx_3, 0, __pyx_2);
-  Py_INCREF(__pyx_v_attrName);
-  PyTuple_SET_ITEM(__pyx_3, 1, __pyx_v_attrName);
-  __pyx_2 = 0;
-  __pyx_2 = PyObject_CallObject(__pyx_1, __pyx_3); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 37; goto __pyx_L1;}
-  Py_DECREF(__pyx_1); __pyx_1 = 0;
-  Py_DECREF(__pyx_3); __pyx_3 = 0;
-  __pyx_4 = PyInt_AsLong(__pyx_2); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 37; goto __pyx_L1;}
-  Py_DECREF(__pyx_2); __pyx_2 = 0;
-  (__pyx_v_value[0]) = __pyx_4;
-
-  goto __pyx_L0;
-  __pyx_L1:;
-  Py_XDECREF(__pyx_1);
-  Py_XDECREF(__pyx_2);
-  Py_XDECREF(__pyx_3);
-  __Pyx_AddTraceback("PyxParameters.read_value_integer");
-  __pyx_L0:;
-  Py_DECREF(__pyx_v_attrName);
-}
-
-DL_EXPORT(void) FC_FUNC_(read_value_double_precision, READ_VALUE_DOUBLE_PRECISION)(double (*__pyx_v_value),char (*__pyx_v_name),int __pyx_v_nameLen) {
-  PyObject *__pyx_v_attrName;
-  PyObject *__pyx_1 = 0;
-  PyObject *__pyx_2 = 0;
-  PyObject *__pyx_3 = 0;
-  double __pyx_4;
-  __pyx_v_attrName = Py_None; Py_INCREF(__pyx_v_attrName);
-
-  /* "/home/leif/dv/SPECFEM3D_GLOBE/PyxParameters.pyx":40 */
-  __pyx_1 = PyString_FromStringAndSize(__pyx_v_name,__pyx_v_nameLen); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 40; goto __pyx_L1;}
-  Py_DECREF(__pyx_v_attrName);
-  __pyx_v_attrName = __pyx_1;
-  __pyx_1 = 0;
-
-  /* "/home/leif/dv/SPECFEM3D_GLOBE/PyxParameters.pyx":41 */
-  __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_n_getValue); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 41; goto __pyx_L1;}
-  __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_n_component); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 41; goto __pyx_L1;}
-  __pyx_3 = PyTuple_New(2); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 41; goto __pyx_L1;}
-  PyTuple_SET_ITEM(__pyx_3, 0, __pyx_2);
-  Py_INCREF(__pyx_v_attrName);
-  PyTuple_SET_ITEM(__pyx_3, 1, __pyx_v_attrName);
-  __pyx_2 = 0;
-  __pyx_2 = PyObject_CallObject(__pyx_1, __pyx_3); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 41; goto __pyx_L1;}
-  Py_DECREF(__pyx_1); __pyx_1 = 0;
-  Py_DECREF(__pyx_3); __pyx_3 = 0;
-  __pyx_4 = PyFloat_AsDouble(__pyx_2); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 41; goto __pyx_L1;}
-  Py_DECREF(__pyx_2); __pyx_2 = 0;
-  (__pyx_v_value[0]) = __pyx_4;
-
-  goto __pyx_L0;
-  __pyx_L1:;
-  Py_XDECREF(__pyx_1);
-  Py_XDECREF(__pyx_2);
-  Py_XDECREF(__pyx_3);
-  __Pyx_AddTraceback("PyxParameters.read_value_double_precision");
-  __pyx_L0:;
-  Py_DECREF(__pyx_v_attrName);
-}
-
-DL_EXPORT(void) FC_FUNC_(read_value_logical, READ_VALUE_LOGICAL)(int (*__pyx_v_value),char (*__pyx_v_name),int __pyx_v_nameLen) {
-  PyObject *__pyx_v_attrName;
-  PyObject *__pyx_1 = 0;
-  PyObject *__pyx_2 = 0;
-  PyObject *__pyx_3 = 0;
-  int __pyx_4;
-  __pyx_v_attrName = Py_None; Py_INCREF(__pyx_v_attrName);
-
-  /* "/home/leif/dv/SPECFEM3D_GLOBE/PyxParameters.pyx":44 */
-  __pyx_1 = PyString_FromStringAndSize(__pyx_v_name,__pyx_v_nameLen); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 44; goto __pyx_L1;}
-  Py_DECREF(__pyx_v_attrName);
-  __pyx_v_attrName = __pyx_1;
-  __pyx_1 = 0;
-
-  /* "/home/leif/dv/SPECFEM3D_GLOBE/PyxParameters.pyx":45 */
-  __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_n_getValue); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 45; goto __pyx_L1;}
-  __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_n_component); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 45; goto __pyx_L1;}
-  __pyx_3 = PyTuple_New(2); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 45; goto __pyx_L1;}
-  PyTuple_SET_ITEM(__pyx_3, 0, __pyx_2);
-  Py_INCREF(__pyx_v_attrName);
-  PyTuple_SET_ITEM(__pyx_3, 1, __pyx_v_attrName);
-  __pyx_2 = 0;
-  __pyx_2 = PyObject_CallObject(__pyx_1, __pyx_3); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 45; goto __pyx_L1;}
-  Py_DECREF(__pyx_1); __pyx_1 = 0;
-  Py_DECREF(__pyx_3); __pyx_3 = 0;
-  __pyx_4 = PyInt_AsLong(__pyx_2); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 45; goto __pyx_L1;}
-  Py_DECREF(__pyx_2); __pyx_2 = 0;
-  (__pyx_v_value[0]) = __pyx_4;
-
-  goto __pyx_L0;
-  __pyx_L1:;
-  Py_XDECREF(__pyx_1);
-  Py_XDECREF(__pyx_2);
-  Py_XDECREF(__pyx_3);
-  __Pyx_AddTraceback("PyxParameters.read_value_logical");
-  __pyx_L0:;
-  Py_DECREF(__pyx_v_attrName);
-}
-
-static PyObject *__pyx_n_len;
-static PyObject *__pyx_n_ValueError;
-
-static PyObject *__pyx_k2p;
-
-static char (__pyx_k2[]) = "%s value '%s' is too long (%d bytes) for destination Fortran buffer (%d bytes)";
-
-DL_EXPORT(void) FC_FUNC_(read_value_string, READ_VALUE_STRING)(char (*__pyx_v_value),char (*__pyx_v_name),int __pyx_v_valueLen,int __pyx_v_nameLen) {
-  char (*__pyx_v_vp);
-  int __pyx_v_vl;
-  int __pyx_v_i;
-  PyObject *__pyx_v_attrName;
-  PyObject *__pyx_v_v;
-  PyObject *__pyx_1 = 0;
-  PyObject *__pyx_2 = 0;
-  PyObject *__pyx_3 = 0;
-  int __pyx_4;
-  PyObject *__pyx_5 = 0;
-  char (*__pyx_6);
-  __pyx_v_attrName = Py_None; Py_INCREF(__pyx_v_attrName);
-  __pyx_v_v = Py_None; Py_INCREF(__pyx_v_v);
-
-  /* "/home/leif/dv/SPECFEM3D_GLOBE/PyxParameters.pyx":50 */
-  __pyx_1 = PyString_FromStringAndSize(__pyx_v_name,__pyx_v_nameLen); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 50; goto __pyx_L1;}
-  Py_DECREF(__pyx_v_attrName);
-  __pyx_v_attrName = __pyx_1;
-  __pyx_1 = 0;
-
-  /* "/home/leif/dv/SPECFEM3D_GLOBE/PyxParameters.pyx":51 */
-  __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_n_getValue); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 51; goto __pyx_L1;}
-  __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_n_component); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 51; goto __pyx_L1;}
-  __pyx_3 = PyTuple_New(2); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 51; goto __pyx_L1;}
-  PyTuple_SET_ITEM(__pyx_3, 0, __pyx_2);
-  Py_INCREF(__pyx_v_attrName);
-  PyTuple_SET_ITEM(__pyx_3, 1, __pyx_v_attrName);
-  __pyx_2 = 0;
-  __pyx_2 = PyObject_CallObject(__pyx_1, __pyx_3); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 51; goto __pyx_L1;}
-  Py_DECREF(__pyx_1); __pyx_1 = 0;
-  Py_DECREF(__pyx_3); __pyx_3 = 0;
-  Py_DECREF(__pyx_v_v);
-  __pyx_v_v = __pyx_2;
-  __pyx_2 = 0;
-
-  /* "/home/leif/dv/SPECFEM3D_GLOBE/PyxParameters.pyx":52 */
-  __pyx_1 = __Pyx_GetName(__pyx_b, __pyx_n_len); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 52; goto __pyx_L1;}
-  __pyx_3 = PyTuple_New(1); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 52; goto __pyx_L1;}
-  Py_INCREF(__pyx_v_v);
-  PyTuple_SET_ITEM(__pyx_3, 0, __pyx_v_v);
-  __pyx_2 = PyObject_CallObject(__pyx_1, __pyx_3); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 52; goto __pyx_L1;}
-  Py_DECREF(__pyx_1); __pyx_1 = 0;
-  Py_DECREF(__pyx_3); __pyx_3 = 0;
-  __pyx_4 = PyInt_AsLong(__pyx_2); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 52; goto __pyx_L1;}
-  Py_DECREF(__pyx_2); __pyx_2 = 0;
-  __pyx_v_vl = __pyx_4;
-
-  /* "/home/leif/dv/SPECFEM3D_GLOBE/PyxParameters.pyx":53 */
-  __pyx_4 = (__pyx_v_vl > __pyx_v_valueLen);
-  if (__pyx_4) {
-
-    /* "/home/leif/dv/SPECFEM3D_GLOBE/PyxParameters.pyx":54 */
-    __pyx_1 = __Pyx_GetName(__pyx_b, __pyx_n_ValueError); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 54; goto __pyx_L1;}
-    __pyx_3 = PyInt_FromLong(__pyx_v_vl); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 54; goto __pyx_L1;}
-    __pyx_2 = PyInt_FromLong(__pyx_v_valueLen); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 54; goto __pyx_L1;}
-    __pyx_5 = PyTuple_New(4); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 54; goto __pyx_L1;}
-    Py_INCREF(__pyx_v_attrName);
-    PyTuple_SET_ITEM(__pyx_5, 0, __pyx_v_attrName);
-    Py_INCREF(__pyx_v_v);
-    PyTuple_SET_ITEM(__pyx_5, 1, __pyx_v_v);
-    PyTuple_SET_ITEM(__pyx_5, 2, __pyx_3);
-    PyTuple_SET_ITEM(__pyx_5, 3, __pyx_2);
-    __pyx_3 = 0;
-    __pyx_2 = 0;
-    __pyx_3 = PyNumber_Remainder(__pyx_k2p, __pyx_5); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 54; goto __pyx_L1;}
-    Py_DECREF(__pyx_5); __pyx_5 = 0;
-    __pyx_2 = PyTuple_New(1); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 54; goto __pyx_L1;}
-    PyTuple_SET_ITEM(__pyx_2, 0, __pyx_3);
-    __pyx_3 = 0;
-    __pyx_5 = PyObject_CallObject(__pyx_1, __pyx_2); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 54; goto __pyx_L1;}
-    Py_DECREF(__pyx_1); __pyx_1 = 0;
-    Py_DECREF(__pyx_2); __pyx_2 = 0;
-    __Pyx_Raise(__pyx_5, 0, 0);
-    Py_DECREF(__pyx_5); __pyx_5 = 0;
-    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 54; goto __pyx_L1;}
-    goto __pyx_L2;
-  }
-  __pyx_L2:;
-
-  /* "/home/leif/dv/SPECFEM3D_GLOBE/PyxParameters.pyx":55 */
-  __pyx_6 = PyString_AsString(__pyx_v_v); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 55; goto __pyx_L1;}
-  __pyx_v_vp = __pyx_6;
-
-  /* "/home/leif/dv/SPECFEM3D_GLOBE/PyxParameters.pyx":56 */
-  strncpy(__pyx_v_value,__pyx_v_vp,__pyx_v_vl);
-
-  /* "/home/leif/dv/SPECFEM3D_GLOBE/PyxParameters.pyx":57 */
-  for (__pyx_v_i = __pyx_v_vl; __pyx_v_i < __pyx_v_valueLen; ++__pyx_v_i) {
-
-    /* "/home/leif/dv/SPECFEM3D_GLOBE/PyxParameters.pyx":58 */
-    (__pyx_v_value[__pyx_v_i]) = ' ';
-    __pyx_L3:;
-  }
-  __pyx_L4:;
-
-  /* "/home/leif/dv/SPECFEM3D_GLOBE/PyxParameters.pyx":59 */
-  goto __pyx_L0;
-
-  goto __pyx_L0;
-  __pyx_L1:;
-  Py_XDECREF(__pyx_1);
-  Py_XDECREF(__pyx_2);
-  Py_XDECREF(__pyx_3);
-  Py_XDECREF(__pyx_5);
-  __Pyx_AddTraceback("PyxParameters.read_value_string");
-  __pyx_L0:;
-  Py_DECREF(__pyx_v_attrName);
-  Py_DECREF(__pyx_v_v);
-}
-
-DL_EXPORT(void) FC_FUNC_(open_parameter_file, OPEN_PARAMETER_FILE)(void) {
-
-  /* "/home/leif/dv/SPECFEM3D_GLOBE/PyxParameters.pyx":62 */
-  goto __pyx_L0;
-
-  goto __pyx_L0;
-  __pyx_L1:;
-  __Pyx_AddTraceback("PyxParameters.open_parameter_file");
-  __pyx_L0:;
-}
-
-DL_EXPORT(void) FC_FUNC_(close_parameter_file, CLOSE_PARAMETER_FILE)(void) {
-
-  /* "/home/leif/dv/SPECFEM3D_GLOBE/PyxParameters.pyx":65 */
-  goto __pyx_L0;
-
-  goto __pyx_L0;
-  __pyx_L1:;
-  __Pyx_AddTraceback("PyxParameters.close_parameter_file");
-  __pyx_L0:;
-}
-
-DL_EXPORT(void) FC_FUNC_(get_value_integer, GET_VALUE_INTEGER)(int (*__pyx_v_value),char (*__pyx_v_name),int (*__pyx_v_default),int __pyx_v_nameLen) {
-
-  /* "/home/leif/dv/SPECFEM3D_GLOBE/PyxParameters.pyx":68 */
-  (__pyx_v_value[0]) = (__pyx_v_default[0]);
-
-  /* "/home/leif/dv/SPECFEM3D_GLOBE/PyxParameters.pyx":69 */
-  FC_FUNC_(read_value_integer, READ_VALUE_INTEGER)(__pyx_v_value,__pyx_v_name,__pyx_v_nameLen); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 69; goto __pyx_L1;}
-
-  goto __pyx_L0;
-  __pyx_L1:;
-  __Pyx_WriteUnraisable("PyxParameters.get_value_integer");
-  __pyx_L0:;
-}
-
-DL_EXPORT(void) FC_FUNC_(get_value_double_precision, GET_VALUE_DOUBLE_PRECISION)(double (*__pyx_v_value),char (*__pyx_v_name),double (*__pyx_v_default),int __pyx_v_nameLen) {
-
-  /* "/home/leif/dv/SPECFEM3D_GLOBE/PyxParameters.pyx":72 */
-  (__pyx_v_value[0]) = (__pyx_v_default[0]);
-
-  /* "/home/leif/dv/SPECFEM3D_GLOBE/PyxParameters.pyx":73 */
-  FC_FUNC_(read_value_double_precision, READ_VALUE_DOUBLE_PRECISION)(__pyx_v_value,__pyx_v_name,__pyx_v_nameLen); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 73; goto __pyx_L1;}
-
-  goto __pyx_L0;
-  __pyx_L1:;
-  __Pyx_WriteUnraisable("PyxParameters.get_value_double_precision");
-  __pyx_L0:;
-}
-
-DL_EXPORT(void) FC_FUNC_(get_value_logical, GET_VALUE_LOGICAL)(int (*__pyx_v_value),char (*__pyx_v_name),int (*__pyx_v_default),int __pyx_v_nameLen) {
-
-  /* "/home/leif/dv/SPECFEM3D_GLOBE/PyxParameters.pyx":76 */
-  (__pyx_v_value[0]) = (__pyx_v_default[0]);
-
-  /* "/home/leif/dv/SPECFEM3D_GLOBE/PyxParameters.pyx":77 */
-  FC_FUNC_(read_value_logical, READ_VALUE_LOGICAL)(__pyx_v_value,__pyx_v_name,__pyx_v_nameLen); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 77; goto __pyx_L1;}
-
-  goto __pyx_L0;
-  __pyx_L1:;
-  __Pyx_WriteUnraisable("PyxParameters.get_value_logical");
-  __pyx_L0:;
-}
-
-DL_EXPORT(void) FC_FUNC_(get_value_string, GET_VALUE_STRING)(char (*__pyx_v_value),char (*__pyx_v_name),char (*__pyx_v_default),int __pyx_v_valueLen,int __pyx_v_nameLen,int __pyx_v_defaultLen) {
-  PyObject *__pyx_v_i;
-  int __pyx_1;
-  long __pyx_2;
-  PyObject *__pyx_3 = 0;
-  __pyx_v_i = Py_None; Py_INCREF(__pyx_v_i);
-
-  /* "/home/leif/dv/SPECFEM3D_GLOBE/PyxParameters.pyx":80 */
-  __pyx_1 = (__pyx_v_defaultLen > __pyx_v_valueLen);
-  if (__pyx_1) {
-
-    /* "/home/leif/dv/SPECFEM3D_GLOBE/PyxParameters.pyx":81 */
-    strncpy(__pyx_v_value,__pyx_v_default,__pyx_v_valueLen);
-    goto __pyx_L2;
-  }
-  /*else*/ {
-
-    /* "/home/leif/dv/SPECFEM3D_GLOBE/PyxParameters.pyx":83 */
-    strncpy(__pyx_v_value,__pyx_v_default,__pyx_v_defaultLen);
-
-    /* "/home/leif/dv/SPECFEM3D_GLOBE/PyxParameters.pyx":84 */
-    for (__pyx_2 = __pyx_v_defaultLen; __pyx_2 < __pyx_v_valueLen; ++__pyx_2) {
-      __pyx_3 = PyInt_FromLong(__pyx_2); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 84; goto __pyx_L1;}
-      Py_DECREF(__pyx_v_i);
-      __pyx_v_i = __pyx_3;
-      __pyx_3 = 0;
-
-      /* "/home/leif/dv/SPECFEM3D_GLOBE/PyxParameters.pyx":85 */
-      __pyx_1 = PyInt_AsLong(__pyx_v_i); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 85; goto __pyx_L1;}
-      (__pyx_v_value[__pyx_1]) = ' ';
-      __pyx_L3:;
-    }
-    __pyx_L4:;
-  }
-  __pyx_L2:;
-
-  /* "/home/leif/dv/SPECFEM3D_GLOBE/PyxParameters.pyx":86 */
-  FC_FUNC_(read_value_string, READ_VALUE_STRING)(__pyx_v_value,__pyx_v_name,__pyx_v_valueLen,__pyx_v_nameLen); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 86; goto __pyx_L1;}
-
-  goto __pyx_L0;
-  __pyx_L1:;
-  Py_XDECREF(__pyx_3);
-  __Pyx_WriteUnraisable("PyxParameters.get_value_string");
-  __pyx_L0:;
-  Py_DECREF(__pyx_v_i);
-}
-
-static PyObject *__pyx_f_13PyxParameters_create_header_file(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static char __pyx_doc_13PyxParameters_create_header_file[] = "Create the include file for the solver.";
-static PyObject *__pyx_f_13PyxParameters_create_header_file(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
-  PyObject *__pyx_v_arg = 0;
-  PyObject *__pyx_r;
-  static char *__pyx_argnames[] = {"arg",0};
-  if (!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "O", __pyx_argnames, &__pyx_v_arg)) return 0;
-  Py_INCREF(__pyx_v_arg);
-
-  /* "/home/leif/dv/SPECFEM3D_GLOBE/PyxParameters.pyx":95 */
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_component, __pyx_v_arg) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 95; goto __pyx_L1;}
-
-  /* "/home/leif/dv/SPECFEM3D_GLOBE/PyxParameters.pyx":96 */
-  FC_FUNC_(create_header_file, CREATE_HEADER_FILE)(); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 96; goto __pyx_L1;}
-
-  __pyx_r = Py_None; Py_INCREF(__pyx_r);
-  goto __pyx_L0;
-  __pyx_L1:;
-  __Pyx_AddTraceback("PyxParameters.create_header_file");
-  __pyx_r = 0;
-  __pyx_L0:;
-  Py_DECREF(__pyx_v_arg);
-  return __pyx_r;
-}
-
-static __Pyx_InternTabEntry __pyx_intern_tab[] = {
-  {&__pyx_n_ValueError, "ValueError"},
-  {&__pyx_n_component, "component"},
-  {&__pyx_n_create_header_file, "create_header_file"},
-  {&__pyx_n_getValue, "getValue"},
-  {&__pyx_n_getattr, "getattr"},
-  {&__pyx_n_len, "len"},
-  {&__pyx_n_split, "split"},
-  {0, 0}
-};
-
-static __Pyx_StringTabEntry __pyx_string_tab[] = {
-  {&__pyx_k1p, __pyx_k1, sizeof(__pyx_k1)},
-  {&__pyx_k2p, __pyx_k2, sizeof(__pyx_k2)},
-  {0, 0, 0}
-};
-
-static struct PyMethodDef __pyx_methods[] = {
-  {"getValue", (PyCFunction)__pyx_f_13PyxParameters_getValue, METH_VARARGS|METH_KEYWORDS, __pyx_doc_13PyxParameters_getValue},
-  {"create_header_file", (PyCFunction)__pyx_f_13PyxParameters_create_header_file, METH_VARARGS|METH_KEYWORDS, __pyx_doc_13PyxParameters_create_header_file},
-  {0, 0, 0, 0}
-};
-
-DL_EXPORT(void) initPyxParameters(void); /*proto*/
-DL_EXPORT(void) initPyxParameters(void) {
-  __pyx_m = Py_InitModule4("PyxParameters", __pyx_methods, __pyx_mdoc, 0, PYTHON_API_VERSION);
-  if (!__pyx_m) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 4; goto __pyx_L1;};
-  __pyx_b = PyImport_AddModule("__builtin__");
-  if (!__pyx_b) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 4; goto __pyx_L1;};
-  if (PyObject_SetAttrString(__pyx_m, "__builtins__", __pyx_b) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 4; goto __pyx_L1;};
-  if (__Pyx_InternStrings(__pyx_intern_tab) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 4; goto __pyx_L1;};
-  if (__Pyx_InitStrings(__pyx_string_tab) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 4; goto __pyx_L1;};
-
-  /* "/home/leif/dv/SPECFEM3D_GLOBE/PyxParameters.pyx":22 */
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_component, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 22; goto __pyx_L1;}
-
-  /* "/home/leif/dv/SPECFEM3D_GLOBE/PyxParameters.pyx":92 */
-  return;
-  __pyx_L1:;
-  __Pyx_AddTraceback("PyxParameters");
-}
-
-static char *__pyx_filenames[] = {
-  "PyxParameters.pyx",
-};
-statichere char **__pyx_f = __pyx_filenames;
-
-/* Runtime support code */
-
-static PyObject *__Pyx_GetName(PyObject *dict, PyObject *name) {
-    PyObject *result;
-    result = PyObject_GetAttr(dict, name);
-    if (!result)
-        PyErr_SetObject(PyExc_NameError, name);
-    return result;
-}
-
-static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb) {
-    Py_XINCREF(type);
-    Py_XINCREF(value);
-    Py_XINCREF(tb);
-    /* First, check the traceback argument, replacing None with NULL. */
-    if (tb == Py_None) {
-        Py_DECREF(tb);
-        tb = 0;
-    }
-    else if (tb != NULL && !PyTraceBack_Check(tb)) {
-        PyErr_SetString(PyExc_TypeError,
-            "raise: arg 3 must be a traceback or None");
-        goto raise_error;
-    }
-    /* Next, replace a missing value with None */
-    if (value == NULL) {
-        value = Py_None;
-        Py_INCREF(value);
-    }
-    /* Next, repeatedly, replace a tuple exception with its first item */
-    while (PyTuple_Check(type) && PyTuple_Size(type) > 0) {
-        PyObject *tmp = type;
-        type = PyTuple_GET_ITEM(type, 0);
-        Py_INCREF(type);
-        Py_DECREF(tmp);
-    }
-    if (PyString_Check(type))
-        ;
-    else if (PyClass_Check(type))
-        ; /*PyErr_NormalizeException(&type, &value, &tb);*/
-    else if (PyInstance_Check(type)) {
-        /* Raising an instance.  The value should be a dummy. */
-        if (value != Py_None) {
-            PyErr_SetString(PyExc_TypeError,
-              "instance exception may not have a separate value");
-            goto raise_error;
-        }
-        else {
-            /* Normalize to raise <class>, <instance> */
-            Py_DECREF(value);
-            value = type;
-            type = (PyObject*) ((PyInstanceObject*)type)->in_class;
-            Py_INCREF(type);
-        }
-    }
-    else {
-        /* Not something you can raise.  You get an exception
-           anyway, just not what you specified :-) */
-        PyErr_Format(PyExc_TypeError,
-                 "exceptions must be strings, classes, or "
-                 "instances, not %s", type->ob_type->tp_name);
-        goto raise_error;
-    }
-    PyErr_Restore(type, value, tb);
-    return;
-raise_error:
-    Py_XDECREF(value);
-    Py_XDECREF(type);
-    Py_XDECREF(tb);
-    return;
-}
-
-static void __Pyx_WriteUnraisable(char *name) {
-    PyObject *old_exc, *old_val, *old_tb;
-    PyObject *ctx;
-    PyErr_Fetch(&old_exc, &old_val, &old_tb);
-    ctx = PyString_FromString(name);
-    PyErr_Restore(old_exc, old_val, old_tb);
-    if (!ctx)
-        ctx = Py_None;
-    PyErr_WriteUnraisable(ctx);
-}
-
-static int __Pyx_InternStrings(__Pyx_InternTabEntry *t) {
-    while (t->p) {
-        *t->p = PyString_InternFromString(t->s);
-        if (!*t->p)
-            return -1;
-        ++t;
-    }
-    return 0;
-}
-
-static int __Pyx_InitStrings(__Pyx_StringTabEntry *t) {
-    while (t->p) {
-        *t->p = PyString_FromStringAndSize(t->s, t->n - 1);
-        if (!*t->p)
-            return -1;
-        ++t;
-    }
-    return 0;
-}
-
-#include "compile.h"
-#include "frameobject.h"
-#include "traceback.h"
-
-static void __Pyx_AddTraceback(char *funcname) {
-    PyObject *py_srcfile = 0;
-    PyObject *py_funcname = 0;
-    PyObject *py_globals = 0;
-    PyObject *empty_tuple = 0;
-    PyObject *empty_string = 0;
-    PyCodeObject *py_code = 0;
-    PyFrameObject *py_frame = 0;
-
-    py_srcfile = PyString_FromString(__pyx_filename);
-    if (!py_srcfile) goto bad;
-    py_funcname = PyString_FromString(funcname);
-    if (!py_funcname) goto bad;
-    py_globals = PyModule_GetDict(__pyx_m);
-    if (!py_globals) goto bad;
-    empty_tuple = PyTuple_New(0);
-    if (!empty_tuple) goto bad;
-    empty_string = PyString_FromString("");
-    if (!empty_string) goto bad;
-    py_code = PyCode_New(
-        0,            /*int argcount,*/
-        0,            /*int nlocals,*/
-        0,            /*int stacksize,*/
-        0,            /*int flags,*/
-        empty_string, /*PyObject *code,*/
-        empty_tuple,  /*PyObject *consts,*/
-        empty_tuple,  /*PyObject *names,*/
-        empty_tuple,  /*PyObject *varnames,*/
-        empty_tuple,  /*PyObject *freevars,*/
-        empty_tuple,  /*PyObject *cellvars,*/
-        py_srcfile,   /*PyObject *filename,*/
-        py_funcname,  /*PyObject *name,*/
-        __pyx_lineno,   /*int firstlineno,*/
-        empty_string  /*PyObject *lnotab*/
-    );
-    if (!py_code) goto bad;
-    py_frame = PyFrame_New(
-        PyThreadState_Get(), /*PyThreadState *tstate,*/
-        py_code,             /*PyCodeObject *code,*/
-        py_globals,          /*PyObject *globals,*/
-        0                    /*PyObject *locals*/
-    );
-    if (!py_frame) goto bad;
-    py_frame->f_lineno = __pyx_lineno;
-    PyTraceBack_Here(py_frame);
-bad:
-    Py_XDECREF(py_srcfile);
-    Py_XDECREF(py_funcname);
-    Py_XDECREF(empty_tuple);
-    Py_XDECREF(empty_string);
-    Py_XDECREF(py_code);
-    Py_XDECREF(py_frame);
-}

Deleted: seismo/3D/SPECFEM3D_GLOBE/tags/v4.0.1-portal/PyxParameters.pyx
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/tags/v4.0.1/PyxParameters.pyx	2008-07-01 22:46:03 UTC (rev 12364)
+++ seismo/3D/SPECFEM3D_GLOBE/tags/v4.0.1-portal/PyxParameters.pyx	2008-07-01 23:52:59 UTC (rev 12365)
@@ -1,99 +0,0 @@
-# Process this file with Pyrex to produce PyxParameters.c
-
-
-"""Python bindings for the SPECFEM3D Global Solver."""
-
-
-# include 'config.h' in order to get the definitions of FC_FUNC and FC_FUNC_
-cdef extern from "config.h":
-    pass
-
-
-cdef extern from "string.h":
-    char *strncpy(char *, char *, int)
-
-
-cdef extern from "Python.h":
-    object PyString_FromStringAndSize(char *, int)
-
-
-# In the future, this could be passed through the Fortran layer as an
-# opaque context argument.
-component = None
-
-
-def getValue(o, name):
-    """Get a value from the Python scripts."""
-    l = name.split('.')
-    for n in l:
-        o = getattr(o, n)
-    return o
-
-
-# replacements for Fortran functions
-
-cdef public void read_value_integer "FC_FUNC_(read_value_integer, READ_VALUE_INTEGER)" (int *value, char *name, int nameLen) except *:
-    attrName = PyString_FromStringAndSize(name, nameLen)
-    value[0] = getValue(component, attrName)
-
-cdef public void read_value_double_precision "FC_FUNC_(read_value_double_precision, READ_VALUE_DOUBLE_PRECISION)" (double *value, char *name, int nameLen) except *:
-    attrName = PyString_FromStringAndSize(name, nameLen)
-    value[0] = getValue(component, attrName)
-
-cdef public void read_value_logical "FC_FUNC_(read_value_logical, READ_VALUE_LOGICAL)" (int *value, char *name, int nameLen) except *:
-    attrName = PyString_FromStringAndSize(name, nameLen)
-    value[0] = getValue(component, attrName)
-
-cdef public void read_value_string "FC_FUNC_(read_value_string, READ_VALUE_STRING)" (char *value, char *name, int valueLen, int nameLen) except *:
-    cdef char *vp
-    cdef int vl, i
-    attrName = PyString_FromStringAndSize(name, nameLen)
-    v = getValue(component, attrName)
-    vl = len(v)
-    if vl > valueLen:
-        raise ValueError("%s value '%s' is too long (%d bytes) for destination Fortran buffer (%d bytes)" % (attrName, v, vl, valueLen))
-    vp = v
-    strncpy(value, vp, vl)
-    for i from vl <= i < valueLen:
-        value[i] = c' '
-    return
-
-cdef public void open_parameter_file "FC_FUNC_(open_parameter_file, OPEN_PARAMETER_FILE)" () except *:
-    return
-
-cdef public void close_parameter_file "FC_FUNC_(close_parameter_file, CLOSE_PARAMETER_FILE)" () except *:
-    return
-
-cdef public void get_value_integer "FC_FUNC_(get_value_integer, GET_VALUE_INTEGER)" (int *value, char *name, int *default, int nameLen):
-    value[0] = default[0]
-    read_value_integer(value, name, nameLen)
-
-cdef public void get_value_double_precision "FC_FUNC_(get_value_double_precision, GET_VALUE_DOUBLE_PRECISION)" (double *value, char *name, double *default, int nameLen):
-    value[0] = default[0]
-    read_value_double_precision(value, name, nameLen)
-    
-cdef public void get_value_logical "FC_FUNC_(get_value_logical, GET_VALUE_LOGICAL)" (int *value, char *name, int *default, int nameLen):
-    value[0] = default[0]
-    read_value_logical(value, name, nameLen)
-    
-cdef public void get_value_string "FC_FUNC_(get_value_string, GET_VALUE_STRING)" (char *value, char *name, char *default, int valueLen, int nameLen, int defaultLen):
-    if defaultLen > valueLen:
-        strncpy(value, default, valueLen)
-    else:
-        strncpy(value, default, defaultLen)
-        for i from defaultLen <= i < valueLen:
-            value[i] = c' '
-    read_value_string(value, name, valueLen, nameLen)
-
-
-# external Fortran functions
-
-cdef extern void create_header_file_f "FC_FUNC_(create_header_file, CREATE_HEADER_FILE)" () except *
-def create_header_file(arg):
-    """Create the include file for the solver."""
-    global component
-    component = arg
-    create_header_file_f()
-
-
-# end of file

Deleted: seismo/3D/SPECFEM3D_GLOBE/tags/v4.0.1-portal/PyxSpecfem.c
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/tags/v4.0.1/PyxSpecfem.c	2008-07-01 22:46:03 UTC (rev 12364)
+++ seismo/3D/SPECFEM3D_GLOBE/tags/v4.0.1-portal/PyxSpecfem.c	2008-07-01 23:52:59 UTC (rev 12365)
@@ -1,223 +0,0 @@
-/* Generated by Pyrex 0.9.3 on Fri May 12 09:19:50 2006 */
-
-#include "Python.h"
-#include "structmember.h"
-#ifndef PY_LONG_LONG
-  #define PY_LONG_LONG LONG_LONG
-#endif
-#include "config.h"
-
-
-typedef struct {PyObject **p; char *s;} __Pyx_InternTabEntry; /*proto*/
-typedef struct {PyObject **p; char *s; long n;} __Pyx_StringTabEntry; /*proto*/
-static PyObject *__Pyx_UnpackItem(PyObject *, int); /*proto*/
-static int __Pyx_EndUnpack(PyObject *, int); /*proto*/
-static int __Pyx_PrintItem(PyObject *); /*proto*/
-static int __Pyx_PrintNewline(void); /*proto*/
-static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb); /*proto*/
-static void __Pyx_ReRaise(void); /*proto*/
-static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list); /*proto*/
-static PyObject *__Pyx_GetExcValue(void); /*proto*/
-static int __Pyx_ArgTypeTest(PyObject *obj, PyTypeObject *type, int none_allowed, char *name); /*proto*/
-static int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type); /*proto*/
-static int __Pyx_GetStarArgs(PyObject **args, PyObject **kwds, char *kwd_list[], int nargs, PyObject **args2, PyObject **kwds2); /*proto*/
-static void __Pyx_WriteUnraisable(char *name); /*proto*/
-static void __Pyx_AddTraceback(char *funcname); /*proto*/
-static PyTypeObject *__Pyx_ImportType(char *module_name, char *class_name, long size);  /*proto*/
-static int __Pyx_SetVtable(PyObject *dict, void *vtable); /*proto*/
-static int __Pyx_GetVtable(PyObject *dict, void *vtabptr); /*proto*/
-static PyObject *__Pyx_CreateClass(PyObject *bases, PyObject *dict, PyObject *name, char *modname); /*proto*/
-static int __Pyx_InternStrings(__Pyx_InternTabEntry *t); /*proto*/
-static int __Pyx_InitStrings(__Pyx_StringTabEntry *t); /*proto*/
-static PyObject *__Pyx_GetName(PyObject *dict, PyObject *name); /*proto*/
-
-static PyObject *__pyx_m;
-static PyObject *__pyx_b;
-static int __pyx_lineno;
-static char *__pyx_filename;
-staticforward char **__pyx_f;
-
-static char __pyx_mdoc[] = "Python bindings for the SPECFEM3D Global Solver.";
-
-/* Declarations from PyxSpecfem */
-
-void (FC_FUNC(specfem3d, SPECFEM3D)(void)); /*proto*/
-
-/* Implementation of PyxSpecfem */
-
-static PyObject *__pyx_n_specfem3D;
-
-static PyObject *__pyx_n_PyxParameters;
-static PyObject *__pyx_n_component;
-
-
-static PyObject *__pyx_f_10PyxSpecfem_specfem3D(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static char __pyx_doc_10PyxSpecfem_specfem3D[] = "Run the SPECFEM3D Global Solver.";
-static PyObject *__pyx_f_10PyxSpecfem_specfem3D(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
-  PyObject *__pyx_v_arg = 0;
-  PyObject *__pyx_v_PyxParameters;
-  PyObject *__pyx_r;
-  PyObject *__pyx_1 = 0;
-  static char *__pyx_argnames[] = {"arg",0};
-  if (!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "O", __pyx_argnames, &__pyx_v_arg)) return 0;
-  Py_INCREF(__pyx_v_arg);
-  __pyx_v_PyxParameters = Py_None; Py_INCREF(__pyx_v_PyxParameters);
-
-  /* "/home/leif/dv/SPECFEM3D_GLOBE/PyxSpecfem.pyx":17 */
-  __pyx_1 = __Pyx_Import(__pyx_n_PyxParameters, 0); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 17; goto __pyx_L1;}
-  Py_DECREF(__pyx_v_PyxParameters);
-  __pyx_v_PyxParameters = __pyx_1;
-  __pyx_1 = 0;
-
-  /* "/home/leif/dv/SPECFEM3D_GLOBE/PyxSpecfem.pyx":18 */
-  if (PyObject_SetAttr(__pyx_v_PyxParameters, __pyx_n_component, __pyx_v_arg) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 18; goto __pyx_L1;}
-
-  /* "/home/leif/dv/SPECFEM3D_GLOBE/PyxSpecfem.pyx":19 */
-  FC_FUNC(specfem3d, SPECFEM3D)(); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 19; goto __pyx_L1;}
-
-  __pyx_r = Py_None; Py_INCREF(__pyx_r);
-  goto __pyx_L0;
-  __pyx_L1:;
-  Py_XDECREF(__pyx_1);
-  __Pyx_AddTraceback("PyxSpecfem.specfem3D");
-  __pyx_r = 0;
-  __pyx_L0:;
-  Py_DECREF(__pyx_v_PyxParameters);
-  Py_DECREF(__pyx_v_arg);
-  return __pyx_r;
-}
-
-static __Pyx_InternTabEntry __pyx_intern_tab[] = {
-  {&__pyx_n_PyxParameters, "PyxParameters"},
-  {&__pyx_n_component, "component"},
-  {&__pyx_n_specfem3D, "specfem3D"},
-  {0, 0}
-};
-
-static struct PyMethodDef __pyx_methods[] = {
-  {"specfem3D", (PyCFunction)__pyx_f_10PyxSpecfem_specfem3D, METH_VARARGS|METH_KEYWORDS, __pyx_doc_10PyxSpecfem_specfem3D},
-  {0, 0, 0, 0}
-};
-
-DL_EXPORT(void) initPyxSpecfem(void); /*proto*/
-DL_EXPORT(void) initPyxSpecfem(void) {
-  __pyx_m = Py_InitModule4("PyxSpecfem", __pyx_methods, __pyx_mdoc, 0, PYTHON_API_VERSION);
-  if (!__pyx_m) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 4; goto __pyx_L1;};
-  __pyx_b = PyImport_AddModule("__builtin__");
-  if (!__pyx_b) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 4; goto __pyx_L1;};
-  if (PyObject_SetAttrString(__pyx_m, "__builtins__", __pyx_b) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 4; goto __pyx_L1;};
-  if (__Pyx_InternStrings(__pyx_intern_tab) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 4; goto __pyx_L1;};
-
-  /* "/home/leif/dv/SPECFEM3D_GLOBE/PyxSpecfem.pyx":15 */
-  return;
-  __pyx_L1:;
-  __Pyx_AddTraceback("PyxSpecfem");
-}
-
-static char *__pyx_filenames[] = {
-  "PyxSpecfem.pyx",
-};
-statichere char **__pyx_f = __pyx_filenames;
-
-/* Runtime support code */
-
-static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list) {
-    PyObject *__import__ = 0;
-    PyObject *empty_list = 0;
-    PyObject *module = 0;
-    PyObject *global_dict = 0;
-    PyObject *empty_dict = 0;
-    PyObject *list;
-    __import__ = PyObject_GetAttrString(__pyx_b, "__import__");
-    if (!__import__)
-        goto bad;
-    if (from_list)
-        list = from_list;
-    else {
-        empty_list = PyList_New(0);
-        if (!empty_list)
-            goto bad;
-        list = empty_list;
-    }
-    global_dict = PyModule_GetDict(__pyx_m);
-    if (!global_dict)
-        goto bad;
-    empty_dict = PyDict_New();
-    if (!empty_dict)
-        goto bad;
-    module = PyObject_CallFunction(__import__, "OOOO",
-        name, global_dict, empty_dict, list);
-bad:
-    Py_XDECREF(empty_list);
-    Py_XDECREF(__import__);
-    Py_XDECREF(empty_dict);
-    return module;
-}
-
-static int __Pyx_InternStrings(__Pyx_InternTabEntry *t) {
-    while (t->p) {
-        *t->p = PyString_InternFromString(t->s);
-        if (!*t->p)
-            return -1;
-        ++t;
-    }
-    return 0;
-}
-
-#include "compile.h"
-#include "frameobject.h"
-#include "traceback.h"
-
-static void __Pyx_AddTraceback(char *funcname) {
-    PyObject *py_srcfile = 0;
-    PyObject *py_funcname = 0;
-    PyObject *py_globals = 0;
-    PyObject *empty_tuple = 0;
-    PyObject *empty_string = 0;
-    PyCodeObject *py_code = 0;
-    PyFrameObject *py_frame = 0;
-
-    py_srcfile = PyString_FromString(__pyx_filename);
-    if (!py_srcfile) goto bad;
-    py_funcname = PyString_FromString(funcname);
-    if (!py_funcname) goto bad;
-    py_globals = PyModule_GetDict(__pyx_m);
-    if (!py_globals) goto bad;
-    empty_tuple = PyTuple_New(0);
-    if (!empty_tuple) goto bad;
-    empty_string = PyString_FromString("");
-    if (!empty_string) goto bad;
-    py_code = PyCode_New(
-        0,            /*int argcount,*/
-        0,            /*int nlocals,*/
-        0,            /*int stacksize,*/
-        0,            /*int flags,*/
-        empty_string, /*PyObject *code,*/
-        empty_tuple,  /*PyObject *consts,*/
-        empty_tuple,  /*PyObject *names,*/
-        empty_tuple,  /*PyObject *varnames,*/
-        empty_tuple,  /*PyObject *freevars,*/
-        empty_tuple,  /*PyObject *cellvars,*/
-        py_srcfile,   /*PyObject *filename,*/
-        py_funcname,  /*PyObject *name,*/
-        __pyx_lineno,   /*int firstlineno,*/
-        empty_string  /*PyObject *lnotab*/
-    );
-    if (!py_code) goto bad;
-    py_frame = PyFrame_New(
-        PyThreadState_Get(), /*PyThreadState *tstate,*/
-        py_code,             /*PyCodeObject *code,*/
-        py_globals,          /*PyObject *globals,*/
-        0                    /*PyObject *locals*/
-    );
-    if (!py_frame) goto bad;
-    py_frame->f_lineno = __pyx_lineno;
-    PyTraceBack_Here(py_frame);
-bad:
-    Py_XDECREF(py_srcfile);
-    Py_XDECREF(py_funcname);
-    Py_XDECREF(empty_tuple);
-    Py_XDECREF(empty_string);
-    Py_XDECREF(py_code);
-    Py_XDECREF(py_frame);
-}

Deleted: seismo/3D/SPECFEM3D_GLOBE/tags/v4.0.1-portal/PyxSpecfem.pyx
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/tags/v4.0.1/PyxSpecfem.pyx	2008-07-01 22:46:03 UTC (rev 12364)
+++ seismo/3D/SPECFEM3D_GLOBE/tags/v4.0.1-portal/PyxSpecfem.pyx	2008-07-01 23:52:59 UTC (rev 12365)
@@ -1,22 +0,0 @@
-# Process this file with Pyrex to produce PyxSpecfem.c
-
-
-"""Python bindings for the SPECFEM3D Global Solver."""
-
-
-# include 'config.h' in order to get the definitions of FC_FUNC and FC_FUNC_
-cdef extern from "config.h":
-    pass
-
-
-# external Fortran functions
-
-cdef extern void specfem3D_f "FC_FUNC(specfem3d, SPECFEM3D)" () except *
-def specfem3D(arg):
-    """Run the SPECFEM3D Global Solver."""
-    import PyxParameters
-    PyxParameters.component = arg
-    specfem3D_f()
-
-
-# end of file

Modified: seismo/3D/SPECFEM3D_GLOBE/tags/v4.0.1-portal/UTILS/run_lsf.bash
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/tags/v4.0.1/UTILS/run_lsf.bash	2008-07-01 22:46:03 UTC (rev 12364)
+++ seismo/3D/SPECFEM3D_GLOBE/tags/v4.0.1-portal/UTILS/run_lsf.bash	2008-07-01 23:52:59 UTC (rev 12365)
@@ -14,10 +14,10 @@
 d=`date`
 echo "Starting compilation $d"
 make clean
-make meshfem3D
-make create_header_file
+make xmeshfem3D
+make xcreate_header_file
 xcreate_header_file
-make specfem3D
+make xspecfem3D
 d=`date`
 echo "Finished compilation $d"
 

Modified: seismo/3D/SPECFEM3D_GLOBE/tags/v4.0.1-portal/config.h.in
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/tags/v4.0.1/config.h.in	2008-07-01 22:46:03 UTC (rev 12364)
+++ seismo/3D/SPECFEM3D_GLOBE/tags/v4.0.1-portal/config.h.in	2008-07-01 23:52:59 UTC (rev 12365)
@@ -14,10 +14,6 @@
 /* As FC_FUNC, but for C identifiers containing underscores. */
 #undef FC_FUNC_
 
-/* Define to alternate name for `main' routine that is called from a `main' in
-   the Fortran libraries. */
-#undef FC_MAIN
-
 /* Define to the address where bug reports for this package should be sent. */
 #undef PACKAGE_BUGREPORT
 

Modified: seismo/3D/SPECFEM3D_GLOBE/tags/v4.0.1-portal/configure
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/tags/v4.0.1/configure	2008-07-01 22:46:03 UTC (rev 12364)
+++ seismo/3D/SPECFEM3D_GLOBE/tags/v4.0.1-portal/configure	2008-07-01 23:52:59 UTC (rev 12365)
@@ -616,31 +616,8 @@
 build_alias
 host_alias
 target_alias
-COND_PYRE_TRUE
-COND_PYRE_FALSE
 CUSTOM_REAL
 CUSTOM_MPI_TYPE
-PYTHON
-PYTHON_VERSION
-PYTHON_PREFIX
-PYTHON_EXEC_PREFIX
-PYTHON_PLATFORM
-pythondir
-pkgpythondir
-pyexecdir
-pkgpyexecdir
-PYTHON_INCDIR
-PYTHON_BLDLIBRARY
-PYTHON_LDFLAGS
-PYTHON_LDLAST
-PYTHON_LDLIBRARY
-PYTHON_LIBDIR
-PYTHON_LIBP
-PYTHON_LIBPL
-PYTHON_LIBS
-PYTHON_LINKFORSHARED
-PYTHON_MODLIBS
-PYTHON_SYSLIBS
 FC
 FCFLAGS
 LDFLAGS
@@ -656,14 +633,9 @@
 FCFLAGS_f90
 MPIFC
 MPILIBS
-MPICC
 FLAGS_CHECK
 FLAGS_NO_CHECK
 LOCAL_PATH_IS_ALSO_GLOBAL
-PYTHONPATH
-PYTHON_EGG_CFLAGS
-PYTHON_EGG_CPPFLAGS
-PYTHON_EGG_LDFLAGS
 LIBOBJS
 LTLIBOBJS'
 ac_subst_files=''
@@ -679,12 +651,9 @@
 CPPFLAGS
 MPIFC
 MPILIBS
-MPICC
 FLAGS_CHECK
 FLAGS_NO_CHECK
-LOCAL_PATH_IS_ALSO_GLOBAL
-PYTHON
-PYTHONPATH'
+LOCAL_PATH_IS_ALSO_GLOBAL'
 
 
 # Initialize some variables set by options.
@@ -1258,11 +1227,6 @@
   --enable-double-precision
                           solver in double precision [default=no]
 
-Optional Packages:
-  --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
-  --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
-  --with-pyre             build Pyrized version [default=no]
-
 Some influential environment variables:
   FC          Fortran compiler command
   FCFLAGS     Fortran compiler flags
@@ -1275,7 +1239,6 @@
               you have headers in a nonstandard directory <include dir>
   MPIFC       MPI Fortran compiler command
   MPILIBS     extra libraries for linking MPI programs
-  MPICC       MPI C compiler command
   FLAGS_CHECK Fortran compiler flags for non-critical subroutines
   FLAGS_NO_CHECK
               Fortran compiler flags for creating fast, production-run code
@@ -1283,8 +1246,6 @@
   LOCAL_PATH_IS_ALSO_GLOBAL
               files on a local path on each node are also seen as global with
               same path [default=false]
-  PYTHON      Python interpreter
-  PYTHONPATH  Python module search path
 
 Use these variables to override the choices made by `configure' or to help
 it to find libraries and programs with nonstandard names/locations.
@@ -1725,25 +1686,6 @@
 
 # 'configure' options
 
-
-# Check whether --with-pyre was given.
-if test "${with_pyre+set}" = set; then
-  withval=$with_pyre; want_pyre="$withval"
-else
-  want_pyre=no
-fi
-
-
-
-if test "$want_pyre" = yes; then
-  COND_PYRE_TRUE=
-  COND_PYRE_FALSE='#'
-else
-  COND_PYRE_TRUE='#'
-  COND_PYRE_FALSE=
-fi
-
-
 # Check whether --enable-double-precision was given.
 if test "${enable_double_precision+set}" = set; then
   enableval=$enable_double_precision; want_double_precision="$enableval"
@@ -1764,297 +1706,6 @@
 
 # Checks for programs.
 
-if test "$want_pyre" = yes; then
-
-
-
-
-        if test -n "$PYTHON"; then
-      # If the user set $PYTHON, use it and don't search something else.
-      { echo "$as_me:$LINENO: checking whether $PYTHON version >= 2.3" >&5
-echo $ECHO_N "checking whether $PYTHON version >= 2.3... $ECHO_C" >&6; }
-      prog="import sys, string
-# split strings by '.' and convert to numeric.  Append some zeros
-# because we need at least 4 digits for the hex conversion.
-minver = map(int, string.split('2.3', '.')) + [0, 0, 0]
-minverhex = 0
-for i in xrange(0, 4): minverhex = (minverhex << 8) + minver[i]
-sys.exit(sys.hexversion < minverhex)"
-  if { echo "$as_me:$LINENO: $PYTHON -c "$prog"" >&5
-   ($PYTHON -c "$prog") >&5 2>&5
-   ac_status=$?
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   (exit $ac_status); }; then
-  { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
-else
-  { { echo "$as_me:$LINENO: error: too old" >&5
-echo "$as_me: error: too old" >&2;}
-   { (exit 1); exit 1; }; }
-fi
-
-      am_display_PYTHON=$PYTHON
-    else
-      # Otherwise, try each interpreter until we find one that satisfies
-      # VERSION.
-      { echo "$as_me:$LINENO: checking for a Python interpreter with version >= 2.3" >&5
-echo $ECHO_N "checking for a Python interpreter with version >= 2.3... $ECHO_C" >&6; }
-if test "${am_cv_pathless_PYTHON+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-	for am_cv_pathless_PYTHON in python python2 python2.5 python2.4 python2.3 python2.2 python2.1 python2.0 python1.6 python1.5 none; do
-	  test "$am_cv_pathless_PYTHON" = none && break
-	  prog="import sys, string
-# split strings by '.' and convert to numeric.  Append some zeros
-# because we need at least 4 digits for the hex conversion.
-minver = map(int, string.split('2.3', '.')) + [0, 0, 0]
-minverhex = 0
-for i in xrange(0, 4): minverhex = (minverhex << 8) + minver[i]
-sys.exit(sys.hexversion < minverhex)"
-  if { echo "$as_me:$LINENO: $am_cv_pathless_PYTHON -c "$prog"" >&5
-   ($am_cv_pathless_PYTHON -c "$prog") >&5 2>&5
-   ac_status=$?
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   (exit $ac_status); }; then
-  break
-fi
-
-	done
-fi
-{ echo "$as_me:$LINENO: result: $am_cv_pathless_PYTHON" >&5
-echo "${ECHO_T}$am_cv_pathless_PYTHON" >&6; }
-      # Set $PYTHON to the absolute path of $am_cv_pathless_PYTHON.
-      if test "$am_cv_pathless_PYTHON" = none; then
-	PYTHON=:
-      else
-        # Extract the first word of "$am_cv_pathless_PYTHON", so it can be a program name with args.
-set dummy $am_cv_pathless_PYTHON; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_path_PYTHON+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  case $PYTHON in
-  [\\/]* | ?:[\\/]*)
-  ac_cv_path_PYTHON="$PYTHON" # Let the user override the test with a path.
-  ;;
-  *)
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_path_PYTHON="$as_dir/$ac_word$ac_exec_ext"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-done
-IFS=$as_save_IFS
-
-  ;;
-esac
-fi
-PYTHON=$ac_cv_path_PYTHON
-if test -n "$PYTHON"; then
-  { echo "$as_me:$LINENO: result: $PYTHON" >&5
-echo "${ECHO_T}$PYTHON" >&6; }
-else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
-
-      fi
-      am_display_PYTHON=$am_cv_pathless_PYTHON
-    fi
-
-
-  if test "$PYTHON" = :; then
-      { { echo "$as_me:$LINENO: error: no suitable Python interpreter found" >&5
-echo "$as_me: error: no suitable Python interpreter found" >&2;}
-   { (exit 1); exit 1; }; }
-  else
-
-
-  { echo "$as_me:$LINENO: checking for $am_display_PYTHON version" >&5
-echo $ECHO_N "checking for $am_display_PYTHON version... $ECHO_C" >&6; }
-if test "${am_cv_python_version+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  am_cv_python_version=`$PYTHON -c "import sys; print sys.version[:3]"`
-fi
-{ echo "$as_me:$LINENO: result: $am_cv_python_version" >&5
-echo "${ECHO_T}$am_cv_python_version" >&6; }
-  PYTHON_VERSION=$am_cv_python_version
-
-
-
-  PYTHON_PREFIX='${prefix}'
-
-  PYTHON_EXEC_PREFIX='${exec_prefix}'
-
-
-
-  { echo "$as_me:$LINENO: checking for $am_display_PYTHON platform" >&5
-echo $ECHO_N "checking for $am_display_PYTHON platform... $ECHO_C" >&6; }
-if test "${am_cv_python_platform+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  am_cv_python_platform=`$PYTHON -c "import sys; print sys.platform"`
-fi
-{ echo "$as_me:$LINENO: result: $am_cv_python_platform" >&5
-echo "${ECHO_T}$am_cv_python_platform" >&6; }
-  PYTHON_PLATFORM=$am_cv_python_platform
-
-
-
-
-                { echo "$as_me:$LINENO: checking for $am_display_PYTHON script directory" >&5
-echo $ECHO_N "checking for $am_display_PYTHON script directory... $ECHO_C" >&6; }
-if test "${am_cv_python_pythondir+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  am_cv_python_pythondir=`$PYTHON -c "from distutils import sysconfig; print sysconfig.get_python_lib(0,0,prefix='$PYTHON_PREFIX')" 2>/dev/null ||
-     echo "$PYTHON_PREFIX/lib/python$PYTHON_VERSION/site-packages"`
-fi
-{ echo "$as_me:$LINENO: result: $am_cv_python_pythondir" >&5
-echo "${ECHO_T}$am_cv_python_pythondir" >&6; }
-  pythondir=$am_cv_python_pythondir
-
-
-
-  pkgpythondir=\${pythondir}/$PACKAGE
-
-
-            { echo "$as_me:$LINENO: checking for $am_display_PYTHON extension module directory" >&5
-echo $ECHO_N "checking for $am_display_PYTHON extension module directory... $ECHO_C" >&6; }
-if test "${am_cv_python_pyexecdir+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  am_cv_python_pyexecdir=`$PYTHON -c "from distutils import sysconfig; print sysconfig.get_python_lib(1,0,prefix='$PYTHON_EXEC_PREFIX')" 2>/dev/null ||
-     echo "${PYTHON_EXEC_PREFIX}/lib/python${PYTHON_VERSION}/site-packages"`
-fi
-{ echo "$as_me:$LINENO: result: $am_cv_python_pyexecdir" >&5
-echo "${ECHO_T}$am_cv_python_pyexecdir" >&6; }
-  pyexecdir=$am_cv_python_pyexecdir
-
-
-
-  pkgpyexecdir=\${pyexecdir}/$PACKAGE
-
-
-
-  fi
-
-
-
-# $Id: cit_python.m4 6876 2007-05-14 23:03:20Z leif $
-
-{ echo "$as_me:$LINENO: checking $am_display_PYTHON sysconfig" >&5
-echo $ECHO_N "checking $am_display_PYTHON sysconfig... $ECHO_C" >&6; }
-cat >sysconfig.py <<END_OF_PYTHON
-import os, sys
-from distutils import sysconfig
-def cygpath(wpath):
-    s = os.popen('cygpath -u "%s"' % wpath)
-    path = s.read().strip()
-    s.close()
-    return path
-incdir = sysconfig.get_python_inc()
-keys = (
-    'BLDLIBRARY',
-    'LDFLAGS',
-    'LDLAST',
-    'LDLIBRARY',
-    'LIBDIR',
-    'LIBP',
-    'LIBPL',
-    'LIBS',
-    'LINKFORSHARED',
-    'MODLIBS',
-    'SYSLIBS',
-)
-if os.name == "nt":
-    # We are running under Python for Windows (the real one...
-    # not Cygwin Python, under which 'os.name' is 'posix').
-    # We assume that we are still in the Cygwin POSIX environment,
-    # however (this is 'configure', after all); so we convert
-    # all Windows pathnames to POSIX pathnames using 'cygpath'.
-    incdir = cygpath(incdir)
-    vars = {}
-    libs = os.path.join(sys.prefix, "libs")
-    libs = cygpath(libs)
-    version = sysconfig.get_python_version()
-    version = version.replace('.', '')
-    vars['BLDLIBRARY'] = "-L%s -lpython%s" % (libs, version)
-else:
-    vars = sysconfig.get_config_vars()
-    # transform AIX's python.exp
-    vars['LINKFORSHARED'] = vars['LINKFORSHARED'].replace('Modules',vars['LIBPL'])
-    if vars['LDLIBRARY'] == vars['LIBRARY']:
-        # "On systems without shared libraries, LDLIBRARY is the same as LIBRARY"
-        vars['BLDLIBRARY'] = "-L%(LIBPL)s -lpython%(VERSION)s" % vars
-    elif vars['BLDLIBRARY']:
-        # LIBDIR is usually enough... except on Cygwin, where libpython is
-        # nested inside Python's 'config' directory (Issue39).
-        vars['BLDLIBRARY'] = "-L%(LIBDIR)s -L%(LIBPL)s -lpython%(VERSION)s" % vars
-    else:
-        # "On Mac OS X frameworks, BLDLIBRARY is blank"
-        # See also Issue39.
-        framework = "%(PYTHONFRAMEWORKDIR)s/Versions/%(VERSION)s/%(PYTHONFRAMEWORK)s" % vars
-        vars['LINKFORSHARED'] = vars['LINKFORSHARED'].replace(framework, "-framework " + vars.get('PYTHONFRAMEWORK', 'Python'))
-print 'PYTHON_INCDIR="%s"' % incdir
-for key in keys:
-    print 'PYTHON_%s="%s"' % (key, vars.get(key, ''))
-
-END_OF_PYTHON
-eval `$PYTHON sysconfig.py 2>/dev/null`
-if test -n "$PYTHON_INCDIR"; then
-    { echo "$as_me:$LINENO: result: ok" >&5
-echo "${ECHO_T}ok" >&6; }
-else
-    { { echo "$as_me:$LINENO: error: \"failed
-
-Run '$PYTHON sysconfig.py' to see what wrong.
-\"" >&5
-echo "$as_me: error: \"failed
-
-Run '$PYTHON sysconfig.py' to see what wrong.
-\"" >&2;}
-   { (exit 1); exit 1; }; }
-fi
-rm -f sysconfig.py
-PYTHON_INCDIR=$PYTHON_INCDIR
-
-PYTHON_BLDLIBRARY=$PYTHON_BLDLIBRARY
-
-PYTHON_LDFLAGS=$PYTHON_LDFLAGS
-
-PYTHON_LDLAST=$PYTHON_LDLAST
-
-PYTHON_LDLIBRARY=$PYTHON_LDLIBRARY
-
-PYTHON_LIBDIR=$PYTHON_LIBDIR
-
-PYTHON_LIBP=$PYTHON_LIBP
-
-PYTHON_LIBPL=$PYTHON_LIBPL
-
-PYTHON_LIBS=$PYTHON_LIBS
-
-PYTHON_LINKFORSHARED=$PYTHON_LINKFORSHARED
-
-PYTHON_MODLIBS=$PYTHON_MODLIBS
-
-PYTHON_SYSLIBS=$PYTHON_SYSLIBS
-
-
-fi
-
 # a courtesy to the installed base of users
 if test x"$FC" = x && test x"$F90" != x; then
     FC="$F90"
@@ -2552,7 +2203,7 @@
 
 
 
-flags_guess="$SHELL flags.guess"
+flags_guess="$SHELL $srcdir/flags.guess"
 { echo "$as_me:$LINENO: running $flags_guess" >&5
 echo "$as_me: running $flags_guess" >&6;}
 flags=`$flags_guess` ||
@@ -4979,13 +4630,9 @@
 
 
 
-
 if test x"$MPIFC" = x; then
     MPIFC=mpif90
 fi
-if test x"$MPICC" = x; then
-    MPICC=mpicc
-fi
 
 
 if test x"$LOCAL_PATH_IS_ALSO_GLOBAL" = x; then
@@ -4994,99 +4641,6 @@
 
 
 
-
-
-
-# Checks for Python modules and packages.
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-if test "$want_pyre" = yes; then
-    builddir=`pwd`
-    save_PYTHONPATH="$PYTHONPATH"
-    PYTHONPATH="$builddir/python:$PYTHONPATH"; export PYTHONPATH
-    # Cheap work-around for the inability of merlin/setuptools to control #! line.
-    rm -f pyspecfem3D
-    $as_ln_s $PYTHON pyspecfem3D
-    pyspecfem3D="$builddir/pyspecfem3D"
-    cd $srcdir
-
-    { echo "$as_me:$LINENO: downloading missing Python dependencies" >&5
-echo "$as_me: downloading missing Python dependencies" >&6;}
-    if { ac_try='$pyspecfem3D setup.py install_deps -zmxd $builddir/deps >&5 2>&5'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  :
-else
-  { { echo "$as_me:$LINENO: error: cannot download missing Python dependencies
-See \`config.log' for more details." >&5
-echo "$as_me: error: cannot download missing Python dependencies
-See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; }
-fi
-
-
-    { echo "$as_me:$LINENO: building Python dependencies" >&5
-echo "$as_me: building Python dependencies" >&6;}
-    if { ac_try='$pyspecfem3D setup.py develop -H None -f $builddir/deps -s $builddir -d $builddir/python >&5 2>&5'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  :
-else
-  { { echo "$as_me:$LINENO: error: building Python dependencies
-See \`config.log' for more details." >&5
-echo "$as_me: error: building Python dependencies
-See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; }
-fi
-
-
-    { echo "$as_me:$LINENO: checking for egg-related flags" >&5
-echo $ECHO_N "checking for egg-related flags... $ECHO_C" >&6; }
-    if { ac_try='$pyspecfem3D setup.py egg_flags >&5 2>&5'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  { echo "$as_me:$LINENO: result: ok" >&5
-echo "${ECHO_T}ok" >&6; }
-           . egg-flags.sh
-           rm -f egg-flags.sh
-
-else
-  { echo "$as_me:$LINENO: result: failed" >&5
-echo "${ECHO_T}failed" >&6; }
-          { { echo "$as_me:$LINENO: error: cannot scan Python eggs for flags
-See \`config.log' for more details." >&5
-echo "$as_me: error: cannot scan Python eggs for flags
-See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; }
-fi
-
-
-    cd $builddir
-    rm -f pyspecfem3D
-    PYTHONPATH="$save_PYTHONPATH"
-    PYTHONPATH="${pythondir}:${pyexecdir}${save_PYTHONPATH:+:${save_PYTHONPATH}}"
-
-
-
-
-
-fi
-
-
 # Checks for libraries.
 
 
@@ -5241,159 +4795,17 @@
 FC=$cit_fc_save_fc
 FCFLAGS=$cit_fc_save_fcflags
 
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-
-
-# Checks for typedefs, structures, and compiler characteristics.
-
-if test "$want_pyre" = yes; then
-    ac_ext=${ac_fc_srcext-f}
+ac_ext=${ac_fc_srcext-f}
 ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5'
 ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5'
 ac_compiler_gnu=$ac_cv_fc_compiler_gnu
-{ echo "$as_me:$LINENO: checking for alternate main to link with Fortran libraries" >&5
-echo $ECHO_N "checking for alternate main to link with Fortran libraries... $ECHO_C" >&6; }
-if test "${ac_cv_fc_main+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  ac_fc_m_save_LIBS=$LIBS
- LIBS="cfortran_test.$ac_objext $LIBS"
- ac_fortran_dm_var=FC_DUMMY_MAIN
- ac_cv_fortran_main="main" # default entry point name
- for ac_func in MAIN__ MAIN_ __main MAIN _MAIN __MAIN main_ main__ _main; do
-   ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
-   cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#ifdef FC_DUMMY_MAIN_EQ_F77
-#  undef F77_DUMMY_MAIN
-#  undef FC_DUMMY_MAIN
-#else
-#  undef $ac_fortran_dm_var
-#endif
-#define main $ac_func
-#ifdef FC_DUMMY_MAIN
-#ifndef FC_DUMMY_MAIN_EQ_F77
-#  ifdef __cplusplus
-     extern "C"
-#  endif
-   int FC_DUMMY_MAIN() { return 1; }
-#endif
-#endif
-int
-main ()
-{
 
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  mv conftest.$ac_objext cfortran_test.$ac_objext
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
 
-	{ { echo "$as_me:$LINENO: error: cannot compile a simple C program
-See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compile a simple C program
-See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; }
-fi
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-   ac_ext=${ac_fc_srcext-f}
-ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5'
-ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_fc_compiler_gnu
+# Checks for typedefs, structures, and compiler characteristics.
 
-   cat >conftest.$ac_ext <<_ACEOF
-      subroutine foobar()
-      return
-      end
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_fc_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
-  ac_cv_fortran_main=$ac_func; break
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
 
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
-   rm -f cfortran_test* conftest*
- done
- ac_cv_fc_main=$ac_cv_fortran_main
- rm -f cfortran_test* conftest*
- LIBS=$ac_fc_m_save_LIBS
-
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_fc_main" >&5
-echo "${ECHO_T}$ac_cv_fc_main" >&6; }
-
-cat >>confdefs.h <<_ACEOF
-#define FC_MAIN $ac_cv_fc_main
-_ACEOF
-
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-fi
-
-
 # Checks for library functions.
 
 
@@ -5495,13 +4907,6 @@
 LTLIBOBJS=$ac_ltlibobjs
 
 
-if test -z "${COND_PYRE_TRUE}" && test -z "${COND_PYRE_FALSE}"; then
-  { { echo "$as_me:$LINENO: error: conditional \"COND_PYRE\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"COND_PYRE\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
-   { (exit 1); exit 1; }; }
-fi
 
 : ${CONFIG_STATUS=./config.status}
 ac_clean_files_save=$ac_clean_files
@@ -6060,31 +5465,8 @@
 build_alias!$build_alias$ac_delim
 host_alias!$host_alias$ac_delim
 target_alias!$target_alias$ac_delim
-COND_PYRE_TRUE!$COND_PYRE_TRUE$ac_delim
-COND_PYRE_FALSE!$COND_PYRE_FALSE$ac_delim
 CUSTOM_REAL!$CUSTOM_REAL$ac_delim
 CUSTOM_MPI_TYPE!$CUSTOM_MPI_TYPE$ac_delim
-PYTHON!$PYTHON$ac_delim
-PYTHON_VERSION!$PYTHON_VERSION$ac_delim
-PYTHON_PREFIX!$PYTHON_PREFIX$ac_delim
-PYTHON_EXEC_PREFIX!$PYTHON_EXEC_PREFIX$ac_delim
-PYTHON_PLATFORM!$PYTHON_PLATFORM$ac_delim
-pythondir!$pythondir$ac_delim
-pkgpythondir!$pkgpythondir$ac_delim
-pyexecdir!$pyexecdir$ac_delim
-pkgpyexecdir!$pkgpyexecdir$ac_delim
-PYTHON_INCDIR!$PYTHON_INCDIR$ac_delim
-PYTHON_BLDLIBRARY!$PYTHON_BLDLIBRARY$ac_delim
-PYTHON_LDFLAGS!$PYTHON_LDFLAGS$ac_delim
-PYTHON_LDLAST!$PYTHON_LDLAST$ac_delim
-PYTHON_LDLIBRARY!$PYTHON_LDLIBRARY$ac_delim
-PYTHON_LIBDIR!$PYTHON_LIBDIR$ac_delim
-PYTHON_LIBP!$PYTHON_LIBP$ac_delim
-PYTHON_LIBPL!$PYTHON_LIBPL$ac_delim
-PYTHON_LIBS!$PYTHON_LIBS$ac_delim
-PYTHON_LINKFORSHARED!$PYTHON_LINKFORSHARED$ac_delim
-PYTHON_MODLIBS!$PYTHON_MODLIBS$ac_delim
-PYTHON_SYSLIBS!$PYTHON_SYSLIBS$ac_delim
 FC!$FC$ac_delim
 FCFLAGS!$FCFLAGS$ac_delim
 LDFLAGS!$LDFLAGS$ac_delim
@@ -6100,19 +5482,14 @@
 FCFLAGS_f90!$FCFLAGS_f90$ac_delim
 MPIFC!$MPIFC$ac_delim
 MPILIBS!$MPILIBS$ac_delim
-MPICC!$MPICC$ac_delim
 FLAGS_CHECK!$FLAGS_CHECK$ac_delim
 FLAGS_NO_CHECK!$FLAGS_NO_CHECK$ac_delim
 LOCAL_PATH_IS_ALSO_GLOBAL!$LOCAL_PATH_IS_ALSO_GLOBAL$ac_delim
-PYTHONPATH!$PYTHONPATH$ac_delim
-PYTHON_EGG_CFLAGS!$PYTHON_EGG_CFLAGS$ac_delim
-PYTHON_EGG_CPPFLAGS!$PYTHON_EGG_CPPFLAGS$ac_delim
-PYTHON_EGG_LDFLAGS!$PYTHON_EGG_LDFLAGS$ac_delim
 LIBOBJS!$LIBOBJS$ac_delim
 LTLIBOBJS!$LTLIBOBJS$ac_delim
 _ACEOF
 
-  if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 87; then
+  if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 59; then
     break
   elif $ac_last_try; then
     { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5

Modified: seismo/3D/SPECFEM3D_GLOBE/tags/v4.0.1-portal/configure.ac
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/tags/v4.0.1/configure.ac	2008-07-01 22:46:03 UTC (rev 12364)
+++ seismo/3D/SPECFEM3D_GLOBE/tags/v4.0.1-portal/configure.ac	2008-07-01 23:52:59 UTC (rev 12365)
@@ -18,13 +18,6 @@
 
 # 'configure' options
 
-AC_ARG_WITH([pyre],
-    [AC_HELP_STRING([--with-pyre],
-        [build Pyrized version @<:@default=no@:>@])],
-    [want_pyre="$withval"],
-    [want_pyre=no])
-AM_CONDITIONAL([COND_PYRE], [test "$want_pyre" = yes])
-
 AC_ARG_ENABLE([double-precision],
     [AC_HELP_STRING([--enable-double-precision],
         [solver in double precision @<:@default=no@:>@])],
@@ -43,11 +36,6 @@
 
 # Checks for programs.
 
-if test "$want_pyre" = yes; then
-    AM_PATH_PYTHON([2.3])
-    CIT_PYTHON_SYSCONFIG
-fi
-
 # a courtesy to the installed base of users
 if test x"$FC" = x && test x"$F90" != x; then
     FC="$F90"
@@ -64,7 +52,7 @@
 AC_PROVIDE([AC_PROG_F77])
 AC_SUBST([FCENV])
 
-flags_guess="$SHELL flags.guess"
+flags_guess="$SHELL $srcdir/flags.guess"
 AC_MSG_NOTICE([running $flags_guess])
 flags=`$flags_guess` ||
     AC_MSG_ERROR([$flags_guess failed])
@@ -83,70 +71,19 @@
 
 AC_ARG_VAR(MPIFC, [MPI Fortran compiler command])
 AC_ARG_VAR(MPILIBS, [extra libraries for linking MPI programs])
-AC_ARG_VAR(MPICC, [MPI C compiler command])
 AC_ARG_VAR(FLAGS_CHECK, [Fortran compiler flags for non-critical subroutines])
 AC_ARG_VAR(FLAGS_NO_CHECK, [Fortran compiler flags for creating fast, production-run code for critical subroutines])
 if test x"$MPIFC" = x; then
     MPIFC=mpif90
 fi
-if test x"$MPICC" = x; then
-    MPICC=mpicc
-fi
 
 AC_ARG_VAR(LOCAL_PATH_IS_ALSO_GLOBAL, [files on a local path on each node are also seen as global with same path @<:@default=false@:>@])
 if test x"$LOCAL_PATH_IS_ALSO_GLOBAL" = x; then
     LOCAL_PATH_IS_ALSO_GLOBAL=false
 fi
 
-AC_ARG_VAR(PYTHON, [Python interpreter])
-AC_ARG_VAR(PYTHONPATH, [Python module search path])
 
 
-
-# Checks for Python modules and packages.
-
-AC_LANG(C)
-if test "$want_pyre" = yes; then
-    builddir=`pwd`
-    save_PYTHONPATH="$PYTHONPATH"
-    PYTHONPATH="$builddir/python:$PYTHONPATH"; export PYTHONPATH
-    # Cheap work-around for the inability of merlin/setuptools to control #! line.
-    rm -f pyspecfem3D
-    $as_ln_s $PYTHON pyspecfem3D
-    pyspecfem3D="$builddir/pyspecfem3D"
-    cd $srcdir
-
-    AC_MSG_NOTICE([downloading missing Python dependencies])
-    AS_IF([AC_TRY_COMMAND([$pyspecfem3D setup.py install_deps -zmxd $builddir/deps >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD])],
-          [],
-          [AC_MSG_FAILURE([cannot download missing Python dependencies])])
-
-    AC_MSG_NOTICE([building Python dependencies])
-    AS_IF([AC_TRY_COMMAND([$pyspecfem3D setup.py develop -H None -f $builddir/deps -s $builddir -d $builddir/python >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD])],
-          [],
-          [AC_MSG_FAILURE([building Python dependencies])])
-
-    AC_MSG_CHECKING([for egg-related flags])
-    AS_IF([AC_TRY_COMMAND([$pyspecfem3D setup.py egg_flags >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD])],
-          [AC_MSG_RESULT(ok)
-           . egg-flags.sh
-           rm -f egg-flags.sh
-          ],
-          [AC_MSG_RESULT(failed)
-          AC_MSG_FAILURE([cannot scan Python eggs for flags])])
-
-    cd $builddir
-    rm -f pyspecfem3D
-    PYTHONPATH="$save_PYTHONPATH"
-    PYTHONPATH="${pythondir}:${pyexecdir}${save_PYTHONPATH:+:${save_PYTHONPATH}}"
-
-    AC_SUBST(PYTHONPATH)
-    AC_SUBST(PYTHON_EGG_CFLAGS)
-    AC_SUBST(PYTHON_EGG_CPPFLAGS)
-    AC_SUBST(PYTHON_EGG_LDFLAGS)
-fi
-
-
 # Checks for libraries.
 
 
@@ -157,11 +94,7 @@
 
 # Checks for typedefs, structures, and compiler characteristics.
 
-if test "$want_pyre" = yes; then
-    CIT_FC_MAIN
-fi
 
-
 # Checks for library functions.
 
 

Modified: seismo/3D/SPECFEM3D_GLOBE/tags/v4.0.1-portal/create_header_file.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/tags/v4.0.1/create_header_file.f90	2008-07-01 22:46:03 UTC (rev 12364)
+++ seismo/3D/SPECFEM3D_GLOBE/tags/v4.0.1-portal/create_header_file.f90	2008-07-01 23:52:59 UTC (rev 12365)
@@ -28,7 +28,7 @@
 ! create file OUTPUT_FILES/values_from_mesher.h based upon DATA/Par_file
 ! in order to compile the solver with the right array sizes
 
-  subroutine create_header_file
+  program xcreate_header_file
 
   implicit none
 
@@ -234,5 +234,5 @@
   print *,'                                     = ',static_memory_size*dble(NPROCTOT)/1099511627776.d0,' TB'
   print *
 
-  end subroutine create_header_file
+  end program xcreate_header_file
 

Modified: seismo/3D/SPECFEM3D_GLOBE/tags/v4.0.1-portal/create_movie_AVS_DX.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/tags/v4.0.1/create_movie_AVS_DX.f90	2008-07-01 22:46:03 UTC (rev 12364)
+++ seismo/3D/SPECFEM3D_GLOBE/tags/v4.0.1-portal/create_movie_AVS_DX.f90	2008-07-01 23:52:59 UTC (rev 12365)
@@ -30,6 +30,60 @@
 !---  in AVS or OpenDX format
 !
 
+  program xcreate_movie_AVS_DX
+
+  implicit none
+
+  integer it1,it2
+  integer iformat
+
+! parameters read from parameter file
+  integer NEX_XI,NEX_ETA
+  integer NSTEP,NTSTEP_BETWEEN_FRAMES,NCHUNKS
+  integer NPROCTOT,NEX_PER_PROC_XI,NEX_PER_PROC_ETA
+  logical MOVIE_SURFACE
+
+! ************** PROGRAM STARTS HERE **************
+
+  call read_AVS_DX_parameters(NEX_XI,NEX_ETA, &
+           NSTEP,NTSTEP_BETWEEN_FRAMES, &
+           NCHUNKS,MOVIE_SURFACE, &
+           NPROCTOT,NEX_PER_PROC_XI,NEX_PER_PROC_ETA)
+
+  if(.not. MOVIE_SURFACE) stop 'movie frames were not saved by the solver'
+
+  print *,'1 = create files in OpenDX format'
+  print *,'2 = create files in AVS UCD format with individual files'
+  print *,'3 = create files in AVS UCD format with one time-dependent file'
+  print *,'4 = create files in GMT xyz Ascii long/lat/Uz format'
+  print *,'any other value = exit'
+  print *
+  print *,'enter value:'
+  read(5,*) iformat
+  if(iformat<1 .or. iformat>4) stop 'exiting...'
+
+  print *,'movie frames have been saved every ',NTSTEP_BETWEEN_FRAMES,' time steps'
+  print *
+
+  print *,'enter first time step of movie (e.g. 1)'
+  read(5,*) it1
+
+  print *,'enter last time step of movie (e.g. ',NSTEP,')'
+  read(5,*) it2
+
+! run the main program
+  call create_movie_AVS_DX(iformat,it1,it2, &
+           NEX_XI,NEX_ETA, &
+           NSTEP,NTSTEP_BETWEEN_FRAMES, &
+           NCHUNKS, &
+           NPROCTOT,NEX_PER_PROC_XI,NEX_PER_PROC_ETA)
+
+  end program xcreate_movie_AVS_DX
+
+!
+!=====================================================================
+!
+
   subroutine create_movie_AVS_DX(iformat,it1,it2,NEX_XI,NEX_ETA,NSTEP,NTSTEP_BETWEEN_FRAMES, &
           NCHUNKS,NPROCTOT,NEX_PER_PROC_XI,NEX_PER_PROC_ETA)
 

Deleted: seismo/3D/SPECFEM3D_GLOBE/tags/v4.0.1-portal/ez_setup.py
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/tags/v4.0.1/ez_setup.py	2008-07-01 22:46:03 UTC (rev 12364)
+++ seismo/3D/SPECFEM3D_GLOBE/tags/v4.0.1-portal/ez_setup.py	2008-07-01 23:52:59 UTC (rev 12365)
@@ -1,217 +0,0 @@
-#!python
-"""Bootstrap setuptools installation
-
-If you want to use setuptools in your package's setup.py, just include this
-file in the same directory with it, and add this to the top of your setup.py::
-
-    from ez_setup import use_setuptools
-    use_setuptools()
-
-If you want to require a specific version of setuptools, set a download
-mirror, or use an alternate download directory, you can do so by supplying
-the appropriate options to ``use_setuptools()``.
-
-This file can also be run as a script to install or upgrade setuptools.
-"""
-import sys
-DEFAULT_VERSION = "0.6c1"
-DEFAULT_URL     = "http://cheeseshop.python.org/packages/%s/s/setuptools/" % sys.version[:3]
-
-md5_data = {
-    'setuptools-0.6b1-py2.3.egg': '8822caf901250d848b996b7f25c6e6ca',
-    'setuptools-0.6b1-py2.4.egg': 'b79a8a403e4502fbb85ee3f1941735cb',
-    'setuptools-0.6b2-py2.3.egg': '5657759d8a6d8fc44070a9d07272d99b',
-    'setuptools-0.6b2-py2.4.egg': '4996a8d169d2be661fa32a6e52e4f82a',
-    'setuptools-0.6b3-py2.3.egg': 'bb31c0fc7399a63579975cad9f5a0618',
-    'setuptools-0.6b3-py2.4.egg': '38a8c6b3d6ecd22247f179f7da669fac',
-    'setuptools-0.6b4-py2.3.egg': '62045a24ed4e1ebc77fe039aa4e6f7e5',
-    'setuptools-0.6b4-py2.4.egg': '4cb2a185d228dacffb2d17f103b3b1c4',
-    'setuptools-0.6c1-py2.3.egg': 'b3f2b5539d65cb7f74ad79127f1a908c',
-    'setuptools-0.6c1-py2.4.egg': 'b45adeda0667d2d2ffe14009364f2a4b',
-}
-
-import sys, os
-
-def _validate_md5(egg_name, data):
-    if egg_name in md5_data:
-        from md5 import md5
-        digest = md5(data).hexdigest()
-        if digest != md5_data[egg_name]:
-            print >>sys.stderr, (
-                "md5 validation of %s failed!  (Possible download problem?)"
-                % egg_name
-            )
-            sys.exit(2)
-    return data
-
-
-def use_setuptools(
-    version=DEFAULT_VERSION, download_base=DEFAULT_URL, to_dir=os.curdir,
-    download_delay=15
-):
-    """Automatically find/download setuptools and make it available on sys.path
-
-    `version` should be a valid setuptools version number that is available
-    as an egg for download under the `download_base` URL (which should end with
-    a '/').  `to_dir` is the directory where setuptools will be downloaded, if
-    it is not already available.  If `download_delay` is specified, it should
-    be the number of seconds that will be paused before initiating a download,
-    should one be required.  If an older version of setuptools is installed,
-    this routine will print a message to ``sys.stderr`` and raise SystemExit in
-    an attempt to abort the calling script.
-    """
-    try:
-        import setuptools
-        if setuptools.__version__ == '0.0.1':
-            print >>sys.stderr, (
-            "You have an obsolete version of setuptools installed.  Please\n"
-            "remove it from your system entirely before rerunning this script."
-            )
-            sys.exit(2)
-    except ImportError:
-        egg = download_setuptools(version, download_base, to_dir, download_delay)
-        sys.path.insert(0, egg)
-        import setuptools; setuptools.bootstrap_install_from = egg
-
-    import pkg_resources
-    try:
-        pkg_resources.require("setuptools>="+version)
-
-    except pkg_resources.VersionConflict:
-        # XXX could we install in a subprocess here?
-        print >>sys.stderr, (
-            "The required version of setuptools (>=%s) is not available, and\n"
-            "can't be installed while this script is running. Please install\n"
-            " a more recent version first."
-        ) % version
-        sys.exit(2)
-
-def download_setuptools(
-    version=DEFAULT_VERSION, download_base=DEFAULT_URL, to_dir=os.curdir,
-    delay = 15
-):
-    """Download setuptools from a specified location and return its filename
-
-    `version` should be a valid setuptools version number that is available
-    as an egg for download under the `download_base` URL (which should end
-    with a '/'). `to_dir` is the directory where the egg will be downloaded.
-    `delay` is the number of seconds to pause before an actual download attempt.
-    """
-    import urllib2, shutil
-    egg_name = "setuptools-%s-py%s.egg" % (version,sys.version[:3])
-    url = download_base + egg_name
-    saveto = os.path.join(to_dir, egg_name)
-    src = dst = None
-    if not os.path.exists(saveto):  # Avoid repeated downloads
-        try:
-            from distutils import log
-            if delay:
-                log.warn("""
----------------------------------------------------------------------------
-This script requires setuptools version %s to run (even to display
-help).  I will attempt to download it for you (from
-%s), but
-you may need to enable firewall access for this script first.
-I will start the download in %d seconds.
-
-(Note: if this machine does not have network access, please obtain the file
-
-   %s
-
-and place it in this directory before rerunning this script.)
----------------------------------------------------------------------------""",
-                    version, download_base, delay, url
-                ); from time import sleep; sleep(delay)
-            log.warn("Downloading %s", url)
-            src = urllib2.urlopen(url)
-            # Read/write all in one block, so we don't create a corrupt file
-            # if the download is interrupted.
-            data = _validate_md5(egg_name, src.read())
-            dst = open(saveto,"wb"); dst.write(data)
-        finally:
-            if src: src.close()
-            if dst: dst.close()
-    return os.path.realpath(saveto)
-
-def main(argv, version=DEFAULT_VERSION):
-    """Install or upgrade setuptools and EasyInstall"""
-
-    try:
-        import setuptools
-    except ImportError:
-        import tempfile, shutil
-        tmpdir = tempfile.mkdtemp(prefix="easy_install-")
-        try:
-            egg = download_setuptools(version, to_dir=tmpdir, delay=0)
-            sys.path.insert(0,egg)
-            from setuptools.command.easy_install import main
-            return main(list(argv)+[egg])   # we're done here
-        finally:
-            shutil.rmtree(tmpdir)
-    else:
-        if setuptools.__version__ == '0.0.1':
-            # tell the user to uninstall obsolete version
-            use_setuptools(version)
-
-    req = "setuptools>="+version
-    import pkg_resources
-    try:
-        pkg_resources.require(req)
-    except pkg_resources.VersionConflict:
-        try:
-            from setuptools.command.easy_install import main
-        except ImportError:
-            from easy_install import main
-        main(list(argv)+[download_setuptools(delay=0)])
-        sys.exit(0) # try to force an exit
-    else:
-        if argv:
-            from setuptools.command.easy_install import main
-            main(argv)
-        else:
-            print "Setuptools version",version,"or greater has been installed."
-            print '(Run "ez_setup.py -U setuptools" to reinstall or upgrade.)'
-
-
-
-def update_md5(filenames):
-    """Update our built-in md5 registry"""
-
-    import re
-    from md5 import md5
-
-    for name in filenames:
-        base = os.path.basename(name)
-        f = open(name,'rb')
-        md5_data[base] = md5(f.read()).hexdigest()
-        f.close()
-
-    data = ["    %r: %r,\n" % it for it in md5_data.items()]
-    data.sort()
-    repl = "".join(data)
-
-    import inspect
-    srcfile = inspect.getsourcefile(sys.modules[__name__])
-    f = open(srcfile, 'rb'); src = f.read(); f.close()
-
-    match = re.search("\nmd5_data = {\n([^}]+)}", src)
-    if not match:
-        print >>sys.stderr, "Internal error!"
-        sys.exit(2)
-
-    src = src[:match.start(1)] + repl + src[match.end(1):]
-    f = open(srcfile,'w')
-    f.write(src)
-    f.close()
-
-
-if __name__=='__main__':
-    if len(sys.argv)>2 and sys.argv[1]=='--md5update':
-        update_md5(sys.argv[2:])
-    else:
-        main(sys.argv[1:])
-
-
-
-
-

Deleted: seismo/3D/SPECFEM3D_GLOBE/tags/v4.0.1-portal/main.c
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/tags/v4.0.1/main.c	2008-07-01 22:46:03 UTC (rev 12364)
+++ seismo/3D/SPECFEM3D_GLOBE/tags/v4.0.1-portal/main.c	2008-07-01 23:52:59 UTC (rev 12365)
@@ -1,102 +0,0 @@
-
-#include <Python.h>
-#include <mpi.h>
-#include <stdio.h>
-#include <string.h>
-
-#include "config.h"
-
-
-extern void initPyxParameters(void);
-extern void initPyxMeshfem(void);
-#ifdef BUILDING_SOLVER
-extern void initPyxSpecfem(void);
-#endif
-
-static int g_status;
-
-#define COMMAND \
-"import sys; " \
-"path = sys.argv[1]; " \
-"requires = sys.argv[2]; " \
-"entry = sys.argv[3]; " \
-"path = path.split(':'); " \
-"path.extend(sys.path); " \
-"sys.path = path; " \
-"from merlin import loadObject; " \
-"entry = loadObject(entry); " \
-"entry(sys.argv[3:], kwds={'requires': requires})"
-
-/* include the implementation of _mpi */
-#include "mpi/_mpi.c"
-
-struct _inittab inittab[] = {
-    { "PyxParameters", initPyxParameters },
-    { "PyxMeshfem", initPyxMeshfem },
-    { "_mpi", init_mpi },
-#ifdef BUILDING_SOLVER
-    { "PyxSpecfem", initPyxSpecfem },
-#endif
-    { 0, 0 }
-};
-
-
-#define FC_PY_MAIN FC_FUNC_(fc_py_main, FC_PY_MAIN)
-void FC_PY_MAIN()
-{
-    /* run the Python command */
-    g_status = PyRun_SimpleString(COMMAND) != 0;
-}
-
-
-int main(int argc, char **argv)
-{
-#ifdef USE_MPI
-    /* initialize MPI */
-    if (MPI_Init(&argc, &argv) != MPI_SUCCESS) {
-        fprintf(stderr, "%s: MPI_Init failed! Exiting ...", argv[0]);
-        return 1;
-    }
-#endif
-
-    /* add our extension module */
-    if (PyImport_ExtendInittab(inittab) == -1) {
-        fprintf(stderr, "%s: PyImport_ExtendInittab failed! Exiting ...", argv[0]);
-        return 1;
-    }
-
-    if (argc < 3 || strcmp(argv[1], "--pyre-start") != 0) {
-        return Py_Main(argc, argv);
-    }
-
-    /* make sure 'sys.executable' is set to the path of this program  */
-    Py_SetProgramName(argv[0]);
-
-    /* initialize Python */
-    Py_Initialize();
-
-    /* initialize sys.argv */
-    PySys_SetArgv(argc - 1, argv + 1);
-
-#define main 42
-#if FC_MAIN == main
-    /* start Python */
-    FC_PY_MAIN();
-#else
-    /* call the Fortran trampoline (which, in turn, starts Python) */
-    FC_MAIN();
-#endif
-
-    /* shut down Python */
-    Py_Finalize();
-
-#ifdef USE_MPI
-    /* shut down MPI */
-    MPI_Finalize();
-#endif
-
-    return g_status;
-}
-
-
-/* end of file */

Modified: seismo/3D/SPECFEM3D_GLOBE/tags/v4.0.1-portal/meshfem3D.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/tags/v4.0.1/meshfem3D.f90	2008-07-01 22:46:03 UTC (rev 12364)
+++ seismo/3D/SPECFEM3D_GLOBE/tags/v4.0.1-portal/meshfem3D.f90	2008-07-01 23:52:59 UTC (rev 12365)
@@ -27,7 +27,7 @@
 !
 ! United States Government Sponsorship Acknowledged.
 
-  subroutine meshfem3D
+  program xmeshfem3D
 
   implicit none
 
@@ -505,6 +505,9 @@
 
 ! ************** PROGRAM STARTS HERE **************
 
+! initialize the MPI communicator and start the NPROCTOT MPI processes.
+  call MPI_INIT(ier)
+
 ! sizeprocs returns number of processes started (should be equal to NPROCTOT).
 ! myrank is the rank of each process, between 0 and NPROCTOT-1.
 ! as usual in MPI, process 0 is in charge of coordinating everything
@@ -1399,5 +1402,8 @@
 ! synchronize all the processes to make sure everybody has finished
   call MPI_BARRIER(MPI_COMM_WORLD,ier)
 
-  end subroutine meshfem3D
+! stop all the MPI processes, and exit
+  call MPI_FINALIZE(ier)
 
+  end program xmeshfem3D
+

Deleted: seismo/3D/SPECFEM3D_GLOBE/tags/v4.0.1-portal/misc.c
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/tags/v4.0.1/misc.c	2008-07-01 22:46:03 UTC (rev 12364)
+++ seismo/3D/SPECFEM3D_GLOBE/tags/v4.0.1-portal/misc.c	2008-07-01 23:52:59 UTC (rev 12365)
@@ -1,11 +0,0 @@
-
-#include <Python.h>
-#include "config.h"
-
-/* called from Fortran to propagate Python exceptions */
-int FC_FUNC_(err_occurred, ERR_OCCURRED)()
-{
-    return PyErr_Occurred() ? 1 : 0;
-}
-
-/* end of file */

Deleted: seismo/3D/SPECFEM3D_GLOBE/tags/v4.0.1-portal/program_create_header_file.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/tags/v4.0.1/program_create_header_file.f90	2008-07-01 22:46:03 UTC (rev 12364)
+++ seismo/3D/SPECFEM3D_GLOBE/tags/v4.0.1-portal/program_create_header_file.f90	2008-07-01 23:52:59 UTC (rev 12365)
@@ -1,33 +0,0 @@
-!=====================================================================
-!
-!          S p e c f e m 3 D  G l o b e  V e r s i o n  4 . 0
-!          --------------------------------------------------
-!
-!          Main authors: Dimitri Komatitsch and Jeroen Tromp
-!    Seismological Laboratory, California Institute of Technology, USA
-!             and University of Pau / CNRS / INRIA, France
-! (c) California Institute of Technology and University of Pau / CNRS / INRIA
-!                            February 2008
-!
-! This program is free software; you can redistribute it and/or modify
-! it under the terms of the GNU General Public License as published by
-! the Free Software Foundation; either version 2 of the License, or
-! (at your option) any later version.
-!
-! This program is distributed in the hope that it will be useful,
-! but WITHOUT ANY WARRANTY; without even the implied warranty of
-! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-! GNU General Public License for more details.
-!
-! You should have received a copy of the GNU General Public License along
-! with this program; if not, write to the Free Software Foundation, Inc.,
-! 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-!
-!=====================================================================
-
-  program xcreate_header_file
-
-! run the main program
-  call create_header_file
-
-  end program xcreate_header_file

Deleted: seismo/3D/SPECFEM3D_GLOBE/tags/v4.0.1-portal/program_create_movie_AVS_DX.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/tags/v4.0.1/program_create_movie_AVS_DX.f90	2008-07-01 22:46:03 UTC (rev 12364)
+++ seismo/3D/SPECFEM3D_GLOBE/tags/v4.0.1-portal/program_create_movie_AVS_DX.f90	2008-07-01 23:52:59 UTC (rev 12365)
@@ -1,81 +0,0 @@
-!=====================================================================
-!
-!          S p e c f e m 3 D  G l o b e  V e r s i o n  4 . 0
-!          --------------------------------------------------
-!
-!          Main authors: Dimitri Komatitsch and Jeroen Tromp
-!    Seismological Laboratory, California Institute of Technology, USA
-!             and University of Pau / CNRS / INRIA, France
-! (c) California Institute of Technology and University of Pau / CNRS / INRIA
-!                            February 2008
-!
-! This program is free software; you can redistribute it and/or modify
-! it under the terms of the GNU General Public License as published by
-! the Free Software Foundation; either version 2 of the License, or
-! (at your option) any later version.
-!
-! This program is distributed in the hope that it will be useful,
-! but WITHOUT ANY WARRANTY; without even the implied warranty of
-! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-! GNU General Public License for more details.
-!
-! You should have received a copy of the GNU General Public License along
-! with this program; if not, write to the Free Software Foundation, Inc.,
-! 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-!
-!=====================================================================
-
-!
-!---  create a movie of radial component of surface displacement
-!---  in AVS or OpenDX format
-!
-
-  program xcreate_movie_AVS_DX
-
-  implicit none
-
-  integer it1,it2
-  integer iformat
-
-! parameters read from parameter file
-  integer NEX_XI,NEX_ETA
-  integer NSTEP,NTSTEP_BETWEEN_FRAMES,NCHUNKS
-  integer NPROCTOT,NEX_PER_PROC_XI,NEX_PER_PROC_ETA
-  logical MOVIE_SURFACE
-
-! ************** PROGRAM STARTS HERE **************
-
-  call read_AVS_DX_parameters(NEX_XI,NEX_ETA, &
-           NSTEP,NTSTEP_BETWEEN_FRAMES, &
-           NCHUNKS,MOVIE_SURFACE, &
-           NPROCTOT,NEX_PER_PROC_XI,NEX_PER_PROC_ETA)
-
-  if(.not. MOVIE_SURFACE) stop 'movie frames were not saved by the solver'
-
-  print *,'1 = create files in OpenDX format'
-  print *,'2 = create files in AVS UCD format with individual files'
-  print *,'3 = create files in AVS UCD format with one time-dependent file'
-  print *,'4 = create files in GMT xyz Ascii long/lat/Uz format'
-  print *,'any other value = exit'
-  print *
-  print *,'enter value:'
-  read(5,*) iformat
-  if(iformat<1 .or. iformat>4) stop 'exiting...'
-
-  print *,'movie frames have been saved every ',NTSTEP_BETWEEN_FRAMES,' time steps'
-  print *
-
-  print *,'enter first time step of movie (e.g. 1)'
-  read(5,*) it1
-
-  print *,'enter last time step of movie (e.g. ',NSTEP,')'
-  read(5,*) it2
-
-! run the main program
-  call create_movie_AVS_DX(iformat,it1,it2, &
-           NEX_XI,NEX_ETA, &
-           NSTEP,NTSTEP_BETWEEN_FRAMES, &
-           NCHUNKS, &
-           NPROCTOT,NEX_PER_PROC_XI,NEX_PER_PROC_ETA)
-
-  end program xcreate_movie_AVS_DX

Deleted: seismo/3D/SPECFEM3D_GLOBE/tags/v4.0.1-portal/program_meshfem3D.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/tags/v4.0.1/program_meshfem3D.f90	2008-07-01 22:46:03 UTC (rev 12364)
+++ seismo/3D/SPECFEM3D_GLOBE/tags/v4.0.1-portal/program_meshfem3D.f90	2008-07-01 23:52:59 UTC (rev 12365)
@@ -1,46 +0,0 @@
-!=====================================================================
-!
-!          S p e c f e m 3 D  G l o b e  V e r s i o n  4 . 0
-!          --------------------------------------------------
-!
-!          Main authors: Dimitri Komatitsch and Jeroen Tromp
-!    Seismological Laboratory, California Institute of Technology, USA
-!             and University of Pau / CNRS / INRIA, France
-! (c) California Institute of Technology and University of Pau / CNRS / INRIA
-!                            February 2008
-!
-! This program is free software; you can redistribute it and/or modify
-! it under the terms of the GNU General Public License as published by
-! the Free Software Foundation; either version 2 of the License, or
-! (at your option) any later version.
-!
-! This program is distributed in the hope that it will be useful,
-! but WITHOUT ANY WARRANTY; without even the implied warranty of
-! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-! GNU General Public License for more details.
-!
-! You should have received a copy of the GNU General Public License along
-! with this program; if not, write to the Free Software Foundation, Inc.,
-! 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-!
-!=====================================================================
-
-  program xmeshfem3D
-
-  implicit none
-
-! standard include of the MPI library
-  include 'mpif.h'
-
-  integer ier
-
-! initialize the MPI communicator and start the NPROCTOT MPI processes.
-  call MPI_INIT(ier)
-
-! run the main program
-  call meshfem3D
-
-! stop all the MPI processes, and exit
-  call MPI_FINALIZE(ier)
-
-  end program xmeshfem3D

Deleted: seismo/3D/SPECFEM3D_GLOBE/tags/v4.0.1-portal/program_specfem3D.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/tags/v4.0.1/program_specfem3D.f90	2008-07-01 22:46:03 UTC (rev 12364)
+++ seismo/3D/SPECFEM3D_GLOBE/tags/v4.0.1-portal/program_specfem3D.f90	2008-07-01 23:52:59 UTC (rev 12365)
@@ -1,46 +0,0 @@
-!=====================================================================
-!
-!          S p e c f e m 3 D  G l o b e  V e r s i o n  4 . 0
-!          --------------------------------------------------
-!
-!          Main authors: Dimitri Komatitsch and Jeroen Tromp
-!    Seismological Laboratory, California Institute of Technology, USA
-!             and University of Pau / CNRS / INRIA, France
-! (c) California Institute of Technology and University of Pau / CNRS / INRIA
-!                            February 2008
-!
-! This program is free software; you can redistribute it and/or modify
-! it under the terms of the GNU General Public License as published by
-! the Free Software Foundation; either version 2 of the License, or
-! (at your option) any later version.
-!
-! This program is distributed in the hope that it will be useful,
-! but WITHOUT ANY WARRANTY; without even the implied warranty of
-! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-! GNU General Public License for more details.
-!
-! You should have received a copy of the GNU General Public License along
-! with this program; if not, write to the Free Software Foundation, Inc.,
-! 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-!
-!=====================================================================
-
-  program xspecfem3D
-
-  implicit none
-
-! standard include of the MPI library
-  include 'mpif.h'
-
-  integer ier
-
-! initialize the MPI communicator and start the NPROCTOT MPI processes.
-  call MPI_INIT(ier)
-
-! run the main program
-  call specfem3D
-
-! stop all the MPI processes, and exit
-  call MPI_FINALIZE(ier)
-
-  end program xspecfem3D

Deleted: seismo/3D/SPECFEM3D_GLOBE/tags/v4.0.1-portal/setup.py
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/tags/v4.0.1/setup.py	2008-07-01 22:46:03 UTC (rev 12364)
+++ seismo/3D/SPECFEM3D_GLOBE/tags/v4.0.1-portal/setup.py	2008-07-01 23:52:59 UTC (rev 12365)
@@ -1,26 +0,0 @@
-
-from archimedes import use_merlin
-use_merlin()
-
-from merlin import setup
-
-setup(
-    name = 'Specfem3DGlobe', 
-    version = '4.0',
-    url = 'http://www.gps.caltech.edu/~jtromp/research/downloads.html',
-    author = 'Dimitri Komatitsch and Jeroen Tromp',
-    author_email = 'jtromp AT caltech.edu',
-    packages = [ 'Specfem3DGlobe' ],
-    
-    install_requires = [
-    'pythia[mpi] >= 0.8.1.3, < 0.8.2a',
-    ],
-    
-    entry_points = {
-    'console_scripts': [
-    'xspecfem3D = Specfem3DGlobe.Specfem:main',
-    'xcreate_movie_AVS_DX = Specfem3DGlobe.Specfem:create_movie_AVS_DX',
-    'xsfdaemon = Specfem3DGlobe.Daemon:main',
-    ],
-    },
-)

Modified: seismo/3D/SPECFEM3D_GLOBE/tags/v4.0.1-portal/specfem3D.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/tags/v4.0.1/specfem3D.f90	2008-07-01 22:46:03 UTC (rev 12364)
+++ seismo/3D/SPECFEM3D_GLOBE/tags/v4.0.1-portal/specfem3D.f90	2008-07-01 23:52:59 UTC (rev 12365)
@@ -27,7 +27,7 @@
 !
 ! United States Government Sponsorship Acknowledged.
 
-  subroutine specfem3D
+  program xspecfem3D
 
   implicit none
 
@@ -807,6 +807,9 @@
 
 ! ************** PROGRAM STARTS HERE **************
 
+! initialize the MPI communicator and start the NPROCTOT MPI processes.
+  call MPI_INIT(ier)
+
 ! sizeprocs returns number of processes started (should be equal to NPROCTOT).
 ! myrank is the rank of each process, between 0 and sizeprocs-1.
 ! as usual in MPI, process 0 is in charge of coordinating everything
@@ -5113,5 +5116,8 @@
 ! synchronize all the processes to make sure everybody has finished
   call MPI_BARRIER(MPI_COMM_WORLD,ier)
 
-  end subroutine specfem3D
+! stop all the MPI processes, and exit
+  call MPI_FINALIZE(ier)
 
+  end program xspecfem3D
+



More information about the cig-commits mailing list