[cig-commits] r8490 - in seismo/2D/SPECFEM2D/trunk: . DATA
walter at geodynamics.org
walter at geodynamics.org
Fri Dec 7 15:50:25 PST 2007
Author: walter
Date: 2007-12-07 15:50:24 -0800 (Fri, 07 Dec 2007)
New Revision: 8490
Modified:
seismo/2D/SPECFEM2D/trunk/DATA/Par_file
seismo/2D/SPECFEM2D/trunk/constants.h
seismo/2D/SPECFEM2D/trunk/create_color_image.f90
seismo/2D/SPECFEM2D/trunk/meshfem2D.f90
seismo/2D/SPECFEM2D/trunk/specfem2D.f90
Log:
changed PNM in variable names to "color"
Modified: seismo/2D/SPECFEM2D/trunk/DATA/Par_file
===================================================================
--- seismo/2D/SPECFEM2D/trunk/DATA/Par_file 2006-06-14 08:24:21 UTC (rev 8489)
+++ seismo/2D/SPECFEM2D/trunk/DATA/Par_file 2007-12-07 23:50:24 UTC (rev 8490)
@@ -53,7 +53,7 @@
# display parameters
itaff = 100 # display frequency in time steps
output_postscript_snapshot = .true. # output Postscript image of the results
-output_PNM_image = .true. # output PNM image of the results
+output_color_image = .true. # output color image of the results
vecttype = 1 # display 1=displ 2=veloc 3=accel
cutvect = 1. # amplitude min en % pour vector plots
meshvect = .true. # display mesh on vector plots or not
Modified: seismo/2D/SPECFEM2D/trunk/constants.h
===================================================================
--- seismo/2D/SPECFEM2D/trunk/constants.h 2006-06-14 08:24:21 UTC (rev 8489)
+++ seismo/2D/SPECFEM2D/trunk/constants.h 2007-12-07 23:50:24 UTC (rev 8490)
@@ -58,8 +58,8 @@
! error function source decay rate for Heaviside
double precision, parameter :: SOURCE_DECAY_RATE = 1.628d0
-! display non lineaire pour rehausser les faibles amplitudes sur les images PNM
- double precision, parameter :: POWER_DISPLAY_PNM = 0.30d0
+! display non lineaire pour rehausser les faibles amplitudes sur les images couleur
+ double precision, parameter :: POWER_DISPLAY_COLOR = 0.30d0
! X and Z scaling du display pour PostScript
double precision, parameter :: SCALEX = 1.d0
Modified: seismo/2D/SPECFEM2D/trunk/create_color_image.f90
===================================================================
--- seismo/2D/SPECFEM2D/trunk/create_color_image.f90 2006-06-14 08:24:21 UTC (rev 8489)
+++ seismo/2D/SPECFEM2D/trunk/create_color_image.f90 2007-12-07 23:50:24 UTC (rev 8490)
@@ -11,7 +11,7 @@
!
!========================================================================
- subroutine create_color_image(donnees_image_PNM_2D,iglob_image_PNM_2D,NX,NY,it,cutvect)
+ subroutine create_color_image(donnees_image_color_2D,iglob_image_color_2D,NX,NY,it,cutvect)
! routine d'affichage du deplacement sous forme d'image en couleurs
@@ -26,9 +26,9 @@
double precision cutvect
- integer, dimension(NX,NY) :: iglob_image_PNM_2D
+ integer, dimension(NX,NY) :: iglob_image_color_2D
- double precision, dimension(NX,NY) :: donnees_image_PNM_2D
+ double precision, dimension(NX,NY) :: donnees_image_color_2D
integer ix,iy
@@ -51,17 +51,17 @@
write(27,*) '255' ! nombre de nuances
! calculer l'amplitude maximum
- amplitude_max = maxval(abs(donnees_image_PNM_2D))
+ amplitude_max = maxval(abs(donnees_image_color_2D))
! supprimer les petites amplitudes considerees comme du bruit
- where(abs(donnees_image_PNM_2D) < amplitude_max * cutvect) donnees_image_PNM_2D = 0.d0
+ where(abs(donnees_image_color_2D) < amplitude_max * cutvect) donnees_image_color_2D = 0.d0
! dans le format PNM, l'image commence par le coin en haut a gauche
do iy=NY,1,-1
do ix=1,NX
! regarder si le pixel est defini ou non (au dessus de la topographie par exemple)
- if(iglob_image_PNM_2D(ix,iy) == -1) then
+ if(iglob_image_color_2D(ix,iy) == -1) then
! utiliser couleur bleu ciel pour afficher les zones non definies situees au dessus de la topo
R = 204
@@ -73,7 +73,7 @@
! definir les donnees comme etant le deplacement normalise entre [-1:1]
! et converti a l'entier le plus proche
! en se rappelant que l'amplitude peut etre negative
- valeur_normalisee = donnees_image_PNM_2D(ix,iy) / amplitude_max
+ valeur_normalisee = donnees_image_color_2D(ix,iy) / amplitude_max
! supprimer valeurs en dehors de [-1:+1]
if(valeur_normalisee < -1.d0) valeur_normalisee = -1.d0
@@ -81,13 +81,13 @@
! utiliser rouge si deplacement positif, bleu si negatif, pas de vert
if(valeur_normalisee >= 0.d0) then
- R = nint(255.d0*valeur_normalisee**POWER_DISPLAY_PNM)
+ R = nint(255.d0*valeur_normalisee**POWER_DISPLAY_COLOR)
G = 0
B = 0
else
R = 0
G = 0
- B = nint(255.d0*abs(valeur_normalisee)**POWER_DISPLAY_PNM)
+ B = nint(255.d0*abs(valeur_normalisee)**POWER_DISPLAY_COLOR)
endif
endif
Modified: seismo/2D/SPECFEM2D/trunk/meshfem2D.f90
===================================================================
--- seismo/2D/SPECFEM2D/trunk/meshfem2D.f90 2006-06-14 08:24:21 UTC (rev 8489)
+++ seismo/2D/SPECFEM2D/trunk/meshfem2D.f90 2007-12-07 23:50:24 UTC (rev 8490)
@@ -60,7 +60,7 @@
integer, dimension(:), allocatable :: nrec
- logical codehaut,codebas,codegauche,codedroite,output_postscript_snapshot,output_PNM_image,plot_lowerleft_corner_only
+ logical codehaut,codebas,codegauche,codedroite,output_postscript_snapshot,output_color_image,plot_lowerleft_corner_only
double precision tang1,tangN,vpzone,vszone,poisson_ratio
double precision cutvect,sizemax_arrows,anglerec,xmin,xmax,deltat
@@ -251,7 +251,7 @@
! read display parameters
call read_value_integer(IIN,IGNORE_JUNK,itaff)
call read_value_logical(IIN,IGNORE_JUNK,output_postscript_snapshot)
- call read_value_logical(IIN,IGNORE_JUNK,output_PNM_image)
+ call read_value_logical(IIN,IGNORE_JUNK,output_color_image)
call read_value_integer(IIN,IGNORE_JUNK,vecttype)
call read_value_double_precision(IIN,IGNORE_JUNK,cutvect)
call read_value_logical(IIN,IGNORE_JUNK,meshvect)
@@ -610,10 +610,10 @@
write(15,*) 'gnuplot interpol'
write(15,*) gnuplot,interpol
- write(15,*) 'itaff output_postscript_snapshot output_PNM_image colors numbers'
- write(15,*) itaff,output_postscript_snapshot,output_PNM_image,' 1 0'
+ write(15,*) 'itaff output_postscript_snapshot output_color_image colors numbers'
+ write(15,*) itaff,output_postscript_snapshot,output_color_image,' 1 0'
- write(15,*) 'meshvect modelvect boundvect cutvect subsamp sizemax_arrows nx_sem_PNM'
+ write(15,*) 'meshvect modelvect boundvect cutvect subsamp sizemax_arrows nx_sem_color'
write(15,*) meshvect,modelvect,boundvect,cutvect,subsamp,sizemax_arrows,nxread
write(15,*) 'anglerec'
Modified: seismo/2D/SPECFEM2D/trunk/specfem2D.f90
===================================================================
--- seismo/2D/SPECFEM2D/trunk/specfem2D.f90 2006-06-14 08:24:21 UTC (rev 8489)
+++ seismo/2D/SPECFEM2D/trunk/specfem2D.f90 2007-12-07 23:50:24 UTC (rev 8490)
@@ -24,7 +24,7 @@
! - option for acoustic medium instead of elastic
! - receivers at any location, not only grid points
! - moment-tensor source at any location, not only a grid point
-! - color PNM snapshots
+! - color color snapshots
! - more flexible DATA/Par_file with any number of comment lines
! - Xsu scripts for seismograms
! - subtract t0 from seismograms
@@ -142,7 +142,7 @@
integer numat,ngnod,nspec,pointsdisp,nelemabs,nelemsurface
logical interpol,meshvect,modelvect,boundvect,read_external_model,initialfield,abshaut, &
- outputgrid,gnuplot,ELASTIC,TURN_ANISOTROPY_ON,TURN_ATTENUATION_ON,output_postscript_snapshot,output_PNM_image, &
+ outputgrid,gnuplot,ELASTIC,TURN_ANISOTROPY_ON,TURN_ATTENUATION_ON,output_postscript_snapshot,output_color_image, &
plot_lowerleft_corner_only,ACOUSTIC
double precision cutvect,sizemax_arrows,anglerec,xirec,gammarec
@@ -175,12 +175,13 @@
e1_mech1,e11_mech1,e13_mech1,e1_mech2,e11_mech2,e13_mech2, &
duxdxl_n,duzdzl_n,duzdxl_n,duxdzl_n,duxdxl_np1,duzdzl_np1,duzdxl_np1,duxdzl_np1
-! for color PNM images
- integer :: NX_IMAGE_PNM,NZ_IMAGE_PNM,iplus1,jplus1,iminus1,jminus1,nx_sem_PNM
- double precision :: xmin_PNM_image,xmax_PNM_image,zmin_PNM_image,zmax_PNM_image,taille_pixel_horizontal,taille_pixel_vertical
- integer, dimension(:), allocatable :: ispec_for_PNM_image
- integer, dimension(:,:), allocatable :: iglob_image_PNM_2D,copy_iglob_image_PNM_2D
- double precision, dimension(:,:), allocatable :: donnees_image_PNM_2D
+! for color color images
+ integer :: NX_IMAGE_color,NZ_IMAGE_color,iplus1,jplus1,iminus1,jminus1,nx_sem_color
+ double precision :: xmin_color_image,xmax_color_image, &
+ zmin_color_image,zmax_color_image,taille_pixel_horizontal,taille_pixel_vertical
+ integer, dimension(:), allocatable :: ispec_for_color_image
+ integer, dimension(:,:), allocatable :: iglob_image_color_2D,copy_iglob_image_color_2D
+ double precision, dimension(:,:), allocatable :: donnees_image_color_2D
! timing information for the stations
character(len=MAX_LENGTH_STATION_NAME), allocatable, dimension(:) :: station_name
@@ -241,10 +242,10 @@
read(IIN,*) gnuplot,interpol
read(IIN,"(a80)") datlin
- read(IIN,*) IT_AFFICHE,output_postscript_snapshot,output_PNM_image,colors,numbers
+ read(IIN,*) IT_AFFICHE,output_postscript_snapshot,output_color_image,colors,numbers
read(IIN,"(a80)") datlin
- read(IIN,*) meshvect,modelvect,boundvect,cutvect,subsamp,sizemax_arrows,nx_sem_PNM
+ read(IIN,*) meshvect,modelvect,boundvect,cutvect,subsamp,sizemax_arrows,nx_sem_color
cutvect = cutvect / 100.d0
read(IIN,"(a80)") datlin
@@ -691,70 +692,70 @@
rsizemin,rsizemax,cpoverdxmax,lambdaSmin,lambdaSmax,lambdaPmin,lambdaPmax)
!
-!---- for color PNM images
+!---- for color color images
!
! taille horizontale de l'image
- xmin_PNM_image = minval(coord(1,:))
- xmax_PNM_image = maxval(coord(1,:))
+ xmin_color_image = minval(coord(1,:))
+ xmax_color_image = maxval(coord(1,:))
! taille verticale de l'image, augmenter un peu pour depasser de la topographie
- zmin_PNM_image = minval(coord(2,:))
- zmax_PNM_image = maxval(coord(2,:))
- zmax_PNM_image = zmin_PNM_image + 1.05d0 * (zmax_PNM_image - zmin_PNM_image)
+ zmin_color_image = minval(coord(2,:))
+ zmax_color_image = maxval(coord(2,:))
+ zmax_color_image = zmin_color_image + 1.05d0 * (zmax_color_image - zmin_color_image)
! calculer le nombre de pixels en horizontal en fonction du nombre d'elements spectraux
- NX_IMAGE_PNM = nx_sem_PNM * (NGLLX-1) + 1
+ NX_IMAGE_color = nx_sem_color * (NGLLX-1) + 1
! calculer le nombre de pixels en vertical en fonction du rapport des tailles
- NZ_IMAGE_PNM = nint(NX_IMAGE_PNM * (zmax_PNM_image - zmin_PNM_image) / (xmax_PNM_image - xmin_PNM_image))
+ NZ_IMAGE_color = nint(NX_IMAGE_color * (zmax_color_image - zmin_color_image) / (xmax_color_image - xmin_color_image))
! convertir la taille de l'image en nombre pair car plus facile pour ensuite faire des movies en MPEG
- NX_IMAGE_PNM = 2 * (NX_IMAGE_PNM / 2)
- NZ_IMAGE_PNM = 2 * (NZ_IMAGE_PNM / 2)
+ NX_IMAGE_color = 2 * (NX_IMAGE_color / 2)
+ NZ_IMAGE_color = 2 * (NZ_IMAGE_color / 2)
! allouer un tableau pour les donnees de l'image
- allocate(donnees_image_PNM_2D(NX_IMAGE_PNM,NZ_IMAGE_PNM))
+ allocate(donnees_image_color_2D(NX_IMAGE_color,NZ_IMAGE_color))
! allouer un tableau pour le point de grille contenant cette donnee
- allocate(iglob_image_PNM_2D(NX_IMAGE_PNM,NZ_IMAGE_PNM))
- allocate(copy_iglob_image_PNM_2D(NX_IMAGE_PNM,NZ_IMAGE_PNM))
+ allocate(iglob_image_color_2D(NX_IMAGE_color,NZ_IMAGE_color))
+ allocate(copy_iglob_image_color_2D(NX_IMAGE_color,NZ_IMAGE_color))
! creer tous les pixels
write(IOUT,*)
- write(IOUT,*) 'localisation de tous les pixels des images PNM'
+ write(IOUT,*) 'localisation de tous les pixels des images couleur'
- taille_pixel_horizontal = (xmax_PNM_image - xmin_PNM_image) / dble(NX_IMAGE_PNM-1)
- taille_pixel_vertical = (zmax_PNM_image - zmin_PNM_image) / dble(NZ_IMAGE_PNM-1)
+ taille_pixel_horizontal = (xmax_color_image - xmin_color_image) / dble(NX_IMAGE_color-1)
+ taille_pixel_vertical = (zmax_color_image - zmin_color_image) / dble(NZ_IMAGE_color-1)
- iglob_image_PNM_2D(:,:) = -1
+ iglob_image_color_2D(:,:) = -1
! boucle sur tous les points de grille pour leur affecter un pixel de l'image
do n=1,npoin
! calculer les coordonnees du pixel
- i = nint((coord(1,n) - xmin_PNM_image) / taille_pixel_horizontal + 1)
- j = nint((coord(2,n) - zmin_PNM_image) / taille_pixel_vertical + 1)
+ i = nint((coord(1,n) - xmin_color_image) / taille_pixel_horizontal + 1)
+ j = nint((coord(2,n) - zmin_color_image) / taille_pixel_vertical + 1)
! eviter les effets de bord
if(i < 1) i = 1
- if(i > NX_IMAGE_PNM) i = NX_IMAGE_PNM
+ if(i > NX_IMAGE_color) i = NX_IMAGE_color
if(j < 1) j = 1
- if(j > NZ_IMAGE_PNM) j = NZ_IMAGE_PNM
+ if(j > NZ_IMAGE_color) j = NZ_IMAGE_color
! affecter ce point a ce pixel
- iglob_image_PNM_2D(i,j) = n
+ iglob_image_color_2D(i,j) = n
enddo
! completer les pixels manquants en les localisant par la distance minimum
- copy_iglob_image_PNM_2D(:,:) = iglob_image_PNM_2D(:,:)
+ copy_iglob_image_color_2D(:,:) = iglob_image_color_2D(:,:)
- do j = 1,NZ_IMAGE_PNM
- do i = 1,NX_IMAGE_PNM
+ do j = 1,NZ_IMAGE_color
+ do i = 1,NX_IMAGE_color
- if(copy_iglob_image_PNM_2D(i,j) == -1) then
+ if(copy_iglob_image_color_2D(i,j) == -1) then
iplus1 = i + 1
iminus1 = i - 1
@@ -764,39 +765,39 @@
! eviter les effets de bord
if(iminus1 < 1) iminus1 = 1
- if(iplus1 > NX_IMAGE_PNM) iplus1 = NX_IMAGE_PNM
+ if(iplus1 > NX_IMAGE_color) iplus1 = NX_IMAGE_color
if(jminus1 < 1) jminus1 = 1
- if(jplus1 > NZ_IMAGE_PNM) jplus1 = NZ_IMAGE_PNM
+ if(jplus1 > NZ_IMAGE_color) jplus1 = NZ_IMAGE_color
! utiliser les pixels voisins pour remplir les trous
! horizontales
- if(copy_iglob_image_PNM_2D(iplus1,j) /= -1) then
- iglob_image_PNM_2D(i,j) = copy_iglob_image_PNM_2D(iplus1,j)
+ if(copy_iglob_image_color_2D(iplus1,j) /= -1) then
+ iglob_image_color_2D(i,j) = copy_iglob_image_color_2D(iplus1,j)
- else if(copy_iglob_image_PNM_2D(iminus1,j) /= -1) then
- iglob_image_PNM_2D(i,j) = copy_iglob_image_PNM_2D(iminus1,j)
+ else if(copy_iglob_image_color_2D(iminus1,j) /= -1) then
+ iglob_image_color_2D(i,j) = copy_iglob_image_color_2D(iminus1,j)
! verticales
- else if(copy_iglob_image_PNM_2D(i,jplus1) /= -1) then
- iglob_image_PNM_2D(i,j) = copy_iglob_image_PNM_2D(i,jplus1)
+ else if(copy_iglob_image_color_2D(i,jplus1) /= -1) then
+ iglob_image_color_2D(i,j) = copy_iglob_image_color_2D(i,jplus1)
- else if(copy_iglob_image_PNM_2D(i,jminus1) /= -1) then
- iglob_image_PNM_2D(i,j) = copy_iglob_image_PNM_2D(i,jminus1)
+ else if(copy_iglob_image_color_2D(i,jminus1) /= -1) then
+ iglob_image_color_2D(i,j) = copy_iglob_image_color_2D(i,jminus1)
! diagonales
- else if(copy_iglob_image_PNM_2D(iminus1,jminus1) /= -1) then
- iglob_image_PNM_2D(i,j) = copy_iglob_image_PNM_2D(iminus1,jminus1)
+ else if(copy_iglob_image_color_2D(iminus1,jminus1) /= -1) then
+ iglob_image_color_2D(i,j) = copy_iglob_image_color_2D(iminus1,jminus1)
- else if(copy_iglob_image_PNM_2D(iplus1,jminus1) /= -1) then
- iglob_image_PNM_2D(i,j) = copy_iglob_image_PNM_2D(iplus1,jminus1)
+ else if(copy_iglob_image_color_2D(iplus1,jminus1) /= -1) then
+ iglob_image_color_2D(i,j) = copy_iglob_image_color_2D(iplus1,jminus1)
- else if(copy_iglob_image_PNM_2D(iminus1,jplus1) /= -1) then
- iglob_image_PNM_2D(i,j) = copy_iglob_image_PNM_2D(iminus1,jplus1)
+ else if(copy_iglob_image_color_2D(iminus1,jplus1) /= -1) then
+ iglob_image_color_2D(i,j) = copy_iglob_image_color_2D(iminus1,jplus1)
- else if(copy_iglob_image_PNM_2D(iplus1,jplus1) /= -1) then
- iglob_image_PNM_2D(i,j) = copy_iglob_image_PNM_2D(iplus1,jplus1)
+ else if(copy_iglob_image_color_2D(iplus1,jplus1) /= -1) then
+ iglob_image_color_2D(i,j) = copy_iglob_image_color_2D(iplus1,jplus1)
endif
@@ -805,17 +806,17 @@
enddo
enddo
- deallocate(copy_iglob_image_PNM_2D)
+ deallocate(copy_iglob_image_color_2D)
- write(IOUT,*) 'fin localisation de tous les pixels des images PNM'
+ write(IOUT,*) 'fin localisation de tous les pixels des images couleur'
-! assign ispec number to be able to determine density for acoustic PNM snapshots
- allocate(ispec_for_PNM_image(npoin))
+! assign ispec number to be able to determine density for acoustic color snapshots
+ allocate(ispec_for_color_image(npoin))
do ispec = 1,nspec
do j = 1,NGLLZ
do i = 1,NGLLX
iglob = ibool(i,j,ispec)
- ispec_for_PNM_image(iglob) = ispec
+ ispec_for_color_image(iglob) = ispec
enddo
enddo
enddo
@@ -1747,50 +1748,50 @@
endif
!
-!---- affichage image PNM
+!---- affichage image color
!
- if(output_PNM_image) then
+ if(output_color_image) then
- write(IOUT,*) 'Creating color image of size ',NX_IMAGE_PNM,' x ',NZ_IMAGE_PNM
+ write(IOUT,*) 'Creating color image of size ',NX_IMAGE_color,' x ',NZ_IMAGE_color
- donnees_image_PNM_2D(:,:) = 0.d0
+ donnees_image_color_2D(:,:) = 0.d0
- do j = 1,NZ_IMAGE_PNM
- do i = 1,NX_IMAGE_PNM
+ do j = 1,NZ_IMAGE_color
+ do i = 1,NX_IMAGE_color
- iglob = iglob_image_PNM_2D(i,j)
+ iglob = iglob_image_color_2D(i,j)
if(iglob /= -1) then
! display vertical component of vector if elastic medium
if(ELASTIC) then
if(vecttype == 1) then
- donnees_image_PNM_2D(i,j) = displ(2,iglob)
+ donnees_image_color_2D(i,j) = displ(2,iglob)
else if(vecttype == 2) then
- donnees_image_PNM_2D(i,j) = veloc(2,iglob)
+ donnees_image_color_2D(i,j) = veloc(2,iglob)
else
- donnees_image_PNM_2D(i,j) = accel(2,iglob)
+ donnees_image_color_2D(i,j) = accel(2,iglob)
endif
else
! display pressure if acoustic medium
! pressure = - rho * Chi_dot
- material = kmato(ispec_for_PNM_image(iglob))
+ material = kmato(ispec_for_color_image(iglob))
denst = density(material)
if(read_external_model) denst = rhoext(iglob)
- donnees_image_PNM_2D(i,j) = - denst * veloc(1,iglob)
+ donnees_image_color_2D(i,j) = - denst * veloc(1,iglob)
! uncomment this for vertical component of velocity vector instead in acoustic medium
-! donnees_image_PNM_2D(i,j) = vector_field_postscript(2,iglob)
+! donnees_image_color_2D(i,j) = vector_field_postscript(2,iglob)
endif
endif
enddo
enddo
- call create_color_image(donnees_image_PNM_2D,iglob_image_PNM_2D,NX_IMAGE_PNM,NZ_IMAGE_PNM,it,cutvect)
+ call create_color_image(donnees_image_color_2D,iglob_image_color_2D,NX_IMAGE_color,NZ_IMAGE_color,it,cutvect)
write(IOUT,*) 'End creating color image'
@@ -1799,7 +1800,6 @@
!---- save temporary seismograms
call write_seismograms(sisux,sisuz,station_name,network_name,NSTEP,nrec,deltat,sismostype,st_xval,it,t0)
-
endif
enddo ! end of the main time loop
More information about the cig-commits
mailing list