[CIG-SEISMO] 1000s of receivers SPECFEM Cartesian

surendra at caltech.edu surendra at caltech.edu
Wed Jun 5 10:47:53 PDT 2013


On Jun 5, 2013, at 9:51 AM, Andrea Colombi wrote:

> when running simulation with SPECFEM cartesian I would like to have in output many receivers, lets say ~10000 for relatively long simulation (1000000 timestep), in parallel simulation that may feature 100-1000 cpu. However the program stales because of unclear memory reason (not a direct error of SPECFEM) related to the cluster.
> 
> Having tested few configuration, I know that I/O of ASCII seismograms is a kind of heavy task that slows down the time integration but I wonder if a different strategy to do that is available. Not sure if generic binary output would help if the files must be read from other potentially different machines. 

I had to deal with similar I/O issue when I had hundreds of thousands of stations.  I disabled the ASCII output in write_seismograms.f90.  Instead, I dumped the variables seismograms_d, seismograms_v and seismograms_a to Fortran binary files, one per each processor.  The variable "number_receiver_global" contains the global numbering of receivers.  I exported it to separate ASCII file, again one for each processor, which allowed me to extract any seismogram of my interest from the binaray output.
This strategy worked me across various machine architectures and compiler configurations.

--Surendra





More information about the CIG-SEISMO mailing list