From 56c848a1cb0c2f2dda1441bd033d8ee30f40da93 Mon Sep 17 00:00:00 2001 From: Daniel Peter Date: Fri, 17 Nov 2023 20:58:37 +0100 Subject: [PATCH 1/6] updates duplets search (adds hash table search for large number of stations) --- src/specfem3D/read_stations.f90 | 244 ++++++++++++++++++++++++++------ 1 file changed, 201 insertions(+), 43 deletions(-) diff --git a/src/specfem3D/read_stations.f90 b/src/specfem3D/read_stations.f90 index 2007c9d73..466680de0 100644 --- a/src/specfem3D/read_stations.f90 +++ b/src/specfem3D/read_stations.f90 @@ -38,12 +38,9 @@ subroutine read_stations(rec_filename) character(len=*),intent(in) :: rec_filename ! local parameters - integer :: i,irec,ier + integer :: irec,ier character(len=MAX_STRING_LEN) :: line - integer, allocatable, dimension(:) :: station_duplet - integer :: length_station_name,length_network_name - ! loop on all the stations to read the file if (myrank == 0) then @@ -67,20 +64,73 @@ subroutine read_stations(rec_filename) ! close receiver file close(IIN) - ! In case that the same station and network name appear twice (or more times) in the STATIONS - ! file, problems occur, as two (or more) seismograms are written (with mode - ! "append") to a file with same name. The philosophy here is to accept multiple - ! appearances and to just add a count to the station name in this case. - allocate(station_duplet(nrec),stat=ier) - if (ier /= 0) call exit_MPI_without_rank('error allocating array 1970') - if (ier /= 0 ) call exit_MPI(myrank,'Error allocating station_duplet array') + ! find duplicate station names + call read_stations_find_duplets() + endif - station_duplet(:) = 0 - do irec = 1,nrec - ! checks if duplicate of another station read in so far + ! broadcast values to other slices + call bcast_all_ch_array(station_name,nrec,MAX_LENGTH_STATION_NAME) + call bcast_all_ch_array(network_name,nrec,MAX_LENGTH_NETWORK_NAME) + call bcast_all_dp(stlat,nrec) + call bcast_all_dp(stlon,nrec) + call bcast_all_dp(stele,nrec) + call bcast_all_dp(stbur,nrec) + + end subroutine read_stations + +! +!------------------------------------------------------------------------------------------- +! + + subroutine read_stations_find_duplets() + + use constants, only: MAX_LENGTH_STATION_NAME,MAX_LENGTH_NETWORK_NAME,MAX_STRING_LEN + + use specfem_par, only: myrank,nrec,station_name,network_name + + implicit none + + ! local parameters + integer :: i,irec,ier + + integer, allocatable, dimension(:) :: station_duplet + integer :: length_station_name,length_network_name + + ! hash table + integer, allocatable, dimension(:) :: hash_table + integer :: hash,hash_prob,hash_collisions + integer, parameter :: NREC_MINIMUM_FOR_HASH = 10000 ! minimum number of stations for using hash table + + ! In case that the same station and network name appear twice (or more times) in the STATIONS + ! file, problems occur, as two (or more) seismograms are written (with mode + ! "append") to a file with same name. The philosophy here is to accept multiple + ! appearances and to just add a count to the station name in this case. + allocate(station_duplet(nrec),stat=ier) + if (ier /= 0) call exit_MPI_without_rank('error allocating array 1970') + if (ier /= 0 ) call exit_MPI(myrank,'Error allocating station_duplet array') + station_duplet(:) = 0 + + ! initializes the hash table + if (nrec >= NREC_MINIMUM_FOR_HASH) then + ! makes hash table slightly larger than the actual number of stations to avoid many hash collisions + allocate(hash_table(5*nrec),stat=ier) + if (ier /= 0) call exit_MPI_without_rank('error allocating array 1971') + if (ier /= 0 ) call exit_MPI(myrank,'Error allocating hash_table array') + hash_table(:) = 0 + hash_collisions = 0 + endif + + do irec = 1,nrec + ! checks if duplicate of another station read in so far + if (nrec < NREC_MINIMUM_FOR_HASH) then + ! way 1: + ! loops over all previous stations and checks station/network names + ! this will get slow for very large STATIONS files (> 100,000 stations); scales approx. quadratic ~O(n**2) do i = 1,irec-1 if ((station_name(irec) == station_name(i)) .and. (network_name(irec) == network_name(i))) then + ! increases duplet count station_duplet(i) = station_duplet(i) + 1 + ! appends duplet number to station name if (len_trim(station_name(irec)) <= MAX_LENGTH_STATION_NAME-3) then write(station_name(irec),"(a,'_',i2.2)") trim(station_name(irec)),station_duplet(i)+1 else @@ -89,45 +139,153 @@ subroutine read_stations(rec_filename) endif enddo - ! checks name lengths - length_station_name = len_trim(station_name(irec)) - length_network_name = len_trim(network_name(irec)) + else + ! way 2: + ! gets a hash value and checks in hash table for duplicates; scales approx. linearly ~O(n) + hash = hashFunc(station_name(irec),network_name(irec)) + if (hash_table(hash) == 0) then + ! stores station index + hash_table(hash) = irec + else + ! found a duplicate hash + ! check if name matches + i = hash_table(hash) + if ((station_name(irec) == station_name(i)) .and. (network_name(irec) == network_name(i))) then + ! debug + !print *,'debug: Duplicate found in hash table:', & + ! irec,trim(station_name(irec)),trim(network_name(irec)), & + ! ' - hash number',hash, & + ! 'return index',i,trim(station_name(i)),trim(network_name(i)) + ! increases duplet count + station_duplet(i) = station_duplet(i) + 1 + ! appends duplet number to station name + if (len_trim(station_name(irec)) <= MAX_LENGTH_STATION_NAME-3) then + write(station_name(irec),"(a,'_',i2.2)") trim(station_name(irec)),station_duplet(i)+1 + else + call exit_MPI(myrank,'Please increase MAX_LENGTH_STATION_NAME by at least 3 to name station duplets') + endif + else + ! hash collision + hash_collisions = hash_collisions + 1 + ! debug + !print *,'debug: Collision found in hash table:', & + ! irec,trim(station_name(irec)),trim(network_name(irec)), & + ! ' - hash number',hash, & + ! 'return index',i,trim(station_name(i)),trim(network_name(i)) + ! put hash in next free slot (linear probing) + hash_prob = hash + do while (hash_table(hash_prob) /= 0) + ! increases hash index + hash_prob = mod(hash_prob + 1,size(hash_table)) + ! check if we reach again same hash, then table is full + if (hash_prob == hash) then + print *,'Error: Hash table is full, please consider a larger hash table!' + call exit_MPI(myrank,'Please increase hash table size for station duplets search') + endif + ! check entry + i = hash_table(hash_prob) + if (i == 0) then + ! stores station index in new free slot + hash_table(hash_prob) = irec + exit + else if (i == irec) then + ! station already stored, done adding + exit + else + ! check entry, maybe station moved hash index due to previous collisions + if ((station_name(irec) == station_name(i)) .and. (network_name(irec) == network_name(i))) then + ! debug + !print *,'debug: Duplicate found in hash table:', & + ! irec,trim(station_name(irec)),trim(network_name(irec)), & + ! ' - hash number by collision probing',hash_prob, & + ! 'return index',i,trim(station_name(i)),trim(network_name(i)) + ! increases duplet count + station_duplet(i) = station_duplet(i) + 1 + ! appends duplet number to station name + if (len_trim(station_name(irec)) <= MAX_LENGTH_STATION_NAME-3) then + write(station_name(irec),"(a,'_',i2.2)") trim(station_name(irec)),station_duplet(i)+1 + else + call exit_MPI(myrank,'Please increase MAX_LENGTH_STATION_NAME by at least 3 to name station duplets') + endif + ! done + exit + endif + endif + enddo + endif - ! check that length conforms to standard - if (length_station_name < 1 .or. length_station_name > MAX_LENGTH_STATION_NAME) then - print *, 'Error: invalid station name ',trim(station_name(irec)) - call exit_MPI(myrank,'wrong length of station name') - endif - if (length_network_name < 1 .or. length_network_name > MAX_LENGTH_NETWORK_NAME) then - print *, 'Error: invalid network name ',trim(network_name(irec)) - call exit_MPI(myrank,'wrong length of network name') endif + endif - enddo + ! checks name lengths + length_station_name = len_trim(station_name(irec)) + length_network_name = len_trim(network_name(irec)) - ! user output - if (maxval(station_duplet) > 0) then - print *,'Warning: found ',maxval(station_duplet),' station duplets (having same network & station names)' - print *,' station_duplet: ',station_duplet(:) - print *,' station_name : ',station_name(:) - print *,'Please check your STATIONS file entries to avoid confusions...' - print * + ! check that length conforms to standard + if (length_station_name < 1 .or. length_station_name > MAX_LENGTH_STATION_NAME) then + print *, 'Error: invalid station name ',trim(station_name(irec)) + call exit_MPI(myrank,'wrong length of station name') + endif + if (length_network_name < 1 .or. length_network_name > MAX_LENGTH_NETWORK_NAME) then + print *, 'Error: invalid network name ',trim(network_name(irec)) + call exit_MPI(myrank,'wrong length of network name') endif - ! free temporary array - deallocate(station_duplet) + enddo + ! user output + if (sum(station_duplet) > 0) then + print * + print *,'Warning: found ',sum(station_duplet),' station duplets (having same network & station names)' + do irec = 1,nrec + if (station_duplet(irec) > 0) then + print *,' station_name : ',station_name(irec),' network: ',network_name(irec) + print *,' irec : ',irec,' duplets: ',station_duplet(irec) + endif + enddo + print *,'Please check your STATIONS file entries to avoid confusions...' + print * endif - ! broadcast values to other slices - call bcast_all_ch_array(station_name,nrec,MAX_LENGTH_STATION_NAME) - call bcast_all_ch_array(network_name,nrec,MAX_LENGTH_NETWORK_NAME) - call bcast_all_dp(stlat,nrec) - call bcast_all_dp(stlon,nrec) - call bcast_all_dp(stele,nrec) - call bcast_all_dp(stbur,nrec) + ! debug: hash table info + !if (nrec >= NREC_MINIMUM_FOR_HASH .and. hash_collisions > 0) & + ! print *,'debug: hash table collisions: ',hash_collisions + + ! free temporary array + deallocate(station_duplet) + if (nrec >= NREC_MINIMUM_FOR_HASH) deallocate(hash_table) + + contains + + ! defines a simple hash function + integer function hashFunc(sta_name,net_name) + character(len=MAX_LENGTH_STATION_NAME), intent(in) :: sta_name + character(len=MAX_LENGTH_NETWORK_NAME), intent(in) :: net_name + ! local parameters + integer :: i, sum, prime + integer, parameter :: base = 31 ! seems to be a good number (arbitrary choice for a prime) + ! smaller prime numbers lead to more collisions + character(len=(MAX_LENGTH_STATION_NAME+MAX_LENGTH_NETWORK_NAME)) :: name + + ! full name, e.g., S00001DB + name = sta_name // net_name + + sum = 0 + prime = 1 + do i = 1, len_trim(name) + ! too simple, will get lots of hash collisions + ! sum = sum + ichar(name(i:i)) + + ! adding a bit more complexity, based on polynomial rolling + sum = mod(sum + ichar(name(i:i)) * prime, size(hash_table)) + prime = mod(prime * base, size(hash_table)) + enddo - end subroutine read_stations + hashFunc = mod(sum, size(hash_table)) + end function hashFunc + + + end subroutine read_stations_find_duplets ! !------------------------------------------------------------------------------------------- From 5516d1a32339794e191d57c6b08340dd273cf8f6 Mon Sep 17 00:00:00 2001 From: Daniel Peter Date: Fri, 17 Nov 2023 21:01:02 +0100 Subject: [PATCH 2/6] updates elevation search (to speed up search in topographic meshes for many receivers/sources) --- src/shared/read_topo_bathy_file.f90 | 128 ++++++++++++++++++++-------- src/shared/shared_par.F90 | 8 ++ src/specfem3D/get_elevation.f90 | 1 + 3 files changed, 100 insertions(+), 37 deletions(-) diff --git a/src/shared/read_topo_bathy_file.f90 b/src/shared/read_topo_bathy_file.f90 index 9c8e84bac..ffe5c373b 100644 --- a/src/shared/read_topo_bathy_file.f90 +++ b/src/shared/read_topo_bathy_file.f90 @@ -135,7 +135,11 @@ subroutine get_topo_elevation_free(x_target,y_target,target_elevation,target_dis ! get approximate topography elevation at source long/lat coordinates - use constants, only: CUSTOM_REAL,NGLLX,NGLLY,NGLLZ,NGLLSQUARE,HUGEVAL,TINYVAL,MIDX,MIDY,MIDZ,USE_DISTANCE_CRITERION_TOPO + use constants, only: myrank,CUSTOM_REAL,NGLLX,NGLLY,NGLLZ,NGLLSQUARE, & + HUGEVAL,TINYVAL,MIDX,MIDY,MIDZ, & + USE_DISTANCE_CRITERION_TOPO + + use shared_parameters, only: free_surface_xy_midpoints,free_surface_typical_size,free_surface_has_typical_size implicit none @@ -162,12 +166,11 @@ subroutine get_topo_elevation_free(x_target,y_target,target_elevation,target_dis real(kind=CUSTOM_REAL) :: distmin,dist real(kind=CUSTOM_REAL) :: dist_node_min,norm - integer :: iface,i,j,k,ispec,iglob,igll,jgll,kgll,ijk + integer :: iface,i,j,k,ispec,iglob,igll,jgll,kgll,ijk,ier integer :: iselected,jselected,iface_selected integer :: inode,iadjust,jadjust integer :: ilocmin(1) - real(kind=CUSTOM_REAL) :: typical_size logical :: located_target ! initialize @@ -178,11 +181,30 @@ subroutine get_topo_elevation_free(x_target,y_target,target_elevation,target_dis ! computes typical size of elements at the surface (uses first element for estimation) if (USE_DISTANCE_CRITERION_TOPO) then - ispec = free_surface_ispec(1) - typical_size = (xstore(ibool(1,1,1,ispec)) - xstore(ibool(NGLLX,NGLLY,NGLLZ,ispec)))**2 & - + (ystore(ibool(1,1,1,ispec)) - ystore(ibool(NGLLX,NGLLY,NGLLZ,ispec)))**2 - ! use 10 times the distance as a criterion for point detection - typical_size = 10.0_CUSTOM_REAL * typical_size + ! do only once + if (.not. free_surface_has_typical_size) then + ispec = free_surface_ispec(1) + free_surface_typical_size = (xstore(ibool(1,1,1,ispec)) - xstore(ibool(NGLLX,NGLLY,NGLLZ,ispec)))**2 & + + (ystore(ibool(1,1,1,ispec)) - ystore(ibool(NGLLX,NGLLY,NGLLZ,ispec)))**2 + ! use 10 times the distance as a criterion for point detection + free_surface_typical_size = 10.0_CUSTOM_REAL * free_surface_typical_size + + ! prepares midpoints coordinates + allocate(free_surface_xy_midpoints(2,num_free_surface_faces),stat=ier) + if (ier /= 0 ) call exit_MPI(myrank,'Error allocating array free_surface_xy_midpoints') + free_surface_xy_midpoints(:,:) = 0.0_CUSTOM_REAL + + ! store x/y coordinates of center point + do iface = 1,num_free_surface_faces + ispec = free_surface_ispec(iface) + iglob = ibool(MIDX,MIDY,MIDZ,ispec) + free_surface_xy_midpoints(1,iface) = xstore(iglob) + free_surface_xy_midpoints(2,iface) = ystore(iglob) + enddo + + ! done setup + free_surface_has_typical_size = .true. + endif endif ! flag to check that we located at least one target element @@ -196,15 +218,17 @@ subroutine get_topo_elevation_free(x_target,y_target,target_elevation,target_dis ! loops over all free surface faces do iface = 1,num_free_surface_faces - ispec = free_surface_ispec(iface) ! exclude elements that are too far from target if (USE_DISTANCE_CRITERION_TOPO) then - iglob = ibool(MIDX,MIDY,MIDZ,ispec) - dist = (x_target - xstore(iglob))**2 + (y_target - ystore(iglob))**2 - if (dist > typical_size) cycle + dist = (x_target - free_surface_xy_midpoints(1,iface))*(x_target - free_surface_xy_midpoints(1,iface)) & + + (y_target - free_surface_xy_midpoints(2,iface))*(y_target - free_surface_xy_midpoints(2,iface)) + + if (dist > free_surface_typical_size) cycle endif + ispec = free_surface_ispec(iface) + ! loop only on points inside the element ! exclude edges to ensure this point is not shared with other elements do j = 2,NGLLY - 1 @@ -217,8 +241,8 @@ subroutine get_topo_elevation_free(x_target,y_target,target_elevation,target_dis iglob = ibool(igll,jgll,kgll,ispec) ! distance (squared) to target - dist = ( x_target - xstore(iglob) )**2 + & - ( y_target - ystore(iglob) )**2 + dist = (x_target - xstore(iglob))*(x_target - xstore(iglob)) & + + (y_target - ystore(iglob))*(y_target - ystore(iglob)) ! keep this point if it is closer to the receiver if (dist < distmin) then @@ -284,17 +308,22 @@ subroutine get_topo_elevation_free(x_target,y_target,target_elevation,target_dis ! stores node infos inode = inode + 1 elevation_node(inode) = zstore(iglob) - dist_node(inode) = sqrt( (x_target - xstore(iglob))**2 + (y_target - ystore(iglob))**2) + + ! distance squared + dist_node(inode) = (x_target - xstore(iglob))*(x_target - xstore(iglob)) & + + (y_target - ystore(iglob))*(y_target - ystore(iglob)) enddo enddo ! weighted elevation - dist = sum( dist_node(:) ) + dist = dist_node(1) + dist_node(2) + dist_node(3) + dist_node(4) if (dist < distmin) then ! sets new minimum distance (of all 4 closest nodes) distmin = dist - target_distmin = distmin + + ! outputs sum of squared distances (used to evaluate closest mesh locations) + target_distmin = dist ! interpolates elevation if (dist > TINYVAL) then @@ -309,7 +338,7 @@ subroutine get_topo_elevation_free(x_target,y_target,target_elevation,target_dis ! gets minimum distance value & index ilocmin = minloc(dist_node(:)) - dist_node_min = dist_node(ilocmin(1)) + dist_node_min = sqrt(dist_node(ilocmin(1))) ! checks if a node is almost exactly at target location if (dist_node_min < TINYVAL) then @@ -320,19 +349,20 @@ subroutine get_topo_elevation_free(x_target,y_target,target_elevation,target_dis ! (closer points have higher weight) do k = 1,4 if (dist_node(k) > 0.0_CUSTOM_REAL) then - weight(k) = 1.0_CUSTOM_REAL / dist_node(k) + ! needs exact distance for interpolation weight + weight(k) = 1.0_CUSTOM_REAL / sqrt(dist_node(k)) else weight(k) = 1.e10 ! very large weight for point on target, will dominate interpolation endif enddo ! normalize weights: w_i = w_i / sum(w_i) - norm = sum(weight(:)) + norm = weight(1) + weight(2) + weight(3) + weight(4) if (norm > TINYVAL) then weight(:) = weight(:) / norm else ! all 4 weights almost zero, meaning distances are all very large; uses equal weighting - weight(:) = 1.0 / 4.0 + weight(:) = 0.25_CUSTOM_REAL ! 1.0 / 4.0 endif ! interpolation target_elevation = weight(1)*elevation_node(1) & @@ -362,7 +392,11 @@ subroutine get_topo_elevation_free_closest(x_target,y_target,target_elevation,ta ! get approximate topography elevation at long/lat coordinates from closest point - use constants, only: CUSTOM_REAL,NGLLX,NGLLY,NGLLZ,NGLLSQUARE,HUGEVAL,MIDX,MIDY,MIDZ,USE_DISTANCE_CRITERION_TOPO + use constants, only: myrank,CUSTOM_REAL,NGLLX,NGLLY,NGLLZ,NGLLSQUARE, & + HUGEVAL,MIDX,MIDY,MIDZ, & + USE_DISTANCE_CRITERION_TOPO + + use shared_parameters, only: free_surface_xy_midpoints,free_surface_typical_size,free_surface_has_typical_size implicit none @@ -386,9 +420,7 @@ subroutine get_topo_elevation_free_closest(x_target,y_target,target_elevation,ta ! local parameters real(kind=CUSTOM_REAL) :: distmin,dist - integer :: iface,i,ispec,iglob,igll,jgll,kgll - - real(kind=CUSTOM_REAL) :: typical_size + integer :: iface,i,ispec,iglob,igll,jgll,kgll,ier logical :: located_target ! initialize @@ -399,11 +431,30 @@ subroutine get_topo_elevation_free_closest(x_target,y_target,target_elevation,ta ! computes typical size of elements at the surface (uses first element for estimation) if (USE_DISTANCE_CRITERION_TOPO) then - ispec = free_surface_ispec(1) - typical_size = (xstore(ibool(1,1,1,ispec)) - xstore(ibool(NGLLX,NGLLY,NGLLZ,ispec)))**2 & - + (ystore(ibool(1,1,1,ispec)) - ystore(ibool(NGLLX,NGLLY,NGLLZ,ispec)))**2 - ! use 10 times the distance as a criterion for point detection - typical_size = 10.0_CUSTOM_REAL * typical_size + ! do only once + if (.not. free_surface_has_typical_size) then + ispec = free_surface_ispec(1) + free_surface_typical_size = (xstore(ibool(1,1,1,ispec)) - xstore(ibool(NGLLX,NGLLY,NGLLZ,ispec)))**2 & + + (ystore(ibool(1,1,1,ispec)) - ystore(ibool(NGLLX,NGLLY,NGLLZ,ispec)))**2 + ! use 10 times the distance as a criterion for point detection + free_surface_typical_size = 10.0_CUSTOM_REAL * free_surface_typical_size + + ! prepares midpoints coordinates + allocate(free_surface_xy_midpoints(2,num_free_surface_faces),stat=ier) + if (ier /= 0 ) call exit_MPI(myrank,'Error allocating array free_surface_xy_midpoints') + free_surface_xy_midpoints(:,:) = 0.0_CUSTOM_REAL + + ! store x/y coordinates of center point + do iface = 1,num_free_surface_faces + ispec = free_surface_ispec(iface) + iglob = ibool(MIDX,MIDY,MIDZ,ispec) + free_surface_xy_midpoints(1,iface) = xstore(iglob) + free_surface_xy_midpoints(2,iface) = ystore(iglob) + enddo + + ! done setup + free_surface_has_typical_size = .true. + endif endif ! flag to check that we located at least one target element @@ -414,15 +465,17 @@ subroutine get_topo_elevation_free_closest(x_target,y_target,target_elevation,ta ! loops over all free surface faces do iface = 1,num_free_surface_faces - ispec = free_surface_ispec(iface) ! excludes elements that are too far from target if (USE_DISTANCE_CRITERION_TOPO) then - iglob = ibool(MIDX,MIDY,MIDZ,ispec) - dist = (x_target - xstore(iglob))**2 + (y_target - ystore(iglob))**2 - if (dist > typical_size) cycle + dist = (x_target - free_surface_xy_midpoints(1,iface))*(x_target - free_surface_xy_midpoints(1,iface)) & + + (y_target - free_surface_xy_midpoints(2,iface))*(y_target - free_surface_xy_midpoints(2,iface)) + + if (dist > free_surface_typical_size) cycle endif + ispec = free_surface_ispec(iface) + ! loop only on points inside the element do i = 1,NGLLSQUARE igll = free_surface_ijk(1,i,iface) @@ -432,8 +485,8 @@ subroutine get_topo_elevation_free_closest(x_target,y_target,target_elevation,ta iglob = ibool(igll,jgll,kgll,ispec) ! distance (squared) to target - dist = ( x_target - xstore(iglob) )**2 + & - ( y_target - ystore(iglob) )**2 + dist = (x_target - xstore(iglob))*(x_target - xstore(iglob)) & + + (y_target - ystore(iglob))*(y_target - ystore(iglob)) ! keep this point if it is closer to the receiver if (dist < distmin) then @@ -455,7 +508,8 @@ subroutine get_topo_elevation_free_closest(x_target,y_target,target_elevation,ta iglob = ibool(1,1,1,ispec) ! elevation (given in z - coordinate) target_elevation = zstore(iglob) - target_distmin = ( x_target - xstore(iglob) )**2 + ( y_target - ystore(iglob) )**2 + target_distmin = (x_target - xstore(iglob))*(x_target - xstore(iglob)) & + + (y_target - ystore(iglob))*(y_target - ystore(iglob)) located_target = .true. endif diff --git a/src/shared/shared_par.F90 b/src/shared/shared_par.F90 index 532b01bd8..36ab72cde 100644 --- a/src/shared/shared_par.F90 +++ b/src/shared/shared_par.F90 @@ -213,6 +213,7 @@ end module shared_input_parameters module shared_compute_parameters ! parameters to be computed based upon parameters above read from file + use constants, only: CUSTOM_REAL implicit none @@ -236,6 +237,13 @@ module shared_compute_parameters ! fault rupture simulation logical :: FAULT_SIMULATION = .false. + ! free surface + ! for elevation search: x/y coordinates of free surface element midpoints + real(kind=CUSTOM_REAL), dimension(:,:), allocatable :: free_surface_xy_midpoints + real(kind=CUSTOM_REAL) :: free_surface_typical_size + ! flag to calculate typical size only once + logical :: free_surface_has_typical_size = .false. + end module shared_compute_parameters ! diff --git a/src/specfem3D/get_elevation.f90 b/src/specfem3D/get_elevation.f90 index dd5772d06..cbbb1ed08 100644 --- a/src/specfem3D/get_elevation.f90 +++ b/src/specfem3D/get_elevation.f90 @@ -120,6 +120,7 @@ subroutine get_elevation_and_z_coordinate_all(npoints,plon,plat,pbur,utm_x,utm_y elevation(ipoin) = loc_ele elevation_distmin(ipoin) = loc_distmin enddo + ! MPI communications to determine the best slice call gather_all_dp(elevation,npoints,elevation_all,npoints,NPROC) call gather_all_dp(elevation_distmin,npoints,elevation_distmin_all,npoints,NPROC) From 42a5e96ad3bc260081d884d503d5c37c61707d8d Mon Sep 17 00:00:00 2001 From: Daniel Peter Date: Fri, 17 Nov 2023 21:02:32 +0100 Subject: [PATCH 3/6] updates point location search (adds slice dimension check for faster search in large, partitioned meshes) --- src/specfem3D/locate_point.f90 | 89 +++++++++++++++++++++++++++++----- 1 file changed, 78 insertions(+), 11 deletions(-) diff --git a/src/specfem3D/locate_point.f90 b/src/specfem3D/locate_point.f90 index a55a457f4..e59a27cbb 100644 --- a/src/specfem3D/locate_point.f90 +++ b/src/specfem3D/locate_point.f90 @@ -38,7 +38,8 @@ subroutine locate_point_in_mesh(x_target, y_target, z_target, & use specfem_par, only: ibool,myrank,NSPEC_AB,NGLOB_AB, & xstore,ystore,zstore, & ispec_is_surface_external_mesh,iglob_is_surface_external_mesh, & - xyz_midpoints + xyz_midpoints, & + ACOUSTIC_SIMULATION,ELASTIC_SIMULATION use specfem_par_acoustic, only: ispec_is_acoustic use specfem_par_elastic, only: ispec_is_elastic @@ -93,6 +94,14 @@ subroutine locate_point_in_mesh(x_target, y_target, z_target, & logical :: use_brute_force_search logical :: is_better_location + logical :: do_include_slice + + ! flag to check mesh dimensions only once + logical, save :: has_slice_dimensions = .false. + double precision, save :: x_min_slice,x_max_slice + double precision, save :: y_min_slice,y_max_slice + double precision, save :: z_min_slice,z_max_slice + !debug !print *,'locate point in mesh: ',x_target, y_target, z_target @@ -114,6 +123,53 @@ subroutine locate_point_in_mesh(x_target, y_target, z_target, & ! set distance to huge initial value distmin_squared = HUGEVAL + ! gets local slice dimension + if (.not. has_slice_dimensions) then + ! mesh slice dimension of current process + x_min_slice = minval(xstore) + x_max_slice = maxval(xstore) + y_min_slice = minval(ystore) + y_max_slice = maxval(ystore) + z_min_slice = minval(zstore) + z_max_slice = maxval(zstore) + ! only do this once + has_slice_dimensions = .true. + endif + + ! checks if target location is in this mesh slice + do_include_slice = .false. + + if (POINT_CAN_BE_BURIED .eqv. .false.) then + ! only checks if x/y position is in slice + if ((x_target < x_max_slice + elemsize_max_glob .and. x_target > x_min_slice - elemsize_max_glob) & + .and. (y_target < y_max_slice + elemsize_max_glob .and. y_target > y_min_slice - elemsize_max_glob)) then + do_include_slice = .true. + endif + else + ! checks x/y/z position + if ((x_target < x_max_slice + elemsize_max_glob .and. x_target > x_min_slice - elemsize_max_glob) & + .and. (y_target < y_max_slice + elemsize_max_glob .and. y_target > y_min_slice - elemsize_max_glob) & + .and. (z_target < z_max_slice + elemsize_max_glob .and. z_target > z_min_slice - elemsize_max_glob)) then + do_include_slice = .true. + endif + endif + + if (.not. do_include_slice) then + ! point outside of this mesh slice + ispec_selected = 0 + domain = 0 + + x_found = -HUGEVAL + y_found = -HUGEVAL + z_found = -HUGEVAL + + ! store final distance squared between asked and found + final_distance_squared = HUGEVAL + + ! done search in this slice + return + endif + ! point search type if (DO_BRUTE_FORCE_POINT_SEARCH .or. (POINT_CAN_BE_BURIED .eqv. .false.)) then use_brute_force_search = .true. @@ -179,7 +235,9 @@ subroutine locate_point_in_mesh(x_target, y_target, z_target, & endif ! skip buried elements in case station must lie on surface - if (.not. POINT_CAN_BE_BURIED .and. .not. ispec_is_surface_external_mesh(ispec)) cycle + if (.not. POINT_CAN_BE_BURIED) then + if (.not. ispec_is_surface_external_mesh(ispec)) cycle + endif ! distance to element midpoint dist_squared = (x_target - xyz_midpoints(1,ispec))*(x_target - xyz_midpoints(1,ispec)) & @@ -193,10 +251,13 @@ subroutine locate_point_in_mesh(x_target, y_target, z_target, & do k = kmin, kmax do j = jmin, jmax do i = imin, imax + iglob = ibool(i,j,k,ispec) ! skip inner GLL points in case station must lie on surface - if (.not. POINT_CAN_BE_BURIED .and. .not. iglob_is_surface_external_mesh(iglob)) cycle + if (.not. POINT_CAN_BE_BURIED) then + if (.not. iglob_is_surface_external_mesh(iglob)) cycle + endif x = dble(xstore(iglob)) y = dble(ystore(iglob)) @@ -320,7 +381,7 @@ subroutine locate_point_in_mesh(x_target, y_target, z_target, & ! dummy search in this slice num_elem_local = 1 - kdtree_search_num_nodes = num_elem_local + kdtree_search_num_nodes = 1 endif endif @@ -368,11 +429,13 @@ subroutine locate_point_in_mesh(x_target, y_target, z_target, & ! this element is in contact with the initial guess number_of_mesh_elements_for_the_initial_guess = number_of_mesh_elements_for_the_initial_guess + 1 ! check - if (number_of_mesh_elements_for_the_initial_guess > 100) stop 'Error must increase array size in locate_point.f90' + if (number_of_mesh_elements_for_the_initial_guess > 100) & + stop 'Error must increase array size in locate_point.f90' array_of_all_elements_of_ispec_selected(number_of_mesh_elements_for_the_initial_guess) = ispec - ! let us not count it more than once, it may have a full edge in contact with it and would then be counted twice + ! let us not count it more than once, + ! it may have a full edge in contact with it and would then be counted twice goto 707 endif @@ -409,7 +472,8 @@ subroutine locate_point_in_mesh(x_target, y_target, z_target, & ! this element is in contact with the initial guess number_of_mesh_elements_for_the_initial_guess = number_of_mesh_elements_for_the_initial_guess + 1 - ! let us not count it more than once, it may have a full edge in contact with it and would then be counted twice + ! let us not count it more than once, + ! it may have a full edge in contact with it and would then be counted twice goto 700 endif @@ -452,7 +516,8 @@ subroutine locate_point_in_mesh(x_target, y_target, z_target, & number_of_mesh_elements_for_the_initial_guess = number_of_mesh_elements_for_the_initial_guess + 1 array_of_all_elements_of_ispec_selected(number_of_mesh_elements_for_the_initial_guess) = ispec - ! let us not count it more than once, it may have a full edge in contact with it and would then be counted twice + ! let us not count it more than once, + ! it may have a full edge in contact with it and would then be counted twice goto 800 endif @@ -519,9 +584,11 @@ subroutine locate_point_in_mesh(x_target, y_target, z_target, & is_better_location = .true. endif ! takes position if old position is in acoustic element and new one in elastic one - ! prefers having station in elastic elements over acoustic at interfaces - if (ispec_is_acoustic(ispec_selected) .and. ispec_is_elastic(ispec)) then - is_better_location = .true. + if (ACOUSTIC_SIMULATION .and. ELASTIC_SIMULATION) then + ! prefers having station in elastic elements over acoustic at interfaces + if (ispec_is_acoustic(ispec_selected) .and. ispec_is_elastic(ispec)) then + is_better_location = .true. + endif endif endif endif From 0b3e6df9f2baee6940b741f8381571b8cbd95358 Mon Sep 17 00:00:00 2001 From: Daniel Peter Date: Sat, 18 Nov 2023 19:42:03 +0100 Subject: [PATCH 4/6] moves hash parameter into constants.h.in --- setup/constants.h.in | 3 +++ src/specfem3D/read_stations.f90 | 12 ++++++------ 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/setup/constants.h.in b/setup/constants.h.in index ab1e216cf..09b34e89a 100644 --- a/setup/constants.h.in +++ b/setup/constants.h.in @@ -220,6 +220,9 @@ ! (brute-force search will be slower but even more accurate) logical, parameter :: DO_BRUTE_FORCE_POINT_SEARCH = .false. +! minimum number of stations for using hash table in duplets search + integer, parameter :: DUPLETS_NREC_MINIMUM_FOR_HASH = 10000 + !!----------------------------------------------------------- !! !! CPML perfectly matched absorbing layers diff --git a/src/specfem3D/read_stations.f90 b/src/specfem3D/read_stations.f90 index 466680de0..b12c9d578 100644 --- a/src/specfem3D/read_stations.f90 +++ b/src/specfem3D/read_stations.f90 @@ -84,7 +84,8 @@ end subroutine read_stations subroutine read_stations_find_duplets() - use constants, only: MAX_LENGTH_STATION_NAME,MAX_LENGTH_NETWORK_NAME,MAX_STRING_LEN + use constants, only: MAX_LENGTH_STATION_NAME,MAX_LENGTH_NETWORK_NAME, & + DUPLETS_NREC_MINIMUM_FOR_HASH use specfem_par, only: myrank,nrec,station_name,network_name @@ -99,7 +100,6 @@ subroutine read_stations_find_duplets() ! hash table integer, allocatable, dimension(:) :: hash_table integer :: hash,hash_prob,hash_collisions - integer, parameter :: NREC_MINIMUM_FOR_HASH = 10000 ! minimum number of stations for using hash table ! In case that the same station and network name appear twice (or more times) in the STATIONS ! file, problems occur, as two (or more) seismograms are written (with mode @@ -111,7 +111,7 @@ subroutine read_stations_find_duplets() station_duplet(:) = 0 ! initializes the hash table - if (nrec >= NREC_MINIMUM_FOR_HASH) then + if (nrec >= DUPLETS_NREC_MINIMUM_FOR_HASH) then ! makes hash table slightly larger than the actual number of stations to avoid many hash collisions allocate(hash_table(5*nrec),stat=ier) if (ier /= 0) call exit_MPI_without_rank('error allocating array 1971') @@ -122,7 +122,7 @@ subroutine read_stations_find_duplets() do irec = 1,nrec ! checks if duplicate of another station read in so far - if (nrec < NREC_MINIMUM_FOR_HASH) then + if (nrec < DUPLETS_NREC_MINIMUM_FOR_HASH) then ! way 1: ! loops over all previous stations and checks station/network names ! this will get slow for very large STATIONS files (> 100,000 stations); scales approx. quadratic ~O(n**2) @@ -248,12 +248,12 @@ subroutine read_stations_find_duplets() endif ! debug: hash table info - !if (nrec >= NREC_MINIMUM_FOR_HASH .and. hash_collisions > 0) & + !if (nrec >= DUPLETS_NREC_MINIMUM_FOR_HASH .and. hash_collisions > 0) & ! print *,'debug: hash table collisions: ',hash_collisions ! free temporary array deallocate(station_duplet) - if (nrec >= NREC_MINIMUM_FOR_HASH) deallocate(hash_table) + if (nrec >= DUPLETS_NREC_MINIMUM_FOR_HASH) deallocate(hash_table) contains From fca79ae0b5a522aa804f67ffb41556c635c59452 Mon Sep 17 00:00:00 2001 From: Daniel Peter Date: Sat, 18 Nov 2023 19:43:05 +0100 Subject: [PATCH 5/6] updates array allocation in locate_points routine (for speed up) --- src/specfem3D/locate_point.f90 | 24 +++++++++++++++++++----- src/specfem3D/locate_receivers.f90 | 15 +++++++++++---- 2 files changed, 30 insertions(+), 9 deletions(-) diff --git a/src/specfem3D/locate_point.f90 b/src/specfem3D/locate_point.f90 index e59a27cbb..203ee0c81 100644 --- a/src/specfem3D/locate_point.f90 +++ b/src/specfem3D/locate_point.f90 @@ -73,10 +73,13 @@ subroutine locate_point_in_mesh(x_target, y_target, z_target, & integer :: imin,imax,jmin,jmax,kmin,kmax !! DK DK dec 2017: also loop on all the elements in contact with the initial guess element to improve accuracy of estimate - logical, dimension(:),allocatable :: flag_topological ! making array allocatable, otherwise will crash for large meshes + logical, dimension(:),allocatable, save :: flag_topological ! making array allocatable, otherwise will crash for large meshes integer :: number_of_mesh_elements_for_the_initial_guess logical :: use_adjacent_elements_search + ! flag to allocate topological array only once + logical, save :: has_flag_topological = .false. + ! dynamic array ! integer, dimension(:), allocatable :: array_of_all_elements_of_ispec_selected ! logical, parameter :: USE_SINGLE_PASS = .false. @@ -338,6 +341,18 @@ subroutine locate_point_in_mesh(x_target, y_target, z_target, & if (use_adjacent_elements_search) then !! DK DK dec 2017: also loop on all the elements in contact with the initial guess element to improve accuracy of estimate + ! allocates arrays + ! we only do this the first time running through this, and keep the arrays to speed this for the next point location + if (.not. has_flag_topological) then + ! topological flags to find neighboring elements + allocate(flag_topological(NGLOB_AB),stat=ier) + if (ier /= 0) stop 'Error allocating flag_topological array' + flag_topological(:) = .false. + + ! allocate only once + has_flag_topological = .true. + endif + if (use_brute_force_search) then ! brute-force search always loops over whole mesh slice num_elem_local = NSPEC_AB @@ -355,7 +370,7 @@ subroutine locate_point_in_mesh(x_target, y_target, z_target, & kdtree_search_num_nodes = num_elem_local ! debug - !print *,' total number of search elements: ',num_elem_local,POINT_CAN_BE_BURIED,r_search,elemsize_max_glob + !print *,'debug: total number of search elements: ',num_elem_local,POINT_CAN_BE_BURIED,r_search,elemsize_max_glob ! allocates search array if (kdtree_search_num_nodes > 0) then @@ -386,8 +401,6 @@ subroutine locate_point_in_mesh(x_target, y_target, z_target, & endif ! flagging corners - allocate(flag_topological(NGLOB_AB),stat=ier) - if (ier /= 0) stop 'Error allocating flag_topological array' flag_topological(:) = .false. ! mark the eight corners of the initial guess element @@ -541,7 +554,8 @@ subroutine locate_point_in_mesh(x_target, y_target, z_target, & endif endif - deallocate(flag_topological) + ! we keep topological flags for next point locations to speed up routine, thus keep this here commented out. + ! deallocate(flag_topological) else ! no need for adjacent element, only loop within initial guess diff --git a/src/specfem3D/locate_receivers.f90 b/src/specfem3D/locate_receivers.f90 index c2ce13c14..cff3a40aa 100644 --- a/src/specfem3D/locate_receivers.f90 +++ b/src/specfem3D/locate_receivers.f90 @@ -92,6 +92,7 @@ subroutine locate_receivers(rec_filename,utm_x_source,utm_y_source) double precision, dimension(NDIM,NDIM,NREC_SUBSET_MAX) :: nu_subset integer, dimension(NREC_SUBSET_MAX) :: ispec_selected_rec_subset,idomain_subset integer :: nrec_subset_current_size,irec_in_this_subset,irec_already_done + integer :: num_output_info logical :: is_done_stations @@ -114,6 +115,10 @@ subroutine locate_receivers(rec_filename,utm_x_source,utm_y_source) write(IMAIN,*) ' (depth) becomes directly (z) coordinate' endif call flush_IMAIN() + + ! output frequency for large number of receivers + ! number to output about ~50 steps, rounds to the next multiple of 500 + num_output_info = max(500,int(ceiling(ceiling(nrec/50.0)/500.0)*500)) endif ! compute typical size of elements @@ -235,8 +240,9 @@ subroutine locate_receivers(rec_filename,utm_x_source,utm_y_source) ! user output progress if (myrank == 0 .and. nrec > 1000) then - if (mod(irec,500) == 0) then - write(IMAIN,*) ' located receivers ',irec,'out of',nrec + if (mod(irec,num_output_info) == 0) then + tCPU = wtime() - tstart + write(IMAIN,*) ' located receivers ',irec,'out of',nrec,' - elapsed time: ',sngl(tCPU),'s' call flush_IMAIN() endif endif @@ -398,17 +404,19 @@ subroutine locate_receivers(rec_filename,utm_x_source,utm_y_source) final_distance_max = maxval(final_distance(:)) ! display maximum error for all the receivers + write(IMAIN,*) write(IMAIN,*) 'maximum error in location of all the receivers: ',sngl(final_distance_max),' m' + write(IMAIN,*) ! add warning if estimate is poor ! (usually means receiver outside the mesh given by the user) if (final_distance_max > elemsize_max_glob) then - write(IMAIN,*) write(IMAIN,*) '************************************************************' write(IMAIN,*) '************************************************************' write(IMAIN,*) '***** WARNING: at least one receiver is poorly located *****' write(IMAIN,*) '************************************************************' write(IMAIN,*) '************************************************************' + write(IMAIN,*) endif ! write the locations of stations, so that we can load them and write them to SU headers later @@ -428,7 +436,6 @@ subroutine locate_receivers(rec_filename,utm_x_source,utm_y_source) ! elapsed time since beginning of mesh generation tCPU = wtime() - tstart - write(IMAIN,*) write(IMAIN,*) 'Elapsed time for receiver detection in seconds = ',tCPU write(IMAIN,*) write(IMAIN,*) 'End of receiver detection - done' From 94b30e7fb9011bbf6e141d6b14bd6a1c45f3eb0e Mon Sep 17 00:00:00 2001 From: Daniel Peter Date: Sat, 18 Nov 2023 19:47:08 +0100 Subject: [PATCH 6/6] updates manual pdf --- doc/USER_MANUAL/bibliography.bib | 8 ++++++++ .../manual_SPECFEM3D_Cartesian.pdf | Bin 20108067 -> 20108306 bytes 2 files changed, 8 insertions(+) diff --git a/doc/USER_MANUAL/bibliography.bib b/doc/USER_MANUAL/bibliography.bib index 5ad8cb198..7a98def6a 100644 --- a/doc/USER_MANUAL/bibliography.bib +++ b/doc/USER_MANUAL/bibliography.bib @@ -13621,6 +13621,14 @@ @Article{MeViSa06 Volume = {166} } +@article{Meschede2011, + author = {Meschede, M.A. and C.L. Myhrvold and J. Tromp}, + journal = gji, + pages = {529-537}, + title = {Antipodal focusing of seismic waves due to large meteorite impacts on Earth}, + volume = {187}, + year = {2011}} + @Article{Merkel07, Title = {Deformation of ({M}g,{F}e){S}i{O}3 post-perovskite and {D}'' anisotropy}, Author = {Merkel, S. and A. K. McNamara and A. Kubo and S. Speziale and L. Miyagi and Y. Meng and T. S. Duffy and H. R. Wenk}, diff --git a/doc/USER_MANUAL/manual_SPECFEM3D_Cartesian.pdf b/doc/USER_MANUAL/manual_SPECFEM3D_Cartesian.pdf index 2e512a7383fe9b8ae146b77342653ebb71181301..53b6dc72aa0ac06ef185ca7662c2525535070016 100644 GIT binary patch delta 76011 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 delta 75710 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