Skip to content
Merged
Show file tree
Hide file tree
Changes from 10 commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
14d1132
Create geos-pv package with geosLogReader
mlemayTTE Mar 26, 2025
a5a9819
Move PV tools and delete PVPythonViewConfigurator
Mar 26, 2025
79612ce
Merge branch 'main' into lemay/feature/geospv_package
mlemayTTE Apr 2, 2025
c556362
set local dependency path management
mlemayTTE Apr 2, 2025
341613c
update doc
mlemayTTE Apr 3, 2025
8b417e3
fix doc
mlemayTTE Apr 3, 2025
078808e
update project config
mlemayTTE Apr 3, 2025
18123f0
Manage PV plugins dependency
mlemayTTE Apr 3, 2025
9ee93a6
typing and linting fix
mlemayTTE Apr 3, 2025
1c100a8
Merge branch 'main' into lemay/feature/geospv_package
mlemayTTE Apr 4, 2025
d5b608c
Merge branch 'main' into lemay/feature/geospv_package
mlemayTTE Apr 7, 2025
0e542e1
add .vscode to .gitignore
mlemayTTE Apr 7, 2025
e39555f
linting and formatting
mlemayTTE Apr 7, 2025
a4f97e1
bug fix and settup geos-pv tests
mlemayTTE Apr 7, 2025
32463d2
fix doc issues
mlemayTTE Apr 7, 2025
7d5fe5d
fix ci geos-geomecanics and linting
mlemayTTE Apr 7, 2025
a891a83
Merge branch 'main' into lemay/feature/geospv_package
mlemayTTE Apr 8, 2025
5eec486
update geos-pv doc
mlemayTTE Apr 9, 2025
b6f9116
Merge branch 'main' into lemay/feature/geospv_package
alexbenedicto Apr 10, 2025
99686dd
Add contribution explanations for geos-pv
mlemayTTE Apr 11, 2025
ec09cf9
Merge branch 'main' into lemay/feature/geospv_package
mlemayTTE Apr 14, 2025
1759dc5
Fix doc ci
mlemayTTE Apr 14, 2025
2c39455
Update pyproject and requirements
alexbenedicto Apr 15, 2025
625b45d
Revert "Update pyproject and requirements"
mlemayTTE Apr 15, 2025
33e78e0
Harmonize dependency versions
mlemayTTE Apr 15, 2025
b8f499f
Update installation instructions
mlemayTTE Apr 15, 2025
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
15 changes: 14 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -142,7 +142,7 @@ If you would like to contribute to GEOS Python packages, please respect the foll

