Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

v3.2 #153

Merged
merged 211 commits into from
Dec 16, 2024
Merged

v3.2 #153

merged 211 commits into from
Dec 16, 2024

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]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment