Skip to content

Conversation

@AngRodrigues
Copy link
Member

@AngRodrigues AngRodrigues commented Nov 24, 2024

Description

This version is compatible with LPF version available at Loop3D/LoopProjectFile#42

Includes features described in:

PR - #140
PR - #154
PR - #157
PR - #158
PR - #159

Major changes:

  1. Merged thickness calculator outputs:
    Methods set_thickness_calculator and get_thickness_calculator still available
    User can now choose up to 5 thickness calculators; also works with user-defined ThicknessCalculator class.
    Default is InterpolatedStructure.
    LPF stores results and name of the thickness calculator as a new field - LoopProjectFile.thicknessCalculatorType, which is a part of the StratigraphicLog object.
    ThicknessCalculatorAlpha updated to logic of the other calculators (e.g., to work from sampled_basal_contacts)
from map2loop.thickness_calculator import ThicknessCalculatorAlpha, InterpolatedStructure, StructuralPoint

[..set up the project..]

project.set_thickness_calculator([StructuralPoint(), InterpolatedStructure()])
project.get_thickness_calculator()

Output:
['StructuralPoint', 'InterpolatedStructure']
  1. Minimum fault length
    Minimum fault length is now a parameter of the config file,
    removes the faults with length under defined value; if set to None, minimum fault length is calculated from project's bbox,
    Removed the setter method to avoid double definition; getter method still available through proj.map_data.get_minimum_fault_length()
config_dictionary = {
  "structure" : {
    "dipdir_column": "azimuth2",
    "dip_column": "dip",},
  "geology" : {
    "unitname_column": "unitname",
    "alt_unitname_column": "code"}, 
  "fault": {
      "minimum_fault_length": 0.0}
}
  1. added all_basal_contacts object to mapdata
    mapdata.all_basal_contacts -> abnormal+basal contacts ,
    mapdata.basal_contacts -> holds only the basal.
    Reconstruction of sampled_basal_contacts is based on basal_contacts

  2. Added folder with datasets in map2loop/_datasets/geodata_files/hamersley
    The idea behind this is to have a data loading function, e.g., at the moment load_hamersley_geology() returns a gdf with the geology; structure and dtm are available, and others will keep being added as needed. This is quite useful for tests, but should also be useful for when we implement [Feature Request] - create map2loop project from geopandas array not file paths #74. The only thing about this is the location, which implies a long import: from map2loop._datasets.geodata_files.hamersley import load_hamersley_geology. Happy to change the file location - if anyone has a better suggestion?

  3. Added DependencyChecker class to __init__.py
    This was based on LG's suggestion to check the LPF version on import.
    I decided to expand on this and add this check for all libraries in map2loop/dependencies.txt

  4. Added ignore codes both for lithology and faults
    works by feature name, and similar to the existing method.
    Added methods for set and get with _ignore_lithology_codes() and _ignore_fault_codes().
    Example of working example code to achieve this can be seen in map2loop/tests/project/test_ignore_codes_setters_getters.py

