From 88e6a91d363941b771a44869751ee155761790cf Mon Sep 17 00:00:00 2001 From: Lachlan Grose Date: Mon, 7 Oct 2024 17:19:41 +1100 Subject: [PATCH 1/3] fix: fault topology merge was using incorrect lookups --- map2loop/deformation_history.py | 9 ++++++--- map2loop/map2model_wrapper.py | 4 +++- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/map2loop/deformation_history.py b/map2loop/deformation_history.py index fb906e59..050d03dd 100644 --- a/map2loop/deformation_history.py +++ b/map2loop/deformation_history.py @@ -4,7 +4,6 @@ import geopandas import math - class DeformationHistory: """ A class containing all the fault and fold summaries and relationships @@ -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 diff --git a/map2loop/map2model_wrapper.py b/map2loop/map2model_wrapper.py index dd19601a..eed9b778 100644 --- a/map2loop/map2model_wrapper.py +++ b/map2loop/map2model_wrapper.py @@ -36,6 +36,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 @@ -47,6 +48,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 @@ -173,7 +175,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]] From c0ce50b450d79a8fa71121abf1af9d8daf139271 Mon Sep 17 00:00:00 2001 From: Lachlan Grose Date: Mon, 7 Oct 2024 17:22:28 +1100 Subject: [PATCH 2/3] fix: run map2model for user defined stratigraphic column --- map2loop/project.py | 1 + 1 file changed, 1 insertion(+) diff --git a/map2loop/project.py b/map2loop/project.py index a8d5faca..b766425c 100644 --- a/map2loop/project.py +++ b/map2loop/project.py @@ -510,6 +510,7 @@ def run_all(self, user_defined_stratigraphic_column=None, take_best=False): # Calculate the stratigraphic column if issubclass(type(user_defined_stratigraphic_column), list): self.stratigraphic_column.column = user_defined_stratigraphic_column + self.map2model.run() # if we use a user defined stratigraphic column, we still need to calculate the results of map2model else: if user_defined_stratigraphic_column is not None: print( From ed0375770a090f86a47b5aa0dfeb2460dd26f79a Mon Sep 17 00:00:00 2001 From: Lachlan Grose Date: Mon, 7 Oct 2024 17:24:50 +1100 Subject: [PATCH 3/3] removing logger from this pr --- map2loop/map2model_wrapper.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/map2loop/map2model_wrapper.py b/map2loop/map2model_wrapper.py index eed9b778..3a0aec2a 100644 --- a/map2loop/map2model_wrapper.py +++ b/map2loop/map2model_wrapper.py @@ -36,7 +36,6 @@ 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 @@ -48,7 +47,6 @@ 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