Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Doc/nshm model relational.md #11

Open
wants to merge 5 commits into
base: main
Choose a base branch
from
Open

Conversation

chrisbc
Copy link
Member

@chrisbc chrisbc commented Nov 13, 2023

commit WIP on domain model (which includes relational work to date)


The NZ NSHM project publishes **Seismic Hazard Model** versions in the [GNS_Science/nzshm-model]() github repository.

Models may be Published or Partial.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd go with Published or Unpublished

Models may be Published or Partial.

- Published models are for use by 3rd parties e.g. `NSHM_v1.0.4`.
- Partial/Unpublished models are typically used for comparisons against complete models, e.g sensitivity tests. They usually are most informative when compared to a published model.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"Unpublished models are typically used for scientific experimentation, e.g. sensitivity tests or testing new concepts."
Remove sentence about "usually are most informative . . ."

class HazardModelRealisation {
vs30s() integer
LocationList() string[]
IMTList() string[]
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

add IMTLList() string[]
we specify both the IMTs (intensity measure types) and the IMTLs (intensity measure type levels)

tag() string e.g. `Hik TL, N16.5, b0.95, C4, s0.42`
}

class SourceLogicTreeSource {
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't like the nomenclature that uses "Source" twice. What if we changed SourceLogicTreeSource to be simply Source? Just like a WalnutTree has Walnuts not WalnutTreeWalnuts


In `NSHM_v1.0.4` the model contains 4 SourceLogicTreeGroups: one each for Crustal, Hikurangi, Puysegur and Slab sources.

Each SourceLogicTreeSource is a re-useable arrangment of fault sources, so these are uniquely identified to support reuse in independent **Seismic Hazard Models**.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If we follow the above change to Source then this could be changed to:
Each Source is a re-useable arrangement of ruptures (individual earthquake sources), so these are uniquely identified to support reuse in independent Seismic Hazard Models.


NSHM and many other SeismicHazardModels will include different types of SourceLogicTreeSource model.

In NZ NSHM we have three ...
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this is too specific and restrictive. We can describe in generic terms that we can combine Source objects or have just a single one to create a SourceLogicTreeBranch. We can use the current model as an example of how sources are split by region and/or TRT and that some have multiple contributions (IFM + DSM) and others are just a DSM

notes() string
}

class SourceLogicTreeGroup {
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could we make our terminology less of a mounthful by using SRM instead of Source?
SRMLogicTree
SRMLogicTreeGroup
...

Though, this may then not match with what we've done in nzshm-model (does that matter?)

- Subduction sources contain a single fault source describing the ruptures that can occur across the subduction fault system.
- A single Slab source that describes source rates occuring in the interface region (25-)

We use the NRML (XML) file format for SourceLogicTreeSource sources. This format is required to run hazard calculation in Openquake, and it's well known throughout our user community.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is now a combination of XML and hdf5

}

SeismicHazardModel -- "0..*" HazardModelRealisation
HazardModelRealisation -- "0..*" HazardCurveResult
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not sure I follow the difference between HazardModelRealization and HazardCurveResult


???+ "Accessing the NSHM hazard realisations"

The NZ NSHM project makes Hazard Model Realisations available via a graphql web API. There is also a python client library that wraps the web API and also allows the user to cache results locally for better performance in many situations.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this true? We use THS to store/retrieve component realizations. The composite realizations are not kept (at the moment).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants