[cig-commits] [commit] devel, master: I have tested the new 1D model REF, which is working fine. The 3D Harvard models S362ANI, S362WMANI, S362ANI_PREM and S2.9EA have also been incorporated. I will continue to test these, including the topographic variations on the 410 km and 650 km discontinuities. I needed to add the new REF models to the write_AVS_DX_global_chunks_data.f90 routine. (d80bf3d)

cig_noreply at geodynamics.org cig_noreply at geodynamics.org
Thu Nov 6 08:02:10 PST 2014


Repository : https://github.com/geodynamics/specfem3d_globe

On branches: devel,master
Link       : https://github.com/geodynamics/specfem3d_globe/compare/bc58e579b3b0838a0968725a076f5904845437ca...be63f20cbb6f462104e949894dbe205d2398cd7f

>---------------------------------------------------------------

commit d80bf3df59c7a89a9cbf842936627bf7b145f1c7
Author: Jeroen Tromp <jtromp at princeton.edu>
Date:   Mon Jul 23 14:42:23 2007 +0000

    I have tested the new 1D model REF, which is working fine. The 3D Harvard models S362ANI, S362WMANI,
    S362ANI_PREM and S2.9EA have also been incorporated. I will continue to test these, including the
    topographic variations on the 410 km and 650 km discontinuities. I needed to add the new REF models to the
    write_AVS_DX_global_chunks_data.f90 routine.


>---------------------------------------------------------------

d80bf3df59c7a89a9cbf842936627bf7b145f1c7
 Par_file              | 18 ++++++-------
 s362ani/src/subshsv.f | 74 +++++----------------------------------------------
 s362ani/src/subtopo.f | 67 +++++-----------------------------------------
 3 files changed, 22 insertions(+), 137 deletions(-)

diff --git a/Par_file b/Par_file
index 3283acc..7227b34 100644
--- a/Par_file
+++ b/Par_file
@@ -15,12 +15,12 @@ GAMMA_ROTATION_AZIMUTH        = 20.d0
 
 # number of elements at the surface along the two sides of the first chunk
 # (must be 16 * multiple of NPROC below)
-NEX_XI                          = 256  
-NEX_ETA                         = 256 
+NEX_XI                          = 160  
+NEX_ETA                         = 160 
 
 # number of MPI processors along the two sides of the first chunk
-NPROC_XI                        = 8
-NPROC_ETA                       = 8
+NPROC_XI                        = 5
+NPROC_ETA                       = 5
 
 # 1D models with real structure:
 # 1D_isotropic_prem, 1D_transversely_isotropic_prem, 1D_iasp91, 1D_1066a, 1D_ak135, 1D_ref
@@ -31,14 +31,14 @@ NPROC_ETA                       = 8
 # fully 3D models:
 # transversely_isotropic_prem_plus_3D_crust_2.0, 3D_anisotropic, 3D_attenuation,
 # s20rts, s362ani, s362wmani, s362ani_prem, s29EA
-MODEL                           = 1D_ref
+MODEL                           = s362ani
 
 # parameters describing the Earth model
 OCEANS                          = .true.
-ELLIPTICITY                     = .false.
-TOPOGRAPHY                      = .false.
+ELLIPTICITY                     = .true.
+TOPOGRAPHY                      = .true.
 GRAVITY                         = .true.
-ROTATION                        = .false.
+ROTATION                        = .true.
 ATTENUATION                     = .true.
 
 # absorbing boundary conditions for a regional simulation
@@ -54,7 +54,7 @@ NTSTEP_BETWEEN_FRAMES           = 100
 HDUR_MOVIE                      = 0.d0
 
 # save mesh files to check the mesh
-SAVE_MESH_FILES                 = .false.
+SAVE_MESH_FILES                 = .true.
 
 # restart files (number of runs can be 1, 2 or 3, choose 1 for no restart files)
 NUMBER_OF_RUNS                  = 1
diff --git a/s362ani/src/subshsv.f b/s362ani/src/subshsv.f
index c4fe86c..e8df293 100644
--- a/s362ani/src/subshsv.f
+++ b/s362ani/src/subshsv.f
@@ -1,19 +1,11 @@
 c --- evaluate perturbations in per cent 
 
