diff --git a/docs/pages/Model-Structure.md b/docs/pages/Model-Structure.md index dc7a55de5a11acb278453f7db604f00f5bc5d93b..9bef2129c54dda69bb30271fcbf6549c065878f3 100644 --- a/docs/pages/Model-Structure.md +++ b/docs/pages/Model-Structure.md @@ -11,14 +11,15 @@ for representing model data and relationships and is supported in most programmi ## Directory Structure Earthquake source files are organized by tectonic setting: `active-crust`, `stable-crust`, -`subduction-interface`, `subduction-slab`, and `volcanic` with the two crustal and the volcanic -settings supporting the nested source types: `fault-sources`, `grid-sources`, and `zone-sources`. -The `volcanic` tectonic setting also supports `decollement-sources`. +`subduction`, and `volcanic`. The crustal and volcanic tectonic settings support `fault`, `grid`, +and `zone` source types. The volcanic tectonic setting additionally supports a `decollement` +source type. The subduction tectonic setting supports `interface` and `slab` source types. The root of a model must include `model-info.json` and _may_ include a `calc-config.json` that specifies any custom default [calculation configuration](./Calculation-Configuration.md) settings -for the model. Top level tectonic setting directories must include `gmm-tree.json` and -`gmm-config.json` files. Source directories are loaded recursively, permitting configuration files +for the model. Top level tectonic setting directories may include a `gmm-tree.json` and +`gmm-config.json` files. If absent, the two ground motion model files must be present in the nested +source type directories. Source directories are loaded recursively, permitting configuration files deeper in the heirarchy to override those defined higher in the heirarchy, as needed and as specified for each source type. Nested directories support associations between groups of sources, their configuration and initialization, and ground motion models. If there are a large number of @@ -31,26 +32,33 @@ model-directory/ ├─ calc-config.json (optional, overrides defaults) │ ├─ active-crust/ - │ ├─ gmm-config.json (required, can override) - │ ├─ gmm-tree.json (required, can override) + │ ├─ gmm-config.json (required here or in child source type directory, can override) + │ ├─ gmm-tree.json │ │ - │ ├─ fault-sources/ + │ ├─ fault/ │ │ └─ ... │ │ - │ ├─ grid-sources/ + │ ├─ grid/ │ │ └─ ... │ │ - │ └─ zone-sources/ + │ └─ zone/ │ └─ ... │ ├─ stable-crust/... Same structure as 'active-crust' │ └─ ... │ - ├─ subduction-interface/ Similar structure to 'fault-sources' - │ └─ ... + ├─ volcanic/... Same structure as 'active-crust'; may include + │ └─ ... 'decollement' source type │ - └─ subduction-slab/ Similar structure to 'grid-sources' - └─ ... + └─ subduction/ + ├─ gmm-config.json (required here or in nested source type directory, can override) + ├─ gmm-tree.json + │ + ├─ interface/ Similar structure to 'fault' sources + │ └─ ... + │ + └─ slab/ Similar structure to 'grid' sources + └─ ... ``` The following sections describe each source type, associated configuration and source definition @@ -65,7 +73,7 @@ surface trace of the section. The coordinate order of the trace must adhere to t geology right-hand rule. ```text -fault-sources/ +fault/ ├─ fault-config.json (required, can override) ├─ mfd-config.json (required, can override) ├─ mfd-map.json (optional) Map of shared mfd-trees @@ -105,7 +113,7 @@ trees of source model variants. Grid sources are modeled as point sources of var Multiple GeoJSON `Polygon`s may be used to accomodate spatial variations in source properties. ```text -grid-sources/ +grid/ ├─ grid-config.json (required, can override) ├─ mfd-map.json (optional) Map of shared mfd-trees ├─ features/ (required) Directory of grid feature bounds @@ -136,7 +144,7 @@ of dynamically computing rates over a zone from a single value or `rate-tree.jso a model.* ```text -zone-sources/ +zone/ ├─ zone-config.json (required, can override) ├─ mfd-config.json (required) ├─ mfd-map.json (optional) Map of shared mfd-trees @@ -164,7 +172,7 @@ define interface sections using a `MultiLineString` of multple traces at increas coordinate order of each trace must adhere to the U.S. structural geology right-hand rule. ```text -subduction-interface +interface/ ├─ gmm-config.json (required) ├─ gmm-tree.json (required) ├─ interface-config.json (required) @@ -182,7 +190,7 @@ rate files (`*.csv`) are stored adjacent to their corresponding feature file (`* _this may change in a future release_. ```text -subduction-slab +slab/ ├─ gmm-config.json (required) ├─ gmm-tree.json (required) ├─ slab-config.json (required) diff --git a/src/main/java/gov/usgs/earthquake/nshmp/DeaggCalc.java b/src/main/java/gov/usgs/earthquake/nshmp/DeaggCalc.java index 019cf5274025cdfcc1eb50c5ab6492235bbad21f..fba6b50e0034e8459e5372bbb4ec620b60255041 100644 --- a/src/main/java/gov/usgs/earthquake/nshmp/DeaggCalc.java +++ b/src/main/java/gov/usgs/earthquake/nshmp/DeaggCalc.java @@ -32,6 +32,7 @@ import gov.usgs.earthquake.nshmp.model.HazardModel; * * @author U.S. Geological Survey */ +@Deprecated public class DeaggCalc { /** diff --git a/src/main/java/gov/usgs/earthquake/nshmp/DeaggEpsilon.java b/src/main/java/gov/usgs/earthquake/nshmp/DeaggEpsilon.java index dc26e79c35a38189e16a1a74c65a544e568d3524..ef826317a8aaf2d7bda62ce9c02982b14093a352 100644 --- a/src/main/java/gov/usgs/earthquake/nshmp/DeaggEpsilon.java +++ b/src/main/java/gov/usgs/earthquake/nshmp/DeaggEpsilon.java @@ -42,20 +42,11 @@ import gov.usgs.earthquake.nshmp.internal.Logging; import gov.usgs.earthquake.nshmp.model.HazardModel; /** - * Disaggregate probabilisitic seismic hazard at a return period of interest or + * Disaggregate probabilistic seismic hazard at a return period of interest or * at specific ground motion levels. * * @author U.S. Geological Survey */ -/** - * Custom application to support 2018 integration into building codes. - * Application will process a list of sites for which the risk-targetd response - * spectra is supplied, deaggregating the hazard at each spectral period at the - * supplied ground motion. The set of IMTs processed is dictated by the set - * defined in the sites file. - * - * @author U.S. Geological Survey - */ public class DeaggEpsilon { private static final Gson GSON = new GsonBuilder() @@ -69,13 +60,20 @@ public class DeaggEpsilon { * <p>Two approaches to disaggregation of seimic hazard are possible with this * application. In the first approach, the 'sites' file is the same as it * would be for a hazard calculation, and disaggregation is performed for all - * calculated intensity measures at the 'returnPeriod' (in years)of interest - * specified in the config file (default = 2475 years) + * configured intensity measures at the 'returnPeriod' (in years) of interest + * specified in the config file (default = 2475 years). * * <p>In the second approach, the sites file includes columns for each * spectral period and the target ground motion level to disaggregate for * each. For example, the target values could be a risk-targeted response - * spectrum. + * spectrum, or they could be ground motion levels precomputed for a specific + * return period. + * + * <p>It is important to note that the first approach will do the full hazard + * calculation and compute hazard curves from which the target disaggregation + * ground motion level will be determined. In the second approach, the ground + * motion targets are known and the time consuming hazard curve calculation + * can be avoided. * * <p>Please refer to the nshmp-haz <a * href="https://code.usgs.gov/ghsc/nshmp/nshmp-haz/-/tree/main/docs"> diff --git a/src/main/java/gov/usgs/earthquake/nshmp/HazardCalc.java b/src/main/java/gov/usgs/earthquake/nshmp/HazardCalc.java index dbfc20203ce3bfc5174fd4d2719b2c9af7e1ddd3..f77db288f8be35064169d72cd4e132dff32fd6ca 100644 --- a/src/main/java/gov/usgs/earthquake/nshmp/HazardCalc.java +++ b/src/main/java/gov/usgs/earthquake/nshmp/HazardCalc.java @@ -326,7 +326,6 @@ public class HazardCalc { "https://code.usgs.gov/ghsc/nshmp/nshmp-haz/-/tree/main/docs"; private static final String USAGE_URL2 = "https://code.usgs.gov/ghsc/nshmp/nshmp-haz/-/tree/main/etc/examples"; - private static final String SITE_STRING = "name,lon,lat[,vs30,vsInf[,z1p0,z2p5]]"; @Deprecated private static String version() {