[cig-commits] r15577 - seismo/2D/SPECFEM2D/trunk

dkomati1 at geodynamics.org dkomati1 at geodynamics.org
Sat Aug 22 08:03:53 PDT 2009


Author: dkomati1
Date: 2009-08-22 08:03:50 -0700 (Sat, 22 Aug 2009)
New Revision: 15577

Modified:
   seismo/2D/SPECFEM2D/trunk/Makefile
   seismo/2D/SPECFEM2D/trunk/adj_seismogram.f90
   seismo/2D/SPECFEM2D/trunk/assemble_MPI.F90
   seismo/2D/SPECFEM2D/trunk/attenuation_model.f90
   seismo/2D/SPECFEM2D/trunk/checkgrid.F90
   seismo/2D/SPECFEM2D/trunk/compute_Bielak_conditions.f90
   seismo/2D/SPECFEM2D/trunk/compute_arrays_source.f90
   seismo/2D/SPECFEM2D/trunk/compute_curl_one_element.f90
   seismo/2D/SPECFEM2D/trunk/compute_energy.f90
   seismo/2D/SPECFEM2D/trunk/compute_forces_acoustic.f90
   seismo/2D/SPECFEM2D/trunk/compute_forces_elastic.f90
   seismo/2D/SPECFEM2D/trunk/compute_forces_fluid.f90
   seismo/2D/SPECFEM2D/trunk/compute_forces_solid.f90
   seismo/2D/SPECFEM2D/trunk/compute_gradient_attenuation.f90
   seismo/2D/SPECFEM2D/trunk/compute_pressure.f90
   seismo/2D/SPECFEM2D/trunk/compute_vector_field.f90
   seismo/2D/SPECFEM2D/trunk/construct_acoustic_surface.f90
   seismo/2D/SPECFEM2D/trunk/convolve_source_timefunction.f90
   seismo/2D/SPECFEM2D/trunk/create_color_image.f90
   seismo/2D/SPECFEM2D/trunk/createnum_fast.f90
   seismo/2D/SPECFEM2D/trunk/createnum_slow.f90
   seismo/2D/SPECFEM2D/trunk/datim.f90
   seismo/2D/SPECFEM2D/trunk/define_derivation_matrices.f90
   seismo/2D/SPECFEM2D/trunk/define_external_model.f90
   seismo/2D/SPECFEM2D/trunk/define_shape_functions.f90
   seismo/2D/SPECFEM2D/trunk/enforce_acoustic_free_surface.f90
   seismo/2D/SPECFEM2D/trunk/get_perm_cuthill_mckee.f90
   seismo/2D/SPECFEM2D/trunk/gmat01.f90
   seismo/2D/SPECFEM2D/trunk/is_in_convex_quadrilateral.f90
   seismo/2D/SPECFEM2D/trunk/lagrange_poly.f90
   seismo/2D/SPECFEM2D/trunk/locate_receivers.F90
   seismo/2D/SPECFEM2D/trunk/locate_source_force.F90
   seismo/2D/SPECFEM2D/trunk/locate_source_moment_tensor.F90
   seismo/2D/SPECFEM2D/trunk/meshfem2D.F90
   seismo/2D/SPECFEM2D/trunk/part_unstruct.F90
   seismo/2D/SPECFEM2D/trunk/plotgll.f90
   seismo/2D/SPECFEM2D/trunk/plotpost.F90
   seismo/2D/SPECFEM2D/trunk/read_value_parameters.f90
   seismo/2D/SPECFEM2D/trunk/recompute_jacobian.f90
   seismo/2D/SPECFEM2D/trunk/specfem2D.F90
   seismo/2D/SPECFEM2D/trunk/spline_routines.f90
   seismo/2D/SPECFEM2D/trunk/todo_list_please_dont_remove.txt
   seismo/2D/SPECFEM2D/trunk/write_seismograms.F90
Log:
- converted copyright information in headers from version 5.2 to version 6.0
- fixed the length of some variable names that were longer than 31 characters
- updated the todo list


Modified: seismo/2D/SPECFEM2D/trunk/Makefile
===================================================================
--- seismo/2D/SPECFEM2D/trunk/Makefile	2009-08-22 02:07:04 UTC (rev 15576)
+++ seismo/2D/SPECFEM2D/trunk/Makefile	2009-08-22 15:03:50 UTC (rev 15577)
@@ -1,16 +1,18 @@
 
 #========================================================================
 #
-#                   S P E C F E M 2 D  Version 5.2
+#                   S P E C F E M 2 D  Version 6.0
 #                   ------------------------------
 #
-# Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France.
+# Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France,
+# and Princeton University, USA.
 # Contributors: Dimitri Komatitsch, dimitri DOT komatitsch aT univ-pau DOT fr
 #               Nicolas Le Goff, nicolas DOT legoff aT univ-pau DOT fr
 #               Roland Martin, roland DOT martin aT univ-pau DOT fr
+#               Christina Morency, cmorency aT princeton DOT edu
 #
 # This software is a computer program whose purpose is to solve
-# the two-dimensional viscoelastic anisotropic wave equation
+# the two-dimensional viscoelastic anisotropic or poroelastic wave equation
 # using a spectral-element method (SEM).
 #
 # This software is governed by the CeCILL license under French law and
@@ -67,19 +69,11 @@
 #FLAGS_CHECK = $(FLAGS_NOCHECK)
 
 # GNU gfortran
-#F90 = gfortran
-#F90 = mpif90 -DUSE_MPI -DUSE_METIS -DUSE_SCOTCH
-#F90 = /opt/openmpi-1.2.1/gfortran64/bin/mpif90 -DUSE_MPI -DUSE_METIS -DUSE_SCOTCH
-#CC = gcc
-##FLAGS_NOCHECK = -O3 -march=opteron -m64 -mfpmath=sse,387
-#FLAGS_NOCHECK = -std=f95 -fimplicit-none -frange-check -O3 -fmax-errors=10 -pedantic -pedantic-errors -Waliasing -Wampersand -Wcharacter-truncation -Wline-truncation -Wsurprising -Wno-tabs -Wunderflow -fno-trapping-math # -mcmodel=medium
-#FLAGS_CHECK = $(FLAGS_NOCHECK) -fbounds-check
-
-# GNU gfortran (yucca)
-#F90 = /opt/openmpi-1.2.1/gfortran64/bin/mpif90 -DUSE_MPI -DUSE_METIS -DUSE_SCOTCH
 F90 = gfortran
+#F90 = mpif90 -DUSE_MPI -DUSE_METIS -DUSE_SCOTCH
 CC = gcc
-FLAGS_NOCHECK = -std=gnu -fimplicit-none -frange-check -O2 -Wunused-labels -Waliasing -Wampersand -Wsurprising -Wline-truncation -Wunderflow
+##FLAGS_NOCHECK = -O3 -march=opteron -m64 -mfpmath=sse,387
+FLAGS_NOCHECK = -std=f95 -fimplicit-none -frange-check -O3 -fmax-errors=10 -pedantic -pedantic-errors -Wunused -Waliasing -Wampersand -Wcharacter-truncation -Wline-truncation -Wsurprising -Wno-tabs -Wunderflow -fno-trapping-math # -mcmodel=medium
 FLAGS_CHECK = $(FLAGS_NOCHECK) -fbounds-check
 
 # IBM

Modified: seismo/2D/SPECFEM2D/trunk/adj_seismogram.f90
===================================================================
--- seismo/2D/SPECFEM2D/trunk/adj_seismogram.f90	2009-08-22 02:07:04 UTC (rev 15576)
+++ seismo/2D/SPECFEM2D/trunk/adj_seismogram.f90	2009-08-22 15:03:50 UTC (rev 15577)
@@ -30,7 +30,7 @@
 !
 
       comp = (/"BHX","BHZ"/)
-     
+
       do irec =1,nrec
 
         do icomp = 1, NDIM
@@ -41,7 +41,7 @@
          do itime = 1,NSTEP
         read(10,*) time , seism(itime,icomp)
          enddo
- 
+
         enddo
 
       close(10)
@@ -53,7 +53,7 @@
          print*,'tstart =',istart*deltat, 'tend =', iend*deltat
          if(istart >= iend) stop 'check istart,iend'
          nlen = iend - istart +1
-         
+
        do icomp = 1, NDIM
 
       filename = 'OUTPUT_FILES/'//trim(station_name(irec))//'.AA.'// comp(icomp) // '.adj'
@@ -65,8 +65,8 @@
         seism_accel(:) = 0.d0
 
         do itime =istart,iend
-!        time_window(itime) = 1.d0 - cos(pi*(itime-1)/NSTEP+1)**10   ! cosine window         
-        time_window(itime) = 1.d0 - (2* (dble(itime) - istart)/(iend-istart) -1.d0)**2  ! Welch window         
+!        time_window(itime) = 1.d0 - cos(pi*(itime-1)/NSTEP+1)**10   ! cosine window
+        time_window(itime) = 1.d0 - (2* (dble(itime) - istart)/(iend-istart) -1.d0)**2  ! Welch window
         enddo
 
          do itime = 2,NSTEP-1
@@ -74,7 +74,7 @@
          enddo
       seism_veloc(1) = (seism_win(2) - seism_win(1))/deltat
       seism_veloc(NSTEP) = (seism_win(NSTEP) - seism_win(NSTEP-1))/deltat
- 
+
          do itime = 2,NSTEP-1
       seism_accel(itime) = (seism_veloc(itime+1) - seism_veloc(itime-1))/(2*deltat)
          enddo

Modified: seismo/2D/SPECFEM2D/trunk/assemble_MPI.F90
===================================================================
--- seismo/2D/SPECFEM2D/trunk/assemble_MPI.F90	2009-08-22 02:07:04 UTC (rev 15576)
+++ seismo/2D/SPECFEM2D/trunk/assemble_MPI.F90	2009-08-22 15:03:50 UTC (rev 15577)
@@ -1,16 +1,18 @@
 
 !========================================================================
 !
-!                   S P E C F E M 2 D  Version 5.2
+!                   S P E C F E M 2 D  Version 6.0
 !                   ------------------------------
 !
-! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France.
+! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France,
+! and Princeton University, USA.
 ! Contributors: Dimitri Komatitsch, dimitri DOT komatitsch aT univ-pau DOT fr
 !               Nicolas Le Goff, nicolas DOT legoff aT univ-pau DOT fr
 !               Roland Martin, roland DOT martin aT univ-pau DOT fr
+!               Christina Morency, cmorency aT princeton DOT edu
 !
 ! This software is a computer program whose purpose is to solve
-! the two-dimensional viscoelastic anisotropic wave equation
+! the two-dimensional viscoelastic anisotropic or poroelastic wave equation
 ! using a spectral-element method (SEM).
 !
 ! This software is governed by the CeCILL license under French law and

Modified: seismo/2D/SPECFEM2D/trunk/attenuation_model.f90
===================================================================
--- seismo/2D/SPECFEM2D/trunk/attenuation_model.f90	2009-08-22 02:07:04 UTC (rev 15576)
+++ seismo/2D/SPECFEM2D/trunk/attenuation_model.f90	2009-08-22 15:03:50 UTC (rev 15577)
@@ -1,16 +1,18 @@
 
 !========================================================================
 !
-!                   S P E C F E M 2 D  Version 5.2
+!                   S P E C F E M 2 D  Version 6.0
 !                   ------------------------------
 !
-! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France.
+! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France,
+! and Princeton University, USA.
 ! Contributors: Dimitri Komatitsch, dimitri DOT komatitsch aT univ-pau DOT fr
 !               Nicolas Le Goff, nicolas DOT legoff aT univ-pau DOT fr
 !               Roland Martin, roland DOT martin aT univ-pau DOT fr
+!               Christina Morency, cmorency aT princeton DOT edu
 !
 ! This software is a computer program whose purpose is to solve
-! the two-dimensional viscoelastic anisotropic wave equation
+! the two-dimensional viscoelastic anisotropic or poroelastic wave equation
 ! using a spectral-element method (SEM).
 !
 ! This software is governed by the CeCILL license under French law and

Modified: seismo/2D/SPECFEM2D/trunk/checkgrid.F90
===================================================================
--- seismo/2D/SPECFEM2D/trunk/checkgrid.F90	2009-08-22 02:07:04 UTC (rev 15576)
+++ seismo/2D/SPECFEM2D/trunk/checkgrid.F90	2009-08-22 15:03:50 UTC (rev 15577)
@@ -1,16 +1,18 @@
 
 !========================================================================
 !
-!                   S P E C F E M 2 D  Version 5.2
+!                   S P E C F E M 2 D  Version 6.0
 !                   ------------------------------
 !
-! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France.
+! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France,
+! and Princeton University, USA.
 ! Contributors: Dimitri Komatitsch, dimitri DOT komatitsch aT univ-pau DOT fr
 !               Nicolas Le Goff, nicolas DOT legoff aT univ-pau DOT fr
 !               Roland Martin, roland DOT martin aT univ-pau DOT fr
+!               Christina Morency, cmorency aT princeton DOT edu
 !
 ! This software is a computer program whose purpose is to solve
-! the two-dimensional viscoelastic anisotropic wave equation
+! the two-dimensional viscoelastic anisotropic or poroelastic wave equation
 ! using a spectral-element method (SEM).
 !
 ! This software is governed by the CeCILL license under French law and
@@ -1411,7 +1413,7 @@
   do ispec=1,nspec
 
     material = kmato(ispec)
-   
+
    if(poroelastic(ispec)) then
     phi = porosity(material)
     tort = tortuosity(material)
@@ -1601,8 +1603,8 @@
 ! only if time source is not a Dirac or Heaviside (otherwise maximum frequency of spectrum undefined)
 ! and if source is not an initial field, for the same reason
   if(.not. initialfield) then
-   f0max = -HUGEVAL   
-   f0min = HUGEVAL   
+   f0max = -HUGEVAL
+   f0min = HUGEVAL
    do i = 1,NSOURCE
     if(time_function_type(i) /= 4 .and. time_function_type(i) /= 5) then
 
@@ -1616,7 +1618,7 @@
     else
       write(IOUT,*) ' --> onset time ok'
     endif
-    
+
     if(i==NSOURCE)then
     write(IOUT,*) '----'
     write(IOUT,*) ' Nb pts / lambdaPImin_fmax max = ',lambdaPImax/(2.5d0*f0min)
