generated from ucgmsim/template
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
714445f
commit 4841bd6
Showing
8 changed files
with
121 additions
and
83 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
This package loads CPT data, filters out unusable data, | ||
and calculates Vs30 values for each CPT using several | ||
correlations. | ||
|
||
The calculations and CPT class were implemented by Joel Ridden | ||
in the `vs_calc` package. | ||
|
||
The loading and filtering of input data was adapted from | ||
earlier work by Sung Bae in the `cpt2vs30` package. | ||
|
||
To run this package, first configure the input parameters | ||
by editing the `config.yaml` file. Then run the `main.py` script as | ||
|
||
```python main.py``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,25 +1,17 @@ | ||
#input_data_dir: "/home/arr65/vs30_data_input_data/csv" | ||
#input_data_format : "csv" | ||
|
||
n_procs : 7 | ||
|
||
## Set the input data directory and data format (csv or sql) | ||
input_data_dir : "/home/arr65/vs30_data_input_data/sql" | ||
input_data_format : "sql" | ||
|
||
## Set the output directory | ||
output_dir : "/home/arr65/vs30_data_output/" | ||
|
||
# data filtering | ||
min_CPT_separation_dist_m : 0.1 | ||
## Set the number of processors to use | ||
n_procs : 7 | ||
|
||
## Set input data filtering parameters | ||
min_CPT_separation_dist_m : 0.1 | ||
max_num_same_depth_values : 1 | ||
|
||
min_allowed_data_value : -0.2 | ||
|
||
max_num_allowed_repeated_digits : 3 | ||
|
||
min_allowed_max_depth_m : 5 | ||
|
||
min_allowed_depth_span_m : 5 | ||
|
||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
import pandas as pd | ||
import matplotlib.pyplot as plt | ||
import numpy as np | ||
|
||
from pathlib import Path | ||
|
||
import config as cfg | ||
|
||
config = cfg.Config() | ||
|
||
output_dir = Path(config.get_value("output_dir")) | ||
|
||
summary_df = pd.read_csv(output_dir / "summary.csv") | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
pandas | ||
SQLAlchemy | ||
numpy | ||
qcore @ git+https://github.com/ucgmsim/qcore.git | ||
PyYAML |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,61 @@ | ||
""" | ||
Functions to run the calculations for Vs30 estimation. | ||
The Vs30 calculations were implemented by Joel Ridden | ||
in the vs_calc package. | ||
""" | ||
import functools | ||
import multiprocessing | ||
|
||
import pandas as pd | ||
|
||
|
||
from vs_calc import ( | ||
CPT, | ||
VsProfile) | ||
|
||
def calculate_vs30_from_single_cpt(cpt: CPT, cpt_vs_correlations, vs30_correlations): | ||
|
||
results_df_list = [] | ||
|
||
for cpt_vs_correlation in cpt_vs_correlations: | ||
|
||
for vs30_correlation in vs30_correlations: | ||
|
||
cpt_vs_profile = VsProfile.from_cpt(cpt, cpt_vs_correlation) | ||
|
||
cpt_vs_profile.vs30_correlation = vs30_correlation | ||
|
||
results_df_list.append( | ||
pd.DataFrame( | ||
{ | ||
"cpt_name": [cpt.name], | ||
"nztm_x": [cpt.nztm_x], | ||
"nztm_y": [cpt.nztm_y], | ||
"cpt_correlation": [cpt_vs_correlation], | ||
"vs30_correlation": [cpt_vs_profile.vs30_correlation], | ||
"vs30": [cpt_vs_profile.vs30], | ||
"vs30_sd": [cpt_vs_profile.vs30_sd], | ||
} | ||
) | ||
) | ||
|
||
return pd.concat(results_df_list, ignore_index=True) | ||
|
||
|
||
def calculate_vs30_from_all_cpts( | ||
cpts, cpt_vs_correlations, vs30_correlations, n_procs=1 | ||
): | ||
|
||
with multiprocessing.Pool(processes=n_procs) as pool: | ||
|
||
results_df_list = pool.map( | ||
functools.partial( | ||
calculate_vs30_from_single_cpt, | ||
cpt_vs_correlations=cpt_vs_correlations, | ||
vs30_correlations=vs30_correlations, | ||
), | ||
cpts, | ||
) | ||
|
||
return pd.concat(results_df_list, ignore_index=True) | ||
|