-	subroutine subshsv(xcolat,xlon,xrad,
-     #         vshout,vsvout,vphout,vpvout,etaout,rhoout,ifknowmodel,
-     #         THREE_D_MODEL,THREE_D_MODEL_S362ANI,
-     #         THREE_D_MODEL_S362WMANI,
-     #         THREE_D_MODEL_S362ANI_PREM,THREE_D_MODEL_S29EA)
+	subroutine subshsv(xcolat,xlon,xrad,dvsh,dvsv,dvph,dvpv)
 
 	implicit none
 
 	real*4 xcolat,xlon,xrad
-	real*4 vshout,vsvout,vphout,vpvout,etaout,rhoout
-	integer ifknowmodel
-	integer THREE_D_MODEL,THREE_D_MODEL_S362ANI
-	integer THREE_D_MODEL_S362WMANI
-	integer THREE_D_MODEL_S362ANI_PREM,THREE_D_MODEL_S29EA
+	real*4 dvsh,dvsv,dvph,dvpv
  
 c --- model evaluation
 
@@ -29,65 +21,15 @@ c --- model evaluation
 
 c --- 
 	
-	character*128 modeldef
 	integer iker,i
 	character*40 vstr
-	logical exists
-	integer lu,numvar,lstr
+	integer lstr
 	integer lnblnk,ierror
 
 	include 'mod.h'
 
 c -------------------------------------
 
-	lu=1 			! --- log unit: input 3-D model 
-
-c --- read the model if necessary
-
-	if(ifknowmodel.ne.0) then
-	else
-          if(THREE_D_MODEL .eq. THREE_D_MODEL_S362ANI) then
-	    modeldef='DATA/s362ani/S362ANI'
-          elseif(THREE_D_MODEL .eq. THREE_D_MODEL_S362WMANI) then
-	    modeldef='DATA/s362ani/S362WMANI'
-          elseif(THREE_D_MODEL .eq. THREE_D_MODEL_S362ANI_PREM) then
-	    modeldef='DATA/s362ani/S362ANI_PREM'
-          elseif(THREE_D_MODEL .eq. THREE_D_MODEL_S29EA) then
-	    modeldef='DATA/s362ani/S2.9EA'
-          else
-            stop 'unknown 3D model in subshsv'
-          endif
-          inquire(file=modeldef,exist=exists)
-          if(exists) then
-            call gt3dmodl(lu,modeldef,
-     #        maxhpa,maxker,maxcoe,
-     #        numhpa,numker,numcoe,lmxhpa,
-     #        ihpakern,itypehpa,coe,
-     #        itpspl,xlaspl,xlospl,radspl,
-     #        numvar,ivarkern,varstr,
-     #        refmdl,kerstr,hsplfl,dskker,ierror) 
-	  else
-	    write(6,"('the model ',a,' does not exits')")
-     #             modeldef(1:lnblnk(modeldef))
-	  endif
-	  ifknowmodel=1
-
-c 	  --- check arrays
-
-	  if(numker.gt.maxker) stop 'numker.gt.maxker'
-          do ihpa=1,numhpa
-           if(itypehpa(ihpa).eq.1) then
-	    if(lmxhpa(ihpa).gt.maxl) stop 'lmxhpa(ihpa).gt.maxl'
-	   else if(itypehpa(ihpa).eq.2) then
- 	    if(numcoe(ihpa).gt.maxcoe) stop 'numcoe(ihpa).gt.maxcoe'
-	   else 
-	    stop 'problem with itypehpa'
-	   endif
-	  enddo
-	endif
-
-c --- evaluate radial basis functions
-
 	depth=6371.0-xrad
 	call evradker (depth,kerstr,numker,vercof,vercofd,ierror)
 	if(ierror.ne.0) stop 'ierror evradker'
@@ -180,12 +122,10 @@ c 	  --- evaluate perturbations in vsh and vsv
 
 c --- evaluate perturbations in per cent
 
-	vshout=100.0*vsh3drel
-	vsvout=100.0*vsv3drel
-	vphout=0.55*vshout	! --- scaling used in the inversion
-	vpvout=0.55*vsvout	! --- scaling used in the inversion
-	etaout=0.0		! --- not inverted for
-	rhoout=0.0		! --- not inverted for
+	dvsh=vsh3drel
+	dvsv=vsv3drel
+	dvph=0.55*dvsh	! --- scaling used in the inversion
+	dvpv=0.55*dvsv	! --- scaling used in the inversion
 	end
 
 
diff --git a/s362ani/src/subtopo.f b/s362ani/src/subtopo.f
index 54aa6c7..3a91e17 100644
--- a/s362ani/src/subtopo.f
+++ b/s362ani/src/subtopo.f
@@ -1,18 +1,11 @@
 c --- evaluate depressions of the 410- and 650-km discontinuities in km
 
-	subroutine subtopo(xcolat,xlon,topo410out,topo650out,ifknowmodel,
-     #         THREE_D_MODEL,THREE_D_MODEL_S362ANI,
-     #         THREE_D_MODEL_S362WMANI,
-     #         THREE_D_MODEL_S362ANI_PREM,THREE_D_MODEL_S29EA)
+	subroutine subtopo(xcolat,xlon,topo410,topo650)
 
 	implicit none
 
 	real*4 xcolat,xlon
-	real*4 topo410out,topo650out
-	integer ifknowmodel
-	integer THREE_D_MODEL,THREE_D_MODEL_S362ANI
-	integer THREE_D_MODEL_S362WMANI
-	integer THREE_D_MODEL_S362ANI_PREM,THREE_D_MODEL_S29EA
+	real*4 topo410,topo650
 
 c --- model evaluation
 
@@ -23,63 +16,15 @@ c --- model evaluation
 	real*4 x,y	! --- lat lon
 
 c --- 
-	character*128 modeldef
 	integer iker,i
 	character*40 vstr
-	logical exists
-	integer lu,numvar,lstr
-	integer lnblnk,ierror
+	integer lstr
+	integer lnblnk
 
 	include 'mod.h'
 
 c -------------------------------------
 
-	lu=1 			! --- log unit: input 3-D model 
-
-c --- read the model if necessary
-
-	if(ifknowmodel.ne.0) then
-	else
-	  if(THREE_D_MODEL .eq. THREE_D_MODEL_S362ANI) then
-            modeldef='DATA/s362ani/S362ANI'
-          elseif(THREE_D_MODEL .eq. THREE_D_MODEL_S362WMANI) then
-            modeldef='DATA/s362ani/S362WMANI'
-          elseif(THREE_D_MODEL .eq. THREE_D_MODEL_S362ANI_PREM) then
-            modeldef='DATA/s362ani/S362ANI_PREM'
-          elseif(THREE_D_MODEL .eq. THREE_D_MODEL_S29EA) then
-            modeldef='DATA/s362ani/S2.9EA'
-          else
-            stop 'unknown 3D model in subshsv'
-          endif
-          inquire(file=modeldef,exist=exists)
-          if(exists) then
-            call gt3dmodl(lu,modeldef,
-     #        maxhpa,maxker,maxcoe,
-     #        numhpa,numker,numcoe,lmxhpa,
-     #        ihpakern,itypehpa,coe,
-     #        itpspl,xlaspl,xlospl,radspl,
-     #        numvar,ivarkern,varstr,
-     #        refmdl,kerstr,hsplfl,dskker,ierror) 
-	  else
-	    write(6,"('the model ',a,' does not exits')")
-     #              modeldef(1:lnblnk(modeldef))
-	  endif
-	  ifknowmodel=1
-
-c 	  --- check arrays
-
-	  if(numker.gt.maxker) stop 'numker.gt.maxker'
-          do ihpa=1,numhpa
-           if(itypehpa(ihpa).eq.1) then
-	    if(lmxhpa(ihpa).gt.maxl) stop 'lmxhpa(ihpa).gt.maxl'
-	   else if(itypehpa(ihpa).eq.2) then
- 	    if(numcoe(ihpa).gt.maxcoe) stop 'numcoe(ihpa).gt.maxcoe'
-	   else 
-	    stop 'problem with itypehpa'
-	   endif
-	  enddo
-	endif		
-
 c       --- contributing horizontal basis functions at xlat,xlon
 	  
 	y=90.0-xcolat
@@ -142,8 +87,8 @@ c         --- evaluate topography (depression) in km
 	    valu(ieval)=value
 	enddo ! --- ieval
 
-	topo410out=valu(1) 	
-	topo650out=valu(2) 	
+	topo410=valu(1) 	
+	topo650=valu(2) 	
 	end
 
 



More information about the CIG-COMMITS mailing list