Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
55 commits
Select commit Hold shift + click to select a range
e71729c
GEOPY-882 migrate provision-with-micromamba to setup-micromamba
andrewg-mira Aug 14, 2023
27a0c51
GEOPY-882 tell github action to activate the conda env it just created?
andrewg-mira Aug 14, 2023
e1e6354
GEOPY-882 remove incorrect shell
andrewg-mira Aug 14, 2023
684c9a7
GEOPY-882 specify shell
andrewg-mira Aug 14, 2023
ea31947
GEOPY-882 specify init-shell
andrewg-mira Aug 14, 2023
a34e682
Merge branch 'develop' into GEOPY-882-codecov
domfournier Aug 15, 2023
f37694a
Merge branch 'develop' into GEOPY-882-codecov
domfournier Aug 17, 2023
01fa821
Merge branch 'develop' into GEOPY-882-codecov
domfournier Aug 25, 2023
83258b6
Merge pull request #602 from MiraGeoscience/GEOPY-882-codecov
domfournier Sep 19, 2023
dd4a651
GEOPY-1058 migrate to setup-micromamba in github workflows
andrewg-mira Sep 20, 2023
4dbb29f
Merge pull request #610 from MiraGeoscience/GEOPY-1058-setup-micromamba
andrewg-mira Sep 21, 2023
c2d23b6
GEOPY-1083 run pylint on ubuntu
andrewg-mira Sep 29, 2023
3c9b308
GEOPY-1083 static-analysys: use linux lock file
andrewg-mira Sep 29, 2023
4ae3b3f
GEOPY-1083 remove Macos from pytest for now
andrewg-mira Sep 29, 2023
2bfad78
Merge pull request #614 from MiraGeoscience/GEOPY-1083-pylint-linux
domfournier Sep 29, 2023
ad82243
Bump actions/checkout from 3 to 4
dependabot[bot] Oct 1, 2023
592914b
[pre-commit.ci] pre-commit autoupdate
pre-commit-ci[bot] Oct 2, 2023
0203bef
Merge pull request #616 from MiraGeoscience/dependabot/github_actions…
domfournier Oct 3, 2023
4f33903
Merge branch 'develop' into pre-commit-ci-update-config
domfournier Oct 3, 2023
e4e7325
Merge pull request #617 from MiraGeoscience/pre-commit-ci-update-config
domfournier Oct 3, 2023
7ba5f09
GEOPY-882 migrate provision-with-micromamba to setup-micromamba
andrewg-mira Aug 14, 2023
8876ea4
GEOPY-882 tell github action to activate the conda env it just created?
andrewg-mira Aug 14, 2023
e2f2899
GEOPY-882 remove incorrect shell
andrewg-mira Aug 14, 2023
2279ac4
GEOPY-882 specify shell
andrewg-mira Aug 14, 2023
1a824c7
GEOPY-882 specify init-shell
andrewg-mira Aug 14, 2023
0bcca1b
GEOPY-1058 migrate to setup-micromamba in github workflows
andrewg-mira Sep 20, 2023
c6294c8
GEOPY-1083 run pylint on ubuntu
andrewg-mira Sep 29, 2023
fe1ed8e
GEOPY-1083 static-analysys: use linux lock file
andrewg-mira Sep 29, 2023
d053437
[pre-commit.ci] pre-commit autoupdate
pre-commit-ci[bot] Oct 2, 2023
51a85ba
Bump actions/checkout from 3 to 4
dependabot[bot] Oct 1, 2023
0e79eb1
add diagonal_balance to uijson
jamiefb Oct 31, 2023
c483a79
test passing visually
jamiefb Nov 1, 2023
e8961b7
update tests, add diagonal_balance to notebook
jamiefb Nov 1, 2023
6c29f6f
update tests with diagonal balance
jamiefb Nov 1, 2023
ea63d8d
Merge branch 'develop' into GEOPY-378
jamiefb Nov 1, 2023
944853c
Merge branch 'release/0.11.0' into GEOPY-1188
domfournier Nov 1, 2023
3c094c1
default diagonal_balance true; parametrize unit test
jamiefb Nov 2, 2023
74ba85e
Merge pull request #628 from MiraGeoscience/GEOPY-1188
domfournier Nov 2, 2023
4672119
Merge branch 'develop' into GEOPY-378
domfournier Nov 2, 2023
c5281cb
Merge branch 'release/0.11.0' into develop
sebhmg Nov 2, 2023
c559017
Fix tests
domfournier Nov 2, 2023
02bbb02
Merge branch 'develop' into GEOPY-378
domfournier Nov 2, 2023
3846da3
Merge pull request #627 from MiraGeoscience/GEOPY-378
domfournier Nov 7, 2023
d58c460
Create copy of models
domfournier Dec 19, 2023
dd07036
Fix issue with lagging workspace_geoh5
domfournier Dec 19, 2023
fab5c26
Merge branch 'release/0.11.0' into GEOPY-1265
domfournier Jan 3, 2024
378048f
Merge branch 'GEOPY-1280' into GEOPY-1265
domfournier Jan 3, 2024
0d12203
Merge branch 'GEOPY-1265' of https://github.com/MiraGeoscience/geoapp…
domfournier Jan 3, 2024
621ff71
Update years
domfournier Jan 3, 2024
e9d6b91
Merge branch 'release/0.11.0' into GEOPY-1265
domfournier Jan 8, 2024
cae3ab6
Remove redundant copies
domfournier Jan 11, 2024
1f00b0f
Merge branch 'develop' into GEOPY-1265
domfournier Jan 11, 2024
c1567f5
Update and fix assigned log values
domfournier Jan 29, 2024
e53da5c
Simplify logic
domfournier Jan 30, 2024
a4d489f
Merge branch 'GEOPY-1265' of github.com:MiraGeoscience/geoapps into G…
benk-mira Jan 30, 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
4 changes: 2 additions & 2 deletions .github/workflows/pytest-unix-os.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -40,11 +40,11 @@ jobs:
CONDA_LOCK_ENV_FILE: environments/conda-py-${{ matrix.python_ver }}-${{ startsWith(matrix.os, 'macos') && 'osx' || 'linux' }}-64-dev.lock.yml
PIP_EXTRA_INDEX_URL: https://test.pypi.org/simple/
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
lfs: true
- name: Setup conda env
uses: mamba-org/provision-with-micromamba@main
uses: mamba-org/setup-micromamba@v1
with:
environment-file: ${{ env.CONDA_LOCK_ENV_FILE }}
environment-name: test_env
Expand Down
5 changes: 3 additions & 2 deletions .github/workflows/pytest-windows.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -39,14 +39,15 @@ jobs:
CONDA_LOCK_ENV_FILE: environments/conda-py-${{ matrix.python_ver }}-win-64-dev.lock.yml
PIP_EXTRA_INDEX_URL: https://test.pypi.org/simple/
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
lfs: true
- name: Setup conda env
uses: mamba-org/provision-with-micromamba@main
uses: mamba-org/setup-micromamba@v1
with:
environment-file: ${{ env.CONDA_LOCK_ENV_FILE }}
environment-name: test_env
init-shell: powershell
cache-downloads: true
- name: pytest
run: |
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/static-analysis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,18 +26,18 @@ env:
jobs:
pylint:
name: pylint
runs-on: windows-latest
runs-on: ubuntu-latest
defaults:
run:
shell: bash -l {0}
env:
PYTHONUTF8: 1
CONDA_LOCK_ENV_FILE: environments/conda-py-3.9-win-64-dev.lock.yml
CONDA_LOCK_ENV_FILE: environments/conda-py-3.9-linux-64-dev.lock.yml
PIP_EXTRA_INDEX_URL: https://test.pypi.org/simple/
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Setup conda env
uses: mamba-org/provision-with-micromamba@main
uses: mamba-org/setup-micromamba@v1
with:
environment-file: ${{ env.CONDA_LOCK_ENV_FILE }}
environment-name: linter_env
Expand Down
56 changes: 27 additions & 29 deletions geoapps/inversion/components/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -114,71 +114,69 @@ def active_cells(self, active_cells):
self._active_cells = active_cells

