Difference between revisions of "CSEP 2 CATALOG FORMAT"

From SCECpedia
Jump to navigationJump to search
Line 6: Line 6:
 
The catalog will initially be defined as an ASCII .csv format where each row corresponds to a single event. This file will have the following headers:<br><br>
 
The catalog will initially be defined as an ASCII .csv format where each row corresponds to a single event. This file will have the following headers:<br><br>
 
<code>
 
<code>
longitude, latitude, '''M''', time_string format="%Y-%m-%d %H:%M:%S.%f", depth, catalog_id
+
longitude, latitude, '''M''', time_string format="%Y-%m-%d %H:%M:%S.%f", depth, [catalog_id]
 
</code>
 
</code>
  

Revision as of 17:40, 26 May 2020

Summary

The general philosophy is that the file type should be human readable and easy to use for both researchers and developers. We should support multiple readers to ingest various catalog formats into the PyCSEP codebase.

The catalog will initially be defined as an ASCII .csv format where each row corresponds to a single event. This file will have the following headers:

longitude, latitude, M, time_string format="%Y-%m-%d %H:%M:%S.%f", depth, [catalog_id]

longitude: longitude in decimal degrees {float64} [-180,180]
latitude: latitude in decimal degrees {float64} [-90,90]
M: magnitude arbitrary units {float32}
epoch_time: time in milliseconds since unix epoch {int64} [-inf, inf]
depth: hypocenter depth in (km) {float32} [0, inf]
catalog_id: indicates type of catalog {int32}

  • observed: -1
  • simulated: [0,n_cat-1]

This format can be easily extended to additional file types, including more advanced storage types like HDF5 or databases.

The binary format will need a header that includes the number of catalogs and the version number of the format (this is if we decide to change things down the road). The number of catalogs should be an int32 and the version can be an int16. Each catalog in the binary format should include an int32 header value that contains the number of events in the catalog.

Example Catalog

lon,lat,M,epoch_time,depth,catalog_id,event_id
-117.43017,35.616665,4.73,1562383355630,9.35,-1 -117.7365,35.891,4.64,1562383368300,9.1,-1 -117.617836,35.803165,4.84,1562383430720,11.44,-1 -117.67083,35.86067,4.61,1562383527970,10.32,-1 -117.52167,35.55517,4.68,1562386024570,5.64,-1 -117.58083,35.777668,3.85,1562386249040,10.41,-1 -117.69067,35.902332,3.83,1562386262210,7.27,-1 -117.72283,35.887333,3.87,1562386338850,9.17,-1 -117.6145,35.584667,4.8,1562386387080,9.73,-1 -117.402664,35.604168,3.84,1562386460800,6.72,-1 -117.49067,35.6795,3.74,1562386471370,0.91,-1 -117.68483,35.910168,5.44,1562386735790,7.41,-1 -117.6175,35.785,4.49,1562386755470,10.6,-1 -117.717,35.885,3.83,1562386794940,4.9,-1