GEMScienceTools / gmpe-smtk

Python and OpenQuake-based Toolkit for Analysis of Strong Motions and Interpretation of GMPEs
GNU Affero General Public License v3.0
43 stars 33 forks source link

Plotting NGA East GMPEs #112

Open carlosfherrera opened 4 years ago

carlosfherrera commented 4 years ago

Dear developers,

Recently I started having problems when I include NGA East relations in the Trellis plots module. If I include any of those relations (for example, DarraghEtAl2015NGAEast1CVS), I get the error:

ValueError: DarraghEtAl2015NGAEast1CVSP Not supported by OpenQuake

Some months ago I didn't have this issue. Also, the NGA East relations are still incorporated in OpenQuake. I'm using the latest version of the Engine to date (3.10.0-gitf01e9d7), as well as the latest version of this toolkit.

I attach the code that I use to create the Trellis plots, which is based on the tutorials in (https://github.com/GEMScienceTools/gmpe-smtk-docs). This code does work with the first two GMPEs in the list. But if I include the third one (NGA East relation), then I get the error. This same code with all three GMPEs used to run some months ago, but not now ... I'd appreciate any help solving this problem. Thanks!

# Main Python imports:
import numpy as np
# Strong Motion Toolkit (SMTK) imports:
import smtk.trellis.trellis_plots as trpl

# List of GMMs for trellis plot (names can be obtained from OpenQuake's Hazard Library):
gmpe_list = ["BooreEtAl2014",
             "AkkarEtAlRjb2014",
             "DarraghEtAl2015NGAEast1CVSP"]

# Moment magnitudes (Mw) to be evaluated:
magnitudes = np.array([5.0 , 6.0 , 7.0 , 8.0])

# RUPTURE AND SITE PARAMETERS (NOTE: not all GMMs use the same parameters):
params = {"ztor": 5.0,            # Top of rupture depth (km)
          "hypo_depth": 10.0,     # Hypocentral depth (km)
          "vs30": 800.0,          # Vs30 for all sites (m/s)
          "rake": 0.0,            # Fault rake in degrees (0-360)
          }

# DISTANCE PARAMETERS: Epicentral distance is defined. Not all GMMs use the
# same type of distance. The other types of distances will be estimated based
# on the epicentral distance:
distances = {"repi": np.array([5.0, 20.0, 50.0, 100.0])}   # In (km)
rvolc = 12.0  # Horizontal distance through volcanic zone (km)

# Array of periods (s):
periods = [0.05, 0.075, 0.1, 0.11, 0.12, 0.13, 0.14, 0.15,
           0.16, 0.17, 0.18, 0.19, 0.20, 0.22, 0.24, 0.26,
           0.28, 0.30, 0.32, 0.34, 0.36, 0.38, 0.40, 0.42,
           0.44, 0.46, 0.48, 0.50, 0.55, 0.60, 0.65, 0.70,
           0.75, 0.80, 0.85, 0.90, 0.95, 1.00, 1.10, 1.20,
           1.30, 1.40, 1.50, 1.60, 1.70, 1.80, 1.90, 2.00,
           2.50, 3.00, 3.50, 4.00, 4.50, 5.00, 6.00, 7.00,
           8.00, 9.00, 10.00]

# Distance estimations:
distances["rhypo"] = np.sqrt(distances["repi"]**2.0+params["hypo_depth"]**2)
distances["rjb"] = distances["repi"]
distances["rrup"] = np.sqrt(distances["rjb"]**2.0+params["ztor"]**2)
distances["rx"] = distances["rjb"]
distances["ry0"] = distances["rjb"]
distances["rvolc"] = np.ones(len(distances["repi"]))*rvolc

# Call function that creates the trellis plot:
magdist_spectra_trellis = trpl.MagnitudeDistanceSpectraTrellis(magnitudes,
                                distances,
                                gmpe_list,
                                periods,
                                params,
                                figure_size=(14,10),
                                plot_type="semilogx",
                                filename="GMM_trellis.pdf",
                                filetype="pdf")
magdist_spectra_trellis.plot()
brucollaco commented 1 year ago

I'm wondering if you get it solved somehow...