@property
def starting(self):
mstart = self._starting.model
def starting(self) -> np.ndarray | None:
if self._starting.model is None:
return None

mstart = self._starting.model.copy()

if mstart is not None and self.is_sigma:
mstart = mstart.copy()
mstart = np.log(mstart)

return mstart

@property
def reference(self):
def reference(self) -> np.ndarray | None:
mref = self._reference.model
Comment thread
benk-mira marked this conversation as resolved.

if self.driver.params.forward_only:
return mref

if mref is None:
if mref is None or (self.is_sigma and all(mref == 0)):
mref = self.starting
self.driver.params.alpha_s = 0.0
else:
mref = mref.copy()
if self.is_sigma & (all(mref == 0)):
mref = self.starting
self.driver.params.alpha_s = 0.0
else:
mref = np.log(mref) if self.is_sigma else mref
return mref

@property
def lower_bound(self):
lbound = self._lower_bound.model
ref_model = mref.copy()
ref_model = np.log(ref_model) if self.is_sigma else ref_model

return ref_model

if lbound is None:
@property
def lower_bound(self) -> np.ndarray | None:
if self._lower_bound.model is None:
return -np.inf

lbound = lbound.copy()
lbound = self._lower_bound.model.copy()

if self.is_sigma:
is_finite = np.isfinite(lbound)
lbound[is_finite] = np.log(lbound[is_finite])
return lbound