@@ -2226,7 +2228,7 @@
   endif
 
     material = kmato(ispec)
-  
+
    if(poroelastic(ispec)) then
     phi = porosity(material)
     tort = tortuosity(material)

Modified: seismo/2D/SPECFEM2D/trunk/compute_Bielak_conditions.f90
===================================================================
--- seismo/2D/SPECFEM2D/trunk/compute_Bielak_conditions.f90	2009-08-22 02:07:04 UTC (rev 15576)
+++ seismo/2D/SPECFEM2D/trunk/compute_Bielak_conditions.f90	2009-08-22 15:03:50 UTC (rev 15577)
@@ -1,16 +1,18 @@
 
 !========================================================================
 !
-!                   S P E C F E M 2 D  Version 5.2
+!                   S P E C F E M 2 D  Version 6.0
 !                   ------------------------------
 !
-! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France.
+! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France,
+! and Princeton University, USA.
 ! Contributors: Dimitri Komatitsch, dimitri DOT komatitsch aT univ-pau DOT fr
 !               Nicolas Le Goff, nicolas DOT legoff aT univ-pau DOT fr
 !               Roland Martin, roland DOT martin aT univ-pau DOT fr
+!               Christina Morency, cmorency aT princeton DOT edu
 !
 ! This software is a computer program whose purpose is to solve
-! the two-dimensional viscoelastic anisotropic wave equation
+! the two-dimensional viscoelastic anisotropic or poroelastic wave equation
 ! using a spectral-element method (SEM).
 !
 ! This software is governed by the CeCILL license under French law and

Modified: seismo/2D/SPECFEM2D/trunk/compute_arrays_source.f90
===================================================================
--- seismo/2D/SPECFEM2D/trunk/compute_arrays_source.f90	2009-08-22 02:07:04 UTC (rev 15576)
+++ seismo/2D/SPECFEM2D/trunk/compute_arrays_source.f90	2009-08-22 15:03:50 UTC (rev 15577)
@@ -1,16 +1,18 @@
 
 !========================================================================
 !
-!                   S P E C F E M 2 D  Version 5.2
+!                   S P E C F E M 2 D  Version 6.0
 !                   ------------------------------
 !
-! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France.
+! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France,
+! and Princeton University, USA.
 ! Contributors: Dimitri Komatitsch, dimitri DOT komatitsch aT univ-pau DOT fr
 !               Nicolas Le Goff, nicolas DOT legoff aT univ-pau DOT fr
 !               Roland Martin, roland DOT martin aT univ-pau DOT fr
+!               Christina Morency, cmorency aT princeton DOT edu
 !
 ! This software is a computer program whose purpose is to solve
-! the two-dimensional viscoelastic anisotropic wave equation
+! the two-dimensional viscoelastic anisotropic or poroelastic wave equation
 ! using a spectral-element method (SEM).
 !
 ! This software is governed by the CeCILL license under French law and

Modified: seismo/2D/SPECFEM2D/trunk/compute_curl_one_element.f90
===================================================================
--- seismo/2D/SPECFEM2D/trunk/compute_curl_one_element.f90	2009-08-22 02:07:04 UTC (rev 15576)
+++ seismo/2D/SPECFEM2D/trunk/compute_curl_one_element.f90	2009-08-22 15:03:50 UTC (rev 15577)
@@ -1,16 +1,17 @@
 
 !========================================================================
 !
-!                   S P E C F E M 2 D  Version 5.2
+!                   S P E C F E M 2 D  Version 6.0
 !                   ------------------------------
 !
 ! Copyright Universite de Pau et des Pays de l'Adour and CNRS, France.
 ! Contributors: Dimitri Komatitsch, dimitri DOT komatitsch aT univ-pau DOT fr
 !               Nicolas Le Goff, nicolas DOT legoff aT univ-pau DOT fr
 !               Roland Martin, roland DOT martin aT univ-pau DOT fr
+!               Christina Morency, cmorency aT princeton DOT edu
 !
 ! This software is a computer program whose purpose is to solve
-! the two-dimensional viscoelastic anisotropic wave equation
+! the two-dimensional viscoelastic anisotropic or poroelastic wave equation
 ! using a spectral-element method (SEM).
 !
 ! This software is governed by the CeCILL license under French law and

Modified: seismo/2D/SPECFEM2D/trunk/compute_energy.f90
===================================================================
--- seismo/2D/SPECFEM2D/trunk/compute_energy.f90	2009-08-22 02:07:04 UTC (rev 15576)
+++ seismo/2D/SPECFEM2D/trunk/compute_energy.f90	2009-08-22 15:03:50 UTC (rev 15577)
@@ -1,16 +1,18 @@
 
 !========================================================================
 !
-!                   S P E C F E M 2 D  Version 5.2
+!                   S P E C F E M 2 D  Version 6.0
 !                   ------------------------------
 !
-! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France.
+! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France,
+! and Princeton University, USA.
 ! Contributors: Dimitri Komatitsch, dimitri DOT komatitsch aT univ-pau DOT fr
 !               Nicolas Le Goff, nicolas DOT legoff aT univ-pau DOT fr
 !               Roland Martin, roland DOT martin aT univ-pau DOT fr
+!               Christina Morency, cmorency aT princeton DOT edu
 !
 ! This software is a computer program whose purpose is to solve
-! the two-dimensional viscoelastic anisotropic wave equation
+! the two-dimensional viscoelastic anisotropic or poroelastic wave equation
 ! using a spectral-element method (SEM).
 !
 ! This software is governed by the CeCILL license under French law and

Modified: seismo/2D/SPECFEM2D/trunk/compute_forces_acoustic.f90
===================================================================
--- seismo/2D/SPECFEM2D/trunk/compute_forces_acoustic.f90	2009-08-22 02:07:04 UTC (rev 15576)
+++ seismo/2D/SPECFEM2D/trunk/compute_forces_acoustic.f90	2009-08-22 15:03:50 UTC (rev 15577)
@@ -1,16 +1,18 @@
 
 !========================================================================
 !
-!                   S P E C F E M 2 D  Version 5.2
+!                   S P E C F E M 2 D  Version 6.0
 !                   ------------------------------
 !
-! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France.
+! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France,
+! and Princeton University, USA.
 ! Contributors: Dimitri Komatitsch, dimitri DOT komatitsch aT univ-pau DOT fr
 !               Nicolas Le Goff, nicolas DOT legoff aT univ-pau DOT fr
 !               Roland Martin, roland DOT martin aT univ-pau DOT fr
+!               Christina Morency, cmorency aT princeton DOT edu
 !
 ! This software is a computer program whose purpose is to solve
-! the two-dimensional viscoelastic anisotropic wave equation
+! the two-dimensional viscoelastic anisotropic or poroelastic wave equation
 ! using a spectral-element method (SEM).
 !
 ! This software is governed by the CeCILL license under French law and
@@ -313,7 +315,7 @@
              elseif(isolver == 2) then
             b_potential_dot_dot_acoustic(iglob) = b_potential_dot_dot_acoustic(iglob) - &
                                               b_absorb_acoustic_right(j,ib_xmax(ispecabs),NSTEP-it+1)
-             endif    
+             endif
           endif
 
         enddo

Modified: seismo/2D/SPECFEM2D/trunk/compute_forces_elastic.f90
===================================================================
--- seismo/2D/SPECFEM2D/trunk/compute_forces_elastic.f90	2009-08-22 02:07:04 UTC (rev 15576)
+++ seismo/2D/SPECFEM2D/trunk/compute_forces_elastic.f90	2009-08-22 15:03:50 UTC (rev 15577)
@@ -1,16 +1,18 @@
 
 !========================================================================
 !
-!                   S P E C F E M 2 D  Version 5.2
+!                   S P E C F E M 2 D  Version 6.0
 !                   ------------------------------
 !
-! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France.
+! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France,
+! and Princeton University, USA.
 ! Contributors: Dimitri Komatitsch, dimitri DOT komatitsch aT univ-pau DOT fr
 !               Nicolas Le Goff, nicolas DOT legoff aT univ-pau DOT fr
 !               Roland Martin, roland DOT martin aT univ-pau DOT fr
+!               Christina Morency, cmorency aT princeton DOT edu
 !
 ! This software is a computer program whose purpose is to solve
-! the two-dimensional viscoelastic anisotropic wave equation
+! the two-dimensional viscoelastic anisotropic or poroelastic wave equation
 ! using a spectral-element method (SEM).
 !
 ! This software is governed by the CeCILL license under French law and

Modified: seismo/2D/SPECFEM2D/trunk/compute_forces_fluid.f90
===================================================================
--- seismo/2D/SPECFEM2D/trunk/compute_forces_fluid.f90	2009-08-22 02:07:04 UTC (rev 15576)
+++ seismo/2D/SPECFEM2D/trunk/compute_forces_fluid.f90	2009-08-22 15:03:50 UTC (rev 15577)
@@ -8,11 +8,12 @@
 ! Contributors: Dimitri Komatitsch, dimitri DOT komatitsch aT univ-pau DOT fr
 !               Nicolas Le Goff, nicolas DOT legoff aT univ-pau DOT fr
 !               Roland Martin, roland DOT martin aT univ-pau DOT fr
+!               Christina Morency, cmorency aT princeton DOT edu
 !               Christina Morency, cmorency aT gps DOT caltech DOT edu
 !               Jeroen Tromp, jtromp aT gps DOT caltech DOT edu
 !
 ! This software is a computer program whose purpose is to solve
-! the two-dimensional viscoelastic anisotropic wave equation
+! the two-dimensional viscoelastic anisotropic or poroelastic wave equation
 ! using a spectral-element method (SEM).
 !
 ! This software is governed by the CeCILL license under French law and
@@ -144,7 +145,7 @@
 
   integer :: ispec,i,j,k,iglob,ispecabs,ibegin,iend,jbegin,jend,irec,irec_local
 
-! spatial derivatives 
+! spatial derivatives
   real(kind=CUSTOM_REAL) :: dux_dxi,dux_dgamma,duz_dxi,duz_dgamma
   real(kind=CUSTOM_REAL) :: dwx_dxi,dwx_dgamma,dwz_dxi,dwz_dgamma
   real(kind=CUSTOM_REAL) :: dux_dxl,duz_dxl,dux_dzl,duz_dzl
@@ -207,7 +208,7 @@
     kappal_s = poroelastcoef(3,1,kmato(ispec)) -4._CUSTOM_REAL*mul_s/3._CUSTOM_REAL
     rhol_s = density(1,kmato(ispec))
 !fluid properties
-    kappal_f = poroelastcoef(1,2,kmato(ispec)) 
+    kappal_f = poroelastcoef(1,2,kmato(ispec))
     rhol_f = density(2,kmato(ispec))
 !frame properties
     mul_fr = poroelastcoef(2,3,kmato(ispec))
@@ -455,7 +456,7 @@
 ! loop over spectral elements
   do ispec = 1,nspec
 
-    etal_f = poroelastcoef(2,2,kmato(ispec)) 
+    etal_f = poroelastcoef(2,2,kmato(ispec))
 
     if(poroelastic(ispec) .and. etal_f > 0.d0) then
 
@@ -507,7 +508,7 @@
             accelw_poroelastic(2,iglob) = accelw_poroelastic(2,iglob) - wxgll(i)*wzgll(j)*jacobian(i,j,ispec)*&
               viscodampz
 
-          if(isolver == 1 .and. save_forward)  then 
+          if(isolver == 1 .and. save_forward)  then
             b_viscodampx(iglob) = wxgll(i)*wzgll(j)*jacobian(i,j,ispec) * viscodampx
             b_viscodampz(iglob) = wxgll(i)*wzgll(j)*jacobian(i,j,ispec) * viscodampz
           elseif(isolver == 2) then ! kernels calculation
@@ -515,7 +516,7 @@
             b_accelw_poroelastic(2,iglob) = b_accelw_poroelastic(2,iglob) - b_viscodampz(iglob)
           endif
 
-        enddo 
+        enddo
       enddo
 
     endif ! end of test if poroelastic element
@@ -596,8 +597,8 @@
             vn = nx*vx+nz*vz
             vnf = nx*vxf+nz*vzf
 
-            tx = rho_vpII*vnf*nx - rho_vs*(vx-vn*nx) 
-            tz = rho_vpII*vnf*nz - rho_vs*(vz-vn*nz) 
+            tx = rho_vpII*vnf*nx - rho_vs*(vx-vn*nx)
+            tz = rho_vpII*vnf*nz - rho_vs*(vz-vn*nz)
 
             accelw_poroelastic(1,iglob) = accelw_poroelastic(1,iglob) - tx*weight
             accelw_poroelastic(2,iglob) = accelw_poroelastic(2,iglob) - tz*weight
@@ -607,9 +608,9 @@
               b_absorb_poro_w_left(2,j,ib_xmin(ispecabs),it) = tz*weight
             elseif(isolver == 2) then
               b_accelw_poroelastic(1,iglob) = b_accelw_poroelastic(1,iglob) - &
-                                              b_absorb_poro_w_left(1,j,ib_xmin(ispecabs),NSTEP-it+1) 
+                                              b_absorb_poro_w_left(1,j,ib_xmin(ispecabs),NSTEP-it+1)
               b_accelw_poroelastic(2,iglob) = b_accelw_poroelastic(2,iglob) - &
-                                              b_absorb_poro_w_left(2,j,ib_xmin(ispecabs),NSTEP-it+1) 
+                                              b_absorb_poro_w_left(2,j,ib_xmin(ispecabs),NSTEP-it+1)
             endif
 
           endif
@@ -652,8 +653,8 @@
             vn = nx*vx+nz*vz
             vnf = nx*vxf+nz*vzf
 
-            tx = rho_vpII*vnf*nx - rho_vs*(vx-vn*nx) 
-            tz = rho_vpII*vnf*nz - rho_vs*(vz-vn*nz) 
+            tx = rho_vpII*vnf*nx - rho_vs*(vx-vn*nx)
+            tz = rho_vpII*vnf*nz - rho_vs*(vz-vn*nz)
 
             accelw_poroelastic(1,iglob) = accelw_poroelastic(1,iglob) - tx*weight
             accelw_poroelastic(2,iglob) = accelw_poroelastic(2,iglob) - tz*weight
