GMPEs , NGAWEST 2 Abrahamson et al 2014

286 views
Skip to first unread message

epeyg...@gmail.com

unread,
Sep 7, 2016, 7:32:42 PM9/7/16
to OpenQuake Users

Hi All,
 I am running senario risk model openquake version 2 , using abrahamson 2014 which implemented based on following link. 

http://docs.openquake.org/oq-hazardlib/0.20/gsim/abrahamson_2014.html



But I get following error , dose anyone have the idea why I get following error :
Thanks,
Elnaz




enquake@oq-1404:~$ cd /media/sf_Share_folder_with_Linux/Hayward6.8/
openquake@oq-1404:/media/sf_Share_folder_with_Linux/Hayward6.8$ oq engine --run job_hazard_risk.ini
[2016-09-08 01:14:10,926 #5 INFO] Using engine version 2.0.0
[2016-09-08 01:14:10,987 #5 INFO] Reading the exposure
[2016-09-08 01:14:19,978 #5 INFO] Read 43750 assets
[2016-09-08 01:14:25,766 #5 WARNING] Please upgrade /media/sf_Share_folder_with_Linux/Hayward6.8/vuln_model.xml to NRML 0.5
[2016-09-08 01:14:26,461 #5 CRITICAL]
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/openquake/calculators/base.py", line 143, in run
    self.pre_execute()
  File "/usr/lib/python2.7/dist-packages/openquake/calculators/scenario.py", line 65, in pre_execute
    trunc_level, correl_model)
  File "/usr/lib/python2.7/dist-packages/openquake/hazardlib/calc/gmf.py", line 84, in __init__
    self.ctx = ContextMaker(gsims).make_contexts(sites, rupture)
  File "/usr/lib/python2.7/dist-packages/openquake/hazardlib/gsim/base.py", line 298, in make_contexts
    dctx = self.make_distances_context(sites, rupture, {'rjb': distances})
  File "/usr/lib/python2.7/dist-packages/openquake/hazardlib/gsim/base.py", line 187, in make_distances_context
    distances = get_distances(rupture, site_collection.mesh, param)
  File "/usr/lib/python2.7/dist-packages/openquake/hazardlib/gsim/base.py", line 124, in get_distances
    dist = rupture.surface.get_ry0_distance(mesh)
  File "/usr/lib/python2.7/dist-packages/openquake/hazardlib/geo/surface/multi.py", line 277, in get_ry0_distance
    raise NotImplementedError()
NotImplementedError
[2016-09-08 01:14:26,519 #5 CRITICAL]
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/openquake/calculators/base.py", line 143, in run
    self.pre_execute()
  File "/usr/lib/python2.7/dist-packages/openquake/calculators/scenario_risk.py", line 94, in pre_execute
    base.RiskCalculator.pre_execute(self)
  File "/usr/lib/python2.7/dist-packages/openquake/calculators/base.py", line 358, in pre_execute
    self.compute_previous()
  File "/usr/lib/python2.7/dist-packages/openquake/calculators/base.py", line 311, in compute_previous
    precalc.run()
  File "/usr/lib/python2.7/dist-packages/openquake/calculators/base.py", line 143, in run
    self.pre_execute()
  File "/usr/lib/python2.7/dist-packages/openquake/calculators/scenario.py", line 65, in pre_execute
    trunc_level, correl_model)
  File "/usr/lib/python2.7/dist-packages/openquake/hazardlib/calc/gmf.py", line 84, in __init__
    self.ctx = ContextMaker(gsims).make_contexts(sites, rupture)
  File "/usr/lib/python2.7/dist-packages/openquake/hazardlib/gsim/base.py", line 298, in make_contexts
    dctx = self.make_distances_context(sites, rupture, {'rjb': distances})
  File "/usr/lib/python2.7/dist-packages/openquake/hazardlib/gsim/base.py", line 187, in make_distances_context
    distances = get_distances(rupture, site_collection.mesh, param)
  File "/usr/lib/python2.7/dist-packages/openquake/hazardlib/gsim/base.py", line 124, in get_distances
    dist = rupture.surface.get_ry0_distance(mesh)
  File "/usr/lib/python2.7/dist-packages/openquake/hazardlib/geo/surface/multi.py", line 277, in get_ry0_distance
    raise NotImplementedError()
NotImplementedError
[2016-09-08 01:14:26,597 #5 CRITICAL] Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/openquake/engine/engine.py", line 174, in run_calc
    _do_run_calc(calc, exports, hazard_calculation_id)
  File "/usr/lib/python2.7/dist-packages/openquake/engine/engine.py", line 207, in _do_run_calc
    close=False)  # don't close the datastore too soon
  File "/usr/lib/python2.7/dist-packages/openquake/calculators/base.py", line 143, in run
    self.pre_execute()
  File "/usr/lib/python2.7/dist-packages/openquake/calculators/scenario_risk.py", line 94, in pre_execute
    base.RiskCalculator.pre_execute(self)
  File "/usr/lib/python2.7/dist-packages/openquake/calculators/base.py", line 358, in pre_execute
    self.compute_previous()
  File "/usr/lib/python2.7/dist-packages/openquake/calculators/base.py", line 311, in compute_previous
    precalc.run()
  File "/usr/lib/python2.7/dist-packages/openquake/calculators/base.py", line 143, in run
    self.pre_execute()
  File "/usr/lib/python2.7/dist-packages/openquake/calculators/scenario.py", line 65, in pre_execute
    trunc_level, correl_model)
  File "/usr/lib/python2.7/dist-packages/openquake/hazardlib/calc/gmf.py", line 84, in __init__
    self.ctx = ContextMaker(gsims).make_contexts(sites, rupture)
  File "/usr/lib/python2.7/dist-packages/openquake/hazardlib/gsim/base.py", line 298, in make_contexts
    dctx = self.make_distances_context(sites, rupture, {'rjb': distances})
  File "/usr/lib/python2.7/dist-packages/openquake/hazardlib/gsim/base.py", line 187, in make_distances_context
    distances = get_distances(rupture, site_collection.mesh, param)
  File "/usr/lib/python2.7/dist-packages/openquake/hazardlib/gsim/base.py", line 124, in get_distances
    dist = rupture.surface.get_ry0_distance(mesh)
  File "/usr/lib/python2.7/dist-packages/openquake/hazardlib/geo/surface/multi.py", line 277, in get_ry0_distance
    raise NotImplementedError()
NotImplementedError

Traceback (most recent call last):
  File "/usr/bin/oq", line 9, in <module>
    load_entry_point('openquake.engine==2.0.0', 'console_scripts', 'oq')()
  File "/usr/lib/python2.7/dist-packages/openquake/commands/__main__.py", line 41, in oq
    parser.callfunc()
  File "/usr/lib/python2.7/dist-packages/openquake/commonlib/sap.py", line 177, in callfunc
    return self.func(**vars(namespace))
  File "/usr/lib/python2.7/dist-packages/openquake/commonlib/sap.py", line 228, in main
    return func(**kw)
  File "/usr/lib/python2.7/dist-packages/openquake/commands/engine.py", line 175, in engine
    exports, hazard_calculation_id=hc_id)
  File "/usr/lib/python2.7/dist-packages/openquake/commands/engine.py", line 68, in run_job
    hazard_calculation_id=hazard_calculation_id)
  File "/usr/lib/python2.7/dist-packages/openquake/engine/engine.py", line 174, in run_calc
    _do_run_calc(calc, exports, hazard_calculation_id)
  File "/usr/lib/python2.7/dist-packages/openquake/engine/engine.py", line 207, in _do_run_calc
    close=False)  # don't close the datastore too soon
  File "/usr/lib/python2.7/dist-packages/openquake/calculators/base.py", line 143, in run
    self.pre_execute()
  File "/usr/lib/python2.7/dist-packages/openquake/calculators/scenario_risk.py", line 94, in pre_execute
    base.RiskCalculator.pre_execute(self)
  File "/usr/lib/python2.7/dist-packages/openquake/calculators/base.py", line 358, in pre_execute
    self.compute_previous()
  File "/usr/lib/python2.7/dist-packages/openquake/calculators/base.py", line 311, in compute_previous
    precalc.run()
  File "/usr/lib/python2.7/dist-packages/openquake/calculators/base.py", line 143, in run
    self.pre_execute()
  File "/usr/lib/python2.7/dist-packages/openquake/calculators/scenario.py", line 65, in pre_execute
    trunc_level, correl_model)
  File "/usr/lib/python2.7/dist-packages/openquake/hazardlib/calc/gmf.py", line 84, in __init__
    self.ctx = ContextMaker(gsims).make_contexts(sites, rupture)
  File "/usr/lib/python2.7/dist-packages/openquake/hazardlib/gsim/base.py", line 298, in make_contexts
    dctx = self.make_distances_context(sites, rupture, {'rjb': distances})
  File "/usr/lib/python2.7/dist-packages/openquake/hazardlib/gsim/base.py", line 187, in make_distances_context
    distances = get_distances(rupture, site_collection.mesh, param)
  File "/usr/lib/python2.7/dist-packages/openquake/hazardlib/gsim/base.py", line 124, in get_distances
    dist = rupture.surface.get_ry0_distance(mesh)
  File "/usr/lib/python2.7/dist-packages/openquake/hazardlib/geo/surface/multi.py", line 277, in get_ry0_distance
    raise NotImplementedError()
