simpeg-drivers 0.1.0b1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- simpeg_drivers-0.1.0b1/LICENSE +21 -0
- simpeg_drivers-0.1.0b1/PKG-INFO +36 -0
- simpeg_drivers-0.1.0b1/README.rst +150 -0
- simpeg_drivers-0.1.0b1/THIRD_PARTY_SOFTWARE.rst +10 -0
- simpeg_drivers-0.1.0b1/pyproject.toml +138 -0
- simpeg_drivers-0.1.0b1/simpeg_drivers/__init__.py +100 -0
- simpeg_drivers-0.1.0b1/simpeg_drivers/components/__init__.py +27 -0
- simpeg_drivers-0.1.0b1/simpeg_drivers/components/data.py +516 -0
- simpeg_drivers-0.1.0b1/simpeg_drivers/components/factories/__init__.py +28 -0
- simpeg_drivers-0.1.0b1/simpeg_drivers/components/factories/abstract_factory.py +41 -0
- simpeg_drivers-0.1.0b1/simpeg_drivers/components/factories/directives_factory.py +584 -0
- simpeg_drivers-0.1.0b1/simpeg_drivers/components/factories/entity_factory.py +113 -0
- simpeg_drivers-0.1.0b1/simpeg_drivers/components/factories/misfit_factory.py +138 -0
- simpeg_drivers-0.1.0b1/simpeg_drivers/components/factories/receiver_factory.py +212 -0
- simpeg_drivers-0.1.0b1/simpeg_drivers/components/factories/simpeg_factory.py +110 -0
- simpeg_drivers-0.1.0b1/simpeg_drivers/components/factories/simulation_factory.py +226 -0
- simpeg_drivers-0.1.0b1/simpeg_drivers/components/factories/source_factory.py +175 -0
- simpeg_drivers-0.1.0b1/simpeg_drivers/components/factories/survey_factory.py +466 -0
- simpeg_drivers-0.1.0b1/simpeg_drivers/components/locations.py +199 -0
- simpeg_drivers-0.1.0b1/simpeg_drivers/components/meshes.py +134 -0
- simpeg_drivers-0.1.0b1/simpeg_drivers/components/models.py +490 -0
- simpeg_drivers-0.1.0b1/simpeg_drivers/components/topography.py +170 -0
- simpeg_drivers-0.1.0b1/simpeg_drivers/components/utils.py +50 -0
- simpeg_drivers-0.1.0b1/simpeg_drivers/components/windows.py +116 -0
- simpeg_drivers-0.1.0b1/simpeg_drivers/constants.py +493 -0
- simpeg_drivers-0.1.0b1/simpeg_drivers/driver.py +524 -0
- simpeg_drivers-0.1.0b1/simpeg_drivers/electricals/__init__.py +25 -0
- simpeg_drivers-0.1.0b1/simpeg_drivers/electricals/direct_current/__init__.py +16 -0
- simpeg_drivers-0.1.0b1/simpeg_drivers/electricals/direct_current/pseudo_three_dimensions/constants.py +342 -0
- simpeg_drivers-0.1.0b1/simpeg_drivers/electricals/direct_current/pseudo_three_dimensions/driver.py +36 -0
- simpeg_drivers-0.1.0b1/simpeg_drivers/electricals/direct_current/pseudo_three_dimensions/params.py +73 -0
- simpeg_drivers-0.1.0b1/simpeg_drivers/electricals/direct_current/three_dimensions/__init__.py +22 -0
- simpeg_drivers-0.1.0b1/simpeg_drivers/electricals/direct_current/three_dimensions/constants.py +281 -0
- simpeg_drivers-0.1.0b1/simpeg_drivers/electricals/direct_current/three_dimensions/driver.py +32 -0
- simpeg_drivers-0.1.0b1/simpeg_drivers/electricals/direct_current/three_dimensions/params.py +82 -0
- simpeg_drivers-0.1.0b1/simpeg_drivers/electricals/direct_current/two_dimensions/__init__.py +19 -0
- simpeg_drivers-0.1.0b1/simpeg_drivers/electricals/direct_current/two_dimensions/constants.py +360 -0
- simpeg_drivers-0.1.0b1/simpeg_drivers/electricals/direct_current/two_dimensions/driver.py +32 -0
- simpeg_drivers-0.1.0b1/simpeg_drivers/electricals/direct_current/two_dimensions/params.py +75 -0
- simpeg_drivers-0.1.0b1/simpeg_drivers/electricals/driver.py +163 -0
- simpeg_drivers-0.1.0b1/simpeg_drivers/electricals/induced_polarization/__init__.py +16 -0
- simpeg_drivers-0.1.0b1/simpeg_drivers/electricals/induced_polarization/pseudo_three_dimensions/constants.py +355 -0
- simpeg_drivers-0.1.0b1/simpeg_drivers/electricals/induced_polarization/pseudo_three_dimensions/driver.py +37 -0
- simpeg_drivers-0.1.0b1/simpeg_drivers/electricals/induced_polarization/pseudo_three_dimensions/params.py +82 -0
- simpeg_drivers-0.1.0b1/simpeg_drivers/electricals/induced_polarization/three_dimensions/__init__.py +22 -0
- simpeg_drivers-0.1.0b1/simpeg_drivers/electricals/induced_polarization/three_dimensions/constants.py +292 -0
- simpeg_drivers-0.1.0b1/simpeg_drivers/electricals/induced_polarization/three_dimensions/driver.py +32 -0
- simpeg_drivers-0.1.0b1/simpeg_drivers/electricals/induced_polarization/three_dimensions/params.py +100 -0
- simpeg_drivers-0.1.0b1/simpeg_drivers/electricals/induced_polarization/two_dimensions/__init__.py +22 -0
- simpeg_drivers-0.1.0b1/simpeg_drivers/electricals/induced_polarization/two_dimensions/constants.py +371 -0
- simpeg_drivers-0.1.0b1/simpeg_drivers/electricals/induced_polarization/two_dimensions/driver.py +32 -0
- simpeg_drivers-0.1.0b1/simpeg_drivers/electricals/induced_polarization/two_dimensions/params.py +93 -0
- simpeg_drivers-0.1.0b1/simpeg_drivers/electricals/params.py +182 -0
- simpeg_drivers-0.1.0b1/simpeg_drivers/electromagnetics/__init__.py +16 -0
- simpeg_drivers-0.1.0b1/simpeg_drivers/electromagnetics/frequency_domain/__init__.py +22 -0
- simpeg_drivers-0.1.0b1/simpeg_drivers/electromagnetics/frequency_domain/constants.py +258 -0
- simpeg_drivers-0.1.0b1/simpeg_drivers/electromagnetics/frequency_domain/driver.py +32 -0
- simpeg_drivers-0.1.0b1/simpeg_drivers/electromagnetics/frequency_domain/params.py +161 -0
- simpeg_drivers-0.1.0b1/simpeg_drivers/electromagnetics/time_domain/__init__.py +22 -0
- simpeg_drivers-0.1.0b1/simpeg_drivers/electromagnetics/time_domain/constants.py +312 -0
- simpeg_drivers-0.1.0b1/simpeg_drivers/electromagnetics/time_domain/driver.py +32 -0
- simpeg_drivers-0.1.0b1/simpeg_drivers/electromagnetics/time_domain/params.py +190 -0
- simpeg_drivers-0.1.0b1/simpeg_drivers/joint/constants.py +95 -0
- simpeg_drivers-0.1.0b1/simpeg_drivers/joint/driver.py +221 -0
- simpeg_drivers-0.1.0b1/simpeg_drivers/joint/joint_cross_gradient/__init__.py +22 -0
- simpeg_drivers-0.1.0b1/simpeg_drivers/joint/joint_cross_gradient/constants.py +209 -0
- simpeg_drivers-0.1.0b1/simpeg_drivers/joint/joint_cross_gradient/driver.py +242 -0
- simpeg_drivers-0.1.0b1/simpeg_drivers/joint/joint_cross_gradient/params.py +77 -0
- simpeg_drivers-0.1.0b1/simpeg_drivers/joint/joint_surveys/__init__.py +22 -0
- simpeg_drivers-0.1.0b1/simpeg_drivers/joint/joint_surveys/constants.py +154 -0
- simpeg_drivers-0.1.0b1/simpeg_drivers/joint/joint_surveys/driver.py +123 -0
- simpeg_drivers-0.1.0b1/simpeg_drivers/joint/joint_surveys/params.py +56 -0
- simpeg_drivers-0.1.0b1/simpeg_drivers/joint/params.py +111 -0
- simpeg_drivers-0.1.0b1/simpeg_drivers/line_sweep/driver.py +225 -0
- simpeg_drivers-0.1.0b1/simpeg_drivers/natural_sources/__init__.py +23 -0
- simpeg_drivers-0.1.0b1/simpeg_drivers/natural_sources/magnetotellurics/__init__.py +22 -0
- simpeg_drivers-0.1.0b1/simpeg_drivers/natural_sources/magnetotellurics/constants.py +531 -0
- simpeg_drivers-0.1.0b1/simpeg_drivers/natural_sources/magnetotellurics/driver.py +32 -0
- simpeg_drivers-0.1.0b1/simpeg_drivers/natural_sources/magnetotellurics/params.py +317 -0
- simpeg_drivers-0.1.0b1/simpeg_drivers/natural_sources/tipper/__init__.py +22 -0
- simpeg_drivers-0.1.0b1/simpeg_drivers/natural_sources/tipper/constants.py +336 -0
- simpeg_drivers-0.1.0b1/simpeg_drivers/natural_sources/tipper/driver.py +32 -0
- simpeg_drivers-0.1.0b1/simpeg_drivers/natural_sources/tipper/params.py +209 -0
- simpeg_drivers-0.1.0b1/simpeg_drivers/params.py +701 -0
- simpeg_drivers-0.1.0b1/simpeg_drivers/potential_fields/__init__.py +24 -0
- simpeg_drivers-0.1.0b1/simpeg_drivers/potential_fields/gravity/__init__.py +22 -0
- simpeg_drivers-0.1.0b1/simpeg_drivers/potential_fields/gravity/constants.py +597 -0
- simpeg_drivers-0.1.0b1/simpeg_drivers/potential_fields/gravity/driver.py +32 -0
- simpeg_drivers-0.1.0b1/simpeg_drivers/potential_fields/gravity/params.py +326 -0
- simpeg_drivers-0.1.0b1/simpeg_drivers/potential_fields/magnetic_scalar/__init__.py +22 -0
- simpeg_drivers-0.1.0b1/simpeg_drivers/potential_fields/magnetic_scalar/constants.py +629 -0
- simpeg_drivers-0.1.0b1/simpeg_drivers/potential_fields/magnetic_scalar/driver.py +32 -0
- simpeg_drivers-0.1.0b1/simpeg_drivers/potential_fields/magnetic_scalar/params.py +372 -0
- simpeg_drivers-0.1.0b1/simpeg_drivers/potential_fields/magnetic_vector/__init__.py +22 -0
- simpeg_drivers-0.1.0b1/simpeg_drivers/potential_fields/magnetic_vector/constants.py +708 -0
- simpeg_drivers-0.1.0b1/simpeg_drivers/potential_fields/magnetic_vector/driver.py +72 -0
- simpeg_drivers-0.1.0b1/simpeg_drivers/potential_fields/magnetic_vector/params.py +403 -0
- simpeg_drivers-0.1.0b1/simpeg_drivers/utils/__init__.py +16 -0
- simpeg_drivers-0.1.0b1/simpeg_drivers/utils/surveys.py +190 -0
- simpeg_drivers-0.1.0b1/simpeg_drivers/utils/testing.py +513 -0
- simpeg_drivers-0.1.0b1/simpeg_drivers/utils/utils.py +804 -0
- simpeg_drivers-0.1.0b1/simpeg_drivers-assets/__init__.py +20 -0
- simpeg_drivers-0.1.0b1/simpeg_drivers-assets/colortable.csv +7 -0
- simpeg_drivers-0.1.0b1/simpeg_drivers-assets/inversion_demo.geoh5 +0 -0
- simpeg_drivers-0.1.0b1/simpeg_drivers-assets/time_channels.txt +7 -0
- simpeg_drivers-0.1.0b1/simpeg_drivers-assets/uijson/direct_current_forward_2d.ui.json +220 -0
- simpeg_drivers-0.1.0b1/simpeg_drivers-assets/uijson/direct_current_forward_3d.ui.json +160 -0
- simpeg_drivers-0.1.0b1/simpeg_drivers-assets/uijson/direct_current_forward_pseudo3d.ui.json +217 -0
- simpeg_drivers-0.1.0b1/simpeg_drivers-assets/uijson/direct_current_inversion_2d.ui.json +504 -0
- simpeg_drivers-0.1.0b1/simpeg_drivers-assets/uijson/direct_current_inversion_3d.ui.json +486 -0
- simpeg_drivers-0.1.0b1/simpeg_drivers-assets/uijson/direct_current_inversion_pseudo3d.ui.json +510 -0
- simpeg_drivers-0.1.0b1/simpeg_drivers-assets/uijson/fem_forward.ui.json +141 -0
- simpeg_drivers-0.1.0b1/simpeg_drivers-assets/uijson/fem_inversion.ui.json +489 -0
- simpeg_drivers-0.1.0b1/simpeg_drivers-assets/uijson/gravity_forward.ui.json +228 -0
- simpeg_drivers-0.1.0b1/simpeg_drivers-assets/uijson/gravity_inversion.ui.json +770 -0
- simpeg_drivers-0.1.0b1/simpeg_drivers-assets/uijson/induced_polarization_forward_2d.ui.json +221 -0
- simpeg_drivers-0.1.0b1/simpeg_drivers-assets/uijson/induced_polarization_forward_3d.ui.json +176 -0
- simpeg_drivers-0.1.0b1/simpeg_drivers-assets/uijson/induced_polarization_forward_pseudo3d.ui.json +228 -0
- simpeg_drivers-0.1.0b1/simpeg_drivers-assets/uijson/induced_polarization_inversion_2d.ui.json +514 -0
- simpeg_drivers-0.1.0b1/simpeg_drivers-assets/uijson/induced_polarization_inversion_3d.ui.json +502 -0
- simpeg_drivers-0.1.0b1/simpeg_drivers-assets/uijson/induced_polarization_inversion_pseudo3d.ui.json +521 -0
- simpeg_drivers-0.1.0b1/simpeg_drivers-assets/uijson/joint_cross_gradient_inversion.ui.json +432 -0
- simpeg_drivers-0.1.0b1/simpeg_drivers-assets/uijson/joint_surveys_inversion.ui.json +451 -0
- simpeg_drivers-0.1.0b1/simpeg_drivers-assets/uijson/magnetic_scalar_forward.ui.json +258 -0
- simpeg_drivers-0.1.0b1/simpeg_drivers-assets/uijson/magnetic_scalar_inversion.ui.json +800 -0
- simpeg_drivers-0.1.0b1/simpeg_drivers-assets/uijson/magnetic_vector_forward.ui.json +290 -0
- simpeg_drivers-0.1.0b1/simpeg_drivers-assets/uijson/magnetic_vector_inversion.ui.json +864 -0
- simpeg_drivers-0.1.0b1/simpeg_drivers-assets/uijson/magnetotellurics_forward.ui.json +220 -0
- simpeg_drivers-0.1.0b1/simpeg_drivers-assets/uijson/magnetotellurics_inversion.ui.json +712 -0
- simpeg_drivers-0.1.0b1/simpeg_drivers-assets/uijson/tdem_forward.ui.json +160 -0
- simpeg_drivers-0.1.0b1/simpeg_drivers-assets/uijson/tdem_inversion.ui.json +525 -0
- simpeg_drivers-0.1.0b1/simpeg_drivers-assets/uijson/tipper_forward.ui.json +196 -0
- simpeg_drivers-0.1.0b1/simpeg_drivers-assets/uijson/tipper_inversion.ui.json +592 -0
- simpeg_drivers-0.1.0b1/simpeg_drivers-assets/waveform.txt +18 -0
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2024 Mira Geoscience
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
Metadata-Version: 2.1
|
|
2
|
+
Name: simpeg-drivers
|
|
3
|
+
Version: 0.1.0b1
|
|
4
|
+
Summary: Application to run SimPEG inversions with geoh5 files from Geoscience Analyst.
|
|
5
|
+
Home-page: https://www.mirageoscience.com/mining-industry-software/python-integration/
|
|
6
|
+
License: MIT
|
|
7
|
+
Author: Mira Geoscience
|
|
8
|
+
Author-email: support@mirageoscience.com
|
|
9
|
+
Maintainer: Benjamin Kary
|
|
10
|
+
Maintainer-email: benjamink@mirageoscience.com
|
|
11
|
+
Requires-Python: >=3.10,<3.11
|
|
12
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
13
|
+
Classifier: Programming Language :: Python :: 3
|
|
14
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
15
|
+
Requires-Dist: Pillow (>=10.1.0,<10.2.0)
|
|
16
|
+
Requires-Dist: dask[distributed] (==2022.10.*)
|
|
17
|
+
Requires-Dist: discretize (>=0.10.0,<0.11.0)
|
|
18
|
+
Requires-Dist: distributed (==2022.10.*)
|
|
19
|
+
Requires-Dist: geoana (>=0.4.0,<0.5.0)
|
|
20
|
+
Requires-Dist: geoapps-utils (>=0.3.0rc1,<0.4.0)
|
|
21
|
+
Requires-Dist: geoh5py (>=0.9.0rc1,<0.10.0)
|
|
22
|
+
Requires-Dist: h5py (>=3.2.1,<4.0.0)
|
|
23
|
+
Requires-Dist: mira-simpeg (>=0.19.0.8a3,<0.20.0.0)
|
|
24
|
+
Requires-Dist: mkl (==2022.1.*)
|
|
25
|
+
Requires-Dist: numpy (>=1.23.5,<1.24.0)
|
|
26
|
+
Requires-Dist: octree-creation-app (>=0.1.0rc1,<0.2.0)
|
|
27
|
+
Requires-Dist: param-sweeps (>=0.1.7rc1,<0.2.0)
|
|
28
|
+
Requires-Dist: pydantic (>=2.5.2,<2.6.0)
|
|
29
|
+
Requires-Dist: pydiso (>=0.0.3,<0.1.0)
|
|
30
|
+
Requires-Dist: pymatsolver (>=0.2.0,<0.3.0)
|
|
31
|
+
Requires-Dist: scipy (>=1.10.1,<1.11.0)
|
|
32
|
+
Requires-Dist: tqdm (>=4.66.1,<5.0.0)
|
|
33
|
+
Requires-Dist: tzdata (==2023.4)
|
|
34
|
+
Requires-Dist: zarr (>=2.14.2,<2.15.0)
|
|
35
|
+
Project-URL: Documentation, https://mirageoscience-simpeg-drivers.readthedocs-hosted.com/
|
|
36
|
+
Project-URL: Repository, https://github.com/MiraGeoscience/simpeg-drivers
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
|coverage| |maintainability| |precommit_ci| |docs| |style| |version| |status| |pyversions|
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
.. |docs| image:: https://readthedocs.org/projects/simpeg-drivers/badge/
|
|
5
|
+
:alt: Documentation Status
|
|
6
|
+
:target: https://simpeg-drivers.readthedocs.io/en/latest/?badge=latest
|
|
7
|
+
|
|
8
|
+
.. |coverage| image:: https://codecov.io/gh/MiraGeoscience/simpeg-drivers/branch/develop/graph/badge.svg
|
|
9
|
+
:alt: Code coverage
|
|
10
|
+
:target: https://codecov.io/gh/MiraGeoscience/simpeg-drivers
|
|
11
|
+
|
|
12
|
+
.. |style| image:: https://img.shields.io/badge/code%20style-black-000000.svg
|
|
13
|
+
:alt: Coding style
|
|
14
|
+
:target: https://github.com/pf/black
|
|
15
|
+
|
|
16
|
+
.. |version| image:: https://img.shields.io/pypi/v/simpeg-drivers.svg
|
|
17
|
+
:alt: version on PyPI
|
|
18
|
+
:target: https://pypi.python.org/pypi/simpeg-drivers/
|
|
19
|
+
|
|
20
|
+
.. |status| image:: https://img.shields.io/pypi/status/simpeg-drivers.svg
|
|
21
|
+
:alt: version status on PyPI
|
|
22
|
+
:target: https://pypi.python.org/pypi/simpeg-drivers/
|
|
23
|
+
|
|
24
|
+
.. |pyversions| image:: https://img.shields.io/pypi/pyversions/simpeg-drivers.svg
|
|
25
|
+
:alt: Python versions
|
|
26
|
+
:target: https://pypi.python.org/pypi/simpeg-drivers/
|
|
27
|
+
|
|
28
|
+
.. |precommit_ci| image:: https://results.pre-commit.ci/badge/github/MiraGeoscience/simpeg-drivers/develop.svg
|
|
29
|
+
:alt: pre-commit.ci status
|
|
30
|
+
:target: https://results.pre-commit.ci/latest/github/MiraGeoscience/simpeg-drivers/develop
|
|
31
|
+
|
|
32
|
+
.. |maintainability| image:: https://api.codeclimate.com/v1/badges/_token_/maintainability
|
|
33
|
+
:target: https://codeclimate.com/github/MiraGeoscience/simpeg-drivers/maintainability
|
|
34
|
+
:alt: Maintainability
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
simpeg-drivers: # TODO: SHORT DESCRIPTION
|
|
38
|
+
=========================================================================
|
|
39
|
+
The **simpeg-drivers** library # TODO: PACKAGE DESCRIPTION
|
|
40
|
+
|
|
41
|
+
.. contents:: Table of Contents
|
|
42
|
+
:local:
|
|
43
|
+
:depth: 3
|
|
44
|
+
|
|
45
|
+
Documentation
|
|
46
|
+
^^^^^^^^^^^^^
|
|
47
|
+
`Online documentation <https://simpeg-drivers.readthedocs.io/en/latest/>`_
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
Installation
|
|
51
|
+
^^^^^^^^^^^^
|
|
52
|
+
**simpeg-drivers** is currently written for Python 3.10 or higher.
|
|
53
|
+
|
|
54
|
+
Install Conda
|
|
55
|
+
-------------
|
|
56
|
+
|
|
57
|
+
To install **simpeg-drivers**, you need to install **Conda** first.
|
|
58
|
+
|
|
59
|
+
We recommend to install **Conda** using `miniforge`_.
|
|
60
|
+
|
|
61
|
+
.. _miniforge: https://github.com/conda-forge/miniforge
|
|
62
|
+
|
|
63
|
+
Within a conda environment
|
|
64
|
+
--------------------------
|
|
65
|
+
|
|
66
|
+
You can install (or update) a conda environment with all the requires packages to run **simpeg-drivers**.
|
|
67
|
+
To do so you can directly run the **Install_or_Update.bat** file by double left clicking on it.
|
|
68
|
+
|
|
69
|
+
Install with conda
|
|
70
|
+
------------------
|
|
71
|
+
|
|
72
|
+
You can install the package using ``conda`` and the ``.lock`` files from a conda prompt:
|
|
73
|
+
|
|
74
|
+
.. code-block:: bash
|
|
75
|
+
|
|
76
|
+
conda env create -n my-env -f environments/[the_desired_env].lock.yml
|
|
77
|
+
|
|
78
|
+
Install with PyPI
|
|
79
|
+
-----------------
|
|
80
|
+
|
|
81
|
+
You should not install the package from PyPI, as the app requires conda packages to run.
|
|
82
|
+
Still, you can install it in a conda environment without its dependencies (``--no-deps``).
|
|
83
|
+
|
|
84
|
+
From PyPI
|
|
85
|
+
~~~~~~~~~
|
|
86
|
+
|
|
87
|
+
To install the **simpeg-drivers** package published on PyPI:
|
|
88
|
+
|
|
89
|
+
.. code-block:: bash
|
|
90
|
+
|
|
91
|
+
pip install -U --no-deps simpeg-drivers
|
|
92
|
+
|
|
93
|
+
From a Git tag or branch
|
|
94
|
+
~~~~~~~~~~~~~~~~~~~~~~~~
|
|
95
|
+
If the package is not on PiPY yet, you can install it from a Git tag:
|
|
96
|
+
|
|
97
|
+
.. code-block:: bash
|
|
98
|
+
|
|
99
|
+
pip install -U --no-deps --force-reinstall https://github.com/MiraGeoscience/simpeg-drivers/archive/refs/tags/TAG.zip
|
|
100
|
+
|
|
101
|
+
Or to install the latest changes available on a given Git branch:
|
|
102
|
+
|
|
103
|
+
.. code-block:: bash
|
|
104
|
+
|
|
105
|
+
pip install -U --no-deps --force-reinstall https://github.com/MiraGeoscience/simpeg-drivers/archive/refs/heads/BRANCH.zip
|
|
106
|
+
|
|
107
|
+
.. note::
|
|
108
|
+
The ``--force-reinstall`` option is used to make sure the updated version
|
|
109
|
+
of the sources is installed, and not the cached version, even if the version number
|
|
110
|
+
did not change. The ``-U`` or ``--upgrade`` option is used to make sure to get the latest version,
|
|
111
|
+
on not merely reinstall the same version. As the package is aimed to be in a **Conda environment**, the option ``--no-deps`` is used to avoid installing the dependencies with pip, as they will be installed with conda.
|
|
112
|
+
|
|
113
|
+
From a local copy of the sources
|
|
114
|
+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
115
|
+
If you have a git clone of the package sources locally,
|
|
116
|
+
you can install **simpeg-drivers** from the local copy of the sources with:
|
|
117
|
+
|
|
118
|
+
.. code-block:: bash
|
|
119
|
+
|
|
120
|
+
pip install -U --force-reinstall path/to/project_folder_with_pyproject_toml
|
|
121
|
+
|
|
122
|
+
Or in **editable mode**, so that you can edit the sources and see the effect immediately at runtime:
|
|
123
|
+
|
|
124
|
+
.. code-block:: bash
|
|
125
|
+
|
|
126
|
+
pip install -e -U --force-reinstall path/to/project_folder_with_pyproject_toml
|
|
127
|
+
|
|
128
|
+
Setup for development
|
|
129
|
+
^^^^^^^^^^^^^^^^^^^^^
|
|
130
|
+
To configure the development environment and tools, please see `README-dev.rst`_.
|
|
131
|
+
|
|
132
|
+
.. _README-dev.rst: README-dev.rst
|
|
133
|
+
|
|
134
|
+
License
|
|
135
|
+
^^^^^^^
|
|
136
|
+
# TODO: ADD LICENSE TERMS
|
|
137
|
+
|
|
138
|
+
Third Party Software
|
|
139
|
+
^^^^^^^^^^^^^^^^^^^^
|
|
140
|
+
The simpeg-drivers Software may provide links to third party libraries or code (collectively “Third Party Software”)
|
|
141
|
+
to implement various functions. Third Party Software does not comprise part of the Software.
|
|
142
|
+
The use of Third Party Software is governed by the terms of such software license(s).
|
|
143
|
+
Third Party Software notices and/or additional terms and conditions are located in the
|
|
144
|
+
`THIRD_PARTY_SOFTWARE.rst`_ file.
|
|
145
|
+
|
|
146
|
+
.. _THIRD_PARTY_SOFTWARE.rst: THIRD_PARTY_SOFTWARE.rst
|
|
147
|
+
|
|
148
|
+
Copyright
|
|
149
|
+
^^^^^^^^^
|
|
150
|
+
Copyright (c) 2024 Mira Geoscience Ltd.
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
The simpeg_drivers repository and source distributions bundle several libraries that are
|
|
2
|
+
compatibly licensed. We list these here.
|
|
3
|
+
|
|
4
|
+
# TODO
|
|
5
|
+
|
|
6
|
+
+---------+--------------+----------------------------------+-------------------------------------------------------------------+
|
|
7
|
+
| Name | License | URL | Description |
|
|
8
|
+
+---------+--------------+----------------------------------+-------------------------------------------------------------------+
|
|
9
|
+
| | | | |
|
|
10
|
+
+---------+--------------+----------------------------------+-------------------------------------------------------------------+
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
[tool.poetry]
|
|
2
|
+
name = "simpeg-drivers"
|
|
3
|
+
version = "0.1.0-beta.1"
|
|
4
|
+
description = "Application to run SimPEG inversions with geoh5 files from Geoscience Analyst."
|
|
5
|
+
license = "MIT"
|
|
6
|
+
authors = ["Mira Geoscience <support@mirageoscience.com>"]
|
|
7
|
+
maintainers = [
|
|
8
|
+
"Benjamin Kary <benjamink@mirageoscience.com>",
|
|
9
|
+
"Dominique Fournier <dominiquef@mirageoscience.com>",
|
|
10
|
+
]
|
|
11
|
+
repository = "https://github.com/MiraGeoscience/simpeg-drivers"
|
|
12
|
+
documentation = "https://mirageoscience-simpeg-drivers.readthedocs-hosted.com/"
|
|
13
|
+
homepage = "https://www.mirageoscience.com/mining-industry-software/python-integration/"
|
|
14
|
+
|
|
15
|
+
packages = [
|
|
16
|
+
{ include = "simpeg_drivers" },
|
|
17
|
+
{ include = "simpeg_drivers-assets" },
|
|
18
|
+
]
|
|
19
|
+
|
|
20
|
+
include = [
|
|
21
|
+
"COPYING",
|
|
22
|
+
"COPYING.LESSER",
|
|
23
|
+
"LICENSE",
|
|
24
|
+
"README.rst",
|
|
25
|
+
"THIRD_PARTY_SOFTWARE.rst",
|
|
26
|
+
]
|
|
27
|
+
|
|
28
|
+
[tool.poetry.dependencies]
|
|
29
|
+
python = "^3.10, <3.11"
|
|
30
|
+
|
|
31
|
+
dask = {version = "2022.10.*", extras = ["distributed"]}
|
|
32
|
+
discretize = "~0.10.0"
|
|
33
|
+
distributed = "2022.10.*" # because conda-lock doesn't take dask extras into account
|
|
34
|
+
numpy = "~1.23.5" # also in geoh5py, simpeg
|
|
35
|
+
scipy = "~1.10.1"
|
|
36
|
+
|
|
37
|
+
## Pip dependencies from Git repositories
|
|
38
|
+
#----------------------------------------
|
|
39
|
+
geoh5py = {version = "~0.9.0rc1", source = "pypi", allow-prereleases = true}
|
|
40
|
+
#geoh5py = {url = "https://github.com/MiraGeoscience/geoh5py/archive/refs/heads/release/0.9.0.zip#sha256="}
|
|
41
|
+
#geoh5py = {url = "http://localhost:8888/geoh5py.tar.gz#sha256="}
|
|
42
|
+
|
|
43
|
+
octree-creation-app = {version = "~0.1.0rc1", source = "pypi", allow-prereleases = true}
|
|
44
|
+
#octree-creation-app = {url = "https://github.com/MiraGeoscience/octree-creation-app/archive/refs/heads/release/0.1.0.zip#sha256="}
|
|
45
|
+
#octree-creation-app = {url = "http://localhost:8888/octree-creation-app.tar.gz#sha256="}
|
|
46
|
+
|
|
47
|
+
geoapps-utils = {version = "~0.3.0rc1", source = "pypi", allow-prereleases = true}
|
|
48
|
+
#geoapps-utils = {url = "https://github.com/MiraGeoscience/geoapps-utils/archive/refs/heads/release/0.3.0.zip#sha256="}
|
|
49
|
+
#geoapps-utils = {url = "http://localhost:8888/geoapps-utils.tar.gz#sha256="}
|
|
50
|
+
|
|
51
|
+
mira-simpeg = {version = "~0.19.0.8a3", source = "pypi", allow-prereleases = true}
|
|
52
|
+
#mira-simpeg = {url = "https://github.com/MiraGeoscience/simpeg/archive/refs/heads/release/0.19.0.8.zip#sha256="}
|
|
53
|
+
#mira-simpeg = {url = "http://localhost:8888/mira-simpeg.tar.gz#sha256="}
|
|
54
|
+
|
|
55
|
+
param-sweeps = {version = "~0.1.7rc1", source = "pypi", allow-prereleases = true}
|
|
56
|
+
#param-sweeps = {url = "https://github.com/MiraGeoscience/param-sweeps/archive/refs/heads/release/0.1.7.zip#sha256="}
|
|
57
|
+
#param-sweeps = {url = "http://localhost:8888/param-sweeps.tar.gz#sha256="}
|
|
58
|
+
|
|
59
|
+
## indirect dependencies, forcing them here for installation through Conda not pip
|
|
60
|
+
#---------------------------------------------------------------------------------
|
|
61
|
+
Pillow = "~10.1.0" # from geoh5py
|
|
62
|
+
geoana = "~0.4.0" # from simpeg
|
|
63
|
+
h5py = "^3.2.1" # from geoh5py
|
|
64
|
+
mkl = "2022.1.*" # from simpeg
|
|
65
|
+
pydantic = "~2.5.2" # from geoapps-utils
|
|
66
|
+
pydiso = "~0.0.3" # from simpeg
|
|
67
|
+
pymatsolver = "~0.2.0" # from simpeg
|
|
68
|
+
tqdm = "^4.66.1" # from simpeg
|
|
69
|
+
zarr = "~2.14.2" # from simpeg using Dask
|
|
70
|
+
|
|
71
|
+
# force some versions to resolve incompatible resolution between PyPI and Conda
|
|
72
|
+
tzdata = "2023.4" # through pandas from SimPEG
|
|
73
|
+
|
|
74
|
+
## about pip dependencies
|
|
75
|
+
# to be specified to work with conda-lock
|
|
76
|
+
# - from PyPI: my_package = { version = "1.2.3", source = "pypi" }
|
|
77
|
+
# - from URL:
|
|
78
|
+
# - for a tags: my_package = { url = "https://github.com/ORGANISATION/REPO/archive/refs/tags/VERSION_TAG.zip#sha256=" }
|
|
79
|
+
# - for a branch: my_package = { url = "https://github.com/ORGANISATION/REPO/archive/refs/heads/BRANCH.zip#sha256=" }
|
|
80
|
+
# Note - conda-lock does not support the syntax: my_package = { git = ... }
|
|
81
|
+
# while poetry2conda supports only { git = "...", tag = "..." }, and not { url = ... }
|
|
82
|
+
|
|
83
|
+
[tool.poetry.group.dev.dependencies]
|
|
84
|
+
Pygments = "*"
|
|
85
|
+
ipywidgets = "^7.6.5"
|
|
86
|
+
jupyter-book = "^0.13"
|
|
87
|
+
jupytext = "^1.14"
|
|
88
|
+
pylint = "*"
|
|
89
|
+
pytest = "*"
|
|
90
|
+
pytest-cov = "*"
|
|
91
|
+
readthedocs-sphinx-ext = "*"
|
|
92
|
+
sphinx = "^5.0"
|
|
93
|
+
tomli = "*"
|
|
94
|
+
|
|
95
|
+
[tool.conda-lock]
|
|
96
|
+
platforms = ['win-64', 'linux-64']
|
|
97
|
+
channels = ['conda-forge']
|
|
98
|
+
|
|
99
|
+
[tool.conda-lock.dependencies]
|
|
100
|
+
libblas = "*=*mkl" # because simpeg already brings in the MKL
|
|
101
|
+
|
|
102
|
+
[tool.isort]
|
|
103
|
+
profile = "black"
|
|
104
|
+
|
|
105
|
+
[tool.black]
|
|
106
|
+
# defaults are just fine
|
|
107
|
+
|
|
108
|
+
[tool.mypy]
|
|
109
|
+
warn_unused_configs = true
|
|
110
|
+
ignore_missing_imports = true
|
|
111
|
+
scripts_are_modules = true
|
|
112
|
+
show_error_context = true
|
|
113
|
+
show_column_numbers = true
|
|
114
|
+
check_untyped_defs = true
|
|
115
|
+
|
|
116
|
+
plugins = [
|
|
117
|
+
"numpy.typing.mypy_plugin",
|
|
118
|
+
]
|
|
119
|
+
|
|
120
|
+
[tool.coverage.run]
|
|
121
|
+
branch = true
|
|
122
|
+
source = ["simpeg_drivers"]
|
|
123
|
+
|
|
124
|
+
[tool.coverage.report]
|
|
125
|
+
exclude_lines = [
|
|
126
|
+
"raise NotImplementedError",
|
|
127
|
+
"pass",
|
|
128
|
+
"if TYPE_CHECKING",
|
|
129
|
+
"pragma: no cover"
|
|
130
|
+
]
|
|
131
|
+
|
|
132
|
+
[tool.coverage.html]
|
|
133
|
+
skip_empty = true
|
|
134
|
+
skip_covered = true
|
|
135
|
+
|
|
136
|
+
[build-system]
|
|
137
|
+
requires = ["poetry-core>=1.0.0", "setuptools"]
|
|
138
|
+
build-backend = "poetry.core.masonry.api"
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
# ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
|
|
2
|
+
# Copyright (c) 2023-2024 Mira Geoscience Ltd.
|
|
3
|
+
# All rights reserved.
|
|
4
|
+
#
|
|
5
|
+
# This file is part of simpeg-drivers.
|
|
6
|
+
#
|
|
7
|
+
# The software and information contained herein are proprietary to, and
|
|
8
|
+
# comprise valuable trade secrets of, Mira Geoscience, which
|
|
9
|
+
# intend to preserve as trade secrets such software and information.
|
|
10
|
+
# This software is furnished pursuant to a written license agreement and
|
|
11
|
+
# may be used, copied, transmitted, and stored only in accordance with
|
|
12
|
+
# the terms of such license and with the inclusion of the above copyright
|
|
13
|
+
# notice. This software and information or any other copies thereof may
|
|
14
|
+
# not be provided or otherwise made available to any other person.
|
|
15
|
+
#
|
|
16
|
+
# ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
|
|
17
|
+
|
|
18
|
+
# pylint: disable=unused-import
|
|
19
|
+
# flake8: noqa
|
|
20
|
+
|
|
21
|
+
from __future__ import annotations
|
|
22
|
+
|
|
23
|
+
__version__ = "0.1.0-beta.1"
|
|
24
|
+
|
|
25
|
+
from pathlib import Path
|
|
26
|
+
|
|
27
|
+
from SimPEG import dask
|
|
28
|
+
|
|
29
|
+
from simpeg_drivers.constants import default_ui_json
|
|
30
|
+
from simpeg_drivers.params import InversionBaseParams
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
def assets_path() -> Path:
|
|
34
|
+
"""Return the path to the assets folder."""
|
|
35
|
+
|
|
36
|
+
parent = Path(__file__).parent
|
|
37
|
+
folder_name = f"{parent.name}-assets"
|
|
38
|
+
assets_folder = parent.parent / folder_name
|
|
39
|
+
if not assets_folder.is_dir():
|
|
40
|
+
raise RuntimeError(f"Assets folder not found: {assets_folder}")
|
|
41
|
+
|
|
42
|
+
return assets_folder
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
DRIVER_MAP = {
|
|
46
|
+
"direct current 3d": (
|
|
47
|
+
"simpeg_drivers.electricals.direct_current.three_dimensions.driver",
|
|
48
|
+
"DirectCurrent3DDriver",
|
|
49
|
+
),
|
|
50
|
+
"direct current 2d": (
|
|
51
|
+
"simpeg_drivers.electricals.direct_current.two_dimensions.driver",
|
|
52
|
+
"DirectCurrent2DDriver",
|
|
53
|
+
),
|
|
54
|
+
"direct current pseudo 3d": (
|
|
55
|
+
"simpeg_drivers.electricals.direct_current.pseudo_three_dimensions.driver",
|
|
56
|
+
"DirectCurrentPseudo3DDriver",
|
|
57
|
+
),
|
|
58
|
+
"induced polarization 3d": (
|
|
59
|
+
"simpeg_drivers.electricals.induced_polarization.three_dimensions.driver",
|
|
60
|
+
"InducedPolarization3DDriver",
|
|
61
|
+
),
|
|
62
|
+
"induced polarization 2d": (
|
|
63
|
+
"simpeg_drivers.electricals.induced_polarization.two_dimensions.driver",
|
|
64
|
+
"InducedPolarization2DDriver",
|
|
65
|
+
),
|
|
66
|
+
"induced polarization pseudo 3d": (
|
|
67
|
+
"simpeg_drivers.electricals.induced_polarization.pseudo_three_dimensions.driver",
|
|
68
|
+
"InducedPolarizationPseudo3DDriver",
|
|
69
|
+
),
|
|
70
|
+
"joint surveys": (
|
|
71
|
+
"simpeg_drivers.joint.joint_surveys.driver",
|
|
72
|
+
"JointSurveyDriver",
|
|
73
|
+
),
|
|
74
|
+
"fem": (
|
|
75
|
+
"simpeg_drivers.airborne_electromagnetics.frequency_domain.driver",
|
|
76
|
+
"FrequencyDomainElectromagneticsDriver",
|
|
77
|
+
),
|
|
78
|
+
"joint cross gradient": (
|
|
79
|
+
"simpeg_drivers.joint.joint_cross_gradient.driver",
|
|
80
|
+
"JointCrossGradientDriver",
|
|
81
|
+
),
|
|
82
|
+
"tdem": (
|
|
83
|
+
"simpeg_drivers.electromagnetics.time_domain.driver",
|
|
84
|
+
"TimeDomainElectromagneticsDriver",
|
|
85
|
+
),
|
|
86
|
+
"magnetotellurics": (
|
|
87
|
+
"simpeg_drivers.natural_sources.magnetotellurics.driver",
|
|
88
|
+
"MagnetotelluricsDriver",
|
|
89
|
+
),
|
|
90
|
+
"tipper": ("simpeg_drivers.natural_sources.tipper.driver", "TipperDriver"),
|
|
91
|
+
"gravity": ("simpeg_drivers.potential_fields.gravity.driver", "GravityDriver"),
|
|
92
|
+
"magnetic scalar": (
|
|
93
|
+
"simpeg_drivers.potential_fields.magnetic_scalar.driver",
|
|
94
|
+
"MagneticScalarDriver",
|
|
95
|
+
),
|
|
96
|
+
"magnetic vector": (
|
|
97
|
+
"simpeg_drivers.potential_fields.magnetic_vector.driver",
|
|
98
|
+
"MagneticVectorDriver",
|
|
99
|
+
),
|
|
100
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
|
|
2
|
+
# Copyright (c) 2023-2024 Mira Geoscience Ltd.
|
|
3
|
+
# All rights reserved.
|
|
4
|
+
#
|
|
5
|
+
# This file is part of simpeg-drivers.
|
|
6
|
+
#
|
|
7
|
+
# The software and information contained herein are proprietary to, and
|
|
8
|
+
# comprise valuable trade secrets of, Mira Geoscience, which
|
|
9
|
+
# intend to preserve as trade secrets such software and information.
|
|
10
|
+
# This software is furnished pursuant to a written license agreement and
|
|
11
|
+
# may be used, copied, transmitted, and stored only in accordance with
|
|
12
|
+
# the terms of such license and with the inclusion of the above copyright
|
|
13
|
+
# notice. This software and information or any other copies thereof may
|
|
14
|
+
# not be provided or otherwise made available to any other person.
|
|
15
|
+
#
|
|
16
|
+
# ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
|
|
17
|
+
|
|
18
|
+
# pylint: disable=unused-import
|
|
19
|
+
# flake8: noqa
|
|
20
|
+
|
|
21
|
+
from __future__ import annotations
|
|
22
|
+
|
|
23
|
+
from .data import InversionData
|
|
24
|
+
from .meshes import InversionMesh
|
|
25
|
+
from .models import InversionModel, InversionModelCollection
|
|
26
|
+
from .topography import InversionTopography
|
|
27
|
+
from .windows import InversionWindow
|