.gitignore
.python-version
LICENSE
Makefile
README.md
pyproject.toml
readthedocs.yaml
uv.lock
.github/FUNDING.yml
.github/prompts/Enforce Type Hints and Generate NumPy Docstrings.prompt.md
.github/prompts/Enhanced Type Hints and NumPy Docstrings.prompt.md
.github/prompts/Generate NumPy Docstrings.prompt.md
.github/prompts/Generate Type Hints.prompt.md
.github/workflows/ci.yml
.github/workflows/pypi.yml
assets/banner-high.png
assets/banner-medium.png
assets/banner.svg
assets/logo-lockup-dark.svg
assets/logo-lockup-light.svg
assets/logo-mark-dark.svg
assets/logo-mark-light.svg
data/README.md
data/opm/LICENSE
data/opm/README.md
data/opm/norne/grdecl/norne.grdecl
data/opm/norne/grdecl/norne_with_props.grdecl
docs/Makefile
docs/make.bat
docs/source/conf.py
docs/source/index.rst
docs/source/_config/examples.yml
docs/source/_ext/__init__.py
docs/source/_ext/apigen.py
docs/source/_ext/exampledocs.py
docs/source/_ext/furo_nav_sections.py
docs/source/_static/.gitkeep
docs/source/_static/custom.css
docs/source/_static/logo-lockup-dark.svg
docs/source/_static/logo-lockup-light.svg
docs/source/_static/logo-mark-dark.svg
docs/source/_static/logo-mark-light.svg
docs/source/_static/fundamentals/Asset 7.svg
docs/source/_static/fundamentals/cartesian-regular-rectilinear-grid.svg
docs/source/_static/fundamentals/conforming-vs-nonconforming.svg
docs/source/_static/fundamentals/corner-point-grid-example.svg
docs/source/_static/fundamentals/eclipse-zcorn-indexing.svg
docs/source/_static/fundamentals/pillar-indexing.svg
docs/source/_static/fundamentals/structured-vs-unstructured.svg
docs/source/_static/fundamentals/uniform-vs-nonuniform.svg
docs/source/_static/svg/export.svg
docs/source/_static/svg/grid.svg
docs/source/_static/svg/property.svg
docs/source/_static/svg/structure.svg
docs/source/_static/svg/visualization.svg
docs/source/_templates/base.html
docs/source/_templates/page.html
docs/source/api/errors.rst
docs/source/api/grids.rst
docs/source/api/index.rst
docs/source/api/interpolators.rst
docs/source/api/models.rst
docs/source/api/petres-errors-existingpropertynameerror.rst
docs/source/api/petres-errors-exporterror.rst
docs/source/api/petres-errors-grdeclexporterror.rst
docs/source/api/petres-errors-grdeclmissingvalueerror.rst
docs/source/api/petres-errors-griderror.rst
docs/source/api/petres-errors-horizonerror.rst
docs/source/api/petres-errors-interpolationerror.rst
docs/source/api/petres-errors-missingeclipsekeyworderror.rst
docs/source/api/petres-errors-missingpropertyvalueerror.rst
docs/source/api/petres-errors-propertyerror.rst
docs/source/api/petres-errors-unsupportedgridattributeerror.rst
docs/source/api/petres-errors-visualizationerror.rst
docs/source/api/petres-errors-zoneerror.rst
docs/source/api/petres-grids-cornerpointgrid.rst
docs/source/api/petres-grids-gridproperty.rst
docs/source/api/petres-grids-pillargrid.rst
docs/source/api/petres-grids-rectilinear2dgrid.rst
docs/source/api/petres-interpolators-inversedistanceweightinginterpolator.rst
docs/source/api/petres-interpolators-ordinarykriginginterpolator.rst
docs/source/api/petres-interpolators-radialbasisfunctioninterpolator.rst
docs/source/api/petres-interpolators-universalkriginginterpolator.rst
docs/source/api/petres-models-boundarypolygon.rst
docs/source/api/petres-models-horizon.rst
docs/source/api/petres-models-verticalwell.rst
docs/source/api/petres-models-zone.rst
docs/source/api/petres-viewers-matplotlib2dviewer.rst
docs/source/api/petres-viewers-matplotlib2dviewertheme.rst
docs/source/api/petres-viewers-pyvista3dviewer.rst
docs/source/api/petres-viewers-pyvista3dviewertheme.rst
docs/source/api/viewers.rst
docs/source/drafts/examples.rst
docs/source/drafts/developer/contributing.rst
docs/source/drafts/developer/documentation.rst
docs/source/drafts/developer/setup.rst
docs/source/drafts/developer/testing.rst
docs/source/drafts/examples/index.rst
docs/source/fundamentals/corner-point-grids.rst
docs/source/fundamentals/grid-classification.rst
docs/source/fundamentals/grid-types.rst
docs/source/getting-started/installation.rst
docs/source/getting-started/quickstart.rst
docs/source/tutorials/boundary-polygon.rst
docs/source/tutorials/exporting-grid.rst
docs/source/tutorials/grid-modeling-from-horizons-and-zones.rst
docs/source/tutorials/grid-visualization.rst
docs/source/tutorials/horizon-modeling.rst
docs/source/tutorials/importing-grid.rst
docs/source/tutorials/index.rst
docs/source/tutorials/interpolators.rst
docs/source/tutorials/mapping-wells-to-grid-cells.rst
docs/source/tutorials/pillar-gridding.rst
docs/source/tutorials/property-modeling.rst
docs/source/tutorials/rectilinear-and-regular-grids.rst
docs/source/tutorials/zone-modeling.rst
examples/advance_grid_visualization.py
examples/create_horizon_from_sample_points.py
examples/create_horizon_from_wells.py
examples/create_horizon_from_wells_2d.py
examples/create_zone_from_horizons.py
examples/divide_zone_into_layers.py
examples/edit_eclipse_grdecl.py
examples/export_corner_point_grid_to_eclipse_grdecl_file.py
examples/getting_started.py
examples/read_eclipse_grdecl.py
examples/verify_actnum.py
examples/verify_continuous_zones.py
examples/view_2d_advanced.py
examples/view_boundary_2d.py
examples/view_zone_2d.py
examples/well_sampling.py
examples/grid/add_analytic_aquifer.py
examples/grid/apply_boundary_mask_on_cornerpoint_grid.py
examples/grid/create_boundary_polygon.py
examples/grid/create_cornerpoint_grid_from_rectilinear.py
examples/grid/create_cornerpoint_grid_from_regular.py
examples/grid/create_cornerpoint_grid_from_zones.py
examples/grid/horizon_modeling.py
examples/grid/pillar_griding.py
examples/grid/zone_modeling.py
examples/property_modeling/apply.py
examples/property_modeling/array.py
examples/property_modeling/constant_full_grid.py
examples/property_modeling/constant_per_zone.py
examples/property_modeling/from_wells.py
examples/property_modeling/lognormal_distribution.py
examples/property_modeling/normal_distribution.py
examples/property_modeling/uniform.py
llm/conf.py
llm/scripts/update_type_hints_docstrings.py
llm/src/agent.py
llm/src/toolkit.py
scripts/discover_min_deps.py
src/petres/__init__.py
src/petres/_compat.py
src/petres/_validation.py
src/petres.egg-info/PKG-INFO
src/petres.egg-info/SOURCES.txt
src/petres.egg-info/dependency_links.txt
src/petres.egg-info/requires.txt
src/petres.egg-info/top_level.txt
src/petres/_utils/_color.py
src/petres/_utils/_dataframe.py
src/petres/eclipse/__init__.py
src/petres/eclipse/aquifers.py
src/petres/eclipse/deck.py
src/petres/eclipse/units.py
src/petres/eclipse/grids/__init__.py
src/petres/eclipse/grids/keywords.py
src/petres/eclipse/grids/read.py
src/petres/eclipse/grids/validation.py
src/petres/eclipse/grids/write.py
src/petres/eclipse/wells/__init__.py
src/petres/eclipse/wells/history.py
src/petres/eclipse/wells/validation.py
src/petres/errors/__init__.py
src/petres/errors/_utils.py
src/petres/errors/base.py
src/petres/errors/eclipse.py
src/petres/errors/grid.py
src/petres/errors/horizon.py
src/petres/errors/interpolation.py
src/petres/errors/property.py
src/petres/errors/zone.py
src/petres/grids/__init__.py
src/petres/grids/cornerpoint.py
src/petres/grids/pillars.py
src/petres/grids/properties.py
src/petres/grids/rectilinear.py
src/petres/grids/builders/__init__.py
src/petres/grids/builders/cornerpoint.py
src/petres/grids/sampling/_validation.py
src/petres/grids/sampling/_vertices.py
src/petres/interpolators/__init__.py
src/petres/interpolators/base.py
src/petres/interpolators/spatial/__init__.py
src/petres/interpolators/spatial/inverse_distance.py
src/petres/interpolators/spatial/kriging.py
src/petres/interpolators/spatial/radial_basis.py
src/petres/models/__init__.py
src/petres/models/boundary.py
src/petres/models/field.py
src/petres/models/horizon.py
src/petres/models/wells.py
src/petres/models/zone.py
src/petres/viewers/__init__.py
src/petres/viewers/viewer2d/__init__.py
src/petres/viewers/viewer2d/_core/__init__.py
src/petres/viewers/viewer2d/_core/base.py
src/petres/viewers/viewer2d/matplotlib/__init__.py
src/petres/viewers/viewer2d/matplotlib/theme.py
src/petres/viewers/viewer2d/matplotlib/viewer.py
src/petres/viewers/viewer2d/matplotlib/layers/__init__.py
src/petres/viewers/viewer2d/matplotlib/layers/boundary.py
src/petres/viewers/viewer2d/matplotlib/layers/surface.py
src/petres/viewers/viewer2d/matplotlib/layers/wells.py
src/petres/viewers/viewer3d/__init__.py
src/petres/viewers/viewer3d/_core/base.py
src/petres/viewers/viewer3d/_core/theme.py
src/petres/viewers/viewer3d/pyvista/__init__.py
src/petres/viewers/viewer3d/pyvista/theme.py
src/petres/viewers/viewer3d/pyvista/viewer.py
src/petres/viewers/viewer3d/pyvista/layers/__init__.py
src/petres/viewers/viewer3d/pyvista/layers/cornerpoint.py
src/petres/viewers/viewer3d/pyvista/layers/pillars.py
src/petres/viewers/viewer3d/pyvista/layers/surface.py
src/petres/viewers/viewer3d/pyvista/layers/wells.py
src/petres/viewers/viewer3d/pyvista/layers/zone.py
tests/__init__.py
tests/conftest.py
tests/api/README.md
tests/api/__init__.py
tests/api/test_boundary_polygon.py
tests/api/test_complete_workflows.py
tests/api/test_grid_creation.py
tests/api/test_grid_import_export.py
tests/api/test_grid_visualization.py
tests/api/test_horizon_zone_modeling.py
tests/api/test_property_modeling.py
tests/api/test_tutorial_examples.py
tests/data/models/minimal_2x2x1.grdecl
tests/eclipse/test_grdecl_io.py
tests/eclipse/test_validation.py
tests/fixtures/__init__.py
tests/fixtures/grid_factory.py
tests/grids/test_cornerpoint_grid.py
tests/grids/test_pillar_grid.py
tests/horizons/test_horizon.py
tests/horizons/test_horizon_workflows.py
tests/integration/test_models_workflows.py
tests/integration/test_workflows.py
tests/interpolators/test_idw_interpolator.py
tests/interpolators/test_idw_parameters.py
tests/interpolators/test_interpolator_aliases.py
tests/interpolators/test_kriging_interpolators.py
tests/interpolators/test_rbf_interpolator.py
tests/properties/test_grid_properties.py
tests/properties/test_property_sources.py
tests/regression/test_regressions.py
tests/regression/test_zone_and_property_regressions.py
tests/viewers/test_matplotlib2d_viewer_core.py
tests/viewers/test_viewers_optional.py
tests/views/test_view_workflows.py
tests/zones/test_zone.py
tests/zones/test_zone_levels.py