NotImplementedError

Graeme Weatherill

unread,
Sep 8, 2016, 5:18:01 AM9/8/16
to openqua...@googlegroups.com
Dear Elnaz,

Unfortunately right now the Ry0 distance calculator is not implemented for the multi-surface case, which means that Abrahamson et al. (2014) won't be able to run.

I have a new feature close to completion that implements the Rx and Ry0 definition used by NGA West 2 for this particular fault type, which I am hoping to get pushed into the main repository at some point next week. So hopefully this will be resolved soon.

Sorry for the inconvenience at the moment though.

Thanks,

Graeme
--
You received this message because you are subscribed to the Google Groups "OpenQuake Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to openquake-use...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


epeyg...@gmail.com

unread,
Sep 9, 2016, 12:12:07 PM9/9/16
to OpenQuake Users
Dear Graeme,

Thanks for the Information.
Elnaz



On Thursday, September 8, 2016 at 5:18:01 AM UTC-4, Graeme Weatherill wrote:
Dear Elnaz,

Unfortunately right now the Ry0 distance calculator is not implemented for the multi-surface case, which means that Abrahamson et al. (2014) won't be able to run.

I have a new feature close to completion that implements the Rx and Ry0 definition used by NGA West 2 for this particular fault type, which I am hoping to get pushed into the main repository at some point next week. So hopefully this will be resolved soon.