@@ -663,9 +664,9 @@
               b_absorb_poro_w_right(2,j,ib_xmax(ispecabs),it) = tz*weight
             elseif(isolver == 2) then
               b_accelw_poroelastic(1,iglob) = b_accelw_poroelastic(1,iglob) - &
-                                              b_absorb_poro_w_right(1,j,ib_xmax(ispecabs),NSTEP-it+1) 
+                                              b_absorb_poro_w_right(1,j,ib_xmax(ispecabs),NSTEP-it+1)
               b_accelw_poroelastic(2,iglob) = b_accelw_poroelastic(2,iglob) - &
-                                              b_absorb_poro_w_right(2,j,ib_xmax(ispecabs),NSTEP-it+1) 
+                                              b_absorb_poro_w_right(2,j,ib_xmax(ispecabs),NSTEP-it+1)
             endif
 
           endif
@@ -712,8 +713,8 @@
             vn = nx*vx+nz*vz
             vnf = nx*vxf+nz*vzf
 
-            tx = rho_vpII*vnf*nx - rho_vs*(vx-vn*nx) 
-            tz = rho_vpII*vnf*nz - rho_vs*(vz-vn*nz) 
+            tx = rho_vpII*vnf*nx - rho_vs*(vx-vn*nx)
+            tz = rho_vpII*vnf*nz - rho_vs*(vz-vn*nz)
 
             accelw_poroelastic(1,iglob) = accelw_poroelastic(1,iglob) - tx*weight
             accelw_poroelastic(2,iglob) = accelw_poroelastic(2,iglob) - tz*weight
@@ -723,9 +724,9 @@
               b_absorb_poro_w_bottom(2,i,ib_zmin(ispecabs),it) = tz*weight
             elseif(isolver == 2) then
               b_accelw_poroelastic(1,iglob) = b_accelw_poroelastic(1,iglob) - &
-                                              b_absorb_poro_w_bottom(1,i,ib_zmin(ispecabs),NSTEP-it+1) 
+                                              b_absorb_poro_w_bottom(1,i,ib_zmin(ispecabs),NSTEP-it+1)
               b_accelw_poroelastic(2,iglob) = b_accelw_poroelastic(2,iglob) - &
-                                              b_absorb_poro_w_bottom(2,i,ib_zmin(ispecabs),NSTEP-it+1) 
+                                              b_absorb_poro_w_bottom(2,i,ib_zmin(ispecabs),NSTEP-it+1)
             endif
 
           endif
@@ -772,8 +773,8 @@
             vn = nx*vx+nz*vz
             vnf = nx*vxf+nz*vzf
 
-            tx = rho_vpII*vnf*nx - rho_vs*(vx-vn*nx) 
-            tz = rho_vpII*vnf*nz - rho_vs*(vz-vn*nz) 
+            tx = rho_vpII*vnf*nx - rho_vs*(vx-vn*nx)
+            tz = rho_vpII*vnf*nz - rho_vs*(vz-vn*nz)
 
             accelw_poroelastic(1,iglob) = accelw_poroelastic(1,iglob) - tx*weight
             accelw_poroelastic(2,iglob) = accelw_poroelastic(2,iglob) - tz*weight
@@ -783,9 +784,9 @@
               b_absorb_poro_w_top(2,i,ib_zmax(ispecabs),it) = tz*weight
             elseif(isolver == 2) then
               b_accelw_poroelastic(1,iglob) = b_accelw_poroelastic(1,iglob) - &
-                                              b_absorb_poro_w_top(1,i,ib_zmax(ispecabs),NSTEP-it+1) 
+                                              b_absorb_poro_w_top(1,i,ib_zmax(ispecabs),NSTEP-it+1)
               b_accelw_poroelastic(2,iglob) = b_accelw_poroelastic(2,iglob) - &
-                                              b_absorb_poro_w_top(2,i,ib_zmax(ispecabs),NSTEP-it+1) 
+                                              b_absorb_poro_w_top(2,i,ib_zmax(ispecabs),NSTEP-it+1)
             endif
 
           endif
@@ -806,9 +807,9 @@
      if (is_proc_source(i_source) == 1 .and. poroelastic(ispec_selected_source(i_source))) then
 
     phil = porosity(kmato(ispec_selected_source(i_source)))
-    rhol_s = density(1,kmato(ispec_selected_source(i_source))) 
-    rhol_f = density(2,kmato(ispec_selected_source(i_source))) 
-    rhol_bar = (1._CUSTOM_REAL - phil)*rhol_s + phil*rhol_f 
+    rhol_s = density(1,kmato(ispec_selected_source(i_source)))
+    rhol_f = density(2,kmato(ispec_selected_source(i_source)))
+    rhol_bar = (1._CUSTOM_REAL - phil)*rhol_s + phil*rhol_f
 
 ! moment tensor
   if(source_type(i_source) == 2) then
@@ -853,7 +854,7 @@
         do i=1,NGLLX
           iglob = ibool(i,j,ispec_selected_rec(irec))
           accelw_poroelastic(:,iglob) = accelw_poroelastic(:,iglob) - &
-               rhol_f/rhol_bar*adj_sourcearrays(irec_local,NSTEP-it+1,:,i,j) 
+               rhol_f/rhol_bar*adj_sourcearrays(irec_local,NSTEP-it+1,:,i,j)
        enddo
       enddo
 

Modified: seismo/2D/SPECFEM2D/trunk/compute_forces_solid.f90
===================================================================
--- seismo/2D/SPECFEM2D/trunk/compute_forces_solid.f90	2009-08-22 02:07:04 UTC (rev 15576)
+++ seismo/2D/SPECFEM2D/trunk/compute_forces_solid.f90	2009-08-22 15:03:50 UTC (rev 15577)
@@ -8,11 +8,12 @@
 ! Contributors: Dimitri Komatitsch, dimitri DOT komatitsch aT univ-pau DOT fr
 !               Nicolas Le Goff, nicolas DOT legoff aT univ-pau DOT fr
 !               Roland Martin, roland DOT martin aT univ-pau DOT fr
+!               Christina Morency, cmorency aT princeton DOT edu
 !               Christina Morency, cmorency aT gps DOT caltech DOT edu
 !               Jeroen Tromp, jtromp aT gps DOT caltech DOT edu
 !
 ! This software is a computer program whose purpose is to solve
-! the two-dimensional viscoelastic anisotropic wave equation
+! the two-dimensional viscoelastic anisotropic or poroelastic wave equation
 ! using a spectral-element method (SEM).
 !
 ! This software is governed by the CeCILL license under French law and
@@ -195,7 +196,7 @@
 !---
 !--- poroelastic spectral element
 !---
-    
+
     if(poroelastic(ispec)) then
 
 ! get poroelastic parameters of current spectral element
@@ -206,7 +207,7 @@
     kappal_s = poroelastcoef(3,1,kmato(ispec)) - 4._CUSTOM_REAL*mul_s/3._CUSTOM_REAL
     rhol_s = density(1,kmato(ispec))
 !fluid properties
-    kappal_f = poroelastcoef(1,2,kmato(ispec)) 
+    kappal_f = poroelastcoef(1,2,kmato(ispec))
     rhol_f = density(2,kmato(ispec))
 !frame properties
     mul_fr = poroelastcoef(2,3,kmato(ispec))
@@ -254,7 +255,7 @@
 
           b_dwx_dgamma = ZERO
           b_dwz_dgamma = ZERO
-          endif       
+          endif
 
 ! first double loop over GLL points to compute and store gradients
 ! we can merge the two loops because NGLLX == NGLLZ
@@ -470,9 +471,9 @@
 ! loop over spectral elements
   do ispec = 1,nspec
 
-    etal_f = poroelastcoef(2,2,kmato(ispec)) 
+    etal_f = poroelastcoef(2,2,kmato(ispec))
 
-      if(poroelastic(ispec) .and. etal_f >0.d0) then 
+      if(poroelastic(ispec) .and. etal_f >0.d0) then
 
     phil = porosity(kmato(ispec))
     tortl = tortuosity(kmato(ispec))
@@ -525,12 +526,12 @@
               viscodampz
 
 ! if isolver == 1 .and. save_forward then b_viscodamp is save in compute_forces_fluid.f90
-          if(isolver == 2) then ! kernels calculation      
+          if(isolver == 2) then ! kernels calculation
         b_accels_poroelastic(1,iglob) = b_accels_poroelastic(1,iglob) + phil/tortl*b_viscodampx(iglob)
         b_accels_poroelastic(2,iglob) = b_accels_poroelastic(2,iglob) + phil/tortl*b_viscodampz(iglob)
           endif
 
-        enddo 
+        enddo
       enddo
 
     endif ! end of test if poroelastic element
@@ -555,7 +556,7 @@
     kappal_s = poroelastcoef(3,1,kmato(ispec)) - 4._CUSTOM_REAL*mul_s/3._CUSTOM_REAL
     rhol_s = density(1,kmato(ispec))
 !fluid properties
-    kappal_f = poroelastcoef(1,2,kmato(ispec)) 
+    kappal_f = poroelastcoef(1,2,kmato(ispec))
     rhol_f = density(2,kmato(ispec))
 !frame properties
     mul_fr = poroelastcoef(2,3,kmato(ispec))
@@ -614,7 +615,7 @@
             vn = nx*vx+nz*vz
             vnf = nx*vxf+nz*vzf
 
-            tx = rho_vpI*vn*nx + rho_vs*(vx-vn*nx) 
+            tx = rho_vpI*vn*nx + rho_vs*(vx-vn*nx)
             tz = rho_vpI*vn*nz + rho_vs*(vz-vn*nz)
 
             accels_poroelastic(1,iglob) = accels_poroelastic(1,iglob) - tx*weight
@@ -625,9 +626,9 @@
               b_absorb_poro_s_left(2,j,ib_xmin(ispecabs),it) = tz*weight
             elseif(isolver == 2) then
               b_accels_poroelastic(1,iglob) = b_accels_poroelastic(1,iglob) - &
-                                              b_absorb_poro_s_left(1,j,ib_xmin(ispecabs),NSTEP-it+1) 
+                                              b_absorb_poro_s_left(1,j,ib_xmin(ispecabs),NSTEP-it+1)
               b_accels_poroelastic(2,iglob) = b_accels_poroelastic(2,iglob) - &
-                                              b_absorb_poro_s_left(2,j,ib_xmin(ispecabs),NSTEP-it+1) 
+                                              b_absorb_poro_s_left(2,j,ib_xmin(ispecabs),NSTEP-it+1)
             endif
 
           endif
@@ -637,8 +638,8 @@
       endif  !  end of left absorbing boundary
 
 !--- right absorbing boundary
-      if(codeabs(IRIGHT,ispecabs)) then 
-       
+      if(codeabs(IRIGHT,ispecabs)) then
+
         i = NGLLX
 
         jbegin = jbegin_right_poro(ispecabs)
@@ -670,7 +671,7 @@
             vn = nx*vx+nz*vz
             vnf = nx*vxf+nz*vzf
 
-            tx = rho_vpI*vn*nx + rho_vs*(vx-vn*nx) 
+            tx = rho_vpI*vn*nx + rho_vs*(vx-vn*nx)
             tz = rho_vpI*vn*nz + rho_vs*(vz-vn*nz)
 
             accels_poroelastic(1,iglob) = accels_poroelastic(1,iglob) - tx*weight
@@ -681,9 +682,9 @@
               b_absorb_poro_s_right(2,j,ib_xmax(ispecabs),it) = tz*weight
             elseif(isolver == 2) then
               b_accels_poroelastic(1,iglob) = b_accels_poroelastic(1,iglob) - &
-                                              b_absorb_poro_s_right(1,j,ib_xmax(ispecabs),NSTEP-it+1) 
+                                              b_absorb_poro_s_right(1,j,ib_xmax(ispecabs),NSTEP-it+1)
               b_accels_poroelastic(2,iglob) = b_accels_poroelastic(2,iglob) - &
-                                              b_absorb_poro_s_right(2,j,ib_xmax(ispecabs),NSTEP-it+1) 
+                                              b_absorb_poro_s_right(2,j,ib_xmax(ispecabs),NSTEP-it+1)
             endif
 
           endif
@@ -730,7 +731,7 @@
             vn = nx*vx+nz*vz
             vnf = nx*vxf+nz*vzf
 
-            tx = rho_vpI*vn*nx + rho_vs*(vx-vn*nx) 
+            tx = rho_vpI*vn*nx + rho_vs*(vx-vn*nx)
             tz = rho_vpI*vn*nz + rho_vs*(vz-vn*nz)
 
             accels_poroelastic(1,iglob) = accels_poroelastic(1,iglob) - tx*weight
@@ -741,9 +742,9 @@
               b_absorb_poro_s_bottom(2,i,ib_zmin(ispecabs),it) = tz*weight
             elseif(isolver == 2) then
               b_accels_poroelastic(1,iglob) = b_accels_poroelastic(1,iglob) - &
-                                              b_absorb_poro_s_bottom(1,i,ib_zmin(ispecabs),NSTEP-it+1) 
+                                              b_absorb_poro_s_bottom(1,i,ib_zmin(ispecabs),NSTEP-it+1)
               b_accels_poroelastic(2,iglob) = b_accels_poroelastic(2,iglob) - &
-                                              b_absorb_poro_s_bottom(2,i,ib_zmin(ispecabs),NSTEP-it+1) 
+                                              b_absorb_poro_s_bottom(2,i,ib_zmin(ispecabs),NSTEP-it+1)
             endif
 
           endif
@@ -790,7 +791,7 @@
             vn = nx*vx+nz*vz
             vnf = nx*vxf+nz*vzf
 
-            tx = rho_vpI*vn*nx + rho_vs*(vx-vn*nx) 
+            tx = rho_vpI*vn*nx + rho_vs*(vx-vn*nx)
             tz = rho_vpI*vn*nz + rho_vs*(vz-vn*nz)
 
             accels_poroelastic(1,iglob) = accels_poroelastic(1,iglob) - tx*weight
@@ -801,9 +802,9 @@
               b_absorb_poro_s_top(2,i,ib_zmax(ispecabs),it) = tz*weight
             elseif(isolver == 2) then
               b_accels_poroelastic(1,iglob) = b_accels_poroelastic(1,iglob) - &
