Difference between revisions of "EEW Evaluation"

From SCECpedia
Jump to navigationJump to search
Line 10: Line 10:
 
*[http://scec.usc.edu/scecwiki/images/c/c8/CTC_14Oct2010_v6.ppt CISN EEW Workshop Oct 2010] (7MB ppt File)
 
*[http://scec.usc.edu/scecwiki/images/c/c8/CTC_14Oct2010_v6.ppt CISN EEW Workshop Oct 2010] (7MB ppt File)
 
*[http://scec.usc.edu/scecwiki/images/3/3f/EEW_Algor_testing_v01b.pdf CISN EEW Testing Document] (Updated July 2010)
 
*[http://scec.usc.edu/scecwiki/images/3/3f/EEW_Algor_testing_v01b.pdf CISN EEW Testing Document] (Updated July 2010)
 +
 +
== CTC Software Versions ==
 +
 +
Tag Descriptions:
 +
*11.5.0
 +
**This distribution should be capable of processing performance summaries for new events. Retrieve this distribution and setup the authdata inputs correctly, put the vs trigger file or onsite trigger file in the inputs directory, and run gen_ctc.py and the software should produce a number of performance summaries without errors. This is the distribution described in the SCEC Year 2 report to USGS.
  
 
== Example Ground Motion Forecast Summaries ==
 
== Example Ground Motion Forecast Summaries ==

Revision as of 04:45, 23 May 2011

CISN Testing Center (CTC) code development project processes CISN EEW trigger reports and produces CISN EEW performance summaries. Current design goal is to produce a system capable of both retrospective testing of CISN reports and usable for prospective testing of ongoing CISN ShakeAlert results.

CTC Software is designed to input EEW trigger information and produce performance summaries. It is designed to support EEW triggers in multiple formats and is intended support processing of ShakeAlert EEW trigger files. Currently two trigger types can be processed, Virtual Seismologist lead by Swiss Seismological Service at ETH Zurich, and On Site lead by Caltech seismology lab. Support for UC Berkeley ELarms and CISN ShakeAlert are planned.

CISN Testing Documents

CTC Software Versions

Tag Descriptions:

  • 11.5.0
    • This distribution should be capable of processing performance summaries for new events. Retrieve this distribution and setup the authdata inputs correctly, put the vs trigger file or onsite trigger file in the inputs directory, and run gen_ctc.py and the software should produce a number of performance summaries without errors. This is the distribution described in the SCEC Year 2 report to USGS.

Example Ground Motion Forecast Summaries

Event ID: 10922333
Magnitude: 4.13
Origin Time: 2011/04/09 08:58:49.22
Hypocenter: 32.6055 -115.7237 9.38 km
Forecast Source: ssi://caltech.gps.edu/onsite/2.1.0
Forecast Time: 2011-4-9T8:59:21Z
First Forecast Secs after Origin: 32
Net:Sta  Dist(km) Wd(secs) PGV(obs) PGV(fcst)cm/second  I(obs) I(fcst)MMI   abs(Io-If)  Skill   obs GM    fcst GM    
  CI:WES    17.3  32.0  0.0204    0.3816             1.95     4.62       2.67   Very Poor     Strong shaking/light damage potential          Weak shaking/no damage potential
  CI:DRE    34.0  35.0  0.0109    0.2022             1.38     4.04       2.66   Very Poor     Strong shaking/light damage potential          Weak shaking/no damage potential
  CI:IBP    35.5  35.0  0.0043    0.1042             0.53     3.44       2.91   Very Poor        Moderate shaking/very light damage              Not felt/no damage potential
  CI:ERR    57.7  39.0  0.0046    0.1317             0.59     3.65       3.06   Very Poor        Moderate shaking/very light damage              Not felt/no damage potential

Summary of 4 site-specific forecast ratings for event:10922333
Very Good:   0.0%
Good     :   0.0%
Moderate :   0.0%
Poor     :   0.0%
Very Poor: 100.0%

Example Virtual Seismologist Forecast Performance

Event ID: 14937372
Magnitude: 5.07
Origin Time: 2011/02/18 17:47:35.77
Hypocenter: 32.0470 -115.0622 15.00 km
Forecast Source: smi://caltech.gps.edu/onsite/cinnabar/vs/eewvs
Forecast Time: 2011-02-18T17:48:12Z
First Forecast Secs after Origin: 37
Net:Sta  Dist(km) Wd(secs) PGV(obs) PGV(fcst)m/s  I(obs) I(fcst)MMI   abs(Io-If)  Skill   obs GM    fcst GM    
  CI:WES   101.0  37.0  0.0276    0.0011     4.31     4.44       0.13   Very Good     Strong shaking/light damage potential     Strong shaking/light damage potential
  CI:BTC   108.0  37.0  0.0152    0.0001     3.51     2.20       1.32    Moderate         Light shaking/no damage potential        Moderate shaking/very light damage
  CI:SWS   121.3  37.0  0.0038    0.0005     2.23     3.58       1.35    Moderate        Moderate shaking/very light damage         Light shaking/no damage potential
  CI:RXH   136.5  37.0  0.0051    0.0002     1.97     2.48       0.51        Good         Light shaking/no damage potential          Weak shaking/no damage potential
  CI:ERR   138.5  37.0  0.0076    0.0002     2.97     2.83       0.13   Very Good         Light shaking/no damage potential         Light shaking/no damage potential
AZ:MONP2   158.5  37.0  0.0030    0.0002     2.59     2.57       0.03   Very Good         Light shaking/no damage potential         Light shaking/no damage potential
  CI:SAL   161.9  37.0  0.0094    0.0001     2.91     2.32       0.58        Good         Light shaking/no damage potential         Light shaking/no damage potential
  CI:BC3   182.1  37.0  0.0027    0.0001     1.86     1.46       0.39   Very Good          Weak shaking/no damage potential          Weak shaking/no damage potential
  CI:JEM   184.2  37.0  0.0045    0.0001     2.77     2.02       0.75        Good         Light shaking/no damage potential         Light shaking/no damage potential
  CI:BOR   185.7  37.0  0.0011    0.0001     1.49     1.99       0.50        Good          Weak shaking/no damage potential          Weak shaking/no damage potential
  CI:OLP   186.6  37.0  0.0030    0.0001     3.00     1.66       1.33    Moderate          Weak shaking/no damage potential         Light shaking/no damage potential
 CI:NSS2   186.7  37.0  0.0037    0.0001     1.86     1.74       0.12   Very Good          Weak shaking/no damage potential          Weak shaking/no damage potential
  CI:EML   192.0  37.0  0.0026    0.0001     2.51     1.77       0.74        Good          Weak shaking/no damage potential         Light shaking/no damage potential
  CI:SDR   192.7  37.0  0.0024    0.0001     2.50     1.66       0.84        Good          Weak shaking/no damage potential         Light shaking/no damage potential
  CI:BLY   195.5  37.0  0.0028    0.0000     2.15     0.78       1.38    Moderate              Not felt/no damage potential         Light shaking/no damage potential
  CI:CTC   198.4  37.0  0.0021    0.0001     1.62     1.56       0.06   Very Good          Weak shaking/no damage potential          Weak shaking/no damage potential
  CI:TOR   201.5  37.0  0.0014    0.0001     0.69     1.62       0.93        Good          Weak shaking/no damage potential              Not felt/no damage potential
 AZ:LVA2   201.7  37.0  0.0024    0.0001     1.90     1.72       0.19   Very Good          Weak shaking/no damage potential          Weak shaking/no damage potential
  CI:DPP   205.7  37.0  0.0033    0.0001     2.99     1.58       1.41    Moderate          Weak shaking/no damage potential         Light shaking/no damage potential
  AZ:TRO   207.7  37.0  0.0012    0.0001     1.55     1.59       0.04   Very Good          Weak shaking/no damage potential          Weak shaking/no damage potential
  AZ:HWB   208.7  37.0  0.0009    0.0001     1.65     1.54       0.10   Very Good          Weak shaking/no damage potential          Weak shaking/no damage potential
  CI:SDG   211.7  37.0  0.0035    0.0001     2.52     1.39       1.14    Moderate          Weak shaking/no damage potential         Light shaking/no damage potential
  AZ:CPE   213.6  37.0  0.0037    0.0001     3.10     1.41       1.69        Poor          Weak shaking/no damage potential        Moderate shaking/very light damage
  AZ:FRD   215.9  37.0  0.0009    0.0001     0.72     1.49       0.77        Good          Weak shaking/no damage potential              Not felt/no damage potential
  CI:PMD   216.1  37.0  0.0008    0.0001     1.11     1.44       0.33   Very Good          Weak shaking/no damage potential          Weak shaking/no damage potential
  AZ:PFO   217.3  37.0  0.0006    0.0001     0.21     1.44       1.23    Moderate          Weak shaking/no damage potential              Not felt/no damage potential
  AZ:BZN   219.7  37.0  0.0013    0.0001     1.78     1.44       0.34   Very Good          Weak shaking/no damage potential          Weak shaking/no damage potential
  AZ:SND   221.2  37.0  0.0016    0.0001     1.60     1.41       0.18   Very Good          Weak shaking/no damage potential          Weak shaking/no damage potential
  CI:PLM   222.5  37.0  0.0045    0.0001     2.38     1.41       0.97        Good          Weak shaking/no damage potential         Light shaking/no damage potential
  AZ:SOL   223.6  37.0  0.0091    0.0000     3.56     1.25       2.31   Very Poor          Weak shaking/no damage potential        Moderate shaking/very light damage
  CI:DNR   223.6  37.0  0.0036    0.0001     2.22     1.38       0.83        Good          Weak shaking/no damage potential         Light shaking/no damage potential
  AZ:WMC   226.9  37.0  0.0019    0.0001     1.81     1.34       0.47   Very Good          Weak shaking/no damage potential          Weak shaking/no damage potential
  AZ:CRY   230.2  37.0  0.0004    0.0001     0.21     1.30       1.09    Moderate          Weak shaking/no damage potential              Not felt/no damage potential
  CI:MGE   231.4  37.0  0.0026    0.0000     1.78     1.21       0.57        Good          Weak shaking/no damage potential          Weak shaking/no damage potential
  CI:BEL   233.6  37.0  0.0011    0.0000     0.26     1.06       0.81        Good          Weak shaking/no damage potential              Not felt/no damage potential
  CI:IRM   234.2  37.0  0.0014    0.0000     0.79     0.74       0.05   Very Good              Not felt/no damage potential              Not felt/no damage potential
  CI:GOR   237.6  37.0  0.0018    0.0000     2.12     1.16       0.95        Good          Weak shaking/no damage potential         Light shaking/no damage potential
  AZ:KNW   240.9  37.0  0.0006    0.0000     0.07     1.16       1.09    Moderate          Weak shaking/no damage potential              Not felt/no damage potential
  CI:PSD   241.2  37.0  0.0006    0.0000     0.81     1.12       0.32   Very Good          Weak shaking/no damage potential              Not felt/no damage potential
  AZ:RDM   242.4  37.0  0.0012    0.0000     1.54     1.15       0.39   Very Good          Weak shaking/no damage potential          Weak shaking/no damage potential
  CI:DEV   252.9  37.0  0.0011    0.0000     1.28     0.98       0.30   Very Good              Not felt/no damage potential          Weak shaking/no damage potential
  CI:SLR   256.1  37.0  0.0012    0.0000     1.47     0.98       0.49   Very Good              Not felt/no damage potential          Weak shaking/no damage potential
  CI:MCT   258.4  37.0  0.0008    0.0000     0.00     0.79       0.79        Good              Not felt/no damage potential              Not felt/no damage potential
  CI:MUR   263.8  37.0  0.0023    0.0000     2.31     0.91       1.39    Moderate              Not felt/no damage potential         Light shaking/no damage potential
  CI:MSJ   264.4  37.0  0.0042    0.0000     2.35     0.90       1.45    Moderate              Not felt/no damage potential         Light shaking/no damage potential
  CI:BBS   274.5  37.0  0.0022    0.0000     1.56     0.80       0.77        Good              Not felt/no damage potential          Weak shaking/no damage potential
  CI:PER   284.0  37.0  0.0013    0.0000     1.05     0.71       0.33   Very Good              Not felt/no damage potential          Weak shaking/no damage potential
  CI:JVA   295.1  37.0  0.0012    0.0000     1.03     0.54       0.49   Very Good              Not felt/no damage potential          Weak shaking/no damage potential
  CI:SDD   295.2  37.0  0.0053    0.0000     2.16     0.59       1.56        Poor              Not felt/no damage potential         Light shaking/no damage potential
  CI:BBR   300.7  37.0  0.0013    0.0000     0.92     0.53       0.39   Very Good              Not felt/no damage potential              Not felt/no damage potential
  CI:RSS   300.7  37.0  0.0015    0.0000     1.65     0.56       1.09    Moderate              Not felt/no damage potential          Weak shaking/no damage potential

Summary of 51 site-specific forecast ratings for event:14937372
Very Good:  41.2%
Good     :  29.4%
Moderate :  23.5%
Poor     :   3.9%
Very Poor:   2.0%

Interpretation of Results

When comparing perfmance of these two EEW algorithms here are few things to consider. First, VS is an associator-based system. It uses phase picks to get a hypocenter and some other technique to get the magnitude. Once the event is declared, VS starts to forecast time series of parameters. In the current summaries, we use first reports from VS. Other plots showing more details of the time series will be developed. Once the VS forecasting starts, it updates event parameters lat,lon,mag,origin time. It also forecast pgv and pga at a set of CISN station locations. We are not sure how the set of stations to forecast for are decided, but it is fixed for the full trigger report. Event parameters and pgv and pga for all sites are updated every timestep (5 seconds). The number of sites varies by event we've seen between 20 and 50 per M4-5 events.

The OnSite algorithm is intended to be a faster algorithm because it is a single station approach. It produces a trigger, a final mag, a peak pgv.

We currently produce the intensity-skill summary using all available onsite triggers for each event. We combine the pgv forecasts to create the map.

However, a better comparison to the VS may be to use the magnitude forecast at each trigger, and use that to forecast ground motions at station sites, using an attenuation relationship.

VS must use this kind of approach to produce it's groundmotion forecasts. I think the On Site trigger might have enough information to use VS ground motion forecast to produce ground motion forecasts at multiple stations for each on-site trigger.

Trigger Matching Algorithms

The CTC software is designed to start processing when given one, or more, EEW trigger files produced by CISN EEW systems. The intent of the EEW Evaluation system is that it will compare earthquake and ground motion forecasts from these trigger files against the observational data collected by the CISN and other network operators. The reference observational catalog is the ANSS catalog. We are uncertain the time lag before recent earthquakes appear in this catalog. Given a trigger file, each forecast is matched to a ANSS event. Then observational data about the event is used to produce goodness of fit metrics for the forecasting system.

Developing the algorithm testing system, we learned there are many ways to match triggers to ANSS events. The system should automatically do the matching and also allow users to override automatic matching results.

The matching for current CTC is done differently for VS triggers and On Site Triggers.

The On Site triggers contain an associated CI event. We assume a network CI and match CI:EventID to the ANSS catalog. This usually works, but we have seen a Mamonth event trigger with a CI event id, but in the ANSS catalog, it was under an nothern california event id. To process this event, we added a duplicate of the norcal ANSS event, and put the duplicate into the anss_catalog file, and then the trigger could be processed.

The VS trigger does not have an associated event id. This is more typical case, or the expected case because the EEW algorithms are declaring their own events before CISN events are declared.

The current system takes the vs trigger file. VS trigger files have one earthquake per file. The system finds the Vs trigger time, and then finds an ANSS event with the closest origin time to the trigger time. The trigger and event that get matched must be within configuration.parameter 240 seconds of each other. The matches are put into an output file.

The matching system is separated from the other parts of the processing. It may require humans to correctly match triggers to events. As designed, humans can update or correct the automatically generated matching file. The rest of the CTC codes only use the matches in the matching file, regardless of how they were made.

Input Configuration Files

File-based inputs of CISN configuration information is needed.

  • CISN station list with network,station,channel,location,lat,lon
NP 1821 HNZ -- 37.798599 -122.268402 
  • Set of Shakemap files current in stationlist.txt format
  • ANSS catalog file of events in format from web page
2010/06/02 09:30:47.55  32.0432 -115.2220  10.00  3.96   ML   12          0.21  CI      14731660

Usage Overview

To process EEW trigger files for current or future events you can take the following steps.

  1. Install ctc software distribution from scec's github repository. Before any formal release, the expectation is that the current version is best available. Once we have release versions, select the one most appropriate for your use.
  2. Setup CISN confirmation files. Default files are included in distribution, but may need to be updated as network changes. These include stations list, ANSS catalog for a specific region, and time period, and magnitude limit.
  3. Collect ShakeMap event files. For the CTC performanc analysis processing to work, it requires the observational data from ShakeMap stationlist.txt files. We currently use the .txt format files, but we believe the information content is equivalent to the shakemap xml files, so either can be used.
  4. If your trigger files are VS files, you need to trigger2anssevent.txt file to process VS triggers. Default programming is to generate this from ANSS catalog and trigger files. Since we get EEW triggers only for larger events, matching isn't currently a problem. If it is, the system supports manually creating the trigger to event matching file to ensure each trigger is matched and compared to the correct ANSS event.
  5. the main directory is called ctc
  6. In ctc directory, there are three subdirectories:
    1. Inputs
    2. Outputs
    3. src
  7. In the Inputs directory. There are three subdirectories:
    1. authdata
    2. vs_triggers
    3. onsite_triggers
  8. Put the VS trigger files into the vs_triggers subdirectory. Put the OnSite trigger files into the onsite_triggers subdirectory.
  9. In authdata, there are two files and a subdirectory
    1. anss_catalog_2011.txt
    2. cisn_stations_13April2011.txt
    3. shakemaps
  10. The anss_catalog contains events retrieved through the anss web site
  11. The cisn catalog contains sncl and lat,lon for most cisn stations. This should include all stations at which ground motions are forecast by any of the EEW algorithms. When processing a trigger file, a station may be reported as missing. Find out the station information from somewhere, and add it into this catalog to continue processing
  12. Shakemap files in order to produce performance summaries for any eew triggers. Shakemap files have observed pga and pgv for many cisn stations for larger california earthquakes. CTC matches a trigger to a shakemap through the anss event id. So to process a trigger, match the trigger to anss event, and match the anss event to a shakemap file.
  13. All configurations in place and all trigger files to process posted in inputs move to the src directory
  14. gen_ctc.py
  15. This generates a results and puts the results into the output directory.
  16. Updates are sequenced to avoid overwriting. Update files that can be viewed as an html file with links to images and data files used in the summaries.
  17. Currently, the system will produces one summary per event per EEW algorith. The ground motion forecast evaluation report is an event specific forecast skill summary defined in a 2008 CISN testing meeting. Example shown below. Further performance summaries will be added.

Intensity Equations

There are formulas presented in the CISN testing document that provide formula's to convert PGV and PGA, or just PGV to intensity. We use first for VS intenstiy and other for On Site.

The formulas were somewhat vague on what type of logs to use, and what units to use in the input PGV values. We ended up with mms and that seems to be the right formula. Below is psuedo code showing how we implemented the algorithms.

These algorithms seems to consider non-integer intensity values so we support those here.

def convertVelocity2Intensity(pgv_val):
    pgv_in_mms = pgv_val*10.0
    ite = (2.10 * math.log10(pgv_in_mms)) + 3.40
    if ite >= 5:
        ite = (3.47 * math.log(pgv_in_mms)) + 2.35
    return ite

def convertToIntensity(pgv,pga):
    #
    # inputs to floats, returns a float
    #
    pgv_in_mms = pgv*1000.0
    pga_in_mms2 = pga*1000.0
    inten = (2.20 * math.log10(pga_in_mms2)) + 1
    if inten < 0.0:
        inten = 0.0
    if int(inten) > 5.0:
        inten = (3.66 * math.log10(pga_in_mms2)) - 1.66
    if int(inten) > 7.0:
        inten = (3.47 * math.log10(pgv_in_mms)) + 2.35
    return inten

Performance Evaluation Summaries

Two descriptions of performance summaries include:

  • CISN Testing Document
  • CTC Group Evaluation Collection

We separate the summaries into "Event" Summaries and "Catalog" Summaries where catalog means any set of earthquakes, and the summary must make it clear what criteria were used to define the catalog.

CISN On Site Trigger

An example CISN Trigger file is posted here:

We noted several things about the current formatting.

  1. The report id never changes. The intention was that this uniquely identified the file. But it is currently fixed.
  2. Forecasts PGV and Mag only
  3. Reports both algorithm and alert time, the delta seems to vary from 2 to 5 seconds. This may represent the processing time of algorithm.
  4. Multiple forecasts per trigger file
  5. Multiple events per trigger file
  6. Seems to report duplicate forecast information for each trigger. One copy of the trigger also contains observational data for the trigger. It is unclear how the trigger is match to the event id. We noted that in some cases the event id reported in the trigger file is not the final ANSS event id.
  7. The event id does not have a network id so we assume it is CI network event

VS Trigger Reports

VS is running on southern California Events. We noted the following.

  1. Reports one event per trigger file
  2. Each trigger file reports source of report
  3. Each trigger file contains a set of time series
  4. It seems that all time series in the trigger report have the same timestamps
  5. Event oriented time series include:
    1. magnitude
    2. lat
    3. lon
    4. origin time
  6. Region-oriented time series include
    1. pgv
    2. pga

ShakeMap Data

We are currently working with the ShakeMap stationlist txt file. We may convert to the stationlist xml files, but it was easier to parse the column oriented to start.

We use the ShakeMap data as reference observational data for station amplitude values.

We have identified several characteristics to the ShakeMap observational reports.

  1. Two main formats are the CI: and NN: events, and ECX events. ECX events have their pgv and pga values in different columns than the others, so this type of ShakeMap report must be checked for while parsing.
  2. ShakeMap files also have different number of columns populated. Currently we require that both PGA and PGV are listed before we use it as a authorized data observation. The goal is to maximize the number of observations we have to compare to forecasts. Right now, we don't have forecasts at PGV or PGA only sites. Once we do, we should add small modification to track observations even if they only have one component of data.
  3. We pull event ID from the header of the Shakemap file. However, it does not list the network, which we need to match it up in the ANSS catalog.

Migration to ShakeAlert Testing

Current capabilities are retrospective. They can be downloaded and used to process Trigger files and produce retrospective reports. The intention is that the current tools will be useful in prospective testing of ShakeAlert. Current trigger exchange format may be changed to use a version of ShakeMap format which would be more standardized.

Processing Flow

Current design is based on processing one or more trigger reports. Currently two types of trigger reports are supported CIT On Site, and ETH Virtual Seismologist.

  1. Init CISN Station list, ANSS EQ catalog, ShakeMap catalog
  2. For each Trigger File
    1. Mapped to One or More ANSS Events and observed data from ShakeMap
  3. For each event in trigger file
    1. write event summary
    2. Add to catalog summaries
  4. write catalog summaries

ANSS Catalog Files

We create a catalog of ANSS events based on the ANSS web-based catalog search capabilities. The query parameters for the ANSS catalog are in the header of the file. This catalog represents the authorized reference data for events in the testing region. While we use ShakeMap data files to get station information, we use ANSS catalog as the reference event catalog.

  • Example ANSS Catalog File

Central California Event

During a recent central california event several issues emerged. First the shakemap results that arrived via the shakereader seemed to have only two rows of stations. Then, via the ShakeMap web site, we were able to find a complete ShakeMap file. Next, the event arrived by email but was not available in the ANSS catalog. We had to manually enter the event information from the email into an anss catalog entry for use in processing. Then we saw that all the stations in the ShakeMap observation file were NorCal stations, however the forecast stations in the VS trigger were all southern California stations. This looks to be a limitation of using ShakeMap files for source of observational data

Software Download

CTC software is intended to be general purpose and will be posted online as open-source. SCEC software version is date-based, something like v11.4.0

Development Version Version:11.5.0

CTC Software is posted in repository on SCEC SVN repository


If you have a SCEC account you can retrieve the project files with the following command

%svn checkout http://source/usc.edu/svn/ctc/trunk

Contributors

Related Entries

See Also