1. Create a new branch named from this template: `[CONTRIBUTOR]/[TYPE]/[TITLE]` where CONTRIBUTOR is the name of the contributor, TYPE is the type of contribution among 'feature', 'refactor', 'doc', 'ci', TITLE is a short title for the branch.
1. Add your code trying to integrate into the current code architecture.
1. Push the branch, open a new PR, and add reviewers
1. Push the branch, open a new PR respecting naming [semantics](https://gist.github.com/joshbuchea/6f47e86d2510bce28f8e7f42ae84c716), and add reviewers

If you do not have the rights to push the code and open new PRs, consider opening a new issue to explain what you want to do and ask for the dev rights.

Expand Down Expand Up @@ -186,6 +186,19 @@ The *setup.py* file is optional. It is required if the package depends on anothe
)
```

If you want to add new Paraview plugins, create the plugins in the `geos-pv/src/PVplugins` directory.
If the plugin depends on another GEOS python package, add the package name to `geos-pv/requirements.txt` and the following lines to the top of your plugin:

```
import sys
from pathlib import Path
# update sys.path to load all GEOS Python Package dependencies
geos_pv_path: Path = Path( __file__ ).parent.parent.parent
sys.path.insert( 0, str(geos_pv_path / "src") )
from geos.pv.utils.config import update_paths
update_paths()
```


Release
-------
Expand Down
6 changes: 3 additions & 3 deletions docs/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,8 @@

# Add python modules to be documented
python_root = '..'
python_modules = ( 'geos-ats', 'geos-mesh', 'geos-posp', 'geos-timehistory', 'geos-utils', 'geos-xml-tools', 'hdf5-wrapper',
'pygeos-tools', 'geos-geomechanics' )
python_modules = ( 'geos-ats', 'geos-geomechanics', 'geos-mesh', 'geos-posp', 'geos-pv', 'geos-timehistory', 'geos-utils', 'geos-xml-tools', 'hdf5-wrapper', 'pygeos-tools' )

for m in python_modules:
sys.path.insert( 0, os.path.abspath( os.path.join( python_root, m, 'src' ) ) )

Expand Down Expand Up @@ -47,7 +47,7 @@
'sphinx.ext.todo', 'sphinx.ext.viewcode' ]

autoclass_content = 'both'
autodoc_mock_imports = [ "ats", "h5py", "lxml", "paraview", "pygeosx", "pylvarray", "meshio", "mpi4py", "scipy" ]
autodoc_mock_imports = [ "ats", "h5py", "lxml", "paraview", "pygeosx", "pylvarray", "meshio", "mpi4py", "scipy", "pandas", "matplotlib" ]
autodoc_typehints = 'none'
autodoc_typehints_format = 'short'
suppress_warnings = [""]
Expand Down
12 changes: 12 additions & 0 deletions docs/geos-pv.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
GEOS Paraview plugins

Check warning on line 1 in docs/geos-pv.rst

View workflow job for this annotation

GitHub Actions / docs

document isn't included in any toctree [toc.not_included]
=====================

.. toctree::
:maxdepth: 5
:caption: Contents:

./geos_pv_docs/home.rst

./geos_pv_docs/modules.rst

./geos_pv_docs/PVplugins.rst
14 changes: 0 additions & 14 deletions docs/geos_posp_docs/PVplugins.rst
Original file line number Diff line number Diff line change
Expand Up @@ -87,13 +87,6 @@ PVplugins.PVGeomechanicsWorkflowVolumeWell module
:members:
:undoc-members:

PVplugins.PVGeosLogReader module
--------------------------------

.. automodule:: PVplugins.PVGeosLogReader
:members:
:undoc-members:

PVplugins.PVMergeBlocksEnhanced module
--------------------------------------

Expand All @@ -108,13 +101,6 @@ PVplugins.PVMohrCirclePlot module
:members:
:undoc-members:

PVplugins.PVPythonViewConfigurator module
-----------------------------------------

.. automodule:: PVplugins.PVPythonViewConfigurator
:members:
:undoc-members:

PVplugins.PVSurfaceGeomechanics module
--------------------------------------

Expand Down
12 changes: 12 additions & 0 deletions docs/geos_pv_docs/PVplugins.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
Paraview plugins
================

This package contains Paraview plugins that can be loaded in Paraview.

PVplugins.PVGeosLogReader module
---------------------------------------------

.. automodule:: PVplugins.PVGeosLogReader
:members:
:undoc-members:
:show-inheritance:
45 changes: 45 additions & 0 deletions docs/geos_pv_docs/geosLogReaderUtils.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
GeosLogReaderUtils functions
============================

This package define functions dedicated to the GeosLogReader.


geos.pv.GeosLogReaderUtils.GeosLogReaderAquifers module
-------------------------------------------------------------------

.. automodule:: geos.pv.GeosLogReaderUtils.GeosLogReaderAquifers
:members:
:undoc-members:
:show-inheritance:

geos.pv.GeosLogReaderUtils.GeosLogReaderConvergence module
---------------------------------------------------------------------

.. automodule:: geos.pv.GeosLogReaderUtils.GeosLogReaderConvergence
:members:
:undoc-members:
:show-inheritance:

geos.pv.GeosLogReaderUtils.GeosLogReaderFlow module
---------------------------------------------------------------

.. automodule:: geos.pv.GeosLogReaderUtils.GeosLogReaderFlow
:members:
:undoc-members:
:show-inheritance:

geos.pv.GeosLogReaderUtils.GeosLogReaderFunctions module
--------------------------------------------------------------------

.. automodule:: geos.pv.GeosLogReaderUtils.GeosLogReaderFunctions
:members:
:undoc-members:
:show-inheritance:

geos.pv.GeosLogReaderUtils.GeosLogReaderWells module
--------------------------------------------------------------------

.. automodule:: geos.pv.GeosLogReaderUtils.GeosLogReaderWells
:members:
:undoc-members:
:show-inheritance:
19 changes: 19 additions & 0 deletions docs/geos_pv_docs/home.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
Home
====

**geos-pv** is a Python package that gathers `Paraview <https://www.paraview.org/>`_ plugins of GEOS python tools.

