Difference between revisions of "CyberShake BBP Integration"

From SCECpedia
Jump to navigationJump to search
Line 8: Line 8:
 
*wcc_getpeak (C)
 
*wcc_getpeak (C)
 
*wcc_siteamp14 (C)
 
*wcc_siteamp14 (C)
*integ_diff (C)
 
 
*wcc_tfilter (C)
 
*wcc_tfilter (C)
 
*wcc_resamp_arbdt (C)
 
*wcc_resamp_arbdt (C)
 
*wcc_add (C)
 
*wcc_add (C)
 +
*integ_diff (C)
 +
 +
As part of the BBP, each of these pieces of code contains a main() function, which typically works as follows:
 +
<pre>
 +
main() {
 +
  // Parse command-line parameters
 +
  // Open and read input files into input data structure
 +
  // Execute science kernel, populating output data structure
 +
  // Open and write output files from output data structure
 +
}
 +
</pre>
  
For CyberShake, we wish to call the science kernels from BBP elements without needing to use all the intermediate data files.
+
For CyberShake, we would like to be able to use the science kernels of the BBP elements, but provide CyberShake-specific parameters, pass data structures around in memory between multiple elements, and read from and write to different data formats.

Revision as of 18:54, 11 February 2020

This page details the process of integrating CyberShake with the Broadband Platform. The goals of this integration are both to enable CyberShake to produce stochastic high-frequency seismograms as a complement to deterministic low-frequency seismograms, and also to avoid having to repeat the same integration process we went through for CyberShake 1.4 and CyberShake Study 15.12 every time we want to use the BBP stochastic codes.

Approach

We have identified the following BBP executables, or elements, which are needed in CyberShake:

  • srf2stoch (C)
  • hb_high (Fortran)
  • wcc_getpeak (C)
  • wcc_siteamp14 (C)
  • wcc_tfilter (C)
  • wcc_resamp_arbdt (C)
  • wcc_add (C)
  • integ_diff (C)

As part of the BBP, each of these pieces of code contains a main() function, which typically works as follows:

main() {
  // Parse command-line parameters
  // Open and read input files into input data structure
  // Execute science kernel, populating output data structure
  // Open and write output files from output data structure
}

For CyberShake, we would like to be able to use the science kernels of the BBP elements, but provide CyberShake-specific parameters, pass data structures around in memory between multiple elements, and read from and write to different data formats.