1 / 20

Southern California Earthquake Center CVM-H Development Plan 2010 Q1

Southern California Earthquake Center CVM-H Development Plan 2010 Q1. Patrick Small Research Programmer. Goals with CVM-H. Formal release of CVM-H suitable for use in CyberShake and other modeling projects

eric-gould
Download Presentation

Southern California Earthquake Center CVM-H Development Plan 2010 Q1

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Southern California Earthquake CenterCVM-H Development Plan2010 Q1 Patrick Small Research Programmer

  2. Goals with CVM-H • Formal release of CVM-H suitable for use in CyberShake and other modeling projects • Maintained under s/w configuration management and assigned consistent version identifiers • Produce set of acceptance test results for each new release that gives confidence in the quality of the model

  3. Features/Products to Support Goals • CVM-H coverage extended and support for querying by depth (topography flattening) • Set of comparison plots of SCEC CVM4 versus CVM-H at various depths and locations • Testing framework with automated unit tests for vx and visualization tools • Automated acceptance tests that include two reference problems for synthetic seismogram generation based on CVM-H

  4. Extending CVM-H • Implement simple C API to allow programs to query model directly • Improves query speed • Simplifies query process for C/Python applications • Allows modeler to easily add their own background model • Extend traditional vx interface to allow querying by depth (topo flattening) • Many modeling groups generate meshes where the z coordinate represents depth • Extract 1D background model from SCEC CVM4 and integrate it into CVM-H with smoothing in a 50km transition zone • Necessary so model covers entire CyberShake region

  5. Extending CVM-H – C API • Add new C static library, libvxapi.a, to CVM-H distribution • Programs that import library can query directly without having to run vx in a sub process • Supports querying by lon/lat or UTM coords • Allows program to define its own background model to extend CVM-H (the SCEC 1D background model from CVM4 is predefined) • Allows program to query by depth by providing function to determine true surface at any point • Conversion from depth to elev is then: elev = true_surface – depth • (Probably better to provide additional query function that just accepts depth and above calc is done inside function call)

  6. Extending CVM-H – Current C API • /* Initializer */ • intvx_setup(char* data_dir); • /* Get version number */ • void vx_version(char *ver); • /* Initialize data structures */ • void vx_init_entry(vx_entry_t *entry); • void vx_init_voxel(vx_voxel_t *voxel); • /* Retrieve data point in LatLon or UTM */ • void vx_getcoord(vx_entry_t *entry); • /* Retrieve true surface elev at data point */ • void vx_getsurface(double *coor, vx_coord_tcoor_type, float *surface); • /* Retrieve data point by referencing voxel index position */ • void vx_getvoxel(vx_voxel_t *voxel); • /* Register user-defined background model handler */ • void vx_register_bkg( int (*backgrnd)(vx_entry_t *entry, vx_request_treq_type) ); • /* Register SCEC bkg/topo handlers */ • void vx_register_scec(); • /* Predefined SCEC bkg/topo handler */ • int vx_scec_1d(vx_entry_t *entry, vx_request_treq_type);

  7. Extending CVM-H – vx_lite • Add new executable, vx_lite to CVM-H distribution • vx_lite is a reimplementation of vx using a C API • Supports querying by depth, elevation offset, all original vx functionality • Command-line flag enables use of SCEC 1D background for points outside of original CVM-H model • Executes faster and is more robust due to optimizations and more error checking

  8. Visualization Tools • In order to evaluate CVM-H, scientists need: • Plots of Vp, Vs, Rho at user defined depths • Plots of Vp, Vs, Rho for vertical slices between two arbitrary lon/lat points • Plots of Vs30, Z2500 • Comparison plots showing CVM-H and CVM4 side-by-side • Difference plots showing CVM-H minus CVM4 for the property of interest • Any viz tool will need to support the above plot types at a minimum

  9. Viz Tools – Slice Tool • The Slice Tool is a simple plotting script to produce high-quality images from CVM-H and CVM-4 • Develop in Python 2.6 with the matplotlib and basemap modules • Runs in an automated manner, no dependencies on X11 or GUI editors. • Simple command line interface: • ./Slice.py <map_type> <outfile> <map arguments>

  10. Viz Tools – Slice Tool Examples • Horizontal slice, Vp at depth 0.0m • ./Slice.py hor hor_0_vp.png 0.0 Vp • Vertical Profile Slice for Vp between two points • ./Slice.py prof profile1_vp.png -119.292 34.431 -118.966 34.098 Vp

  11. Testing • New test center at SCEC with CruiseControl, Pegasus, Condor, and Globus • SCEC machine aftershock is current candidate server to host software • CruiseControl continuous integration tool will be used to conduct unit and acceptance tests of CVM-H • Checkout CVM-H and Viz tools • Build CVM-H locally and on grid resource • Execute individual unit tests • Execute acceptance tests on high-performance computing resources • Generate set of reference plots • Generate test reports and distribute results by web and email

  12. Testing – Unit Tests • Coverage over all the public functions in the vxC API • Verification of vx, vx_lite output using the “Eight Test Points” from the User Manual for the SCEC CVM-H 6.2 (/doc/cvmh_manual.pdf): • -125 35 -7777 • -118.56 32.55 -2450 • 360061 3750229 -1400 • -118.52 34.12 -1400 • -116.40 32.34 -1000 • 376592 3773379 -1770 • 376592 3773379 -17700 • 408669 3766189 -3000 • Note: May fail if underlying model is changed in a significant way

  13. Testing – Acceptance Tests • Two point source reference problems: Chino Hills, Yorba Linda • Kim Olsen’s AWP codes used for synthetic seismogram generation • Simulations executed at low frequency (0.25 Hz) for fast execution time and low resource usage • Synthetic seismograms compared to observed using GOF codes • Thin Python wrapper interfaces CruiseControl to Pegasus/Condor • Parses Pegasus logs • Examines condor queue • Keeps running while simulation in progress • Formats errors with FAIL strings to stdout for CruiseControl

  14. Testing – Test Center Diagram

  15. CVM-H Release Process - External • Quarterly release schedule, with possibility of interim releases to fix urgent defects • CSEP style release identifiers YY.MM.Rev (ie: 10.3.0) • Press release to SCEC community on www.scec.org

  16. CVM-H Release Process - Internal • Obtain new version of vx model (GoCADvoxel volumes) from Harvard University • Update vx extraction code if necessary to support new model • Check-in new model and codes into SVN repository • Schedule automated build and test with CruiseControl • Review test results to ensure all tests executed successfully • Scientific review of plots and synthetic seismograms • Assign version label YY.MM.Rev to that version of CVM-H • Package CVM-H model, vx source code into downloadable distribution • Public announcement on scec.org that CVM-H YY.MM.Rev is available for download with link

  17. Iteration Plan 2009 Q4 / 2010 Q1

  18. Iteration Outline 2010 Q2 • If development continues into Q2, additional functionality could include: • Expand CVM-H C API to allow querying array of points, and a query by depth function which abstracts all the depth-elev conversion issues • Acceptance test for the Yorba Linda reference problem w/ GoF verification • Employ finite-fault sources instead of point sources • Increase simulation frequency to 0.5 Hz or higher • Customize CVM-H Trac site (http://intensity.usc.edu/trac/cvmh) and promote it as collection point for suggestions and bug reports • Submit acceptance tests to ranger (may be difficult since shock is the only authorized submit host for TACC)

  19. Risks • Difficulties preparing Kim Olsen’s AWP code for execution on HPCC • Mitigated by separating task of generation of synthetic seismograms from GoF comparisons. Allows GoF task to be postponed. • Mitigated by running simulation at low frequency, 0.25 Hz • Unexpected CruiseControl behavior for long running tests • No known limit exists but these acceptance tests will be longest running tests that SCEC has attempted with CC • HPCC outages

  20. End

More Related