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

Feature/42 participation rate filter #48

Merged
merged 56 commits into from
Oct 28, 2024
Merged
Show file tree
Hide file tree
Changes from 55 commits
Commits
Show all changes
56 commits
Select commit Hold shift + click to select a range
b8e1391
demo test for checking the science goal(s)
chrisbc Jul 23, 2024
8591cec
new fault_system_solution_helper module
chrisbc Jul 25, 2024
9028626
a simple rupture grouping algo;
chrisbc Jul 25, 2024
01021cf
drop_zero_rate differentiates between FSS and IS;
chrisbc Jul 30, 2024
6c28632
more test cover; WIP on rupture representative;
chrisbc Jul 30, 2024
d04d3ef
linting - some mypy errors on WIP;
chrisbc Jul 30, 2024
b2ce5bd
remove stray print
chrisbc Jul 30, 2024
52838ff
named_fault support WIP; new filter class API WIP;
chrisbc Aug 19, 2024
28c2e6f
refactor subsection filter & tests
chrisbc Aug 19, 2024
d922ec7
migrate to filter_rupture_ids.for_subsections();
chrisbc Aug 19, 2024
74a5464
migrate to filter_rupture_ids.for_parent_fault_ids();
chrisbc Aug 19, 2024
138f3a3
migrate to filter_rupture_ids.for_parent_fault_ids();
chrisbc Aug 19, 2024
bd4e537
detox
chrisbc Aug 19, 2024
9319033
fixed method names; added doc page for subsection_id_filter;
chrisbc Aug 20, 2024
eb54ccc
fixed method names; added doc page for subsection_id_filter;
chrisbc Aug 20, 2024
6a32c93
refactor filter tests; WIP on DeprecationWarnings; new filter_parent_…
chrisbc Aug 20, 2024
abc427e
fixing many deprecation warnings; updated geopandas, pandas, numpy, p…
chrisbc Aug 20, 2024
4cfd5fe
refactor filters int package; more test cover; implement new filters;…
chrisbc Aug 21, 2024
968d2ca
detox; unifying filter methods; improve docstrings & tests;
chrisbc Aug 22, 2024
25ac8f0
implement rate and mag filtering on rupture_id_filter;
chrisbc Aug 22, 2024
0254537
fix drop_zero_rates;
chrisbc Aug 22, 2024
f3fcfb5
remove print
chrisbc Aug 22, 2024
87c1e19
migrate find rupture polygons into filter class; move drop_zero_rates…
chrisbc Aug 23, 2024
74008be
chainable_set poc;
chrisbc Aug 23, 2024
b00bdc0
implement ChainableSetBase; migrate FilterRuptureIds to be chainable;
chrisbc Aug 24, 2024
44a7772
add set operation support for chaining (join_prior) and test coverage;
chrisbc Aug 26, 2024
52f5ea6
join arguments tidied up; strings and ENUMS are supported;
chrisbc Aug 26, 2024
3687d35
fix set operand method names;
chrisbc Aug 26, 2024
7386472
fix set operations return type
chrisbc Aug 26, 2024
24c7e85
implement set operands for supported set methods; improve docs
chrisbc Aug 27, 2024
4444d86
merge 3d geometry changes from @voj; add some testing;
chrisbc Aug 27, 2024
672083b
new particiption rate functions; detox
chrisbc Sep 3, 2024
0f60067
test 3d surfaces
chrisbc Sep 3, 2024
b7ba020
migrate participation functions into classes proper; add FSS section_…
chrisbc Sep 4, 2024
95c28f4
make subsection_id_filter chainable;
chrisbc Sep 5, 2024
4b4774c
added participation methods to fault_system_solution
chrisbc Sep 5, 2024
c3ab6da
simplify FSS participation using rate_weighted_mean; refactor datafra…
chrisbc Sep 10, 2024
b295aa6
standardise participation functions API and return column;
chrisbc Sep 10, 2024
22d3c5c
fix rate_column; add .all() methods to filter classes;
chrisbc Sep 11, 2024
dc28ce2
add TinyInversionSolution fixture; tune pytest fixture scoping for ma…
chrisbc Sep 17, 2024
a253ff1
doc and docstrings improvements; Better typing in filter package;
chrisbc Sep 19, 2024
4c9f342
test tuning;
chrisbc Sep 19, 2024
3b33f6e
more on rupture_grouping
chrisbc Sep 23, 2024
68efd58
add more module docstrings, simplify package docstrings; rename `id` …
chrisbc Oct 2, 2024
ba82679
improved docstrings
chrisbc Oct 2, 2024
26b56f9
more work on inversion_solution/* docs/typing;
chrisbc Oct 3, 2024
3dd1a83
remove private attributes from the Interface
chrisbc Oct 6, 2024
a0f4984
add module docstring to inversion_solution_file;
chrisbc Oct 6, 2024
04c4f7c
WIP adding dataframe schema validations with panderas;
chrisbc Oct 8, 2024
9282e1c
WIP on dataframe models: `inversion_solution_operations` is now fully…
chrisbc Oct 9, 2024
7407b69
WIP, adding InversionSolutionFile::RuptureRateSchema;
chrisbc Oct 9, 2024
e00868e
update poetry lock file;
chrisbc Oct 9, 2024
f16fc51
changelog udpated
chrisbc Oct 9, 2024
e2d8f09
Bump version: 0.12.3 → 0.13.0
chrisbc Oct 9, 2024
e8a2004
doc improvements
chrisbc Oct 21, 2024
cd50f24
doc improvements; strip redundant test comments; detox;
chrisbc Oct 28, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .bumpversion.cfg
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
[bumpversion]
current_version = 0.12.3
current_version = 0.13.0
commit = True
tag = True

Expand Down
21 changes: 21 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,26 @@
# Changelog

## [0.13.0] 2024-*

## Changed
- drop_zero_rate differentiates between FSS and IS;
- faster testing (~3 times faster)
- documentation improvements
- abc427e fixing many deprecation warnings; updated geopandas, pandas, numpy, pyvista libs;
- read_csv dtype configuration improvements;
- many old functions are deprecated/migrated to new filter package
- refactor dataframe dtypes
- standardise participation functions API and return columns;

## Added
- new filter package providing classes for filtering solotions
- support for 3d geometry (thanks @voj)
- c3ab6da simplify FSS participation using rate_weighted_mean
- participation performance testing;
- added participation methods to fault_system_solution
- a simple rupture grouping algorithm (can this be a different type of filter??);
- `pandera` library for dataframe model validations and better docs

## [0.12.3] 2024-07-04
bump version to verify new pypi workflow

Expand Down
1 change: 1 addition & 0 deletions docs/api/filter/chainable_set_base.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
::: solvis.filter.chainable_set_base
3 changes: 3 additions & 0 deletions docs/api/filter/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
::: solvis.filter
<!-- options:
show_root_heading: false -->
1 change: 1 addition & 0 deletions docs/api/filter/parent_fault_id_filter.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
::: solvis.filter.parent_fault_id_filter
1 change: 1 addition & 0 deletions docs/api/filter/rupture_id_filter.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
::: solvis.filter.rupture_id_filter
1 change: 1 addition & 0 deletions docs/api/filter/subsection_id_filter.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
::: solvis.filter.subsection_id_filter
44 changes: 44 additions & 0 deletions docs/api/inversion_solution/dataframe_models.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
::: solvis.inversion_solution.dataframe_models
options:
inherited_members: false
members: false

::: solvis.inversion_solution.dataframe_models.FaultSectionSchemaBase
options:
members: false

::: solvis.inversion_solution.dataframe_models.FaultSectionSchema
options:
members: false

::: solvis.inversion_solution.dataframe_models.FaultSectionRuptureRateSchema
options:
members: false

::: solvis.inversion_solution.dataframe_models.FaultSectionWithSolutionSlipRate
options:
members: false

::: solvis.inversion_solution.dataframe_models.ParentFaultParticipationSchema
options:
members: false

::: solvis.inversion_solution.dataframe_models.RuptureSectionSchema
options:
members: false

::: solvis.inversion_solution.dataframe_models.RuptureSectionsWithRuptureRatesSchema
options:
members: false

::: solvis.inversion_solution.dataframe_models.RupturesWithRuptureRatesSchema
options:
members: false

::: solvis.inversion_solution.dataframe_models.SectionParticipationSchema
options:
members: false

::: solvis.inversion_solution.dataframe_models.RuptureRateSchema
options:
members: false
12 changes: 12 additions & 0 deletions docs/api/inversion_solution/fault_system_solution.md
Original file line number Diff line number Diff line change
@@ -1 +1,13 @@
::: solvis.inversion_solution.fault_system_solution
options:
members: false

::: solvis.inversion_solution.fault_system_solution.FaultSystemSolution
options:
inherited_members: false
members_order: alphabetical
filters:
- "![A-Z]+"
- "!set_props"
- "!^_"
group_by_category: false
9 changes: 9 additions & 0 deletions docs/api/inversion_solution/inversion_solution.md
Original file line number Diff line number Diff line change
@@ -1 +1,10 @@
::: solvis.inversion_solution.inversion_solution

::: solvis.inversion_solution.inversion_solution.InversionSolution
options:
inherited_members: false
members_order: alphabetical
filters:
- "!^_"
- "![A-Z]+"

10 changes: 3 additions & 7 deletions docs/api/inversion_solution/inversion_solution_file.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,6 @@
::: solvis.inversion_solution.inversion_solution_file
options:
<!-- options:
docstring_options:
ignore_init_summary: false
merge_init_into_class: true
members:
- WARNING
- InversionSolutionFile
- data_to_zip_direct
- reindex_dataframe
merge_init_into_class: true -->

14 changes: 13 additions & 1 deletion docs/api/inversion_solution/inversion_solution_operations.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,17 @@
::: solvis.inversion_solution.inversion_solution_operations
options:
members: false

::: solvis.inversion_solution.inversion_solution_operations.InversionSolutionOperations
options:
inherited_members: false
filters:
- "!^_[^_]"
- "!^get_ruptures_" # Deprecated function signatures
- "!^get_" # Deprecated function signatures
members_order: alphabetical
group_by_category: false

::: solvis.inversion_solution.inversion_solution_operations.CompositeSolutionOperations
options:
inherited_members: false
members_order: alphabetical
1 change: 1 addition & 0 deletions docs/api/inversion_solution/named_fault.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
::: solvis.inversion_solution.named_fault
4 changes: 2 additions & 2 deletions docs/api/solvis/geometry.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
::: solvis.geometry
options:
annotations_path: full
<!-- options:
annotations_path: full -->
2 changes: 2 additions & 0 deletions docs/usage.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,8 @@ composite_solution = solvis.CompositeSolution.from_archive(

## Refining solution data

*this section is the deprecated API, users should migrate to use the new [filter API](/solvis/api/filter)*

To gather rupture IDs from a fault system solution:

```py
Expand Down
36 changes: 22 additions & 14 deletions mkdocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ site_name: Solvis Documentation
site_url: https://gns-science.github.io/solvis
repo_url: https://github.com/GNS-Science/solvis
repo_name: GNS-Science/solvis
strict: true
# strict: true
watch:
- solvis
- docs
Expand All @@ -11,21 +11,29 @@ nav:
- Usage: usage.md
- Installation: installation.md
- API Reference:
- Solvis [package]:
- solvis:
- api/solvis/index.md
- api/solvis/config.md
- api/solvis/geometry.md
- inversion_solution [package]:
- filter:
- filter: api/filter/index.md
- parent_fault_id_filter: api/filter/parent_fault_id_filter.md
- rupture_id_filter: api/filter/rupture_id_filter.md
- subsection_id_filter: api/filter/subsection_id_filter.md
- chainable_set_base: api/filter/chainable_set_base.md
- inversion_solution:
- api/inversion_solution/index.md
- api/inversion_solution/composite_solution.md
- api/inversion_solution/fault_system_solution.md
- api/inversion_solution/fault_system_solution_file.md
- api/inversion_solution/inversion_solution.md
- api/inversion_solution/inversion_solution_operations.md
- api/inversion_solution/inversion_solution_file.md
- api/inversion_solution/solution_surfaces_builder.md
- api/inversion_solution/typing.md
- api/solvis/solvis.md
- Dataframe Models: api/inversion_solution/dataframe_models.md
- Inversion Solution: api/inversion_solution/inversion_solution.md
- Fault System Solution: api/inversion_solution/fault_system_solution.md
- Composite Solution: api/inversion_solution/composite_solution.md
- Supporting modules:
- api/inversion_solution/fault_system_solution_file.md
- api/inversion_solution/inversion_solution_file.md
- api/inversion_solution/inversion_solution_operations.md
- api/inversion_solution/solution_surfaces_builder.md
- api/inversion_solution/typing.md
- config [module]: api/solvis/config.md
- geometry [module]: api/solvis/geometry.md
- solvis [module]: api/solvis/solvis.md
- Development and Contributing:
- contributing.md
- Testing: testing.md
Expand Down
Loading
Loading