Sorry for the inconvenience at the moment though.

Thanks,

Graeme

On 08/09/2016 01:32, epeyg...@gmail.com wrote:

Hi All,
 I am running senario risk model openquake version 2 , using abrahamson 2014 which implemented based on following link. 

http://docs.openquake.org/oq-hazardlib/0.20/gsim/abrahamson_2014.html



But I get following error , dose anyone have the idea why I get following error :
Thanks,
Elnaz




enquake@oq-1404:~$ cd /media/sf_Share_folder_with_Linux/Hayward6.8/

Graeme Weatherill

unread,
Sep 28, 2016, 2:53:04 AM9/28/16
to openqua...@googlegroups.com
Dear Elnaz,

Just to follow up on your previous query. The new features to calculate Rx and Ry0 distance for the multi-surface characteristic fault typology have now been implemented. If you update your installation with the current "master" branch of the repository then you should find you can now use the Abrahamson et al. (2014) GMPE in its entirety.

Thanks,

Graeme

epeyg...@gmail.com

unread,
Sep 29, 2016, 4:29:14 PM9/29/16
to OpenQuake Users
Dear Graeme

Thanks for update. I will check it.

Bests,
Elnaz

vma...@g.clemson.edu

unread,
Oct 10, 2016, 11:56:59 AM10/10/16
to OpenQuake Users
Hello All,

Since I want to perform the same analysis as above-mentioned and I have the updated version of OQ (2.0.0) in PC, I would appreciate if anyone helps me how to update my installation with current "master" branch of repository.

Thank you inadvance for your consideration.

Vahid

Michele Simionato

unread,
Oct 10, 2016, 12:46:24 PM10/10/16
to OpenQuake Users
Have a look at the README:https://github.com/gem/oq-engine/blob/master/README.md

Also notice the very soon we will release the official OpenQuake Engine 2.1.

vma...@g.clemson.edu

unread,
Oct 10, 2016, 3:57:28 PM10/10/16
to OpenQuake Users
Dear Michele,