-                                              b_absorb_poro_s_top(1,i,ib_zmax(ispecabs),NSTEP-it+1) 
+                                              b_absorb_poro_s_top(1,i,ib_zmax(ispecabs),NSTEP-it+1)
               b_accels_poroelastic(2,iglob) = b_accels_poroelastic(2,iglob) - &
-                                              b_absorb_poro_s_top(2,i,ib_zmax(ispecabs),NSTEP-it+1) 
+                                              b_absorb_poro_s_top(2,i,ib_zmax(ispecabs),NSTEP-it+1)
             endif
 
           endif
@@ -811,7 +812,7 @@
         enddo
 
       endif  !  end of top absorbing boundary
- 
+
     enddo
 
   endif  ! end of absorbing boundaries
@@ -846,7 +847,7 @@
           b_accels_poroelastic(:,iglob) = b_accels_poroelastic(:,iglob) + &
           (1._CUSTOM_REAL - phil/tortl)*sourcearray(i_source,:,i,j)*source_time_function(i_source,NSTEP-it+1)
         enddo
-      enddo 
+      enddo
        endif  !endif isolver == 1
 
   endif !if(source_type(i_source) == 2)

Modified: seismo/2D/SPECFEM2D/trunk/compute_gradient_attenuation.f90
===================================================================
--- seismo/2D/SPECFEM2D/trunk/compute_gradient_attenuation.f90	2009-08-22 02:07:04 UTC (rev 15576)
+++ seismo/2D/SPECFEM2D/trunk/compute_gradient_attenuation.f90	2009-08-22 15:03:50 UTC (rev 15577)
@@ -1,16 +1,18 @@
 
 !========================================================================
 !
-!                   S P E C F E M 2 D  Version 5.2
+!                   S P E C F E M 2 D  Version 6.0
 !                   ------------------------------
 !
-! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France.
+! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France,
+! and Princeton University, USA.
 ! Contributors: Dimitri Komatitsch, dimitri DOT komatitsch aT univ-pau DOT fr
 !               Nicolas Le Goff, nicolas DOT legoff aT univ-pau DOT fr
 !               Roland Martin, roland DOT martin aT univ-pau DOT fr
+!               Christina Morency, cmorency aT princeton DOT edu
 !
 ! This software is a computer program whose purpose is to solve
-! the two-dimensional viscoelastic anisotropic wave equation
+! the two-dimensional viscoelastic anisotropic or poroelastic wave equation
 ! using a spectral-element method (SEM).
 !
 ! This software is governed by the CeCILL license under French law and

Modified: seismo/2D/SPECFEM2D/trunk/compute_pressure.f90
===================================================================
--- seismo/2D/SPECFEM2D/trunk/compute_pressure.f90	2009-08-22 02:07:04 UTC (rev 15576)
+++ seismo/2D/SPECFEM2D/trunk/compute_pressure.f90	2009-08-22 15:03:50 UTC (rev 15577)
@@ -1,16 +1,18 @@
 
 !========================================================================
 !
-!                   S P E C F E M 2 D  Version 5.2
+!                   S P E C F E M 2 D  Version 6.0
 !                   ------------------------------
 !
-! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France.
+! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France,
+! and Princeton University, USA.
 ! Contributors: Dimitri Komatitsch, dimitri DOT komatitsch aT univ-pau DOT fr
 !               Nicolas Le Goff, nicolas DOT legoff aT univ-pau DOT fr
 !               Roland Martin, roland DOT martin aT univ-pau DOT fr
+!               Christina Morency, cmorency aT princeton DOT edu
 !
 ! This software is a computer program whose purpose is to solve
-! the two-dimensional viscoelastic anisotropic wave equation
+! the two-dimensional viscoelastic anisotropic or poroelastic wave equation
 ! using a spectral-element method (SEM).
 !
 ! This software is governed by the CeCILL license under French law and

Modified: seismo/2D/SPECFEM2D/trunk/compute_vector_field.f90
===================================================================
--- seismo/2D/SPECFEM2D/trunk/compute_vector_field.f90	2009-08-22 02:07:04 UTC (rev 15576)
+++ seismo/2D/SPECFEM2D/trunk/compute_vector_field.f90	2009-08-22 15:03:50 UTC (rev 15577)
@@ -1,16 +1,18 @@
 
 !========================================================================
 !
-!                   S P E C F E M 2 D  Version 5.2
+!                   S P E C F E M 2 D  Version 6.0
 !                   ------------------------------
 !
-! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France.
+! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France,
+! and Princeton University, USA.
 ! Contributors: Dimitri Komatitsch, dimitri DOT komatitsch aT univ-pau DOT fr
 !               Nicolas Le Goff, nicolas DOT legoff aT univ-pau DOT fr
 !               Roland Martin, roland DOT martin aT univ-pau DOT fr
+!               Christina Morency, cmorency aT princeton DOT edu
 !
 ! This software is a computer program whose purpose is to solve
-! the two-dimensional viscoelastic anisotropic wave equation
+! the two-dimensional viscoelastic anisotropic or poroelastic wave equation
 ! using a spectral-element method (SEM).
 !
 ! This software is governed by the CeCILL license under French law and

Modified: seismo/2D/SPECFEM2D/trunk/construct_acoustic_surface.f90
===================================================================
--- seismo/2D/SPECFEM2D/trunk/construct_acoustic_surface.f90	2009-08-22 02:07:04 UTC (rev 15576)
+++ seismo/2D/SPECFEM2D/trunk/construct_acoustic_surface.f90	2009-08-22 15:03:50 UTC (rev 15577)
@@ -1,16 +1,18 @@
 
 !========================================================================
 !
-!                   S P E C F E M 2 D  Version 5.2
+!                   S P E C F E M 2 D  Version 6.0
 !                   ------------------------------
 !
-! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France.
+! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France,
+! and Princeton University, USA.
 ! Contributors: Dimitri Komatitsch, dimitri DOT komatitsch aT univ-pau DOT fr
 !               Nicolas Le Goff, nicolas DOT legoff aT univ-pau DOT fr
 !               Roland Martin, roland DOT martin aT univ-pau DOT fr
+!               Christina Morency, cmorency aT princeton DOT edu
 !
 ! This software is a computer program whose purpose is to solve
-! the two-dimensional viscoelastic anisotropic wave equation
+! the two-dimensional viscoelastic anisotropic or poroelastic wave equation
 ! using a spectral-element method (SEM).
 !
 ! This software is governed by the CeCILL license under French law and

Modified: seismo/2D/SPECFEM2D/trunk/convolve_source_timefunction.f90
===================================================================
--- seismo/2D/SPECFEM2D/trunk/convolve_source_timefunction.f90	2009-08-22 02:07:04 UTC (rev 15576)
+++ seismo/2D/SPECFEM2D/trunk/convolve_source_timefunction.f90	2009-08-22 15:03:50 UTC (rev 15577)
@@ -1,16 +1,18 @@
 
 !========================================================================
 !
-!                   S P E C F E M 2 D  Version 5.2
+!                   S P E C F E M 2 D  Version 6.0
 !                   ------------------------------
 !
-! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France.
+! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France,
+! and Princeton University, USA.
 ! Contributors: Dimitri Komatitsch, dimitri DOT komatitsch aT univ-pau DOT fr
 !               Nicolas Le Goff, nicolas DOT legoff aT univ-pau DOT fr
 !               Roland Martin, roland DOT martin aT univ-pau DOT fr
+!               Christina Morency, cmorency aT princeton DOT edu
 !
 ! This software is a computer program whose purpose is to solve
-! the two-dimensional viscoelastic anisotropic wave equation
+! the two-dimensional viscoelastic anisotropic or poroelastic wave equation
 ! using a spectral-element method (SEM).
 !
 ! This software is governed by the CeCILL license under French law and

Modified: seismo/2D/SPECFEM2D/trunk/create_color_image.f90
===================================================================
--- seismo/2D/SPECFEM2D/trunk/create_color_image.f90	2009-08-22 02:07:04 UTC (rev 15576)
+++ seismo/2D/SPECFEM2D/trunk/create_color_image.f90	2009-08-22 15:03:50 UTC (rev 15577)
@@ -1,16 +1,18 @@
 
 !========================================================================
 !
-!                   S P E C F E M 2 D  Version 5.2
+!                   S P E C F E M 2 D  Version 6.0
 !                   ------------------------------
 !
-! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France.
+! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France,
+! and Princeton University, USA.
 ! Contributors: Dimitri Komatitsch, dimitri DOT komatitsch aT univ-pau DOT fr
 !               Nicolas Le Goff, nicolas DOT legoff aT univ-pau DOT fr
 !               Roland Martin, roland DOT martin aT univ-pau DOT fr
+!               Christina Morency, cmorency aT princeton DOT edu
 !
 ! This software is a computer program whose purpose is to solve
-! the two-dimensional viscoelastic anisotropic wave equation
+! the two-dimensional viscoelastic anisotropic or poroelastic wave equation
 ! using a spectral-element method (SEM).
 !
 ! This software is governed by the CeCILL license under French law and

Modified: seismo/2D/SPECFEM2D/trunk/createnum_fast.f90
===================================================================
--- seismo/2D/SPECFEM2D/trunk/createnum_fast.f90	2009-08-22 02:07:04 UTC (rev 15576)
+++ seismo/2D/SPECFEM2D/trunk/createnum_fast.f90	2009-08-22 15:03:50 UTC (rev 15577)
@@ -1,16 +1,18 @@
 
 !========================================================================
 !
-!                   S P E C F E M 2 D  Version 5.2
+!                   S P E C F E M 2 D  Version 6.0
 !                   ------------------------------
 !
-! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France.
+! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France,
+! and Princeton University, USA.
 ! Contributors: Dimitri Komatitsch, dimitri DOT komatitsch aT univ-pau DOT fr
 !               Nicolas Le Goff, nicolas DOT legoff aT univ-pau DOT fr
 !               Roland Martin, roland DOT martin aT univ-pau DOT fr
+!               Christina Morency, cmorency aT princeton DOT edu
 !
 ! This software is a computer program whose purpose is to solve
-! the two-dimensional viscoelastic anisotropic wave equation
+! the two-dimensional viscoelastic anisotropic or poroelastic wave equation
 ! using a spectral-element method (SEM).
 !
 ! This software is governed by the CeCILL license under French law and

Modified: seismo/2D/SPECFEM2D/trunk/createnum_slow.f90
===================================================================
--- seismo/2D/SPECFEM2D/trunk/createnum_slow.f90	2009-08-22 02:07:04 UTC (rev 15576)
+++ seismo/2D/SPECFEM2D/trunk/createnum_slow.f90	2009-08-22 15:03:50 UTC (rev 15577)
@@ -1,16 +1,18 @@
 
 !========================================================================
 !
-!                   S P E C F E M 2 D  Version 5.2
+!                   S P E C F E M 2 D  Version 6.0
 !                   ------------------------------
 !
-! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France.
+! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France,
+! and Princeton University, USA.
 ! Contributors: Dimitri Komatitsch, dimitri DOT komatitsch aT univ-pau DOT fr
 !               Nicolas Le Goff, nicolas DOT legoff aT univ-pau DOT fr
 !               Roland Martin, roland DOT martin aT univ-pau DOT fr
+!               Christina Morency, cmorency aT princeton DOT edu
 !
 ! This software is a computer program whose purpose is to solve
-! the two-dimensional viscoelastic anisotropic wave equation
+! the two-dimensional viscoelastic anisotropic or poroelastic wave equation
 ! using a spectral-element method (SEM).
 !
 ! This software is governed by the CeCILL license under French law and

Modified: seismo/2D/SPECFEM2D/trunk/datim.f90
===================================================================
--- seismo/2D/SPECFEM2D/trunk/datim.f90	2009-08-22 02:07:04 UTC (rev 15576)
+++ seismo/2D/SPECFEM2D/trunk/datim.f90	2009-08-22 15:03:50 UTC (rev 15577)
@@ -1,16 +1,18 @@
 
 !========================================================================
 !
-!                   S P E C F E M 2 D  Version 5.2
+!                   S P E C F E M 2 D  Version 6.0
 !                   ------------------------------
 !
-! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France.
+! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France,
+! and Princeton University, USA.
 ! Contributors: Dimitri Komatitsch, dimitri DOT komatitsch aT univ-pau DOT fr
 !               Nicolas Le Goff, nicolas DOT legoff aT univ-pau DOT fr
 !               Roland Martin, roland DOT martin aT univ-pau DOT fr
+!               Christina Morency, cmorency aT princeton DOT edu
 !
 ! This software is a computer program whose purpose is to solve
-! the two-dimensional viscoelastic anisotropic wave equation
+! the two-dimensional viscoelastic anisotropic or poroelastic wave equation
 ! using a spectral-element method (SEM).
 !
 ! This software is governed by the CeCILL license under French law and

Modified: seismo/2D/SPECFEM2D/trunk/define_derivation_matrices.f90
===================================================================
--- seismo/2D/SPECFEM2D/trunk/define_derivation_matrices.f90	2009-08-22 02:07:04 UTC (rev 15576)
+++ seismo/2D/SPECFEM2D/trunk/define_derivation_matrices.f90	2009-08-22 15:03:50 UTC (rev 15577)
@@ -1,16 +1,18 @@
 
 !========================================================================
 !
-!                   S P E C F E M 2 D  Version 5.2
+!                   S P E C F E M 2 D  Version 6.0
 !                   ------------------------------
 !
-! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France.
+! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France,
+! and Princeton University, USA.
 ! Contributors: Dimitri Komatitsch, dimitri DOT komatitsch aT univ-pau DOT fr
 !               Nicolas Le Goff, nicolas DOT legoff aT univ-pau DOT fr
 !               Roland Martin, roland DOT martin aT univ-pau DOT fr
+!               Christina Morency, cmorency aT princeton DOT edu
 !
 ! This software is a computer program whose purpose is to solve
-! the two-dimensional viscoelastic anisotropic wave equation
+! the two-dimensional viscoelastic anisotropic or poroelastic wave equation
 ! using a spectral-element method (SEM).
 !
 ! This software is governed by the CeCILL license under French law and

Modified: seismo/2D/SPECFEM2D/trunk/define_external_model.f90
===================================================================
--- seismo/2D/SPECFEM2D/trunk/define_external_model.f90	2009-08-22 02:07:04 UTC (rev 15576)
+++ seismo/2D/SPECFEM2D/trunk/define_external_model.f90	2009-08-22 15:03:50 UTC (rev 15577)
@@ -1,16 +1,18 @@
 
 !========================================================================
 !
-!                   S P E C F E M 2 D  Version 5.2
+!                   S P E C F E M 2 D  Version 6.0
 !                   ------------------------------
 !
-! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France.
+! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France,
+! and Princeton University, USA.
 ! Contributors: Dimitri Komatitsch, dimitri DOT komatitsch aT univ-pau DOT fr
 !               Nicolas Le Goff, nicolas DOT legoff aT univ-pau DOT fr
 !               Roland Martin, roland DOT martin aT univ-pau DOT fr
+!               Christina Morency, cmorency aT princeton DOT edu
 !
 ! This software is a computer program whose purpose is to solve
-! the two-dimensional viscoelastic anisotropic wave equation
+! the two-dimensional viscoelastic anisotropic or poroelastic wave equation
 ! using a spectral-element method (SEM).
 !
 ! This software is governed by the CeCILL license under French law and

Modified: seismo/2D/SPECFEM2D/trunk/define_shape_functions.f90
===================================================================
--- seismo/2D/SPECFEM2D/trunk/define_shape_functions.f90	2009-08-22 02:07:04 UTC (rev 15576)
+++ seismo/2D/SPECFEM2D/trunk/define_shape_functions.f90	2009-08-22 15:03:50 UTC (rev 15577)
@@ -1,16 +1,18 @@
 
 !========================================================================
 !
-!                   S P E C F E M 2 D  Version 5.2
+!                   S P E C F E M 2 D  Version 6.0
 !                   ------------------------------
 !
-! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France.
+! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France,
+! and Princeton University, USA.
 ! Contributors: Dimitri Komatitsch, dimitri DOT komatitsch aT univ-pau DOT fr
 !               Nicolas Le Goff, nicolas DOT legoff aT univ-pau DOT fr
 !               Roland Martin, roland DOT martin aT univ-pau DOT fr
+!               Christina Morency, cmorency aT princeton DOT edu
 !
 ! This software is a computer program whose purpose is to solve
-! the two-dimensional viscoelastic anisotropic wave equation
+! the two-dimensional viscoelastic anisotropic or poroelastic wave equation
 ! using a spectral-element method (SEM).
 !
 ! This software is governed by the CeCILL license under French law and

Modified: seismo/2D/SPECFEM2D/trunk/enforce_acoustic_free_surface.f90
===================================================================
--- seismo/2D/SPECFEM2D/trunk/enforce_acoustic_free_surface.f90	2009-08-22 02:07:04 UTC (rev 15576)
+++ seismo/2D/SPECFEM2D/trunk/enforce_acoustic_free_surface.f90	2009-08-22 15:03:50 UTC (rev 15577)
@@ -1,16 +1,18 @@
 
 !========================================================================
 !
-!                   S P E C F E M 2 D  Version 5.2
+!                   S P E C F E M 2 D  Version 6.0
 !                   ------------------------------
 !
-! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France.
+! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France,
+! and Princeton University, USA.
 ! Contributors: Dimitri Komatitsch, dimitri DOT komatitsch aT univ-pau DOT fr
 !               Nicolas Le Goff, nicolas DOT legoff aT univ-pau DOT fr
 !               Roland Martin, roland DOT martin aT univ-pau DOT fr
+!               Christina Morency, cmorency aT princeton DOT edu
 !
 ! This software is a computer program whose purpose is to solve
-! the two-dimensional viscoelastic anisotropic wave equation
+! the two-dimensional viscoelastic anisotropic or poroelastic wave equation
 ! using a spectral-element method (SEM).
 !
 ! This software is governed by the CeCILL license under French law and

Modified: seismo/2D/SPECFEM2D/trunk/get_perm_cuthill_mckee.f90
===================================================================
--- seismo/2D/SPECFEM2D/trunk/get_perm_cuthill_mckee.f90	2009-08-22 02:07:04 UTC (rev 15576)
+++ seismo/2D/SPECFEM2D/trunk/get_perm_cuthill_mckee.f90	2009-08-22 15:03:50 UTC (rev 15577)
@@ -1,16 +1,18 @@
 
 !========================================================================
 !
-!                   S P E C F E M 2 D  Version 5.2
+!                   S P E C F E M 2 D  Version 6.0
 !                   ------------------------------
 !
-! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France.
+! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France,
+! and Princeton University, USA.
 ! Contributors: Dimitri Komatitsch, dimitri DOT komatitsch aT univ-pau DOT fr
 !               Nicolas Le Goff, nicolas DOT legoff aT univ-pau DOT fr
 !               Roland Martin, roland DOT martin aT univ-pau DOT fr
+!               Christina Morency, cmorency aT princeton DOT edu
 !
 ! This software is a computer program whose purpose is to solve
-! the two-dimensional viscoelastic anisotropic wave equation
+! the two-dimensional viscoelastic anisotropic or poroelastic wave equation
 ! using a spectral-element method (SEM).
 !
 ! This software is governed by the CeCILL license under French law and

Modified: seismo/2D/SPECFEM2D/trunk/gmat01.f90
===================================================================
--- seismo/2D/SPECFEM2D/trunk/gmat01.f90	2009-08-22 02:07:04 UTC (rev 15576)
+++ seismo/2D/SPECFEM2D/trunk/gmat01.f90	2009-08-22 15:03:50 UTC (rev 15577)
@@ -1,16 +1,18 @@
 
 !========================================================================
 !
-!                   S P E C F E M 2 D  Version 5.2
+!                   S P E C F E M 2 D  Version 6.0
 !                   ------------------------------
 !
-! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France.
+! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France,
+! and Princeton University, USA.
 ! Contributors: Dimitri Komatitsch, dimitri DOT komatitsch aT univ-pau DOT fr
 !               Nicolas Le Goff, nicolas DOT legoff aT univ-pau DOT fr
 !               Roland Martin, roland DOT martin aT univ-pau DOT fr
+!               Christina Morency, cmorency aT princeton DOT edu
 !
 ! This software is a computer program whose purpose is to solve
-! the two-dimensional viscoelastic anisotropic wave equation
+! the two-dimensional viscoelastic anisotropic or poroelastic wave equation
 ! using a spectral-element method (SEM).
 !
 ! This software is governed by the CeCILL license under French law and
@@ -138,13 +140,13 @@
       density(1) =val0
       density(2) =val1
 
-! Solid properties 
+! Solid properties
       kappa_s = val7
       mu_s = val11
-! Fluid properties 
+! Fluid properties
       kappa_f = val8
       eta_f = val10
-! Frame properties 
+! Frame properties
       kappa_fr = val9
       mu_fr = val11
 ! Lam'e parameters for the solid phase and the frame
@@ -175,10 +177,10 @@
   permeability(2,n) = val5
   permeability(3,n) = val6
 
-! Young modulus for the solid phase 
+! Young modulus for the solid phase
       young_s = 9.d0*kappa_s*mu_s/(3.d0*kappa_s + mu_s)
 
-! Poisson's ratio for the solid phase 
+! Poisson's ratio for the solid phase
       poisson_s = HALF*(3.d0*kappa_s- 2.d0*mu_s)/(3.d0*kappa_s+mu_s)
 
 ! Poisson's ratio must be between -1 and +1/2

Modified: seismo/2D/SPECFEM2D/trunk/is_in_convex_quadrilateral.f90
===================================================================
--- seismo/2D/SPECFEM2D/trunk/is_in_convex_quadrilateral.f90	2009-08-22 02:07:04 UTC (rev 15576)
+++ seismo/2D/SPECFEM2D/trunk/is_in_convex_quadrilateral.f90	2009-08-22 15:03:50 UTC (rev 15577)
@@ -1,16 +1,18 @@
 
 !========================================================================
 !
-!                   S P E C F E M 2 D  Version 5.2
+!                   S P E C F E M 2 D  Version 6.0
 !                   ------------------------------
 !
-! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France.
+! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France,
+! and Princeton University, USA.
 ! Contributors: Dimitri Komatitsch, dimitri DOT komatitsch aT univ-pau DOT fr
 !               Nicolas Le Goff, nicolas DOT legoff aT univ-pau DOT fr
 !               Roland Martin, roland DOT martin aT univ-pau DOT fr
+!               Christina Morency, cmorency aT princeton DOT edu
 !
 ! This software is a computer program whose purpose is to solve
-! the two-dimensional viscoelastic anisotropic wave equation
+! the two-dimensional viscoelastic anisotropic or poroelastic wave equation
 ! using a spectral-element method (SEM).
 !
 ! This software is governed by the CeCILL license under French law and

Modified: seismo/2D/SPECFEM2D/trunk/lagrange_poly.f90
===================================================================
--- seismo/2D/SPECFEM2D/trunk/lagrange_poly.f90	2009-08-22 02:07:04 UTC (rev 15576)
+++ seismo/2D/SPECFEM2D/trunk/lagrange_poly.f90	2009-08-22 15:03:50 UTC (rev 15577)
@@ -1,16 +1,18 @@
 
 !========================================================================
 !
-!                   S P E C F E M 2 D  Version 5.2
+!                   S P E C F E M 2 D  Version 6.0
 !                   ------------------------------
 !
-! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France.
+! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France,
+! and Princeton University, USA.
 ! Contributors: Dimitri Komatitsch, dimitri DOT komatitsch aT univ-pau DOT fr
 !               Nicolas Le Goff, nicolas DOT legoff aT univ-pau DOT fr
 !               Roland Martin, roland DOT martin aT univ-pau DOT fr
+!               Christina Morency, cmorency aT princeton DOT edu
 !
 ! This software is a computer program whose purpose is to solve
-! the two-dimensional viscoelastic anisotropic wave equation
+! the two-dimensional viscoelastic anisotropic or poroelastic wave equation
 ! using a spectral-element method (SEM).
 !
 ! This software is governed by the CeCILL license under French law and

Modified: seismo/2D/SPECFEM2D/trunk/locate_receivers.F90
===================================================================
--- seismo/2D/SPECFEM2D/trunk/locate_receivers.F90	2009-08-22 02:07:04 UTC (rev 15576)
+++ seismo/2D/SPECFEM2D/trunk/locate_receivers.F90	2009-08-22 15:03:50 UTC (rev 15577)
@@ -1,16 +1,18 @@
 
 !========================================================================
 !
-!                   S P E C F E M 2 D  Version 5.2
+!                   S P E C F E M 2 D  Version 6.0
 !                   ------------------------------
 !
-! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France.
+! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France,
+! and Princeton University, USA.
 ! Contributors: Dimitri Komatitsch, dimitri DOT komatitsch aT univ-pau DOT fr
 !               Nicolas Le Goff, nicolas DOT legoff aT univ-pau DOT fr
 !               Roland Martin, roland DOT martin aT univ-pau DOT fr
+!               Christina Morency, cmorency aT princeton DOT edu
 !
 ! This software is a computer program whose purpose is to solve
-! the two-dimensional viscoelastic anisotropic wave equation
+! the two-dimensional viscoelastic anisotropic or poroelastic wave equation
 ! using a spectral-element method (SEM).
 !
 ! This software is governed by the CeCILL license under French law and

Modified: seismo/2D/SPECFEM2D/trunk/locate_source_force.F90
===================================================================
--- seismo/2D/SPECFEM2D/trunk/locate_source_force.F90	2009-08-22 02:07:04 UTC (rev 15576)
+++ seismo/2D/SPECFEM2D/trunk/locate_source_force.F90	2009-08-22 15:03:50 UTC (rev 15577)
@@ -1,16 +1,18 @@
 
 !========================================================================
 !
-!                   S P E C F E M 2 D  Version 5.2
+!                   S P E C F E M 2 D  Version 6.0
 !                   ------------------------------
 !
-! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France.
+! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France,
+! and Princeton University, USA.
 ! Contributors: Dimitri Komatitsch, dimitri DOT komatitsch aT univ-pau DOT fr
 !               Nicolas Le Goff, nicolas DOT legoff aT univ-pau DOT fr
 !               Roland Martin, roland DOT martin aT univ-pau DOT fr
+!               Christina Morency, cmorency aT princeton DOT edu
 !
 ! This software is a computer program whose purpose is to solve
-! the two-dimensional viscoelastic anisotropic wave equation
+! the two-dimensional viscoelastic anisotropic or poroelastic wave equation
 ! using a spectral-element method (SEM).
 !
 ! This software is governed by the CeCILL license under French law and

Modified: seismo/2D/SPECFEM2D/trunk/locate_source_moment_tensor.F90
===================================================================
--- seismo/2D/SPECFEM2D/trunk/locate_source_moment_tensor.F90	2009-08-22 02:07:04 UTC (rev 15576)
+++ seismo/2D/SPECFEM2D/trunk/locate_source_moment_tensor.F90	2009-08-22 15:03:50 UTC (rev 15577)
@@ -1,16 +1,18 @@
 
 !========================================================================
 !
-!                   S P E C F E M 2 D  Version 5.2
+!                   S P E C F E M 2 D  Version 6.0
 !                   ------------------------------
 !
-! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France.
+! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France,
+! and Princeton University, USA.
 ! Contributors: Dimitri Komatitsch, dimitri DOT komatitsch aT univ-pau DOT fr
 !               Nicolas Le Goff, nicolas DOT legoff aT univ-pau DOT fr
 !               Roland Martin, roland DOT martin aT univ-pau DOT fr
+!               Christina Morency, cmorency aT princeton DOT edu
 !
 ! This software is a computer program whose purpose is to solve
-! the two-dimensional viscoelastic anisotropic wave equation
+! the two-dimensional viscoelastic anisotropic or poroelastic wave equation
 ! using a spectral-element method (SEM).
 !
 ! This software is governed by the CeCILL license under French law and

Modified: seismo/2D/SPECFEM2D/trunk/meshfem2D.F90
===================================================================
--- seismo/2D/SPECFEM2D/trunk/meshfem2D.F90	2009-08-22 02:07:04 UTC (rev 15576)
+++ seismo/2D/SPECFEM2D/trunk/meshfem2D.F90	2009-08-22 15:03:50 UTC (rev 15577)
@@ -1,16 +1,18 @@
 
 !========================================================================
 !
