Skip to content

Commit

Permalink
adding logging to def history and m2l wrapper
Browse files Browse the repository at this point in the history
  • Loading branch information
lachlangrose committed Oct 7, 2024
1 parent abb697a commit 631ebff
Show file tree
Hide file tree
Showing 2 changed files with 27 additions and 14 deletions.
9 changes: 6 additions & 3 deletions map2loop/deformation_history.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@
import geopandas
import math


class DeformationHistory:
"""
A class containing all the fault and fold summaries and relationships
Expand Down Expand Up @@ -285,12 +284,16 @@ def get_fault_relationships_with_ids(self, fault_fault_relationships: pandas.Dat
Returns:
pandas.DataFrame: The fault_relationships with the correct eventIds
"""

faultIds = self.get_faults_for_export()[["eventId", "name"]].copy()
rel = fault_fault_relationships.copy()
rel = rel.merge(faultIds, left_on="Fault1", right_on="name")
rel['Fault1'] = rel['Fault1'].astype(str)
rel['Fault2'] = rel['Fault2'].astype(str)
faultIds['eventId'] = faultIds['eventId'].astype(str)
rel = rel.merge(faultIds, left_on="Fault1", right_on="eventId")
rel.rename(columns={"eventId": "eventId1"}, inplace=True)
rel.drop(columns=["name"], inplace=True)
rel = rel.merge(faultIds, left_on="Fault2", right_on="name")
rel = rel.merge(faultIds, left_on="Fault2", right_on="eventId")
rel.rename(columns={"eventId": "eventId2"}, inplace=True)
rel.drop(columns=["name"], inplace=True)
return rel
32 changes: 21 additions & 11 deletions map2loop/map2model_wrapper.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,9 @@
from .m2l_enums import VerboseLevel
import re

from .logging import getLogger

logger = getLogger(__name__)
class Map2ModelWrapper:
"""
A wrapper around map2model functionality
Expand Down Expand Up @@ -36,6 +38,7 @@ def __init__(self, map_data, verbose_level: VerboseLevel = VerboseLevel.NONE):
verbose_level (VerboseLevel, optional):
How much console output is sent. Defaults to VerboseLevel.ALL.
"""
logger
self.sorted_units = None
self.fault_fault_relationships = None
self.unit_fault_relationships = None
Expand All @@ -47,6 +50,7 @@ def reset(self):
"""
Reset the wrapper to before the map2model process
"""
logger.info("Resetting map2model wrapper")
self.sorted_units = None
self.fault_fault_relationships = None
self.unit_fault_relationships = None
Expand Down Expand Up @@ -106,11 +110,10 @@ def run(self, verbose_level: VerboseLevel = None):
"""
if verbose_level is None:
verbose_level = self.verbose_level
if verbose_level != VerboseLevel.NONE:
print("Exporting map data for map2model")
logger.info("Exporting map data for map2model")
self.map_data.export_wkt_format_files()
if verbose_level != VerboseLevel.NONE:
print("Running map2model...")
logger.info("Running map2model...")

map2model_code_map = {
"o": "ID", # FIELD_COORDINATES
"f": "FEATURE", # FIELD_FAULT_ID
Expand All @@ -131,6 +134,7 @@ def run(self, verbose_level: VerboseLevel = None):
"volcanic": self.map_data.config.geology_config["volcanic_text"], # VOLCANIC_STRING
"deposit_dist": 100, # deposit_dist
}
logger.info(f"map2model params: {map2model_code_map}")
# TODO: Simplify. Note: this is external so have to match fix to map2model module
run_log = map2model.run(
os.path.join(self.map_data.tmp_path, "map2model_data"),
Expand All @@ -142,11 +146,11 @@ def run(self, verbose_level: VerboseLevel = None):
verbose_level == VerboseLevel.NONE,
"None",
)
if verbose_level == VerboseLevel.ALL:
print("map2model log:")
print(run_log)
if verbose_level != VerboseLevel.NONE:
print("map2model complete")
logger.info("Parsing map2model output")
logger.info(run_log)

logger.info("map2model complete")


# Parse units sorted
units_sorted = pandas.read_csv(
Expand All @@ -164,6 +168,7 @@ def run(self, verbose_level: VerboseLevel = None):
fault_fault_intersection_filename = os.path.join(
self.map_data.tmp_path, "map2model_data", "fault-fault-intersection.txt"
)
logger.info(f"Reading fault-fault intersections from {fault_fault_intersection_filename}")
if (
os.path.isfile(fault_fault_intersection_filename)
and os.path.getsize(fault_fault_intersection_filename) > 0
Expand All @@ -173,7 +178,7 @@ def run(self, verbose_level: VerboseLevel = None):
df[1] = [re.findall("\(.*?\)", i) for i in df[1]] # Valid escape for regex
df[0] = list(df[0].str.replace("^[0-9]*, ", "", regex=True))
df[0] = list(df[0].str.replace(", ", "", regex=False))
df[0] = "Fault_" + df[0]
# df[0] = "Fault_" + df[0] #removed 7/10/24 as it seems to break the merge in
relations = df[1]
for j in range(len(relations)):
relations[j] = [i.strip("()").replace(" ", "").split(",") for i in relations[j]]
Expand All @@ -182,8 +187,13 @@ def run(self, verbose_level: VerboseLevel = None):
for _, row in df.iterrows():
for i in numpy.arange(len(row[1])):
out += [[row[0], "Fault_" + row[1][i][0], row[1][i][1], float(row[1][i][2])]]


else:
logger.warning(f"Fault-fault intersections file {fault_fault_intersection_filename} not found")

df_out = pandas.DataFrame(columns=["Fault1", "Fault2", "Type", "Angle"], data=out)
logger.info(f'Fault intersections')
logger.info(df_out.to_string())
self.fault_fault_relationships = df_out

# Parse unit fault relationships
Expand Down

0 comments on commit 631ebff

Please sign in to comment.