[cig-commits] r22387 - seismo/3D/SPECFEM3D_GLOBE/trunk/src/meshfem3D
elliott.sales.de.andrade at geodynamics.org
elliott.sales.de.andrade at geodynamics.org
Thu Jun 20 15:03:13 PDT 2013
Author: elliott.sales.de.andrade
Date: 2013-06-20 15:03:13 -0700 (Thu, 20 Jun 2013)
New Revision: 22387
Modified:
seismo/3D/SPECFEM3D_GLOBE/trunk/src/meshfem3D/model_aniso_mantle.f90
Log:
Remove gotos and fix indenting in lecmod function.
Modified: seismo/3D/SPECFEM3D_GLOBE/trunk/src/meshfem3D/model_aniso_mantle.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/src/meshfem3D/model_aniso_mantle.f90 2013-06-20 22:03:01 UTC (rev 22386)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/src/meshfem3D/model_aniso_mantle.f90 2013-06-20 22:03:13 UTC (rev 22387)
@@ -544,7 +544,7 @@
! output: array pari(ipar, nlayer): rho, A, L, xi-1, phi-1, eta-1
integer i,j,k,ip,ifanis,idum1,idum2,idum3,nlayer,nout,neff,&
- nband,nri,minlay,moho,kiti
+ nband,nri,minlay,moho,kiti,ier
double precision pari(14,47),qkappa(47),qshear(47),par(6,47)
double precision epa(14,47),ra(47),dcori(47),ri(47)
double precision corpar(21,47)
@@ -552,59 +552,83 @@
character(len=80) null
character(len=150) Adrem119
- ifanis = 1
- nri = 47
+ ifanis = 1
+ nri = 47
- call get_value_string(Adrem119, 'model.Adrem119', 'DATA/Montagner_model/Adrem119')
- open(unit=13,file=Adrem119,status='old',action='read')
- read(13,*,end = 77) nlayer,minlay,moho,nout,neff,nband,kiti,null
+ call get_value_string(Adrem119, 'model.Adrem119', 'DATA/Montagner_model/Adrem119')
+ open(unit=13,file=Adrem119,status='old',action='read')
+ read(13,*,iostat=ier) nlayer,minlay,moho,nout,neff,nband,kiti,null
+ if (ier /= 0) then
+ close(13)
+ return
+ endif
- if(kiti == 0) read(13,"(20a4)",end = 77) idum1
- read(13,"(20a4)",end = 77) idum2
- read(13,"(20a4)",end = 77) idum3
+ if (kiti == 0) then
+ read(13,"(20a4)",iostat=ier) idum1
+ if (ier /= 0) then
+ close(13)
+ return
+ endif
+ endif
+ read(13,"(20a4)",iostat=ier) idum2
+ if (ier /= 0) then
+ close(13)
+ return
+ endif
+ read(13,"(20a4)",iostat=ier) idum3
+ if (ier /= 0) then
+ close(13)
+ return
+ endif
- do i = 1,nlayer
- read(13,"(4x,f11.1,8d12.5)",end = 77) ra(i),(par(k,i),k = 1,6),qshear(i),qkappa(i)
- enddo
+ do i = 1,nlayer
+ read(13,"(4x,f11.1,8d12.5)",iostat=ier) ra(i),(par(k,i),k = 1,6),qshear(i),qkappa(i)
+ if (ier /= 0) then
+ close(13)
+ return
+ endif
+ enddo
- do i = 1,nlayer
- ri(i) = 0.001*ra(i)
- enddo
+ do i = 1,nlayer
+ ri(i) = 0.001*ra(i)
+ enddo
- do i = 1,nlayer
- rho = par(1,i)
- pari(1,i) = rho
-! A : pari(2,i)
- pari(2,i) = rho*(par(2,i)**2)
- aa = pari(2,i)
-! L : pari(3,i)
- pari(3,i) = rho*(par(3,i)**2)
- al = pari(3,i)
-! Xi : pari(4,i)= (N-L)/L
- an = al*par(4,i)
- pari(4,i) = 0.
- pari(4,i) = par(4,i) - 1.
-! Phi : pari(5,i)=(a-c)/a
- pari(5,i) = - par(5,i) + 1.
- ac = par(5,i)*aa
-! f : pari(4,i)
- af = par(6,i)*(aa - 2.*al)
- pari(6,i) = par(6,i)
- do ip = 7,14
- pari(ip,i) = 0.
- enddo
- vsv = 0.
- vsh = 0.
- if(al < 0.0001 .or. an < 0.0001) goto 12
- vsv = dsqrt(al/rho)
- vsh = dsqrt(an/rho)
- 12 vpv = dsqrt(ac/rho)
- vph = dsqrt(aa/rho)
- enddo
+ do i = 1,nlayer
+ rho = par(1,i)
+ pari(1,i) = rho
+! A : pari(2,i)
+ pari(2,i) = rho*(par(2,i)**2)
+ aa = pari(2,i)
+! L : pari(3,i)
+ pari(3,i) = rho*(par(3,i)**2)
+ al = pari(3,i)
+! Xi : pari(4,i)= (N-L)/L
+ an = al*par(4,i)
+ pari(4,i) = 0.
+ pari(4,i) = par(4,i) - 1.
+! Phi : pari(5,i)=(a-c)/a
+ pari(5,i) = - par(5,i) + 1.
+ ac = par(5,i)*aa
+! f : pari(4,i)
+ af = par(6,i)*(aa - 2.*al)
+ pari(6,i) = par(6,i)
+ do ip = 7,14
+ pari(ip,i) = 0.
+ enddo
+ vsv = 0.
+ vsh = 0.
+ if (al >= 0.0001 .and. an >= 0.0001) then
+ vsv = dsqrt(al/rho)
+ vsh = dsqrt(an/rho)
+ endif
+ vpv = dsqrt(ac/rho)
+ vph = dsqrt(aa/rho)
+ enddo
red = 1.
do i = 1,nlayer
- read(13,"(15x,6e12.5,f11.1)",end = 77) (epa(j,i),j = 1,6),dcori(i)
+ read(13,"(15x,6e12.5,f11.1)",iostat=ier) (epa(j,i),j = 1,6),dcori(i)
+ if (ier /= 0) exit
epa(7,i) = epa(2,i)
epa(8,i) = epa(2,i)
epa(9,i) = epa(3,i)
@@ -620,11 +644,11 @@
epa(j,i) = red*epa(j,i)
enddo
- read(13,"(21f7.3)",end = 77) (corpar(j,i),j = 1,21)
-
+ read(13,"(21f7.3)",iostat=ier) (corpar(j,i),j = 1,21)
+ if (ier /= 0) exit
enddo
-77 close(13)
+ close(13)
end subroutine lecmod
More information about the CIG-COMMITS
mailing list