-!                   S P E C F E M 2 D  Version 5.2
+!                   S P E C F E M 2 D  Version 6.0
 !                   ------------------------------
 !
-! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France.
+! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France,
+! and Princeton University, USA.
 ! Contributors: Dimitri Komatitsch, dimitri DOT komatitsch aT univ-pau DOT fr
 !               Nicolas Le Goff, nicolas DOT legoff aT univ-pau DOT fr
 !               Roland Martin, roland DOT martin aT univ-pau DOT fr
+!               Christina Morency, cmorency aT princeton DOT edu
 !
 ! This software is a computer program whose purpose is to solve
-! the two-dimensional viscoelastic anisotropic wave equation
+! the two-dimensional viscoelastic anisotropic or poroelastic wave equation
 ! using a spectral-element method (SEM).
 !
 ! This software is governed by the CeCILL license under French law and
@@ -112,10 +114,10 @@
          xinterface_top,zinterface_top,coefs_interface_top
 
 ! for the source and receivers
-  integer, dimension(:), allocatable ::  source_type,time_function_type 
+  integer, dimension(:), allocatable ::  source_type,time_function_type
   integer nrec_total,irec_global_number
-  double precision, dimension(:),allocatable :: xs,zs,f0,t0,angleforce,Mxx,Mzz,Mxz,factor 
-  integer NSOURCE, NSOURCES, i_source, icounter, ios  
+  double precision, dimension(:),allocatable :: xs,zs,f0,t0,angleforce,Mxx,Mzz,Mxz,factor
+  integer NSOURCE, NSOURCES, i_source, icounter, ios
   logical, dimension(:),allocatable ::  source_surf
   double precision xrec,zrec
 ! file number for source file
@@ -201,13 +203,13 @@
   integer, dimension(:), allocatable  :: my_interfaces
   integer, dimension(:), allocatable  :: my_nb_interfaces
 
-! for acoustic/elastic coupled elements 
+! for acoustic/elastic coupled elements
   integer  :: nedges_coupled, nedges_coupled_loc
   integer, dimension(:,:), pointer  :: edges_coupled
-! for acoustic/poroelastic coupled elements 
+! for acoustic/poroelastic coupled elements
   integer  :: nedges_acporo_coupled, nedges_acporo_coupled_loc
   integer, dimension(:,:), pointer  :: edges_acporo_coupled
-! for poroelastic/elastic coupled elements 
+! for poroelastic/elastic coupled elements
   integer  :: nedges_elporo_coupled, nedges_elporo_coupled_loc
   integer, dimension(:,:), pointer  :: edges_elporo_coupled
 
@@ -459,7 +461,7 @@
   call read_value_integer(IIN,IGNORE_JUNK,isolver)
 
 ! read source parameters
-  call read_value_integer(IIN,IGNORE_JUNK,NSOURCE) 
+  call read_value_integer(IIN,IGNORE_JUNK,NSOURCE)
   allocate(source_surf(NSOURCE))
   allocate(xs(NSOURCE))
   allocate(zs(NSOURCE))
@@ -1365,7 +1367,7 @@
      write(15,*) nelemabs_loc,nelem_acoustic_surface_loc,nedges_coupled_loc,nedges_acporo_coupled_loc,&
                  nedges_elporo_coupled_loc,nnodes_tangential_curve
 
-     write(15,*) 'Material sets (num 1 rho vp vs 0 0 Qp Qs 0 0 0 0 0 0) or ' 
+     write(15,*) 'Material sets (num 1 rho vp vs 0 0 Qp Qs 0 0 0 0 0 0) or '
      write(15,*) '(num 2 rho c11 c13 c33 c44 Qp Qs 0 0 0 0 0 0) or '
      write(15,*) '(num 3 rhos rhof phi c k_xx k_xz k_zz Ks Kf Kfr etaf mufr Qs)'
      do i=1,nb_materials

Modified: seismo/2D/SPECFEM2D/trunk/part_unstruct.F90
===================================================================
--- seismo/2D/SPECFEM2D/trunk/part_unstruct.F90	2009-08-22 02:07:04 UTC (rev 15576)
+++ seismo/2D/SPECFEM2D/trunk/part_unstruct.F90	2009-08-22 15:03:50 UTC (rev 15577)
@@ -1,16 +1,18 @@
 
 !========================================================================
 !
-!                   S P E C F E M 2 D  Version 5.2
+!                   S P E C F E M 2 D  Version 6.0
 !                   ------------------------------
 !
-! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France.
+! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France,
+! and Princeton University, USA.
 ! Contributors: Dimitri Komatitsch, dimitri DOT komatitsch aT univ-pau DOT fr
 !               Nicolas Le Goff, nicolas DOT legoff aT univ-pau DOT fr
 !               Roland Martin, roland DOT martin aT univ-pau DOT fr
+!               Christina Morency, cmorency aT princeton DOT edu
 !
 ! This software is a computer program whose purpose is to solve
-! the two-dimensional viscoelastic anisotropic wave equation
+! the two-dimensional viscoelastic anisotropic or poroelastic wave equation
 ! using a spectral-element method (SEM).
 !
 ! This software is governed by the CeCILL license under French law and
@@ -144,7 +146,7 @@
     integer, intent(in)  :: ANISOTROPIC_MATERIAL
     integer, intent(in)  :: nb_materials
     integer, dimension(1:nb_materials), intent(in)  :: icodemat
-    double precision, dimension(1:nb_materials), intent(in)  :: phi 
+    double precision, dimension(1:nb_materials), intent(in)  :: phi
     integer, intent(in)  :: num_start
 
 

Modified: seismo/2D/SPECFEM2D/trunk/plotgll.f90
===================================================================
--- seismo/2D/SPECFEM2D/trunk/plotgll.f90	2009-08-22 02:07:04 UTC (rev 15576)
+++ seismo/2D/SPECFEM2D/trunk/plotgll.f90	2009-08-22 15:03:50 UTC (rev 15577)
@@ -1,16 +1,18 @@
 
 !========================================================================
 !
-!                   S P E C F E M 2 D  Version 5.2
+!                   S P E C F E M 2 D  Version 6.0
 !                   ------------------------------
 !
-! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France.
+! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France,
+! and Princeton University, USA.
 ! Contributors: Dimitri Komatitsch, dimitri DOT komatitsch aT univ-pau DOT fr
 !               Nicolas Le Goff, nicolas DOT legoff aT univ-pau DOT fr
 !               Roland Martin, roland DOT martin aT univ-pau DOT fr
+!               Christina Morency, cmorency aT princeton DOT edu
 !
 ! This software is a computer program whose purpose is to solve
-! the two-dimensional viscoelastic anisotropic wave equation
+! the two-dimensional viscoelastic anisotropic or poroelastic wave equation
 ! using a spectral-element method (SEM).
 !
 ! This software is governed by the CeCILL license under French law and

Modified: seismo/2D/SPECFEM2D/trunk/plotpost.F90
===================================================================
--- seismo/2D/SPECFEM2D/trunk/plotpost.F90	2009-08-22 02:07:04 UTC (rev 15576)
+++ seismo/2D/SPECFEM2D/trunk/plotpost.F90	2009-08-22 15:03:50 UTC (rev 15577)
@@ -1,16 +1,18 @@
 
 !========================================================================
 !
-!                   S P E C F E M 2 D  Version 5.2
+!                   S P E C F E M 2 D  Version 6.0
 !                   ------------------------------
 !
-! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France.
+! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France,
+! and Princeton University, USA.
 ! Contributors: Dimitri Komatitsch, dimitri DOT komatitsch aT univ-pau DOT fr
 !               Nicolas Le Goff, nicolas DOT legoff aT univ-pau DOT fr
 !               Roland Martin, roland DOT martin aT univ-pau DOT fr
+!               Christina Morency, cmorency aT princeton DOT edu
 !
 ! This software is a computer program whose purpose is to solve
-! the two-dimensional viscoelastic anisotropic wave equation
+! the two-dimensional viscoelastic anisotropic or poroelastic wave equation
 ! using a spectral-element method (SEM).
 !
 ! This software is governed by the CeCILL license under French law and
@@ -47,7 +49,7 @@
           simulation_title,npoin,npgeo,vpmin,vpmax,nrec,NSOURCE, &
           colors,numbers,subsamp,imagetype,interpol,meshvect,modelvect, &
           boundvect,assign_external_model,cutsnaps,sizemax_arrows,nelemabs,numat,pointsdisp, &
-          nspec,ngnod,coupled_acoustic_elastic,coupled_acoustic_poroelastic,coupled_elastic_poroelastic, &
+          nspec,ngnod,coupled_acoustic_elastic,coupled_acoustic_poro,coupled_elastic_poro, &
           any_acoustic,any_poroelastic,plot_lowerleft_corner_only, &
           fluid_solid_acoustic_ispec,fluid_solid_acoustic_iedge,num_fluid_solid_edges, &
           fluid_poro_acoustic_ispec,fluid_poro_acoustic_iedge,num_fluid_poro_edges, &
@@ -111,7 +113,7 @@
   double precision, dimension(nrec) :: st_xval,st_zval
 
   integer numabs(nelemabs),codeabs(4,nelemabs)
-  logical anyabs,coupled_acoustic_elastic,coupled_acoustic_poroelastic,coupled_elastic_poroelastic, &
+  logical anyabs,coupled_acoustic_elastic,coupled_acoustic_poro,coupled_elastic_poro, &
           any_acoustic,any_poroelastic,plot_lowerleft_corner_only
 
 ! for fluid/solid edge detection
@@ -169,8 +171,8 @@
   integer  :: nb_coorg_per_elem, nb_color_per_elem
   integer  :: iproc, num_spec
   integer  :: ier
-  logical :: anyabs_glob, coupled_acoustic_elastic_glob, coupled_acoustic_poroelastic_glob, &
-             coupled_elastic_poroelastic_glob
+  logical :: anyabs_glob, coupled_acoustic_elastic_glob, coupled_acoustic_poro_glob, &
+             coupled_elastic_poro_glob
 #ifdef USE_MPI
   integer, dimension(MPI_STATUS_SIZE)  :: request_mpi_status
 #endif
@@ -1615,9 +1617,9 @@
 
   if(coupled_acoustic_elastic) then
     write(24,*) '(Coupled Acoustic/Elastic Wave 2D - SEM) show'
-  else if(coupled_acoustic_poroelastic) then
+  else if(coupled_acoustic_poro) then
     write(24,*) '(Coupled Acoustic/Poroelastic Wave 2D - SEM) show'
-  else if(coupled_elastic_poroelastic) then
+  else if(coupled_elastic_poro) then
     write(24,*) '(Coupled Elastic/Poroelastic Wave 2D - SEM) show'
   else if(any_acoustic) then
     write(24,*) '(Acoustic Wave 2D - Spectral Element Method) show'
@@ -2469,12 +2471,12 @@
 !
 !----  draw the fluid-porous coupling edges with a thick color line
 !
-  coupled_acoustic_poroelastic_glob = coupled_acoustic_poroelastic
+  coupled_acoustic_poro_glob = coupled_acoustic_poro
 #ifdef USE_MPI
-  call MPI_ALLREDUCE(coupled_acoustic_poroelastic, coupled_acoustic_poroelastic_glob, 1, MPI_LOGICAL, MPI_LOR, MPI_COMM_WORLD, ier)
+  call MPI_ALLREDUCE(coupled_acoustic_poro, coupled_acoustic_poro_glob, 1, MPI_LOGICAL, MPI_LOR, MPI_COMM_WORLD, ier)
 #endif
 
-  if(coupled_acoustic_poroelastic_glob .and. boundvect) then
+  if(coupled_acoustic_poro_glob .and. boundvect) then
 
   if ( myrank == 0 ) then
   write(24,*) '%'
@@ -2576,12 +2578,12 @@
 !
 !----  draw the solid-porous coupling edges with a thick color line
 !
-  coupled_elastic_poroelastic_glob = coupled_elastic_poroelastic
+  coupled_elastic_poro_glob = coupled_elastic_poro
 #ifdef USE_MPI
-  call MPI_ALLREDUCE(coupled_elastic_poroelastic, coupled_elastic_poroelastic_glob, 1, MPI_LOGICAL, MPI_LOR, MPI_COMM_WORLD, ier)
+  call MPI_ALLREDUCE(coupled_elastic_poro, coupled_elastic_poro_glob, 1, MPI_LOGICAL, MPI_LOR, MPI_COMM_WORLD, ier)
 #endif
 
-  if(coupled_elastic_poroelastic_glob .and. boundvect) then
+  if(coupled_elastic_poro_glob .and. boundvect) then
 
   if ( myrank == 0 ) then
   write(24,*) '%'

Modified: seismo/2D/SPECFEM2D/trunk/read_value_parameters.f90
===================================================================
--- seismo/2D/SPECFEM2D/trunk/read_value_parameters.f90	2009-08-22 02:07:04 UTC (rev 15576)
+++ seismo/2D/SPECFEM2D/trunk/read_value_parameters.f90	2009-08-22 15:03:50 UTC (rev 15577)
@@ -1,16 +1,18 @@
 
 !========================================================================
 !
-!                   S P E C F E M 2 D  Version 5.2
+!                   S P E C F E M 2 D  Version 6.0
 !                   ------------------------------
 !
-! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France.
+! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France,
+! and Princeton University, USA.
 ! Contributors: Dimitri Komatitsch, dimitri DOT komatitsch aT univ-pau DOT fr
 !               Nicolas Le Goff, nicolas DOT legoff aT univ-pau DOT fr
 !               Roland Martin, roland DOT martin aT univ-pau DOT fr
+!               Christina Morency, cmorency aT princeton DOT edu
 !
 ! This software is a computer program whose purpose is to solve
-! the two-dimensional viscoelastic anisotropic wave equation
+! the two-dimensional viscoelastic anisotropic or poroelastic wave equation
 ! using a spectral-element method (SEM).
 !
 ! This software is governed by the CeCILL license under French law and