@property
def upper_bound(self):
ubound = self._upper_bound.model

if ubound is None:
def upper_bound(self) -> np.ndarray | None:
if self._upper_bound.model is None:
return np.inf

ubound = ubound.copy()
ubound = self._upper_bound.model.copy()

if self.is_sigma:
is_finite = np.isfinite(ubound)
ubound[is_finite] = np.log(ubound[is_finite])

return ubound

@property
def conductivity(self):
mstart = self._conductivity.model
def conductivity(self) -> np.ndarray | None:
if self._conductivity.model is None:
return None

if mstart is not None and self.is_sigma:
mstart = mstart.copy()
mstart = np.log(mstart)
cond_model = self._conductivity.model.copy()

return mstart
if cond_model is not None and self.is_sigma:
cond_model = np.log(cond_model)

return cond_model

def _initialize(self, driver):
self.driver = driver
Expand Down
3 changes: 3 additions & 0 deletions geoapps/inversion/joint/joint_surveys/driver.py
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,9 @@ def validate_create_models(self):
norm = np.array(np.sum(projection, axis=1)).flatten()
model = (projection * model_local_values) / (norm + 1e-8)

if self.drivers[0].models.is_sigma:
model = np.exp(model)

setattr(
getattr(self.models, f"_{model_type}"),
"model",
Expand Down
45 changes: 41 additions & 4 deletions geoapps/octree_creation/application.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,13 +23,23 @@

from geoapps.base.application import BaseApplication
from geoapps.base.selection import ObjectDataSelection
from geoapps.octree_creation.constants import app_initializer
from geoapps.octree_creation.driver import OctreeDriver
from geoapps.octree_creation.params import OctreeParams
from geoapps.utils import warn_module_not_found

from . import OctreeParams, app_initializer
from .driver import OctreeDriver

with warn_module_not_found():
from ipywidgets import Dropdown, FloatText, Label, Layout, Text, VBox, Widget
from ipywidgets import (
Checkbox,
Dropdown,
FloatText,
IntText,
Label,
Layout,
Text,
VBox,
Widget,
)
from ipywidgets.widgets.widget_selection import TraitError


Expand All @@ -46,6 +56,8 @@ class OctreeMesh(ObjectDataSelection):
_depth_core = None
_horizontal_padding = None
_vertical_padding = None
_diagonal_balance = None
_minimum_level = None

def __init__(self, ui_json=None, **kwargs):
app_initializer.update(kwargs)
Expand Down Expand Up @@ -79,6 +91,9 @@ def __init__(self, ui_json=None, **kwargs):
Label("Padding distance"),
self.horizontal_padding,
self.vertical_padding,
Label("Basic"),
self.diagonal_balance,
self.minimum_level,
],
layout=Layout(border="solid"),
),
Expand Down Expand Up @@ -180,6 +195,28 @@ def vertical_padding(self) -> FloatText:
)
return self._vertical_padding

@property
def diagonal_balance(self) -> Checkbox:
"""
Widget controlling the diagonal balance.
"""
if getattr(self, "_diagonal_balance", None) is None:
self._diagonal_balance = Checkbox(
description="UBC compatible",
)
return self._diagonal_balance

@property
def minimum_level(self) -> IntText:
"""
Widget controlling the minimum refinement level.
"""
if getattr(self, "_minimum_level", None) is None:
self._minimum_level = IntText(
description="Minimum refinement level",
)
return self._minimum_level

@property
def workspace(self):
"""
Expand Down
6 changes: 6 additions & 0 deletions geoapps/octree_creation/constants.py
Original file line number Diff line number Diff line change
Expand Up @@ -99,6 +99,12 @@
"main": True,
"value": 500.0,
},
"diagonal_balance": {
"group": "Basic",
"label": "UBC Compatible",
"main": True,
"value": True,
},
"minimum_level": {
"enabled": True,
"group": "Basic",
Expand Down
Loading