I followed the development guide "Installing the Openquake Engine for development" that you mentioned and I can use the Openquake development environment right now. But at this step, none of my previous codes run in the development environment even when I deactivate the new environment. would you please help me to sort my problem out? Below is the error I got after hitting Ctrl+C.

(openquake)openquake@oq-1404:~$ oq-engine --rh /home/openquake/Vahid/test_for_vahid/job_hazard_risk.ini
The command 'oq-engine' is deprecated and will be removed. Please use 'oq engine' instead
WARN: --rh/--run-hazard are deprecated, use --run instead
^CTraceback (most recent call last):
  File "/home/openquake/src/oq-engine/openquake/engine/engine.py", line 178, in run_calc
    logs.dbcmd('set_status', job_id, 'executing')
  File "/home/openquake/src/oq-engine/openquake/engine/logs.py", line 56, in dbcmd
    res, etype = client.recv()
EOFError
Traceback (most recent call last):
  File "/home/openquake/openquake/bin/oq", line 9, in <module>
    load_entry_point('openquake.engine==2.1.0', 'console_scripts', 'oq')()
  File "/home/openquake/src/oq-engine/openquake/commands/__main__.py", line 50, in oq
    parser.callfunc()
  File "/home/openquake/src/oq-hazardlib/openquake/baselib/sap.py", line 186, in callfunc
    return self.func(**vars(namespace))
  File "/home/openquake/src/oq-hazardlib/openquake/baselib/sap.py", line 245, in main
    return func(**kw)
  File "/home/openquake/src/oq-engine/openquake/commands/engine.py", line 181, in engine
    log_file, exports)
  File "/home/openquake/src/oq-engine/openquake/commands/engine.py", line 67, in run_job
    hazard_calculation_id=hazard_calculation_id)
  File "/home/openquake/src/oq-engine/openquake/engine/engine.py", line 190, in run_calc
    logs.LOG.critical(tb)
  File "/usr/lib/python2.7/logging/__init__.py", line 1197, in critical
    self._log(CRITICAL, msg, args, **kwargs)
  File "/usr/lib/python2.7/logging/__init__.py", line 1271, in _log
    self.handle(record)
  File "/usr/lib/python2.7/logging/__init__.py", line 1281, in handle
    self.callHandlers(record)
  File "/usr/lib/python2.7/logging/__init__.py", line 1321, in callHandlers
    hdlr.handle(record)
  File "/usr/lib/python2.7/logging/__init__.py", line 749, in handle
    self.emit(record)
  File "/home/openquake/src/oq-engine/openquake/engine/logs.py", line 132, in emit
    record.getMessage())
  File "/home/openquake/src/oq-engine/openquake/engine/logs.py", line 56, in dbcmd
    res, etype = client.recv()
KeyboardInterrupt


Thanks,
Vahid 

zxl...@gmail.com

unread,
Feb 15, 2017, 11:05:29 PM2/15/17
to OpenQuake Users

Dear Graeme,

 

How source-to-site distances (Rjb,Rrup,Rx,Ry0,Repi,Rhyp) are calculated in OpenQuake, espiclially for the fault source? I mean the calculation equations not a simple introduction. Would you please give a web link?  Is GC2 used in the distance calculation? 


And how these distances are calculated for the point souce which has no finite rupture model? Using distance conversion(Scherbaum et al.,2004) or build a virtual finite rupture model like Chiou and Youngs(2008) AppendixB did in NGA for small-moderate earthquake?  


Chiou, B. S.-J., and Youngs, R. R., 2008b. Chiou and Youngs PEER-NGA empirical ground motion model for the average horizontal component of peak acceleration, peak velocity, and pseudo-spectral acceleration for spectral periods of 0.01 to 10 seconds [J]. Final Report submitted to PEER

Appendix B: Estimation of Distance and Geometry Measures for Earthquakes without Finite Rupture Models


Thank you very much.

Xiaoliang Zhang


在 2016年9月8日星期四 UTC+8下午5:18:01,Graeme Weatherill写道:
Dear Elnaz,

Unfortunately right now the Ry0 distance calculator is not implemented for the multi-surface case, which means that Abrahamson et al. (2014) won't be able to run.

I have a new feature close to completion that implements the Rx and Ry0 definition used by NGA West 2 for this particular fault type, which I am hoping to get pushed into the main repository at some point next week. So hopefully this will be resolved soon.

Sorry for the inconvenience at the moment though.

Thanks,

Graeme

On 08/09/2016 01:32, epeyg...@gmail.com wrote:

Hi All,
 I am running senario risk model openquake version 2 , using abrahamson 2014 which implemented based on following link. 

http://docs.openquake.org/oq-hazardlib/0.20/gsim/abrahamson_2014.html



But I get following error , dose anyone have the idea why I get following error :
Thanks,
Elnaz




enquake@oq-1404:~$ cd /media/sf_Share_folder_with_Linux/Hayward6.8/

Graeme Weatherill

unread,
Feb 16, 2017, 4:38:48 AM2/16/17
to openqua...@googlegroups.com
Dear Xiaoling,

This is a complicated question that doesn't have a closed-form answer, and you would need to study the code to understand how distances are calculated. This is one of the most critical parts of the code, so besides from the description in the hazard book (https://www.globalquakemodel.org/media/cms_page_media/432/oqhbt_BkpnqP8.pdf), the only web links I can send you are to look at the code via it's source (https://github.com/gem/oq-hazardlib) or via the API documentation (http://docs.openquake.org/oq-hazardlib/master/). Everything is there (mostly in the openquake.hazardlib.geo module) and the code is clean and well-commented. But it will take an investment of time to understand how it works.

OpenQuake always represents the seismogenic source as a finite rupture (even for our "point source" typology). So we have many different types of rupture plane. For the "simple" and "complex" fault typologies the ruptures are floated along the fault surface, even over geometries that can be almost arbitrarily irregular. We therefore render a mesh across the fault surface, and individual ruptures therein are represented by a subset of nodes within that mesh. Rupture distance is determined from the shortest three dimensional distance between the target site and the individual rupture mesh. Joyner-Boore distance is calculated from the minimum surficial distance between the site and the mesh, albeit when the target point is within the polygon of the surface projection of the rupture (plus a small buffer), Rjb is taken as zero. Rx is the perpendicular distance to the arc defined by the upper edge of the mesh of the rupture, which projects off of the ends of mesh. Ry0 is determined as the distance to the arcs running perpendicular to that of the upper edges of the mesh located at the limits of the mesh.

In addition to the simple and complex fault typologies, we have characteristic fault typology. This typology doesn't float the ruptures, so we can support multiple types of fault surface in the same rupture (planar, simple, complex and any combination thereof - even with discordance and discontinuities). For the planar ruptures the distances are calculated with respect to the plane and the geometrical calculation becomes trivial. If the characteristic fault source is selected but with a simple or complex surface then the distances will work as described previously. When a "multi-surface" rupture is required then we calculate Rjb and Rrup with respect to the surfaces of the ruptures as before. For Rx and Ry0, however, everything becomes intractably difficult (with strange behaviour) when you have discontinuities. So for these types of ruptures we have now switched to GC2. Theoretically, we could use GC2 for the other typologies, but so far we think this would i) be more computationally costly when floating the ruptures, ii) create a major discrepancy between results from different versions of the engine, which may be of concern to our users.

That said, if you are curious to know how the choice of GC2 verses our approach for calculating Ry0 and Rx compares for a strongly irregular bending fault, I'm attaching a difference map for an example fault (a section of the Wasatch fault). It is interesting! We are doing some research on the impacts (and potentials) of geometric irregularity now.

For point sources, yes we generate virtual ruptures, the scaling and orientation of which is controlled by the parameters the user sets for the point source (i.e. scaling relation, aspect ratio, nodal plane distribution, seismogenic depths and hypocentral depth). This is described in more detail in the OpenQuake hazard book (https://www.globalquakemodel.org/media/cms_page_media/432/oqhbt_BkpnqP8.pdf).

Hope this gives you some insight.

Thanks,

Graeme
Wasatch_fault_distances_diff.png

zxl...@gmail.com

unread,
Feb 16, 2017, 1:30:39 PM2/16/17
to OpenQuake Users
Dear Dr. Weatherill,

Wow, so quick and full reply, also so long :). This quick response makes OpenQuake great. Vival the developers. 
Thank you very much firstly. Yes, I have already read the pdf and the two web links before I asked the question. The code in that two web links is so long, much longer than your reply. And there is no string 'Rjb' or 'Rrup' in these codes which makes it can't be searched quickly, As you suggested, perhaps I have no choice but to spend huge time on studying the code. 

The reason I want to know the equations in OpenQuake is that I want to review and compare currently all the distance claculation methods used in OpenQuake, ShakeMap, OpenSHA, USGS NSHM, etc. However the equations are drowning in the long long codes. There is no published paper to introduce these equations. Maybe it is too basic, not worth writing papers? Only Dave Boore (http://www.daveboore.com) ever write a not long fortan code specially used to calculate distances using the left down point of surface projection and Kaklamanos et al.(2011) write a paper to describe the equations using Rjb.  Recently I have derived distance calculation equations (attachment) using Rxy ( closest distance to the fault trace ) or Repi.  I want to compare and test my equations with the OQ equations.

Nowdays I am only interested in single rupture. I am not quite sure I understand your saying ' multi-surface rupture'. Does it mean multi-segment ruptures? For multi-segment ruptures, distances of every single rupture are computed and then select the closest distances. I think this is the way it's done for multi-segment rupture, even for strike-reverse and discontinued ruptures. Not complicate but multiple repeat. Is this correct? Perhaps I am wrong, I have not finished reading the pdf hazard book yet.   

Thanks a lot,
Xiaoliang

By the way,GC2 is used to compute Rx and Ry (different with Ry0) for ground motion directivity. Ry is not used in GMPE, So I think GC2 is not necessary to be used in distance calculation. Am I right?

在 2017年2月16日星期四 UTC+8下午5:38:48,Graeme Weatherill写道:
ngaRepi .jpg
ngaRxy.jpg

ehsan....@gmail.com

unread,
Aug 18, 2017, 12:34:32 PM8/18/17
to OpenQuake Users
Dear Graeme,

I am writing to you for the following reason.

I am going to use GMPEs NGA-WEST2 by OQ for Hazard analysis. Where should I set the rupture parameters and distances such as "ztor " "rrup" "rjb" and etc in SimpleFaultSourceClassicalPSHA?
 
Should I import them in "job" file or source-model file? Would you please help me and share me an example?  

Cheers,
Ehsan

Graeme Weatherill

unread,
Aug 18, 2017, 12:47:28 PM8/18/17
to openqua...@googlegroups.com
Dear Ehsan,

If you are running a seismic hazard analysis then ztor and the rupture distances are calculated directly from the source model you provide (e.g. SimpleFaultSource, ComplexFaultSource, CharacteristicFaultSource). So you simply need to define the geometry of the fault source in the source-model file (plus the recurrence and other required attributes - see the documentation for more details/examples) and OQ will do everything for you.

Thanks,

Graeme

ehsan....@gmail.com

unread,
Aug 18, 2017, 4:09:26 PM8/18/17
to OpenQuake Users
Thank you for your swift reply.
I have read the documentation. I am clearing my question. You can see (as you know) the fault source model example as following. Where should I add "rrup" "rjb" (Campbell & Bozorgnia, 2014 GMPE) in this code??

<sourceModel name="Example Source Model Containing Complex Fault Source">
<complexFaultSource id="1" name="Complex Fault Source" tectonicRegion="Active Shallow Crust">
<complexFaultGeometry>
<faultTopEdge>
<gml:LineString>
<gml:posList>
0.6 -1.4 2.0
1.0 -1.3 5.0
1.5 -1.0 8.0
</gml:posList>
</gml:LineString>
</faultTopEdge>
<intermediateEdge>
<gml:LineString>
<gml:posList>
0.65 -1.55 4.0
1.1 -1.4 10.0
1.5 -1.2 20.0
</gml:posList>
</gml:LineString>
</intermediateEdge>
<faultBottomEdge>
<gml:LineString>
<gml:posList>
0.65 -1.7 8.0
1.2 -1.6 15.0
1.5 -1.7 35.0
</gml:posList>
</gml:LineString>
</faultBottomEdge>
</complexFaultGeometry>
<magScaleRel>WC1994</magScaleRel>
<ruptAspectRatio>2.0</ruptAspectRatio>
<truncGutenbergRichterMFD aValue="4.5" bValue="1.0" minMag="6.5" maxMag="7.5" />
<rake>-90.0</rake>
</complexFaultSource>
</sourceModel>
</nrml>
  Thank you for your help.

Cheers,
Ehsan
Reply all
Reply to author
Forward
0 new messages