Modified: seismo/2D/SPECFEM2D/trunk/recompute_jacobian.f90
===================================================================
--- seismo/2D/SPECFEM2D/trunk/recompute_jacobian.f90	2009-08-22 02:07:04 UTC (rev 15576)
+++ seismo/2D/SPECFEM2D/trunk/recompute_jacobian.f90	2009-08-22 15:03:50 UTC (rev 15577)
@@ -1,16 +1,18 @@
 
 !========================================================================
 !
-!                   S P E C F E M 2 D  Version 5.2
+!                   S P E C F E M 2 D  Version 6.0
 !                   ------------------------------
 !
-! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France.
+! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France,
+! and Princeton University, USA.
 ! Contributors: Dimitri Komatitsch, dimitri DOT komatitsch aT univ-pau DOT fr
 !               Nicolas Le Goff, nicolas DOT legoff aT univ-pau DOT fr
 !               Roland Martin, roland DOT martin aT univ-pau DOT fr
+!               Christina Morency, cmorency aT princeton DOT edu
 !
 ! This software is a computer program whose purpose is to solve
-! the two-dimensional viscoelastic anisotropic wave equation
+! the two-dimensional viscoelastic anisotropic or poroelastic wave equation
 ! using a spectral-element method (SEM).
 !
 ! This software is governed by the CeCILL license under French law and

Modified: seismo/2D/SPECFEM2D/trunk/specfem2D.F90
===================================================================
--- seismo/2D/SPECFEM2D/trunk/specfem2D.F90	2009-08-22 02:07:04 UTC (rev 15576)
+++ seismo/2D/SPECFEM2D/trunk/specfem2D.F90	2009-08-22 15:03:50 UTC (rev 15577)
@@ -1,16 +1,18 @@
 
 !========================================================================
 !
-!                   S P E C F E M 2 D  Version 5.2
+!                   S P E C F E M 2 D  Version 6.0
 !                   ------------------------------
 !
-! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France.
+! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France,
+! and Princeton University, USA.
 ! Contributors: Dimitri Komatitsch, dimitri DOT komatitsch aT univ-pau DOT fr
 !               Nicolas Le Goff, nicolas DOT legoff aT univ-pau DOT fr
 !               Roland Martin, roland DOT martin aT univ-pau DOT fr
+!               Christina Morency, cmorency aT princeton DOT edu
 !
 ! This software is a computer program whose purpose is to solve
-! the two-dimensional viscoelastic anisotropic wave equation
+! the two-dimensional viscoelastic anisotropic or poroelastic wave equation
 ! using a spectral-element method (SEM).
 !
 ! This software is governed by the CeCILL license under French law and
@@ -43,11 +45,12 @@
 !====================================================================================
 !
 !   An explicit 2D parallel MPI spectral element solver
-!   for the anelastic anisotropic wave equation
+!   for the anelastic anisotropic or poroelastic wave equation.
 !
 !====================================================================================
 
-! If you use this code for your own research, please cite:
+! If you use this code for your own research, please cite at least one article
+! written by the developers of the package, for instance:
 !
 ! @ARTICLE{KoTr99,
 ! author={D. Komatitsch and J. Tromp},
@@ -68,27 +71,27 @@
 ! number=2,
 ! pages={368-392}}
 !
-!@ARTICLE{MoTr08,
-!      author={C. Morency and J. Tromp},
-!      year=2008,
-!      title={Spectral-element simulations of wave propagation in poroelastic media},
-!      journal={Geophys. J. Int.},
-!      volume=175,
-!      pages={301--345}}
+! @ARTICLE{MoTr08,
+! author={C. Morency and J. Tromp},
+! title={Spectral-element simulations of wave propagation in poroelastic media},
+! journal={Geophys. J. Int.},
+! year=2008,
+! volume=175,
+! pages={301-345}}
 !
+! and/or another article from http://web.univ-pau.fr/~dkomati1/publications.html
+!
 ! If you use the METIS / SCOTCH / CUBIT non-structured version, please also cite:
 !
-! @INPROCEEDINGS{MaKoBlLe08,
+! @ARTICLE{MaKoBlLe08,
 ! author = {R. Martin and D. Komatitsch and C. Blitz and N. {Le Goff}},
 ! title = {Simulation of seismic wave propagation in an asteroid based upon
-! an unstructured {MPI} spectral-element method: blocking and non-blocking communication strategies}
-! booktitle = {Proceedings of the VECPAR'2008 8th International Meeting
-! on High Performance Computing for Computational Science},
+! an unstructured {MPI} spectral-element method: blocking and non-blocking
+! communication strategies},
+! journal = {Lecture Notes in Computer Science},
 ! year = {2008},
-! pages = {999998-999999},
-! address = {Toulouse, France},
-! note = {24-27 June 2008},
-! url = {http://vecpar.fe.up.pt/2008}}
+! volume = {5336},
+! pages = {350-363}}
 !
 ! If you use the kernel capabilities of the code, please cite
 !
@@ -102,15 +105,16 @@
 ! pages={2383-2397},
 ! doi={10.1785/0120060041}}
 !
-!@ARTICLE{MoLuTr09,
-!     author={C. Morency and Y. Luo and J. Tromp},
-!     year=2009,
-!     title={Finite-frequency kernels for wave propagation in porous media based upon adjoint methods},
-!     journal=gji,
-!     doi={10.1111/j.1365-246X.2009.04332}}
+! @ARTICLE{MoLuTr09,
+! author={C. Morency and Y. Luo and J. Tromp},
+! title={Finite-frequency kernels for wave propagation in porous media based upon adjoint methods},
+! year=2009,
+! journal={Geophys. J. Int.},
+! doi={10.1111/j.1365-246X.2009.04332}}
 !
+! version 6.0, Christina Morency, August 2009:
+!               - support for poroelastic media (for regular meshes only for now).
 !
-!
 ! version 5.2, Dimitri Komatitsch, Nicolas Le Goff and Roland Martin, February 2008:
 !               - MPI implementation of the code based on domain decomposition
 !                 with METIS or SCOTCH
@@ -240,13 +244,13 @@
   double precision, dimension(:), allocatable :: porosity,tortuosity
   double precision, dimension(:,:), allocatable :: density,permeability
 
-! poroelastic and elastic coefficients 
+! poroelastic and elastic coefficients
   double precision, dimension(:,:,:), allocatable :: poroelastcoef
 
 ! for acoustic medium
   real(kind=CUSTOM_REAL), dimension(:), allocatable :: potential_dot_dot_acoustic,potential_dot_acoustic,potential_acoustic
 
-! inverse mass matrices 
+! inverse mass matrices
   real(kind=CUSTOM_REAL), dimension(:), allocatable :: rmass_inverse_elastic,rmass_inverse_acoustic
   real(kind=CUSTOM_REAL), dimension(:), allocatable :: rmass_s_inverse_poroelastic,rmass_w_inverse_poroelastic
 
@@ -349,9 +353,9 @@
   logical :: any_poroelastic,any_poroelastic_glob
   integer, dimension(:), allocatable :: fluid_poro_acoustic_ispec,fluid_poro_acoustic_iedge, &
                                         fluid_poro_poroelastic_ispec,fluid_poro_poroelastic_iedge
-  integer :: fluid_poro_acoustic_ispec_read, fluid_poro_poroelastic_ispec_read
+  integer :: fluid_poro_acoustic_ispec_read, fluid_poro_poro_ispec_read
   integer :: num_fluid_poro_edges,num_fluid_poro_edges_alloc,iedge_poroelastic
-  logical :: coupled_acoustic_poroelastic
+  logical :: coupled_acoustic_poro
   double precision :: mul_G,lambdal_G,lambdalplus2mul_G
   double precision :: dux_dxi,dux_dgamma,duz_dxi,duz_dgamma
   double precision :: dwx_dxi,dwx_dgamma,dwz_dxi,dwz_dgamma
@@ -365,9 +369,9 @@
 ! for solid/porous medium coupling and edge detection
   integer, dimension(:), allocatable :: solid_poro_elastic_ispec,solid_poro_elastic_iedge, &
                                         solid_poro_poroelastic_ispec,solid_poro_poroelastic_iedge
-  integer :: solid_poro_elastic_ispec_read, solid_poro_poroelastic_ispec_read
+  integer :: solid_poro_elastic_ispec_read, solid_poro_poro_ispec_read
   integer :: num_solid_poro_edges,num_solid_poro_edges_alloc,ispec_poroelastic,ii2,jj2
-  logical :: coupled_elastic_poroelastic
+  logical :: coupled_elastic_poro
   double precision, dimension(:,:), allocatable :: displ,veloc
   double precision :: sigma_xx,sigma_xz,sigma_zz,sigmap
   double precision :: b_sigma_xx,b_sigma_xz,b_sigma_zz,b_sigmap
@@ -728,7 +732,7 @@
   if(isolver == 1 .and. save_forward .and. (TURN_ANISOTROPY_ON .or. TURN_ATTENUATION_ON .or. TURN_VISCATTENUATION_ON)) then
   print*, '*************** WARNING ***************'
   print*, 'Anisotropy & Attenuation & Viscous damping are not presently implemented for adjoint calculations'
-  stop 
+  stop
   endif
 
   NTSTEP_BETWEEN_OUTPUT_SEISMO = min(NSTEP,NTSTEP_BETWEEN_OUTPUT_INFO)
@@ -1239,13 +1243,13 @@
      allocate(fluid_poro_poroelastic_iedge(num_fluid_poro_edges))
 endif
      do inum = 1, num_fluid_poro_edges
-        read(IIN,*) fluid_poro_acoustic_ispec_read,fluid_poro_poroelastic_ispec_read
+        read(IIN,*) fluid_poro_acoustic_ispec_read,fluid_poro_poro_ispec_read
         if(ipass == 1) then
           fluid_poro_acoustic_ispec(inum) = fluid_poro_acoustic_ispec_read
-          fluid_poro_poroelastic_ispec(inum) = fluid_poro_poroelastic_ispec_read
+          fluid_poro_poroelastic_ispec(inum) = fluid_poro_poro_ispec_read
         else if(ipass == 2) then
           fluid_poro_acoustic_ispec(inum) = perm(antecedent_list(fluid_poro_acoustic_ispec_read))
-          fluid_poro_poroelastic_ispec(inum) = perm(antecedent_list(fluid_poro_poroelastic_ispec_read))
+          fluid_poro_poroelastic_ispec(inum) = perm(antecedent_list(fluid_poro_poro_ispec_read))
         else
           call exit_MPI('error: maximum number of passes is 2')
         endif
@@ -1271,13 +1275,13 @@
      allocate(solid_poro_poroelastic_iedge(num_solid_poro_edges))
 endif
      do inum = 1, num_solid_poro_edges
-        read(IIN,*) solid_poro_poroelastic_ispec_read,solid_poro_elastic_ispec_read
+        read(IIN,*) solid_poro_poro_ispec_read,solid_poro_elastic_ispec_read
         if(ipass == 1) then
           solid_poro_elastic_ispec(inum) = solid_poro_elastic_ispec_read
-          solid_poro_poroelastic_ispec(inum) = solid_poro_poroelastic_ispec_read
+          solid_poro_poroelastic_ispec(inum) = solid_poro_poro_ispec_read
         else if(ipass == 2) then
           solid_poro_elastic_ispec(inum) = perm(antecedent_list(solid_poro_elastic_ispec_read))
-          solid_poro_poroelastic_ispec(inum) = perm(antecedent_list(solid_poro_poroelastic_ispec_read))
+          solid_poro_poroelastic_ispec(inum) = perm(antecedent_list(solid_poro_poro_ispec_read))
         else
           call exit_MPI('error: maximum number of passes is 2')
         endif
@@ -1794,7 +1798,7 @@
       nodes_tangential_curve(2,n_tangential_detection_curve(2)), &
       nodes_tangential_curve(2,n_tangential_detection_curve(3)), &
       nodes_tangential_curve(2,n_tangential_detection_curve(4)) )
-   
+
     source_courbe_eros(i_source) = n1_tangential_detection_curve
     if ( myrank == 0 .and. is_proc_source(i_source) == 1 .and. nb_proc_source(i_source) == 1 ) then
       source_courbe_eros(i_source) = n1_tangential_detection_curve
@@ -3302,7 +3306,7 @@
 
          cploc = sqrt(lambdaplus2mu/denst)
          csloc = sqrt(mu/denst)
-      
+
          ! P wave case
          if (source_type(1) == 1) then
 
@@ -3601,7 +3605,7 @@
 ! output absolute time in third column, in case user wants to check it as well
       if (myrank == 0 .and. i_source==1 ) write(55,*) sngl(time),real(source_time_function(1,it),4),sngl(time-t0(1))
    enddo
-   enddo ! i_source=1,NSOURCE 
+   enddo ! i_source=1,NSOURCE
 
    if (myrank == 0) close(55)
 
@@ -3621,7 +3625,7 @@
 
 ! determine if coupled fluid-solid simulation
   coupled_acoustic_elastic = any_acoustic .and. any_elastic
-  coupled_acoustic_poroelastic = any_acoustic .and. any_poroelastic
+  coupled_acoustic_poro = any_acoustic .and. any_poroelastic
 
 ! fluid/solid (elastic) edge detection
 ! the two elements (fluid and solid) forming an edge are already known (computed in meshfem2D),
@@ -3758,7 +3762,7 @@
 ! fluid/solid (poroelastic) edge detection
 ! the two elements (fluid and solid) forming an edge are already known (computed in meshfem2D),
 ! the common nodes forming the edge are computed here
-  if(coupled_acoustic_poroelastic) then
+  if(coupled_acoustic_poro) then
     if ( myrank == 0 ) then
     print *
     print *,'Mixed acoustic/poroelastic simulation'
@@ -3937,7 +3941,7 @@
   endif
 
 ! exclude common points between acoustic absorbing edges and acoustic/poroelastic matching interfaces
-  if(coupled_acoustic_poroelastic .and. anyabs) then
+  if(coupled_acoustic_poro .and. anyabs) then
 
     if (myrank == 0) &
       print *,'excluding common points between acoustic absorbing edges and acoustic/poroelastic matching interfaces, if any'
@@ -3987,12 +3991,12 @@
 
 
 ! determine if coupled elastic-poroelastic simulation
-  coupled_elastic_poroelastic = any_elastic .and. any_poroelastic
+  coupled_elastic_poro = any_elastic .and. any_poroelastic
 
 ! solid/porous edge detection
 ! the two elements forming an edge are already known (computed in meshfem2D),
 ! the common nodes forming the edge are computed here
