gns-science / nzshm-opensha Goto Github PK
View Code? Open in Web Editor NEWrenamed successor to old nshm-nz-opensha , all python history removed to new nzshm-runzi repo
License: MIT License
renamed successor to old nshm-nz-opensha , all python history removed to new nzshm-runzi repo
License: MIT License
Will the real kermit please stand up?
New inversion solution report with crustal solution e.g. SW52ZXJzaW9uU29sdXRpb246NjYzMy41RTZYMzU= produces maps for CA instead of NZ. See participation section.
Similar to #44
Notes:
Wellington Fault - currently there is just one MFD plot for the Wellington Fault, and it covers/combines two distinct sections of the fault:
Alpine Fault: currently there is just one MFD plot for the fault, and it covers/combines three distinct sections of the Alpine Fault.
Done Criteria:
As developers, we want to be able to build our code against the latest upstream changes.
It seems we have some potential overlap between two methods of reducing the count of ruptures in subduction-zone rupture set . We should look at both methods and decide which we should use going forward . Maybe one method should be deprecated.
NB this is not urgent as for now, we're OK with disabling both thinning and coarsening whilst we're working with 30km tiles.
We need focal mech grids in order to calculate hazards.
For now, we'll use the 2010 data from https://github.com/GNS-Science/fortran_SHMs/blob/main/2010_NSHM-corrected/NZBCK615.txt
From that file, we'll take the mechanics ("nn", etc) and the location.
Mapping from source mechanics to weight:
source mechanics | normal | reverse | strike-slip |
---|---|---|---|
nv, nn, ns, ds | 1 | 0 | 0 |
rv, if | 0 | 1 | 0 |
sr, ss, sn | 0 | 0 | 1 |
ro, rs | 0 | 0.5 | 0.5 |
Each location in the target grid will be mapped to the nearest location in the source grid.
The SRM Team want to start using new opensha features implemented in the opensha/modular-fault-sys-rup-set2 branch
so we can explore in-flight inversion averaging techniques, pertubation optimisations and the new reporting codebase and outputs.
Done when:
SRM Team want to experiment with the new MFD weighted by uncertainty constraint in both Crustal and Subduction inversions
NB depends on opensha/opensha#45
Done when:
SRM want to use geodetic deformation models
Notes:
Done when:
Provide the same interface we use https://github.com/GNS-Science/nshm-nz-opensha/blob/2f9f56b2ea66f34c5961c0e30757ee79f2be5fb5/src/main/java/nz/cri/gns/NZSHM22/opensha/inversion/NZSHM22_AbstractInversionRunner.java#L506 ...
ArrayList<ArrayList<String>> rows = new ArrayList<ArrayList<String>>();
etc...
SRM Team
want to have an option to build subsections from parent faults whose length is independent of Down Dip Width (DDW) aka seismogenic depth
So that we can compare the impacts with rupture sets vs UCERF3- style (where subsection Length is typically 0.5 of DDW)
Check if the current algorithm adjusts subsection lengths to fit uniformly, or at the two end subsections.
Done When
Comparing OLD July example InversionSolution: SW52ZXJzaW9uU29sdXRpb246NjA0My4wVkxUdE4=
with NEW October: InversionSolution: SW52ZXJzaW9uU29sdXRpb246MTI2MzcuMDVuNnNx
We see that the slope of the targetOnFaultSupraSeisMFD_SansTVZ curve is very different to the overall GR slope. This is visbile in the plots below ...(only from the new version)...
What has changed here? Is it our NZSHM targetMFD configuration or some change in upstream modular migration?
SRM team want to compare new Scaling relation with others.
Done When:
#optionA
.setScalingRelationship(x)
.setScalingRelationship(x, recalc_mags = False, True)
SRM Team want to produce Hazard results (PGA, SA, point, gridded) from Subduction Inversion Solutions
so that these can be explored.
Done when:
To reproduce , run new solution report on SW52ZXJzaW9uU29sdXRpb246NjYzMy41RTZYMzU= to get this error:
scheduling: /home/chrisbc/DEV/GNS/opensha-new/AWS_S3_DATA/WORKING/task_1.sh
task count: 1
call_script with: /home/chrisbc/DEV/GNS/opensha-new/AWS_S3_DATA/WORKING/task_1.sh
Picked up JAVA_TOOL_OPTIONS: -Djava.awt.headless=true
Error processing plot (skipping): SolMFDPlot
java.lang.NullPointerException
at org.opensha.sha.earthquake.faultSysSolution.reports.plots.SolMFDPlot.plot(SolMFDPlot.java:60)
at org.opensha.sha.earthquake.faultSysSolution.reports.AbstractSolutionPlot.plot(AbstractSolutionPlot.java:22)
at org.opensha.sha.earthquake.faultSysSolution.reports.ReportPageGen.generatePage(ReportPageGen.java:662)
at nz.cri.gns.NZSHM22.util.NZSHM22_ReportPageGen.generatePage(NZSHM22_ReportPageGen.java:46)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at py4j.reflection.MethodInvoker.invoke(MethodInvoker.java:244)
at py4j.reflection.ReflectionEngine.invoke(ReflectionEngine.java:357)
at py4j.Gateway.invoke(Gateway.java:282)
at py4j.commands.AbstractCommand.invokeMethod(AbstractCommand.java:132)
at py4j.commands.CallCommand.execute(CallCommand.java:79)
at py4j.GatewayConnection.run(GatewayConnection.java:238)
at java.base/java.lang.Thread.run(Thread.java:829)
worker count: 4
Done! in 245.182637 secs
SRM team want to know if there's a problem in the Target MFD configuration (crustal, but potentially also subduction), whereby the upper bin for BG seismicity and the lower bin for supra-seimogenic (Truly on-fault) maybe not the same bin.
The concern comes from the observation that in most cases we see MFD solution plots where there's missing rates in the 6.95 or 7.05 bin. This plot (from this view) is pretty typical. BG has falled off heavily at 6.95 before the on-fault kicks in at 7.05.
SRM team want to use paleo timing constraints in inversions.
SRM need to understand the impacts of variou sMFD changes without the full inversion/diagnostics cycle.the primaryt the MFD target plot produced for evaluating our changes.
Matt identified two changes needed in the main MFD plot to assist with evaluations. Compare:
http://nzshm22-static-reports.s3-website-ap-southeast-2.amazonaws.com/opensha/DATA/SW52ZXJzaW9uU29sdXRpb246[…]ources/mfd_plot_Total_Target_MFDs.png with
http://simple-toshi-ui.s3-website-ap-southeast-2.amazonaws.com/InversionSolution/SW52ZXJzaW9uU29sdXRpb246MTM2MTEuMGI4U1lK/InversionSolutionMfdTab
In the opensha report we want
SRM want to run inversions using Paleo timing constraints.
Done when
Hikurangi + Kermadec need individual MFD targets.
Done When
As SRM team we want to obtain the MFD curve values for both the final and target MFDs from each inversion
so that they can be saved to API Table objects for analysis, plots etc.
For both TargetMFD and ResultMFD we want both sub-seismogenic and supra-seisomogenic series
@mcg-gns in Crustal Inversions we have both TVZ and Non-TVZ MFD targets for sub and supra. Can these be simply summed in our plots to compare to the singular NZ result? And/or does the MFD result need to be split regionally ?
SRM team want to use the latest solution reports provided in 'modular'
Check configuration and serialisation under modular.
SRM team want to specify the period (in seconds) for opensha SA Hazard curves, with the special case of 0
meaning PGA (by convention)
so that the required Spectral Acceleration AND and Peak Ground Acceleration curves are availalbe for hazard calcs
SRM (Matt) want to know why we're seeing plots showing faults with some rate (in Solution) where there's a 0/mm Target slip rate in the Fault Model (+deformation).
Update
examples:
closed by #11
SRM Team want to provide our deformation modellers with a crustal fault models suitable for indexing rates/rakes in their deformation models,
So that the new deformation models can be used.
Notes:
Done when:
Notes :
example input XML extract...
<i12 sectionId="12" sectionName="Akitio Ridge, Subsection 0" aveLongTermSlipRate="0.0" slipRateStdDev="0.0" aveDip="30.0" aveRake="-90.0" aveUpperDepth="0.0" aveLowerDepth="14.0" aseismicSlipFactor="0.0" couplingCoeff="1.0" dipDirection="303.3" parentSectionName="Akitio Ridge" parentSectionId="5" connector="false" class="org.opensha.refFaultParamDb.vo.FaultSectionPrefData">
<FaultTrace name="Akitio Ridge 1">
<Location Latitude="-40.0364" Longitude="178.4939" Depth="0.0"/>
<Location Latitude="-40.11273858869155" Longitude="178.3861602111714" Depth="0.0"/>
</FaultTrace>
</i12>
Hardwired for now, similar to Subduction MFDs
pass in some args alongside the SR spec etc
As Chris C, I want to be able to tag a git commit and automatically receive a docker image for that commit.
The SRM Team want to start using new opensha features implemented in the opensha/modular-fault-sys-rup-set2 branch
so we can explore in-flight inversion averaging techniques, pertubation optimisations and the new reporting codebase and outputs.
NB this is identical to #20 but for Crustal Inversions
Done when:
This API method is used recent runs using our main branch, but it's been accidentally removed I think....
Related & also missing ...
which used the missing constructor....
Checking that pre/post modular inversions are working as expected. to the A/d matrices setup.
Kevin, he advised us that 'for the same inversion config, we should see the exact same values in A & D matrices' both before and after modular.So we're i) checking we have the same config (taking into consideration that stuff is changing here), then ii) we get the same inversion inputs.
Right now there are big differences with crustal but we have yet to satisfy i) above.
Done when:
TVZ MMin should be Mw 6.0. Only reduce the Mmin for TVZ, and for for the rest of the country please keep it at Mmin of 7.0.
SRM team want to calculate combined hazard PofE curve from two hazard sources (inversion solutions) in opensha: Crustal (including background) and Subduction,
so that an exploratory view of the combined hazard is available.
Notes:
So, given a Crustal Hazard curve with either g or period as the X axis, we can take the Rate values, add them together and then convert the combined rates to an exceedance curve
SRM want to run inversions using a Y&C target (instead of Gutenberg Richter)
SRM team
want to refine map visualisations used in Subduction inversions Diagnostic reports - this covers both Participation and Slip plots
so that subtle differences are more easily spotted.
We need @mcg-gns input here to confirm specifics, but
NB there may be interactions between these two changes, so they should probably be tried sequentially??
We had some issues with 10km geometries that need looking into. This is just a quick dump, they should be split out to individual tickets:
SRM need to understand the impacts of variou sMFD changes without the full inversion/diagnostics cycle.the primaryt the MFD target plot produced for evaluating our changes.
Matt identified two changes needed in the main MFD plot to assist with evaluations. Compare:
http://nzshm22-static-reports.s3-website-ap-southeast-2.amazonaws.com/opensha/DATA/SW52ZXJzaW9uU29sdXRpb246[…]ources/mfd_plot_Total_Target_MFDs.png with
http://simple-toshi-ui.s3-website-ap-southeast-2.amazonaws.com/InversionSolution/SW52ZXJzaW9uU29sdXRpb246MTM2MTEuMGI4U1lK/InversionSolutionMfdTab
In the opensha report we want
For SRM analysis
done when:
For subduction (horizontal) faults colouring we'd like to 'fill the tiles", rather than the top trace line, so that it's easier to see the scales. See slack thread
NB I'm adding the issue to this project, but I suspect most of of the work can be included in opensha/opensha. Here we'll simply need to pass the appropriate report config option.
Done when:
Lauras rate model near trench (eastern boundary)
We've shown in #64 the b-values in background targets are not handled properly. We need to fix this so that:
totalSubSeismoOnFaultMFD_*
use the regional b-valuesSRM want crustal Inversions to use NZ paleo constraint data from new dataset
Integration of data is covered by #49 , this covers:
SRM Team want to parameterise the setting of total GR minimum rates
so that we can run experiments on this.
Description
For Kevin feedback..
setting up our new inversions using Subduction and MFDUncertainyWeightedConstraints in place of MFD Eq/InEq. In the process I found some annealing code that failed on an inversion without any ineq type constraint setup. I had a quick look in debugger but decided to back out of there.
As a workaround I’ve configured a very low weight MFD inequality constraint and that’s got us going.I’m happy to create a failing test to pick this out for you, but first I wanted to check that this is meant to be possible??
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.