forked from official-apps/SeismicHazardForecasting
Compare commits
9 Commits
Author | SHA1 | Date | |
---|---|---|---|
ff3af6a769 | |||
b6375203b5 | |||
02c9537ef9 | |||
47d6d39d91 | |||
2efa92f59c | |||
5eea239f3d | |||
30f6cdcbe2 | |||
6cb4f7210d | |||
a4b4a552fe |
@@ -4,6 +4,27 @@
|
|||||||
def main(catalog_file, mc_file, pdf_file, m_file, m_select, mag_label, mc, m_max,
|
def main(catalog_file, mc_file, pdf_file, m_file, m_select, mag_label, mc, m_max,
|
||||||
m_kde_method, xy_select, grid_dim, xy_win_method, rate_select, time_win_duration,
|
m_kde_method, xy_select, grid_dim, xy_win_method, rate_select, time_win_duration,
|
||||||
forecast_select, custom_rate, forecast_len, time_unit, model, products_string, verbose):
|
forecast_select, custom_rate, forecast_len, time_unit, model, products_string, verbose):
|
||||||
|
#catalog_file = 'LGCD_catalog_2024.mat'
|
||||||
|
mc_file = None
|
||||||
|
pdf_file = None
|
||||||
|
m_file = None
|
||||||
|
m_select = True
|
||||||
|
mag_label = 'Mw'
|
||||||
|
mc = 1.8
|
||||||
|
m_max = 4.5
|
||||||
|
m_kde_method = 'arviz-silverman'
|
||||||
|
xy_select = True
|
||||||
|
grid_dim = 5000
|
||||||
|
xy_win_method = False
|
||||||
|
rate_select = True
|
||||||
|
time_win_duration = 100
|
||||||
|
forecast_select = True
|
||||||
|
custom_rate = None
|
||||||
|
forecast_len = 100
|
||||||
|
time_unit = 'days'
|
||||||
|
model = 'Lasocki2013'
|
||||||
|
products_string = 'PGA'
|
||||||
|
verbose = True
|
||||||
"""
|
"""
|
||||||
Python application that reads an earthquake catalog and performs seismic hazard forecasting.
|
Python application that reads an earthquake catalog and performs seismic hazard forecasting.
|
||||||
Arguments:
|
Arguments:
|
||||||
@@ -52,7 +73,7 @@ def main(catalog_file, mc_file, pdf_file, m_file, m_select, mag_label, mc, m_max
|
|||||||
from math import ceil, floor, isnan
|
from math import ceil, floor, isnan
|
||||||
import numpy as np
|
import numpy as np
|
||||||
import dask
|
import dask
|
||||||
from dask.diagnostics import ProgressBar # use Dask progress bar
|
# from dask.diagnostics import ProgressBar # use Dask progress bar
|
||||||
import kalepy as kale
|
import kalepy as kale
|
||||||
import utm
|
import utm
|
||||||
from skimage.transform import resize
|
from skimage.transform import resize
|
||||||
@@ -69,6 +90,7 @@ def main(catalog_file, mc_file, pdf_file, m_file, m_select, mag_label, mc, m_max
|
|||||||
from matplotlib.contour import ContourSet
|
from matplotlib.contour import ContourSet
|
||||||
import xml.etree.ElementTree as ET
|
import xml.etree.ElementTree as ET
|
||||||
import json
|
import json
|
||||||
|
from concurrent.futures import ThreadPoolExecutor
|
||||||
|
|
||||||
logger = getDefaultLogger('igfash')
|
logger = getDefaultLogger('igfash')
|
||||||
|
|
||||||
@@ -111,7 +133,7 @@ verbose: {verbose}")
|
|||||||
logger.debug(f"Rbeast version {version('rbeast')}")
|
logger.debug(f"Rbeast version {version('rbeast')}")
|
||||||
logger.debug(f"Dask version {version('dask')}")
|
logger.debug(f"Dask version {version('dask')}")
|
||||||
|
|
||||||
dask.config.set(scheduler='processes')
|
dask.config.set(scheduler='threads', pool=ThreadPoolExecutor(16))
|
||||||
|
|
||||||
# run magnitude distribution modeling if selected by user and no magnitude pdf file provided
|
# run magnitude distribution modeling if selected by user and no magnitude pdf file provided
|
||||||
if m_select and m_range[0] == None and m_pdf[0] == None:
|
if m_select and m_range[0] == None and m_pdf[0] == None:
|
||||||
@@ -454,11 +476,11 @@ verbose: {verbose}")
|
|||||||
|
|
||||||
start = timer()
|
start = timer()
|
||||||
|
|
||||||
use_pp = False
|
use_pp = True
|
||||||
|
|
||||||
if use_pp: # use dask parallel computing
|
if use_pp: # use dask parallel computing
|
||||||
pbar = ProgressBar()
|
# pbar = ProgressBar()
|
||||||
pbar.register()
|
# pbar.register()
|
||||||
# iter = range(0,len(distances))
|
# iter = range(0,len(distances))
|
||||||
iter = indices
|
iter = indices
|
||||||
iml_grid_raw = [] # raw ground motion grids
|
iml_grid_raw = [] # raw ground motion grids
|
||||||
|
Reference in New Issue
Block a user