-  if(coupled_elastic_poroelastic) then
+  if(coupled_elastic_poro) then
 
     if(TURN_ATTENUATION_ON .or. TURN_VISCATTENUATION_ON) &
                    stop 'Attenuation not supported for mixed elastic/poroelastic simulations'
@@ -4132,8 +4136,8 @@
             jbegin_left_poro(ispecabs) = 1
             jbegin_right_poro(ispecabs) = 1
 
-            jend_left_poro(ispecabs) = NGLLZ 
-            jend_right_poro(ispecabs) = NGLLZ 
+            jend_left_poro(ispecabs) = NGLLZ
+            jend_right_poro(ispecabs) = NGLLZ
 
             ibegin_bottom_poro(ispecabs) = 1
             ibegin_top_poro(ispecabs) = 1
@@ -4144,7 +4148,7 @@
  endif
 
 ! exclude common points between poroelastic absorbing edges and elastic/poroelastic matching interfaces
-  if(coupled_elastic_poroelastic .and. anyabs) then
+  if(coupled_elastic_poro .and. anyabs) then
 
     if (myrank == 0) &
       print *,'excluding common points between poroelastic absorbing edges and elastic/poroelastic matching interfaces, if any'
@@ -4194,7 +4198,7 @@
 
 ! detecting poroelastic, elastic and acoustic global points valence
 
-  if(coupled_acoustic_elastic .or. coupled_acoustic_poroelastic .or. coupled_elastic_poroelastic)then
+  if(coupled_acoustic_elastic .or. coupled_acoustic_poro .or. coupled_elastic_poro)then
 
   allocate(valence_elastic(npoin))
   allocate(valence_poroelastic(npoin))
@@ -4234,7 +4238,7 @@
   allocate(valence_poroelastic(1))
   allocate(valence_acoustic(1))
 
-  endif !(coupled_acoustic_elastic .or. coupled_acoustic_poroelastic .or. coupled_elastic_poroelastic)
+  endif !(coupled_acoustic_elastic .or. coupled_acoustic_poro .or. coupled_elastic_poro)
 
 #ifdef USE_MPI
   if(OUTPUT_ENERGY) stop 'energy calculation only currently serial only, should add an MPI_REDUCE in parallel'
@@ -4576,7 +4580,7 @@
       displs_poroelastic = displs_poroelastic + deltat*velocs_poroelastic + deltatsquareover2*accels_poroelastic
       velocs_poroelastic = velocs_poroelastic + deltatover2*accels_poroelastic
       accels_poroelastic = ZERO
-!for the fluid 
+!for the fluid
       displw_poroelastic = displw_poroelastic + deltat*velocw_poroelastic + deltatsquareover2*accelw_poroelastic
       velocw_poroelastic = velocw_poroelastic + deltatover2*accelw_poroelastic
       accelw_poroelastic = ZERO
@@ -4586,7 +4590,7 @@
       b_displs_poroelastic = b_displs_poroelastic + b_deltat*b_velocs_poroelastic + b_deltatsquareover2*b_accels_poroelastic
       b_velocs_poroelastic = b_velocs_poroelastic + b_deltatover2*b_accels_poroelastic
       b_accels_poroelastic = ZERO
-!for the fluid 
+!for the fluid
       b_displw_poroelastic = b_displw_poroelastic + b_deltat*b_velocw_poroelastic + b_deltatsquareover2*b_accelw_poroelastic
       b_velocw_poroelastic = b_velocw_poroelastic + b_deltatover2*b_accelw_poroelastic
       b_accelw_poroelastic = ZERO
@@ -4843,7 +4847,7 @@
 ! ************* add coupling with the poroelastic side
 ! *********************************************************
 
-    if(coupled_acoustic_poroelastic) then
+    if(coupled_acoustic_poro) then
 
 ! loop on all the coupling edges
       do inum = 1,num_fluid_poro_edges
@@ -5049,7 +5053,7 @@
 ! ****************************************************************************************
 !   If coupling elastic/poroelastic domain, average some arrays at the interface first
 ! ****************************************************************************************
-    if(coupled_elastic_poroelastic) then
+    if(coupled_elastic_poro) then
 
 ! loop on all the coupling edges
       do inum = 1,num_solid_poro_edges
@@ -5300,7 +5304,7 @@
 ! ****************************************************************************
 ! ************* add coupling with the poroelastic side
 ! ****************************************************************************
-    if(coupled_elastic_poroelastic) then
+    if(coupled_elastic_poro) then
 
 ! loop on all the coupling edges
       do inum = 1,num_solid_poro_edges
@@ -5503,7 +5507,7 @@
           b_duz_dxl = b_duz_dxi*xixl + b_duz_dgamma*gammaxl
           b_duz_dzl = b_duz_dxi*xizl + b_duz_dgamma*gammazl
           endif
-! compute stress tensor 
+! compute stress tensor
 ! full anisotropy
   if(TURN_ANISOTROPY_ON) then
 ! implement anisotropy in 2D
@@ -5794,7 +5798,7 @@
 ! ************* add coupling with the acoustic side
 ! *********************************************************
 
-    if(coupled_acoustic_poroelastic) then
+    if(coupled_acoustic_poro) then
 
 ! loop on all the coupling edges
       do inum = 1,num_fluid_poro_edges
@@ -5889,7 +5893,7 @@
           accelw_poroelastic(2,iglob) = accelw_poroelastic(2,iglob) + weight*nz*pressure*(1._CUSTOM_REAL-rhol_f/rhol_bar)*&
                                        valence_poroelastic(iglob)
         endif
- 
+
           if(isolver == 2) then
         if(valence_acoustic(iglob) == valence_poroelastic(iglob)) then
 ! contribution to the solid phase
@@ -5918,13 +5922,13 @@
 
       enddo ! do inum = 1,num_fluid_poro_edges
 
-    endif ! if(coupled_acoustic_poroelastic)
+    endif ! if(coupled_acoustic_poro)
 
 ! ****************************************************************************
 ! ************* add coupling with the elastic side
 ! ****************************************************************************
 
-    if(coupled_elastic_poroelastic) then
+    if(coupled_elastic_poro) then
 
 ! loop on all the coupling edges
       do inum = 1,num_solid_poro_edges
@@ -6238,7 +6242,7 @@
 
       enddo
 
-    endif ! if(coupled_elastic_poroelastic)
+    endif ! if(coupled_elastic_poro)
 
 
 ! assembling accels_proelastic & accelw_poroelastic for poroelastic elements
@@ -6872,7 +6876,7 @@
           simulation_title,npoin,npgeo,vpImin,vpImax,nrec,NSOURCE, &
           colors,numbers,subsamp,imagetype,interpol,meshvect,modelvect, &
           boundvect,assign_external_model,cutsnaps,sizemax_arrows,nelemabs,numat,pointsdisp, &
-          nspec,ngnod,coupled_acoustic_elastic,coupled_acoustic_poroelastic,coupled_elastic_poroelastic, &
+          nspec,ngnod,coupled_acoustic_elastic,coupled_acoustic_poro,coupled_elastic_poro, &
           any_acoustic,any_poroelastic,plot_lowerleft_corner_only, &
           fluid_solid_acoustic_ispec,fluid_solid_acoustic_iedge,num_fluid_solid_edges,&
           fluid_poro_acoustic_ispec,fluid_poro_acoustic_iedge,num_fluid_poro_edges, &
@@ -6908,7 +6912,7 @@
           simulation_title,npoin,npgeo,vpImin,vpImax,nrec,NSOURCE, &
           colors,numbers,subsamp,imagetype,interpol,meshvect,modelvect, &
           boundvect,assign_external_model,cutsnaps,sizemax_arrows,nelemabs,numat,pointsdisp, &
-          nspec,ngnod,coupled_acoustic_elastic,coupled_acoustic_poroelastic,coupled_elastic_poroelastic, &
+          nspec,ngnod,coupled_acoustic_elastic,coupled_acoustic_poro,coupled_elastic_poro, &
           any_acoustic,any_poroelastic,plot_lowerleft_corner_only, &
           fluid_solid_acoustic_ispec,fluid_solid_acoustic_iedge,num_fluid_solid_edges,&
           fluid_poro_acoustic_ispec,fluid_poro_acoustic_iedge,num_fluid_poro_edges, &
@@ -6944,7 +6948,7 @@
           simulation_title,npoin,npgeo,vpImin,vpImax,nrec,NSOURCE, &
           colors,numbers,subsamp,imagetype,interpol,meshvect,modelvect, &
           boundvect,assign_external_model,cutsnaps,sizemax_arrows,nelemabs,numat,pointsdisp, &
-          nspec,ngnod,coupled_acoustic_elastic,coupled_acoustic_poroelastic,coupled_elastic_poroelastic, &
+          nspec,ngnod,coupled_acoustic_elastic,coupled_acoustic_poro,coupled_elastic_poro, &
           any_acoustic,any_poroelastic,plot_lowerleft_corner_only, &
           fluid_solid_acoustic_ispec,fluid_solid_acoustic_iedge,num_fluid_solid_edges, &
           fluid_poro_acoustic_ispec,fluid_poro_acoustic_iedge,num_fluid_poro_edges, &
@@ -7134,7 +7138,7 @@
   endif
 
 !
-!--- save last frame 
+!--- save last frame
 !
   if(save_forward .and. isolver ==1 .and. any_elastic) then
   if ( myrank == 0 ) then

Modified: seismo/2D/SPECFEM2D/trunk/spline_routines.f90
===================================================================
--- seismo/2D/SPECFEM2D/trunk/spline_routines.f90	2009-08-22 02:07:04 UTC (rev 15576)
+++ seismo/2D/SPECFEM2D/trunk/spline_routines.f90	2009-08-22 15:03:50 UTC (rev 15577)
@@ -1,16 +1,18 @@
 
 !========================================================================
 !
-!                   S P E C F E M 2 D  Version 5.2
+!                   S P E C F E M 2 D  Version 6.0
 !                   ------------------------------
 !
-! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France.
+! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France,
+! and Princeton University, USA.
 ! Contributors: Dimitri Komatitsch, dimitri DOT komatitsch aT univ-pau DOT fr
 !               Nicolas Le Goff, nicolas DOT legoff aT univ-pau DOT fr
 !               Roland Martin, roland DOT martin aT univ-pau DOT fr
+!               Christina Morency, cmorency aT princeton DOT edu
 !
 ! This software is a computer program whose purpose is to solve
-! the two-dimensional viscoelastic anisotropic wave equation
+! the two-dimensional viscoelastic anisotropic or poroelastic wave equation
 ! using a spectral-element method (SEM).
 !
 ! This software is governed by the CeCILL license under French law and

Modified: seismo/2D/SPECFEM2D/trunk/todo_list_please_dont_remove.txt
===================================================================
--- seismo/2D/SPECFEM2D/trunk/todo_list_please_dont_remove.txt	2009-08-22 02:07:04 UTC (rev 15576)
+++ seismo/2D/SPECFEM2D/trunk/todo_list_please_dont_remove.txt	2009-08-22 15:03:50 UTC (rev 15577)
@@ -1,9 +1,10 @@
 
-The main developers of SPECFEM2D are:
+The main developers of SPECFEM2D version 6.0 are:
 
  Dimitri Komatitsch, dimitri DOT komatitsch aT univ-pau DOT fr
  Nicolas Le Goff, nicolas DOT legoff aT univ-pau DOT fr
  Roland Martin, roland DOT martin aT univ-pau DOT fr
+ Christina Morency, cmorency aT princeton DOT edu
 
 For more details on how to use this code, users can also refer to the manuals
 of the 3D versions (SPECFEM3D_SESAME and SPECFEM3D_GLOBE), which contain far
@@ -23,18 +24,23 @@
 
 ---------------------------
 
+IMPORTANT KNOWN PROBLEM: the poroelastic solver only works for regular (non
+distorted) meshes, i.e., meshes composed of rectangles aligned with the X and
+Y axes. If the mesh is distorted the solver fails. You can contact
+Christina Morency <cmorency aT princeton DOT edu> for more details.
+
+Dimitri Komatitsch, August 22, 2009.
+
+---------------------------
+
 - improving compiling with SCOTCH (issue with header file scotchf.h which is Fortran77 legal). Having our own scotchf.h file (without the comments) is not wise.
 
 - comparing the different partitioning methods for METIS and SCOTCH, and finding a good default for SCOTCH.
 
 - partitioning using weights for load-balancing.
 
-- choosing a way to use assign_external_model?
-
 - checking for points with different normals for absorbing conditions, when the absorbing edges are not in the same elements (similar to what is done for the corners).
 
-- scripts to translate GID/CUBIT meshes into files for xmeshfem2D.
-
 - user manual for unstructured meshes.
 
 - Hi Jeroen, Perfect. I think talking to Jean-Paul Ampuero would be useful

Modified: seismo/2D/SPECFEM2D/trunk/write_seismograms.F90
===================================================================
--- seismo/2D/SPECFEM2D/trunk/write_seismograms.F90	2009-08-22 02:07:04 UTC (rev 15576)
+++ seismo/2D/SPECFEM2D/trunk/write_seismograms.F90	2009-08-22 15:03:50 UTC (rev 15577)
@@ -1,16 +1,18 @@
 
 !========================================================================
 !
-!                   S P E C F E M 2 D  Version 5.2
+!                   S P E C F E M 2 D  Version 6.0
 !                   ------------------------------
 !
-! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France.
+! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France,
+! and Princeton University, USA.
 ! Contributors: Dimitri Komatitsch, dimitri DOT komatitsch aT univ-pau DOT fr
 !               Nicolas Le Goff, nicolas DOT legoff aT univ-pau DOT fr
 !               Roland Martin, roland DOT martin aT univ-pau DOT fr
+!               Christina Morency, cmorency aT princeton DOT edu
 !
 ! This software is a computer program whose purpose is to solve
-! the two-dimensional viscoelastic anisotropic wave equation
+! the two-dimensional viscoelastic anisotropic or poroelastic wave equation
 ! using a spectral-element method (SEM).
 !
 ! This software is governed by the CeCILL license under French law and



More information about the CIG-COMMITS mailing list