It includes:

* a reader able to parse the GEOS output log (before commit version #9365098) to collect data and display them as tables;
* tools to clean and check GEOS input mesh;
* tools to clean GEOS output mesh;
* tools to compute additional geomechanical properties from GEOS outputs;
* tools to display Mohr's circles at a given time step and the evolution through time from GEOS outputs.

The packages can be loaded into Paraview using the Plugin Manager from `Tools > Plugin Manager`. On success, you will
see the selected plugin in the `Filters`` menu (see `Paraview documentation <https://docs.paraview.org/en/latest/ReferenceManual/pythonProgrammableFilter.html>`.

Alternatively, geos-pv package can be build together with Paraview ([see Paraview compilation guide](https://gitlab.kitware.com/paraview/paraview/-/blob/master/Documentation/dev/build.md)).
It is recommended to use Paraview v5.12+, which is based on python 3.10+. If you need to build geos-pv package with the paraview dependency, use the command:
`pip install Path/To/geosPythonPackages/geos-pv[paraview]`
11 changes: 11 additions & 0 deletions docs/geos_pv_docs/modules.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
Processing
==========

.. toctree::
:maxdepth: 5

geosLogReaderUtils

pyplotUtils

utils
13 changes: 13 additions & 0 deletions docs/geos_pv_docs/pyplotUtils.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
pyplotUtils functions
=====================

This package define options for matplotlib.


geos.pv.pyplotUtils.matplotlibOptions module
---------------------------------------------

.. automodule:: geos.pv.pyplotUtils.matplotlibOptions
:members:
:undoc-members:
:show-inheritance:
29 changes: 29 additions & 0 deletions docs/geos_pv_docs/utils.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
Utilities
=========

This package defines utilities for Paraview plugins.


geos.pv.utils.checkboxFunction module
---------------------------------------------

.. automodule:: geos.pv.utils.checkboxFunction
:members:
:undoc-members:
:show-inheritance:

geos.pv.utils.DisplayOrganizationParaview module
---------------------------------------------

Check warning on line 16 in docs/geos_pv_docs/utils.rst

View workflow job for this annotation

GitHub Actions / docs

Title underline too short.

Check warning on line 16 in docs/geos_pv_docs/utils.rst

View workflow job for this annotation

GitHub Actions / docs

Title underline too short.

.. automodule:: geos.pv.utils.DisplayOrganizationParaview
:members:
:undoc-members:
:show-inheritance:

geos.pv.utils.paraviewTreatments module
---------------------------------------------

.. automodule:: geos.pv.utils.paraviewTreatments
:members:
:undoc-members:
:show-inheritance:
22 changes: 10 additions & 12 deletions geos-posp/setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,16 +2,14 @@
from setuptools import setup

# This is where you add any fancy path resolution to the local lib:
geos_geomecha_path: str = (Path(__file__).parent.parent / "geos-geomechanics").as_uri()
geos_utils_path: str = (Path(__file__).parent.parent / "geos-utils").as_uri()
geos_utils_path: str = ( Path( __file__ ).parent.parent / "geos-utils" ).as_uri()
geos_geomeca_path: str = ( Path( __file__ ).parent.parent / "geos-geomechanics" ).as_uri()

setup(
install_requires=[
"vtk >= 9.3",
"numpy >= 1.26",
"pandas >= 2.2",
"typing_extensions >= 4.12",
f"geos-geomechanics @ {geos_geomecha_path}",
f"geos-utils @ {geos_utils_path}",
]
)
setup( install_requires=[
"vtk >= 9.3",
"numpy >= 1.26",
"pandas >= 2.2",
"typing_extensions >= 4.12",
f"geos-utils @ {geos_utils_path}",
f"geos-geomechanics @ {geos_geomeca_path}",
] )
Loading