Minor changes:

  • tmpfile is now used to create the localGdalfile
  • changed to f"" strings where possible
  • change from os.path.join to pathlib.Path where possible
  • added geopandas to csv converter in mapdata (it was on a #TODO)
  • added check and error message to make sure that all units in user_defined_stratigraphic_column are in the geology file (otherwise project creation fails; at least now user has a warning).
  • renamed distance to stratigraphic_distance in basal_contacts creation
  • simplified issue templates for easier form fill

Added tests:

  • for some of the functions in mapdata.py (includes minimum_fault_length)
  • for thickness_compute in project.py
  • ignore_codes setters and getters

Fixes #86
Fixes #110
Fixes #111
Fixes #12
Fixes #143
Fixes #137
Fixes #119
Fixes #155

Type of change

  • Documentation update
  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Test improvement

How Has This Been Tested?

Branches:

⚠️ actions before merging! ⚠️

  • - release LPF 0.2
  • dependencies.txt need to be updated for the LPF version -> 0.2.1
  • make actions same as LPF and m2m (maybe add tests if possible)
  • - actions need to be reversed to use LPF main branch. Search for @fix_thicknesses
  • - docs docker build needs to be also changed to remove the @fix_thicknesses branch
  • - add feat commit for version bump
  • pypi build & install tested and passed
  • test conda
  • add to release notes: set_ignore_codes has change to set_ignore_lithology_codes

lachlangrose and others added 30 commits May 20, 2024 12:08
edit dddf70b chore: added issue_templates
@AngRodrigues AngRodrigues merged commit 7978841 into master Dec 16, 2024
2 checks passed
@AngRodrigues AngRodrigues deleted the v3.2 branch January 5, 2025 22:36
rabii-chaarani added a commit that referenced this pull request Jan 10, 2025
* Update issue templates

* feat: added issue_templates

* fix: add pull request template

* fix: few typos grammar

* fix: tests should be with pytest

* Revert "Update issue templates"

* fix: trigger build

* style: style fixes by ruff and autoformatting by black

* chore(master): release 3.1.1

* fix: update doc deploy

* chore(master): release 3.1.2

* docs: remove lavavu; no need for 3D vis for the examples

* style: style fixes by ruff and autoformatting by black

* fix: remove tini from docker

* chore(master): release 3.1.3

* Update issue templates

* feat: added issue_templates

edit dddf70b chore: added issue_templates

* fix: add pull request template

* fix: few typos grammar

* fix: tests should be with pytest

* Revert "Update issue templates"

* fix: add issue templates back

* fix: correct grammar for clarity

* fix: squashed commits of: - fixing the non-use of minimum_fault_length, - use tmpfile to create temporary files, - added random test for mapdata functions:get/set working projection, - added functionality and comments to basal_contacts_build

* tests: add more functionality

* fix: leave as is for now

* fix: finalise the thickness calculator outputs

* fix: Remove hjson and rely on json only

* fix: update tests/ small fixes

* fix: make sure dependencies are right

* fix: linting issue

* fix: try again

* fix: update thickness tests//fix minor typos

* fix: correct some typos/update tests

* fix: typo in tests

* Update README.md

* fix: add the basal_contacts_abnormal_check

* fix: add error handles for json, url, filenotfound

* fix: remove typo

* fix: remove tqdm

* fix: added check for collocated points

* fix: upd gdal as per master

* fix: remove test from server

* fix: issue 122

* fix: update str format

* fix: now use DBSCAN to aggregate collocated poins

* fix: removed addition

* fix: added warning when collocated points detected

* fix: add str for paths - gdal does not accept pathlibs

* fix: update minimum_fault_length as per code review

* fix: add pathlibs where possible in m2model_wrapper

* fix: add pathlib in mapdata.py

* fix: revert pathlib in map2model.run

* fix: proj should not have temp files

* fix: update the minimum_fault_length

* tests: add tests for minimum_fault_length

* fix: remove redundancy from project.py

* fix: update calculate minimum_fault_length for 5% of the map area

* fix: linting

* fix: typo

* fix: remove repetitive print stat

* fix: adjust thickness_calc workflow for modularity

* fix: remove unnecessary fields

* fix: update thickness tests

* fix: add ignore_fault_codes and tests for ignore_lithology_code and ignore_fault_code

* fix: try relative path ../_datasets

* fix: use only path instead of pkg_resources

* fix: try full path

* fix: load only using path /hamersley

* fix: try ./map2loop/_datasets/geodata_files/

* fix: use correct path

* refactor: back to original code

* fix: add the whole hamersley folder

* fix: update docker for docs

* fix: update the docs-deploy for master branch only

* fix: update CI to build on master only

* fix: remove redundancy

* fix: update the server test and handle timeout properly

* fix: updated ReadMe to have the right install steps (temporary measure)

* fix: update CI - test wheels on master only

* fix: add test to sdist build in CI to ensure tests are run in the non-master branches

* fix: update pytest in ci

* fix: revert ci

* fix: add pytest in the right place

* fix: update pytest location

* fix: manifest update

* fix: update ci again

* investigate

* find the install folder

* try again

* update ci

* fix: add checkout step to build sdist

* fix: run pytest with test sdist action

* fix: revert CI and let tests only run on main branch

* fix: add version check new class to check install of  dependencies.txt; includes version number check

* fix: organise manifest

* fix: linting fixes from merges

* fix: update CI to run all jobs on branch

* fix: update map2model paths

* fix: update LPF to install from branch

* fix: update install from branch

* fix: update the lpf to branch in wheel testing

* fix: build the docs on this branch

* fix: keep docs separate

* fix: pypi and conda upld runs only on master

* fix: test the docs on the branch too

* fix: update docs docker to build lpf from branch

* fix: install sphinx with apt-get?

* docs: change sphinx build path

* fix: update build path docs

* docs: update build requirements

* fix: add beartype

* docs: typo in docker?

* fix: remove redundant beartpe install

* chore: typo

* fix: simplify issue templates

* chore: hjson not in 3.2

* fix: remove hjson from dependencies as not in 3.2

* doc: removing min fault length attribute docstring

* fix: adding min fault length setter back to project. Linking to config attribute

* fix: min fault length setter/getter for mapdata uses config attribute

* No data min fault length is -1

* chore: test unpin gdal from ci

* fix: remove sphinx from docs docker build

* chore: try again

* fix: map2model fault fault relationships (#140)

* fix: fault topology merge was using incorrect lookups

* fix: run map2model for user defined stratigraphic column

* removing logger from this pr

* fix: use fault id not Fault_{id}

* feat: make map2model optional using geopandas spatial joins as a replacement (#154)

* fix: stratigraphic alpha sorter was inverted, reverse sorter

* ignore units without contact for max contact length sorter

* updated orientation sorter to use correct trigonometry for strike/dip lines.

also change to using all intersections along line not only the first intersection. perhaps this should be a different sorter?

* revert back to original orientation sorter

* style: black

* updating WA json to work

* remove unused argument documentation

* only run doc build on master

* use geopandas to produce topology graphs instead of map2model.

Basically just using sjoins and buffers. Returns the same for faults and contacts but
we have some differences for fault-unit intersections.

* update sorter to not use stratigraphic order hint and deprecate hint sorter

* update deformation history to use eventId not name for merging

* bipass old map2model run

* use property accessor to make sure that variables are up to date

* remove sorted units from sorter call

* removing comment and condaforge channel

* fix: remove map2model call from map2loop

this is a quick fix, and needs to be cleaned up as the tmp files for map2model are still being created
and the old code is just commented

* update networkx sorter to have a name2index map

* fix: add mode to choose betweeen m2m and geopandas

* remove gdal fix

* linting

* style: black formatting

* fix: make the minimum_fault_length updatable through project

* fix: add libgdal to docs docker

* typo

* fix: try other gdal on docs

* more gdal issues

* fix: revert the gdal pin removal to see if that's the issue

* fix: use minimum fault length from project

* fix: use separate thickness table in LPF & add active thickness to project (#157)

* fix: use separate thickness table in LPF

* docs: remove unused docstring

* fix: min fault length can be int

* fix: bug in output of StructuralPoint

* fix: add the active_thickness_flag

---------

Co-authored-by: AngRodrigues <[email protected]>

* feat: do not accept any legacy files

* chore: small typo

* remove legacy format arguments

* add config file path back

* fix: allow json files, check for old keys

* chore: add/fix/update logger outputs

* chore: more logging

* chore: update tests to not rely on warnings

* chore: proper string formatting

* fix: small fixes for deprecation/linting warnings in test sessions

* chore: update actions from deprecation

* fix: issue 155  (#158)

* fix: simple fix for #155

* fix: decimation factor allows floats

* fix: decimation int

* fix: remove print statement left behind

* chore: update docstrings

* fix: gdal: test if conda issue

* fix: revert

* remove gdal pin??

* fix: keep gdal pin for now

* fix: add debug info to thickness calculators (#161)

* fix: initial commit

* fix: add debug info and warning for bad calculations

* fix: add line length control to thickness calculators

* fix: refactor to avoid repetitive code

* fix: typo

* fix: remove list comprehension - wky

* fix list to df

* fix: revert to lst comprehension

* fix: make line length attribute of the TC class

* fix: typos

* fix: syntax

* fix: add location tracking

* fix: init commit to remove lst comprehension

* chore: empty commit to trigger ci run

* chore: update typing to avoid deprecation

* fix: update ubuntu

* ci: small updates

* fix: dependencies updated

* fix: update LPF dependency

* fix: update linting and release-please

* ci: typos

* ci: keep release-please separate from linting

* ci: update testing

* ci: add pytest

* ci: update testing workflow

* ci: update linting action

* chore: upd conda meta

* style: style fixes by ruff and autoformatting by black

* ci: add conda & pypi

* ci: add docs

* ci: update to ubuntu24.04

* ci: force docs to branch gh ref

* chore: add testing badge to readme

* chore: add release badge

* Update README.md

* Update README.md

* fix: update conda and pip builds

* ci: add classic solver

* ci: add extra action to test conda build and install

* ci update

* ci: update

* gdal pin?

* add libmamba

* chore: typos

* Fix: update gdal install in actions (#163)

* ci: remove the build test for now

---------

Co-authored-by: Lachlan Grose <[email protected]>
Co-authored-by: lachlangrose <[email protected]>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: AngRodrigues <[email protected]>
Co-authored-by: Rabii Chaarani <[email protected]>
Co-authored-by: rabii-chaarani <[email protected]>
Co-authored-by: RoyThomsonMonash <[email protected]>
rabii-chaarani added a commit that referenced this pull request Jan 10, 2025
* Update issue templates

* feat: added issue_templates

* fix: add pull request template

* fix: few typos grammar

* fix: tests should be with pytest

* Revert "Update issue templates"

* fix: trigger build

* style: style fixes by ruff and autoformatting by black

* chore(master): release 3.1.1

* fix: update doc deploy

* chore(master): release 3.1.2

* docs: remove lavavu; no need for 3D vis for the examples

* style: style fixes by ruff and autoformatting by black

* fix: remove tini from docker

* chore(master): release 3.1.3

* Update issue templates

* feat: added issue_templates

edit dddf70b chore: added issue_templates

* fix: add pull request template

* fix: few typos grammar

* fix: tests should be with pytest

* Revert "Update issue templates"

* fix: add issue templates back

* fix: correct grammar for clarity

* fix: squashed commits of: - fixing the non-use of minimum_fault_length, - use tmpfile to create temporary files, - added random test for mapdata functions:get/set working projection, - added functionality and comments to basal_contacts_build

* tests: add more functionality

* fix: leave as is for now

* fix: finalise the thickness calculator outputs

* fix: Remove hjson and rely on json only

* fix: update tests/ small fixes

* fix: make sure dependencies are right

* fix: linting issue

* fix: try again

* fix: update thickness tests//fix minor typos

* fix: correct some typos/update tests

* fix: typo in tests

* Update README.md

* fix: add the basal_contacts_abnormal_check

* fix: add error handles for json, url, filenotfound

* fix: remove typo

* fix: remove tqdm

* fix: added check for collocated points

* fix: upd gdal as per master

* fix: remove test from server

* fix: issue 122

* fix: update str format

* fix: now use DBSCAN to aggregate collocated poins

* fix: removed addition

* fix: added warning when collocated points detected

* fix: add str for paths - gdal does not accept pathlibs

* fix: update minimum_fault_length as per code review

* fix: add pathlibs where possible in m2model_wrapper

* fix: add pathlib in mapdata.py

* fix: revert pathlib in map2model.run

* fix: proj should not have temp files

* fix: update the minimum_fault_length

* tests: add tests for minimum_fault_length

* fix: remove redundancy from project.py

* fix: update calculate minimum_fault_length for 5% of the map area

* fix: linting

* fix: typo

* fix: remove repetitive print stat

* fix: adjust thickness_calc workflow for modularity

* fix: remove unnecessary fields

* fix: update thickness tests

* fix: add ignore_fault_codes and tests for ignore_lithology_code and ignore_fault_code

* fix: try relative path ../_datasets

* fix: use only path instead of pkg_resources

* fix: try full path

* fix: load only using path /hamersley

* fix: try ./map2loop/_datasets/geodata_files/

* fix: use correct path

* refactor: back to original code

* fix: add the whole hamersley folder

* fix: update docker for docs

* fix: update the docs-deploy for master branch only

* fix: update CI to build on master only

* fix: remove redundancy

* fix: update the server test and handle timeout properly

* fix: updated ReadMe to have the right install steps (temporary measure)

* fix: update CI - test wheels on master only

* fix: add test to sdist build in CI to ensure tests are run in the non-master branches

* fix: update pytest in ci

* fix: revert ci

* fix: add pytest in the right place

* fix: update pytest location

* fix: manifest update

* fix: update ci again

* investigate

* find the install folder

* try again

* update ci

* fix: add checkout step to build sdist

* fix: run pytest with test sdist action

* fix: revert CI and let tests only run on main branch

* fix: add version check new class to check install of  dependencies.txt; includes version number check

* fix: organise manifest

* fix: linting fixes from merges

* fix: update CI to run all jobs on branch

* fix: update map2model paths

* fix: update LPF to install from branch

* fix: update install from branch

* fix: update the lpf to branch in wheel testing

* fix: build the docs on this branch

* fix: keep docs separate

* fix: pypi and conda upld runs only on master

* fix: test the docs on the branch too

* fix: update docs docker to build lpf from branch

* fix: install sphinx with apt-get?

* docs: change sphinx build path

* fix: update build path docs

* docs: update build requirements

* fix: add beartype

* docs: typo in docker?

* fix: remove redundant beartpe install

* chore: typo

* fix: simplify issue templates

* chore: hjson not in 3.2

* fix: remove hjson from dependencies as not in 3.2

* doc: removing min fault length attribute docstring

* fix: adding min fault length setter back to project. Linking to config attribute

* fix: min fault length setter/getter for mapdata uses config attribute

* No data min fault length is -1

* chore: test unpin gdal from ci

* fix: remove sphinx from docs docker build

* chore: try again

* fix: map2model fault fault relationships (#140)

* fix: fault topology merge was using incorrect lookups

* fix: run map2model for user defined stratigraphic column

* removing logger from this pr

* fix: use fault id not Fault_{id}

* feat: make map2model optional using geopandas spatial joins as a replacement (#154)

* fix: stratigraphic alpha sorter was inverted, reverse sorter

* ignore units without contact for max contact length sorter

* updated orientation sorter to use correct trigonometry for strike/dip lines.

also change to using all intersections along line not only the first intersection. perhaps this should be a different sorter?

* revert back to original orientation sorter

* style: black

* updating WA json to work

* remove unused argument documentation

* only run doc build on master

* use geopandas to produce topology graphs instead of map2model.

Basically just using sjoins and buffers. Returns the same for faults and contacts but
we have some differences for fault-unit intersections.

* update sorter to not use stratigraphic order hint and deprecate hint sorter

* update deformation history to use eventId not name for merging

* bipass old map2model run

* use property accessor to make sure that variables are up to date

* remove sorted units from sorter call

* removing comment and condaforge channel

* fix: remove map2model call from map2loop

this is a quick fix, and needs to be cleaned up as the tmp files for map2model are still being created
and the old code is just commented

* update networkx sorter to have a name2index map

* fix: add mode to choose betweeen m2m and geopandas

* remove gdal fix

* linting

* style: black formatting

* fix: make the minimum_fault_length updatable through project

* fix: add libgdal to docs docker

* typo

* fix: try other gdal on docs

* more gdal issues

* fix: revert the gdal pin removal to see if that's the issue

* fix: use minimum fault length from project

* fix: use separate thickness table in LPF & add active thickness to project (#157)

* fix: use separate thickness table in LPF

* docs: remove unused docstring

* fix: min fault length can be int

* fix: bug in output of StructuralPoint

* fix: add the active_thickness_flag

---------

Co-authored-by: AngRodrigues <[email protected]>

* feat: do not accept any legacy files

* chore: small typo

* remove legacy format arguments

* add config file path back

* fix: allow json files, check for old keys

* chore: add/fix/update logger outputs

* chore: more logging

* chore: update tests to not rely on warnings

* chore: proper string formatting

* fix: small fixes for deprecation/linting warnings in test sessions

* chore: update actions from deprecation

* fix: issue 155  (#158)

* fix: simple fix for #155

* fix: decimation factor allows floats

* fix: decimation int

* fix: remove print statement left behind

* chore: update docstrings

* fix: gdal: test if conda issue

* fix: revert

* remove gdal pin??

* fix: keep gdal pin for now

* fix: add debug info to thickness calculators (#161)

* fix: initial commit

* fix: add debug info and warning for bad calculations

* fix: add line length control to thickness calculators

* fix: refactor to avoid repetitive code

* fix: typo

* fix: remove list comprehension - wky

* fix list to df

* fix: revert to lst comprehension

* fix: make line length attribute of the TC class

* fix: typos

* fix: syntax

* fix: add location tracking

* fix: init commit to remove lst comprehension

* chore: empty commit to trigger ci run

* chore: update typing to avoid deprecation

* fix: update ubuntu

* ci: small updates

* fix: dependencies updated

* fix: update LPF dependency

* fix: update linting and release-please

* ci: typos

* ci: keep release-please separate from linting

* ci: update testing

* ci: add pytest

* ci: update testing workflow

* ci: update linting action

* chore: upd conda meta

* style: style fixes by ruff and autoformatting by black

* ci: add conda & pypi

* ci: add docs

* ci: update to ubuntu24.04

* ci: force docs to branch gh ref

* chore: add testing badge to readme

* chore: add release badge

* Update README.md

* Update README.md

* fix: update conda and pip builds

* ci: add classic solver

* ci: add extra action to test conda build and install

* ci update

* ci: update

* gdal pin?

* add libmamba

* chore: typos

* Fix: update gdal install in actions (#163)

* ci: remove the build test for now

---------

Co-authored-by: Lachlan Grose <[email protected]>
Co-authored-by: lachlangrose <[email protected]>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: AngRodrigues <[email protected]>
Co-authored-by: Rabii Chaarani <[email protected]>
Co-authored-by: rabii-chaarani <[email protected]>
Co-authored-by: RoyThomsonMonash <[email protected]>
rabii-chaarani added a commit that referenced this pull request Jan 20, 2025
* Update issue templates

* feat: added issue_templates

* fix: add pull request template

* fix: few typos grammar

* fix: tests should be with pytest

* Revert "Update issue templates"

* fix: trigger build

* style: style fixes by ruff and autoformatting by black

* chore(master): release 3.1.1

* fix: update doc deploy

* chore(master): release 3.1.2

* docs: remove lavavu; no need for 3D vis for the examples

* style: style fixes by ruff and autoformatting by black

* fix: remove tini from docker

* chore(master): release 3.1.3

* Update issue templates

* feat: added issue_templates

edit dddf70b chore: added issue_templates

* fix: add pull request template

* fix: few typos grammar

* fix: tests should be with pytest

* Revert "Update issue templates"

* fix: add issue templates back

* fix: correct grammar for clarity

* fix: squashed commits of: - fixing the non-use of minimum_fault_length, - use tmpfile to create temporary files, - added random test for mapdata functions:get/set working projection, - added functionality and comments to basal_contacts_build

* tests: add more functionality

* fix: leave as is for now

* fix: finalise the thickness calculator outputs

* fix: Remove hjson and rely on json only

* fix: update tests/ small fixes

* fix: make sure dependencies are right

* fix: linting issue

* fix: try again

* fix: update thickness tests//fix minor typos

* fix: correct some typos/update tests

* fix: typo in tests

* Update README.md

* fix: add the basal_contacts_abnormal_check

* fix: add error handles for json, url, filenotfound

* fix: remove typo

* fix: remove tqdm

* fix: added check for collocated points

* fix: upd gdal as per master

* fix: remove test from server

* fix: issue 122

* fix: update str format

* fix: now use DBSCAN to aggregate collocated poins

* fix: removed addition

* fix: added warning when collocated points detected

* fix: add str for paths - gdal does not accept pathlibs

* fix: update minimum_fault_length as per code review

* fix: add pathlibs where possible in m2model_wrapper

* fix: add pathlib in mapdata.py

* fix: revert pathlib in map2model.run

* fix: proj should not have temp files

* fix: update the minimum_fault_length

* tests: add tests for minimum_fault_length

* fix: remove redundancy from project.py

* fix: update calculate minimum_fault_length for 5% of the map area

* fix: linting

* fix: typo

* fix: remove repetitive print stat

* fix: adjust thickness_calc workflow for modularity

* fix: remove unnecessary fields

* fix: update thickness tests

* fix: add ignore_fault_codes and tests for ignore_lithology_code and ignore_fault_code

* fix: try relative path ../_datasets

* fix: use only path instead of pkg_resources

* fix: try full path

* fix: load only using path /hamersley

* fix: try ./map2loop/_datasets/geodata_files/

* fix: use correct path

* refactor: back to original code

* fix: add the whole hamersley folder

* fix: update docker for docs

* fix: update the docs-deploy for master branch only

* fix: update CI to build on master only

* fix: remove redundancy

* fix: update the server test and handle timeout properly

* fix: updated ReadMe to have the right install steps (temporary measure)

* fix: update CI - test wheels on master only

* fix: add test to sdist build in CI to ensure tests are run in the non-master branches

* fix: update pytest in ci

* fix: revert ci

* fix: add pytest in the right place

* fix: update pytest location

* fix: manifest update

* fix: update ci again

* investigate

* find the install folder

* try again

* update ci

* fix: add checkout step to build sdist

* fix: run pytest with test sdist action

* fix: revert CI and let tests only run on main branch

* fix: add version check new class to check install of  dependencies.txt; includes version number check

* fix: organise manifest

* fix: linting fixes from merges

* fix: update CI to run all jobs on branch

* fix: update map2model paths

* fix: update LPF to install from branch

* fix: update install from branch

* fix: update the lpf to branch in wheel testing

* fix: build the docs on this branch

* fix: keep docs separate

* fix: pypi and conda upld runs only on master

* fix: test the docs on the branch too

* fix: update docs docker to build lpf from branch

* fix: install sphinx with apt-get?

* docs: change sphinx build path

* fix: update build path docs

* docs: update build requirements

* fix: add beartype

* docs: typo in docker?

* fix: remove redundant beartpe install

* chore: typo

* fix: simplify issue templates

* chore: hjson not in 3.2

* fix: remove hjson from dependencies as not in 3.2

* doc: removing min fault length attribute docstring

* fix: adding min fault length setter back to project. Linking to config attribute

* fix: min fault length setter/getter for mapdata uses config attribute

* No data min fault length is -1

* chore: test unpin gdal from ci

* fix: remove sphinx from docs docker build

* chore: try again

* fix: map2model fault fault relationships (#140)

* fix: fault topology merge was using incorrect lookups

* fix: run map2model for user defined stratigraphic column

* removing logger from this pr

* fix: use fault id not Fault_{id}

* feat: make map2model optional using geopandas spatial joins as a replacement (#154)

* fix: stratigraphic alpha sorter was inverted, reverse sorter

* ignore units without contact for max contact length sorter

* updated orientation sorter to use correct trigonometry for strike/dip lines.

also change to using all intersections along line not only the first intersection. perhaps this should be a different sorter?

* revert back to original orientation sorter

* style: black

* updating WA json to work

* remove unused argument documentation

* only run doc build on master

* use geopandas to produce topology graphs instead of map2model.

Basically just using sjoins and buffers. Returns the same for faults and contacts but
we have some differences for fault-unit intersections.

* update sorter to not use stratigraphic order hint and deprecate hint sorter

* update deformation history to use eventId not name for merging

* bipass old map2model run

* use property accessor to make sure that variables are up to date

* remove sorted units from sorter call

* removing comment and condaforge channel

* fix: remove map2model call from map2loop

this is a quick fix, and needs to be cleaned up as the tmp files for map2model are still being created
and the old code is just commented

* update networkx sorter to have a name2index map

* fix: add mode to choose betweeen m2m and geopandas

* remove gdal fix

* linting

* style: black formatting

* fix: make the minimum_fault_length updatable through project

* fix: add libgdal to docs docker

* typo

* fix: try other gdal on docs

* more gdal issues

* fix: revert the gdal pin removal to see if that's the issue

* fix: use minimum fault length from project

* fix: use separate thickness table in LPF & add active thickness to project (#157)

* fix: use separate thickness table in LPF

* docs: remove unused docstring

* fix: min fault length can be int

* fix: bug in output of StructuralPoint

* fix: add the active_thickness_flag

---------

Co-authored-by: AngRodrigues <[email protected]>

* feat: do not accept any legacy files

* chore: small typo

* remove legacy format arguments

* add config file path back

* fix: allow json files, check for old keys

* chore: add/fix/update logger outputs

* chore: more logging

* chore: update tests to not rely on warnings

* chore: proper string formatting

* fix: small fixes for deprecation/linting warnings in test sessions

* chore: update actions from deprecation

* fix: issue 155  (#158)

* fix: simple fix for #155

* fix: decimation factor allows floats

* fix: decimation int

* fix: remove print statement left behind

* chore: update docstrings

* fix: gdal: test if conda issue

* fix: revert

* remove gdal pin??

* fix: keep gdal pin for now

* fix: add debug info to thickness calculators (#161)

* fix: initial commit

* fix: add debug info and warning for bad calculations

* fix: add line length control to thickness calculators

* fix: refactor to avoid repetitive code

* fix: typo

* fix: remove list comprehension - wky

* fix list to df

* fix: revert to lst comprehension

* fix: make line length attribute of the TC class

* fix: typos

* fix: syntax

* fix: add location tracking

* fix: init commit to remove lst comprehension

* chore: empty commit to trigger ci run

* chore: update typing to avoid deprecation

* fix: update ubuntu

* ci: small updates

* fix: dependencies updated

* fix: update LPF dependency

* fix: update linting and release-please

* ci: typos

* ci: keep release-please separate from linting

* ci: update testing

* ci: add pytest

* ci: update testing workflow

* ci: update linting action

* chore: upd conda meta

* style: style fixes by ruff and autoformatting by black

* ci: add conda & pypi

* ci: add docs

* ci: update to ubuntu24.04

* ci: force docs to branch gh ref

* chore: add testing badge to readme

* chore: add release badge

* Update README.md

* Update README.md

* fix: update conda and pip builds

* ci: add classic solver

* ci: add extra action to test conda build and install

* ci update

* ci: update

* gdal pin?

* add libmamba

* chore: typos

* Fix: update gdal install in actions (#163)

* ci: remove the build test for now

---------

Co-authored-by: Lachlan Grose <[email protected]>
Co-authored-by: lachlangrose <[email protected]>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: AngRodrigues <[email protected]>
Co-authored-by: Rabii Chaarani <[email protected]>
Co-authored-by: rabii-chaarani <[email protected]>
Co-authored-by: RoyThomsonMonash <[email protected]>
rabii-chaarani added a commit that referenced this pull request Jan 20, 2025
* Update issue templates

* feat: added issue_templates

* fix: add pull request template

* fix: few typos grammar

* fix: tests should be with pytest

* Revert "Update issue templates"

* fix: trigger build

* style: style fixes by ruff and autoformatting by black

* chore(master): release 3.1.1

* fix: update doc deploy

* chore(master): release 3.1.2

* docs: remove lavavu; no need for 3D vis for the examples

* style: style fixes by ruff and autoformatting by black

* fix: remove tini from docker

* chore(master): release 3.1.3

* Update issue templates

* feat: added issue_templates

edit dddf70b chore: added issue_templates

* fix: add pull request template

* fix: few typos grammar

* fix: tests should be with pytest

* Revert "Update issue templates"

* fix: add issue templates back

* fix: correct grammar for clarity

* fix: squashed commits of: - fixing the non-use of minimum_fault_length, - use tmpfile to create temporary files, - added random test for mapdata functions:get/set working projection, - added functionality and comments to basal_contacts_build

* tests: add more functionality

* fix: leave as is for now

* fix: finalise the thickness calculator outputs

* fix: Remove hjson and rely on json only

* fix: update tests/ small fixes

* fix: make sure dependencies are right

* fix: linting issue

* fix: try again

* fix: update thickness tests//fix minor typos

* fix: correct some typos/update tests

* fix: typo in tests

* Update README.md

* fix: add the basal_contacts_abnormal_check

* fix: add error handles for json, url, filenotfound

* fix: remove typo

* fix: remove tqdm

* fix: added check for collocated points

* fix: upd gdal as per master

* fix: remove test from server

* fix: issue 122

* fix: update str format

* fix: now use DBSCAN to aggregate collocated poins

* fix: removed addition

* fix: added warning when collocated points detected

* fix: add str for paths - gdal does not accept pathlibs

* fix: update minimum_fault_length as per code review

* fix: add pathlibs where possible in m2model_wrapper

* fix: add pathlib in mapdata.py

* fix: revert pathlib in map2model.run

* fix: proj should not have temp files

* fix: update the minimum_fault_length

* tests: add tests for minimum_fault_length

* fix: remove redundancy from project.py

* fix: update calculate minimum_fault_length for 5% of the map area

* fix: linting

* fix: typo

* fix: remove repetitive print stat

* fix: adjust thickness_calc workflow for modularity

* fix: remove unnecessary fields

* fix: update thickness tests

* fix: add ignore_fault_codes and tests for ignore_lithology_code and ignore_fault_code

* fix: try relative path ../_datasets

* fix: use only path instead of pkg_resources

* fix: try full path

* fix: load only using path /hamersley

* fix: try ./map2loop/_datasets/geodata_files/

* fix: use correct path

* refactor: back to original code

* fix: add the whole hamersley folder

* fix: update docker for docs

* fix: update the docs-deploy for master branch only

* fix: update CI to build on master only

* fix: remove redundancy

* fix: update the server test and handle timeout properly

* fix: updated ReadMe to have the right install steps (temporary measure)

* fix: update CI - test wheels on master only

* fix: add test to sdist build in CI to ensure tests are run in the non-master branches

* fix: update pytest in ci

* fix: revert ci

* fix: add pytest in the right place

* fix: update pytest location

* fix: manifest update

* fix: update ci again

* investigate

* find the install folder

* try again

* update ci

* fix: add checkout step to build sdist

* fix: run pytest with test sdist action

* fix: revert CI and let tests only run on main branch

* fix: add version check new class to check install of  dependencies.txt; includes version number check

* fix: organise manifest

* fix: linting fixes from merges

* fix: update CI to run all jobs on branch

* fix: update map2model paths

* fix: update LPF to install from branch

* fix: update install from branch

* fix: update the lpf to branch in wheel testing

* fix: build the docs on this branch

* fix: keep docs separate

* fix: pypi and conda upld runs only on master

* fix: test the docs on the branch too

* fix: update docs docker to build lpf from branch

* fix: install sphinx with apt-get?

* docs: change sphinx build path

* fix: update build path docs

* docs: update build requirements

* fix: add beartype

* docs: typo in docker?

* fix: remove redundant beartpe install

* chore: typo

* fix: simplify issue templates

* chore: hjson not in 3.2

* fix: remove hjson from dependencies as not in 3.2

* doc: removing min fault length attribute docstring

* fix: adding min fault length setter back to project. Linking to config attribute

* fix: min fault length setter/getter for mapdata uses config attribute

* No data min fault length is -1

* chore: test unpin gdal from ci

* fix: remove sphinx from docs docker build

* chore: try again

* fix: map2model fault fault relationships (#140)

* fix: fault topology merge was using incorrect lookups

* fix: run map2model for user defined stratigraphic column

* removing logger from this pr

* fix: use fault id not Fault_{id}

* feat: make map2model optional using geopandas spatial joins as a replacement (#154)

* fix: stratigraphic alpha sorter was inverted, reverse sorter

* ignore units without contact for max contact length sorter

* updated orientation sorter to use correct trigonometry for strike/dip lines.

also change to using all intersections along line not only the first intersection. perhaps this should be a different sorter?

* revert back to original orientation sorter

* style: black

* updating WA json to work

* remove unused argument documentation

* only run doc build on master

* use geopandas to produce topology graphs instead of map2model.

Basically just using sjoins and buffers. Returns the same for faults and contacts but
we have some differences for fault-unit intersections.

* update sorter to not use stratigraphic order hint and deprecate hint sorter

* update deformation history to use eventId not name for merging

* bipass old map2model run

* use property accessor to make sure that variables are up to date

* remove sorted units from sorter call

* removing comment and condaforge channel

* fix: remove map2model call from map2loop

this is a quick fix, and needs to be cleaned up as the tmp files for map2model are still being created
and the old code is just commented

* update networkx sorter to have a name2index map

* fix: add mode to choose betweeen m2m and geopandas

* remove gdal fix

* linting

* style: black formatting

* fix: make the minimum_fault_length updatable through project

* fix: add libgdal to docs docker

* typo

* fix: try other gdal on docs

* more gdal issues

* fix: revert the gdal pin removal to see if that's the issue

* fix: use minimum fault length from project

* fix: use separate thickness table in LPF & add active thickness to project (#157)

* fix: use separate thickness table in LPF

* docs: remove unused docstring

* fix: min fault length can be int

* fix: bug in output of StructuralPoint

* fix: add the active_thickness_flag

---------

Co-authored-by: AngRodrigues <[email protected]>

* feat: do not accept any legacy files

* chore: small typo

* remove legacy format arguments

* add config file path back

* fix: allow json files, check for old keys

* chore: add/fix/update logger outputs

* chore: more logging

* chore: update tests to not rely on warnings

* chore: proper string formatting

* fix: small fixes for deprecation/linting warnings in test sessions

* chore: update actions from deprecation

* fix: issue 155  (#158)

* fix: simple fix for #155

* fix: decimation factor allows floats

* fix: decimation int

* fix: remove print statement left behind

* chore: update docstrings

* fix: gdal: test if conda issue

* fix: revert

* remove gdal pin??

* fix: keep gdal pin for now

* fix: add debug info to thickness calculators (#161)

* fix: initial commit

* fix: add debug info and warning for bad calculations

* fix: add line length control to thickness calculators

* fix: refactor to avoid repetitive code

* fix: typo

* fix: remove list comprehension - wky

* fix list to df

* fix: revert to lst comprehension

* fix: make line length attribute of the TC class

* fix: typos

* fix: syntax

* fix: add location tracking

* fix: init commit to remove lst comprehension

* chore: empty commit to trigger ci run

* chore: update typing to avoid deprecation

* fix: update ubuntu

* ci: small updates

* fix: dependencies updated

* fix: update LPF dependency

* fix: update linting and release-please

* ci: typos

* ci: keep release-please separate from linting

* ci: update testing

* ci: add pytest

* ci: update testing workflow

* ci: update linting action

* chore: upd conda meta

* style: style fixes by ruff and autoformatting by black

* ci: add conda & pypi

* ci: add docs

* ci: update to ubuntu24.04

* ci: force docs to branch gh ref

* chore: add testing badge to readme

* chore: add release badge

* Update README.md

* Update README.md

* fix: update conda and pip builds

* ci: add classic solver

* ci: add extra action to test conda build and install

* ci update

* ci: update

* gdal pin?

* add libmamba

* chore: typos

* Fix: update gdal install in actions (#163)

* ci: remove the build test for now

---------

Co-authored-by: Lachlan Grose <[email protected]>
Co-authored-by: lachlangrose <[email protected]>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: AngRodrigues <[email protected]>
Co-authored-by: Rabii Chaarani <[email protected]>
Co-authored-by: rabii-chaarani <[email protected]>
Co-authored-by: RoyThomsonMonash <[email protected]>
noellehmcheng pushed a commit that referenced this pull request May 29, 2025
* Update issue templates

* feat: added issue_templates

* fix: add pull request template

* fix: few typos grammar

* fix: tests should be with pytest

* Revert "Update issue templates"

* fix: trigger build

* style: style fixes by ruff and autoformatting by black

* chore(master): release 3.1.1

* fix: update doc deploy

* chore(master): release 3.1.2

* docs: remove lavavu; no need for 3D vis for the examples

* style: style fixes by ruff and autoformatting by black

* fix: remove tini from docker

* chore(master): release 3.1.3

* Update issue templates

* feat: added issue_templates

edit dddf70b chore: added issue_templates

* fix: add pull request template

* fix: few typos grammar

* fix: tests should be with pytest

* Revert "Update issue templates"

* fix: add issue templates back

* fix: correct grammar for clarity

* fix: squashed commits of: - fixing the non-use of minimum_fault_length, - use tmpfile to create temporary files, - added random test for mapdata functions:get/set working projection, - added functionality and comments to basal_contacts_build

* tests: add more functionality

* fix: leave as is for now

* fix: finalise the thickness calculator outputs

* fix: Remove hjson and rely on json only

* fix: update tests/ small fixes

* fix: make sure dependencies are right

* fix: linting issue

* fix: try again

* fix: update thickness tests//fix minor typos

* fix: correct some typos/update tests

* fix: typo in tests

* Update README.md

* fix: add the basal_contacts_abnormal_check

* fix: add error handles for json, url, filenotfound

* fix: remove typo

* fix: remove tqdm

* fix: added check for collocated points

* fix: upd gdal as per master

* fix: remove test from server

* fix: issue 122

* fix: update str format

* fix: now use DBSCAN to aggregate collocated poins

* fix: removed addition

* fix: added warning when collocated points detected

* fix: add str for paths - gdal does not accept pathlibs

* fix: update minimum_fault_length as per code review

* fix: add pathlibs where possible in m2model_wrapper

* fix: add pathlib in mapdata.py

* fix: revert pathlib in map2model.run

* fix: proj should not have temp files

* fix: update the minimum_fault_length

* tests: add tests for minimum_fault_length

* fix: remove redundancy from project.py

* fix: update calculate minimum_fault_length for 5% of the map area

* fix: linting

* fix: typo

* fix: remove repetitive print stat

* fix: adjust thickness_calc workflow for modularity

* fix: remove unnecessary fields

* fix: update thickness tests

* fix: add ignore_fault_codes and tests for ignore_lithology_code and ignore_fault_code

* fix: try relative path ../_datasets

* fix: use only path instead of pkg_resources

* fix: try full path

* fix: load only using path /hamersley

* fix: try ./map2loop/_datasets/geodata_files/

* fix: use correct path

* refactor: back to original code

* fix: add the whole hamersley folder

* fix: update docker for docs

* fix: update the docs-deploy for master branch only

* fix: update CI to build on master only

* fix: remove redundancy

* fix: update the server test and handle timeout properly

* fix: updated ReadMe to have the right install steps (temporary measure)

* fix: update CI - test wheels on master only

* fix: add test to sdist build in CI to ensure tests are run in the non-master branches

* fix: update pytest in ci

* fix: revert ci

* fix: add pytest in the right place

* fix: update pytest location

* fix: manifest update

* fix: update ci again

* investigate

* find the install folder

* try again

* update ci

* fix: add checkout step to build sdist

* fix: run pytest with test sdist action

* fix: revert CI and let tests only run on main branch

* fix: add version check new class to check install of  dependencies.txt; includes version number check

* fix: organise manifest

* fix: linting fixes from merges

* fix: update CI to run all jobs on branch

* fix: update map2model paths

* fix: update LPF to install from branch

* fix: update install from branch

* fix: update the lpf to branch in wheel testing

* fix: build the docs on this branch

* fix: keep docs separate

* fix: pypi and conda upld runs only on master

* fix: test the docs on the branch too

* fix: update docs docker to build lpf from branch

* fix: install sphinx with apt-get?

* docs: change sphinx build path

* fix: update build path docs

* docs: update build requirements

* fix: add beartype

* docs: typo in docker?

* fix: remove redundant beartpe install

* chore: typo

* fix: simplify issue templates

* chore: hjson not in 3.2

* fix: remove hjson from dependencies as not in 3.2

* doc: removing min fault length attribute docstring

* fix: adding min fault length setter back to project. Linking to config attribute

* fix: min fault length setter/getter for mapdata uses config attribute

* No data min fault length is -1

* chore: test unpin gdal from ci

* fix: remove sphinx from docs docker build

* chore: try again

* fix: map2model fault fault relationships (#140)

* fix: fault topology merge was using incorrect lookups

* fix: run map2model for user defined stratigraphic column

* removing logger from this pr

* fix: use fault id not Fault_{id}

* feat: make map2model optional using geopandas spatial joins as a replacement (#154)

* fix: stratigraphic alpha sorter was inverted, reverse sorter

* ignore units without contact for max contact length sorter

* updated orientation sorter to use correct trigonometry for strike/dip lines.

also change to using all intersections along line not only the first intersection. perhaps this should be a different sorter?

* revert back to original orientation sorter

* style: black

* updating WA json to work

* remove unused argument documentation

* only run doc build on master

* use geopandas to produce topology graphs instead of map2model.

Basically just using sjoins and buffers. Returns the same for faults and contacts but
we have some differences for fault-unit intersections.

* update sorter to not use stratigraphic order hint and deprecate hint sorter

* update deformation history to use eventId not name for merging

* bipass old map2model run

* use property accessor to make sure that variables are up to date

* remove sorted units from sorter call

* removing comment and condaforge channel

* fix: remove map2model call from map2loop

this is a quick fix, and needs to be cleaned up as the tmp files for map2model are still being created
and the old code is just commented

* update networkx sorter to have a name2index map

* fix: add mode to choose betweeen m2m and geopandas

* remove gdal fix

* linting

* style: black formatting

* fix: make the minimum_fault_length updatable through project

* fix: add libgdal to docs docker

* typo

* fix: try other gdal on docs

* more gdal issues

* fix: revert the gdal pin removal to see if that's the issue

* fix: use minimum fault length from project

* fix: use separate thickness table in LPF & add active thickness to project (#157)

* fix: use separate thickness table in LPF

* docs: remove unused docstring

* fix: min fault length can be int

* fix: bug in output of StructuralPoint

* fix: add the active_thickness_flag

---------

Co-authored-by: AngRodrigues <[email protected]>

* feat: do not accept any legacy files

* chore: small typo

* remove legacy format arguments

* add config file path back

* fix: allow json files, check for old keys

* chore: add/fix/update logger outputs

* chore: more logging

* chore: update tests to not rely on warnings

* chore: proper string formatting

* fix: small fixes for deprecation/linting warnings in test sessions

* chore: update actions from deprecation

* fix: issue 155  (#158)

* fix: simple fix for #155

* fix: decimation factor allows floats

* fix: decimation int

* fix: remove print statement left behind

* chore: update docstrings

* fix: gdal: test if conda issue

* fix: revert

* remove gdal pin??

* fix: keep gdal pin for now

* fix: add debug info to thickness calculators (#161)

* fix: initial commit

* fix: add debug info and warning for bad calculations

* fix: add line length control to thickness calculators

* fix: refactor to avoid repetitive code

* fix: typo

* fix: remove list comprehension - wky

* fix list to df

* fix: revert to lst comprehension

* fix: make line length attribute of the TC class

* fix: typos

* fix: syntax

* fix: add location tracking

* fix: init commit to remove lst comprehension

* chore: empty commit to trigger ci run

* chore: update typing to avoid deprecation

* fix: update ubuntu

* ci: small updates

* fix: dependencies updated

* fix: update LPF dependency

* fix: update linting and release-please

* ci: typos

* ci: keep release-please separate from linting

* ci: update testing

* ci: add pytest

* ci: update testing workflow

* ci: update linting action

* chore: upd conda meta

* style: style fixes by ruff and autoformatting by black

* ci: add conda & pypi

* ci: add docs

* ci: update to ubuntu24.04

* ci: force docs to branch gh ref

* chore: add testing badge to readme

* chore: add release badge

* Update README.md

* Update README.md

* fix: update conda and pip builds

* ci: add classic solver

* ci: add extra action to test conda build and install

* ci update

* ci: update

* gdal pin?

* add libmamba

* chore: typos

* Fix: update gdal install in actions (#163)

* ci: remove the build test for now

---------

Co-authored-by: Lachlan Grose <[email protected]>
Co-authored-by: lachlangrose <[email protected]>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: AngRodrigues <[email protected]>
Co-authored-by: Rabii Chaarani <[email protected]>
Co-authored-by: rabii-chaarani <[email protected]>
Co-authored-by: RoyThomsonMonash <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment