Skip to content

Conversation

@ssheminway
Copy link
Owner

No description provided.

Sierd added 11 commits June 13, 2025 14:38
* devcontainer added

* Update Dockerfile

* Update Dockerfile

* Update devcontainer.json

* Update Dockerfile

* fixed dependencies for python 3.13 (#236) (#239)

* Update Dockerfile

* remove abundant stuff
* devcontainer added

* Update Dockerfile

* Update Dockerfile

* Update devcontainer.json

* Update Dockerfile

* fixed dependencies for python 3.13 (#236) (#239)

* Update Dockerfile

* remove abundant stuff
This patch updates the dockerfile for the codespace to be compatible with developer mode.
You need to manual install python in dev model after the docker is created.
* delete abundant files

* deleted:    aeolis/examples/vanWesten2024/blowout/figure_grid_initialization.png
deleted:    aeolis/examples/vanWesten2024/blowout/figure_params_initialization.png
deleted:    aeolis/examples/vanWesten2024/blowout/figure_timeseries_initialization.png
* Update pyproject.toml

* Update CITATION.cff

* Update README.md
@ssheminway ssheminway self-assigned this Jul 25, 2025
Sierd and others added 18 commits October 7, 2025 09:55
Added error handling for missing 'ne_file' when using Avalanching.
Add message indicating manual installation of aeolis
* Update vegetation parameters in constants.py

Removes unused V_Lat parameter
solves #120 
Changes default for veg_min_elevation to -10 to avoid unwanted use of this functionality.

* Update aeolis/constants.py

Co-authored-by: Copilot <[email protected]>

---------

Co-authored-by: Copilot <[email protected]>
Refactor sweep functions and consolidate logic for handling boundary conditions. Remove unused sweep4 function and update sweep3 to handle circular boundaries more effectively.
Removed commented-out code for wind direction quadrants and solution matrix calculations.
* Avalanching numba patch
Tested for 2D cases, seems to work fine now.
Need to test for 1D cases.

* updated avalanching.py to include non erodible layers. Not tested yet.

* Remove theta_stat and update theta_dyn description

* removed static angle of repose. Could be added back later if needed.

* Update aeolis/avalanching.py

copilot suggested changes on memory allocation

Co-authored-by: Copilot <[email protected]>

* Update aeolis/avalanching.py

added boundary definition.

Co-authored-by: Copilot <[email protected]>

* Update aeolis/avalanching.py

copilot suggestion to filter for ne

Co-authored-by: Copilot <[email protected]>

* Update to work with NE layer in avalanche module
Removed requirement for ne_file when avalanching is enabled

* Update aeolis/avalanching.py

Co-authored-by: Copilot <[email protected]>

* Update aeolis/constants.py

Co-authored-by: Copilot <[email protected]>

---------

Co-authored-by: Copilot <[email protected]>
Tested for circular boundaries.
small typos and minor code changes proposed by copilot

Co-authored-by: Copilot <[email protected]>
…ractions (#258)

* Initial plan

* Add validation to prevent steadystate solver with multiple sediment fractions

Co-authored-by: Sierd <[email protected]>

---------

Co-authored-by: copilot-swe-agent[bot] <[email protected]>
Co-authored-by: Sierd <[email protected]>
* Initialisation of the GUI

Including some overdue maintenance related to python 2-->3 in the write_configfile script.

* Updated GUI structure using Class

* updated gui

* update gui branche with latest main (#255)

* fixed dependencies for python 3.13 (#236)

* test with timing function

* Add devcontainer for use in codespaces (#240)

* devcontainer added

* Update Dockerfile

* Update Dockerfile

* Update devcontainer.json

* Update Dockerfile

* fixed dependencies for python 3.13 (#236) (#239)

* Update Dockerfile

* remove abundant stuff

* Add devcontainer for use in codespaces (#240) (#242)

* devcontainer added

* Update Dockerfile

* Update Dockerfile

* Update devcontainer.json

* Update Dockerfile

* fixed dependencies for python 3.13 (#236) (#239)

* Update Dockerfile

* remove abundant stuff

* Update Dockerfile (#243)

This patch updates the dockerfile for the codespace to be compatible with developer mode.
You need to manual install python in dev model after the docker is created.

* Cleanup main (#245)

* delete abundant files

* deleted:    aeolis/examples/vanWesten2024/blowout/figure_grid_initialization.png
deleted:    aeolis/examples/vanWesten2024/blowout/figure_params_initialization.png
deleted:    aeolis/examples/vanWesten2024/blowout/figure_timeseries_initialization.png

* Update pyproject.toml

* Update README.md

* Update CITATION.cff

* Update release info (#246)

* Update pyproject.toml

* Update CITATION.cff

* Update README.md

* Update Python version and dependencies in installation guide

* Implement error message for missing ne_file

Added error handling for missing 'ne_file' when using Avalanching.

* Print message for aeolis installation in Dockerfile

Add message indicating manual installation of aeolis

* Update vegetation parameters in constants.py (#250)

* Update vegetation parameters in constants.py

Removes unused V_Lat parameter
solves #120 
Changes default for veg_min_elevation to -10 to avoid unwanted use of this functionality.

* Update aeolis/constants.py

Co-authored-by: Copilot <[email protected]>

---------

Co-authored-by: Copilot <[email protected]>

---------

Co-authored-by: Copilot <[email protected]>

* input and output tab added
improved domain plotting functionality

* added functionality

* Fix GUI crash when canceling file selection on startup (#256)

* Initial plan

* Fix GUI to handle cancel on startup gracefully

Co-authored-by: Sierd <[email protected]>

* Address code review feedback: move import to top and remove hardcoded path

Co-authored-by: Sierd <[email protected]>

* Remove placeholder path, set configfile to 'No file selected' when canceled

Co-authored-by: Sierd <[email protected]>

---------

Co-authored-by: copilot-swe-agent[bot] <[email protected]>
Co-authored-by: Sierd <[email protected]>

* Add Plot Output 1D tab for transect visualization with unified interface (#257)

* Initial plan

* Add Plot Output 1D tab with transect plotting functionality

Co-authored-by: Sierd <[email protected]>

* Add variable change callback for 1D plot updates

Co-authored-by: Sierd <[email protected]>

* Fix code review issues: cross-platform paths and dimension validation

Co-authored-by: Sierd <[email protected]>

* Improve dimension validation and dictionary access robustness

Co-authored-by: Sierd <[email protected]>

* Fix transect direction bug and unify 2D/1D tab interface with dynamic variable dropdowns

Co-authored-by: Sierd <[email protected]>

---------

Co-authored-by: copilot-swe-agent[bot] <[email protected]>
Co-authored-by: Sierd <[email protected]>

* bugfixes (#259)

* Initial plan

* Add Plot Output 1D tab with transect plotting functionality

Co-authored-by: Sierd <[email protected]>

* Add variable change callback for 1D plot updates

Co-authored-by: Sierd <[email protected]>

* Fix code review issues: cross-platform paths and dimension validation

Co-authored-by: Sierd <[email protected]>

* Improve dimension validation and dictionary access robustness

Co-authored-by: Sierd <[email protected]>

* Fix transect direction bug and unify 2D/1D tab interface with dynamic variable dropdowns

Co-authored-by: Sierd <[email protected]>

* bugfixes

* added functionality, colorbars, many small fixes.

---------

Co-authored-by: copilot-swe-agent[bot] <[email protected]>
Co-authored-by: Sierd <[email protected]>

* domain overview added to 1D plot mode.

* Delete aeolis/GUI.ipynb

* Remove incompatible parameter checks for ne_file

Removed error handling for missing ne_file when using Avalanching.

---------

Co-authored-by: Copilot <[email protected]>
Co-authored-by: Copilot <[email protected]>
Co-authored-by: Sierd <[email protected]>
Copilot AI and others added 29 commits November 6, 2025 11:39
* add wind plotting functionality

* Refactor GUI: Complete modular architecture with all GUI tabs extracted, export functionality, and utilities (#263)

* Initial plan

* Phase 1: Add constants, utility functions, and improve documentation

Co-authored-by: Sierd <[email protected]>

* Phase 2: Extract helper methods and reduce code duplication

Co-authored-by: Sierd <[email protected]>

* Phase 3: Add variable label/title constants and improve docstrings

Co-authored-by: Sierd <[email protected]>

* Final: Add comprehensive refactoring documentation and summary

Co-authored-by: Sierd <[email protected]>

* Add export functionality: PNG and MP4 animations for all visualizations

Co-authored-by: Sierd <[email protected]>

* Phase 4: Begin code organization - extract utils module and create gui package structure

Co-authored-by: Sierd <[email protected]>

* Add comprehensive additional improvements proposal document

Co-authored-by: Sierd <[email protected]>

* bugfixes related to import and animattion functionality

* updated structure for further refactoring

* Refactor: Extract DomainVisualizer and rename gui_app_backup.py to application.py

Co-authored-by: Sierd <[email protected]>

* bugfix

* bugfix on loading domain

* Refactor: Extract WindVisualizer to modular architecture

Co-authored-by: Sierd <[email protected]>

* Refactor: Extract Output2DVisualizer for 2D NetCDF visualization

Co-authored-by: Sierd <[email protected]>

* Refactor: Extract Output1DVisualizer - Complete modular architecture achieved!

Co-authored-by: Sierd <[email protected]>

* bugfixes loading files

* removed netcdf check

* bugfixes after refractoring

* bugfixes with domain overview

* Speeding up complex drawing

* hold on functionality added

* Tab to run code added.

* Update aeolis/gui/application.py

Co-authored-by: Copilot <[email protected]>

* Update aeolis/gui/application.py

Co-authored-by: Copilot <[email protected]>

* Update aeolis/gui/visualizers/domain.py

Co-authored-by: Copilot <[email protected]>

* Update aeolis/gui/visualizers/domain.py

Co-authored-by: Copilot <[email protected]>

* Update aeolis/gui/main.py

Co-authored-by: Copilot <[email protected]>

* Update aeolis/gui/visualizers/output_2d.py

Co-authored-by: Copilot <[email protected]>

* Apply suggestions from code review

Co-authored-by: Copilot <[email protected]>

* Rename visualizers folder to gui_tabs and update all imports

Co-authored-by: Sierd <[email protected]>

* bigfixes related to refactoring

* reducing code lenght by omitting some redundancies

* Apply suggestions from code review

Co-authored-by: Copilot <[email protected]>

* Apply suggestions from code review

Co-authored-by: Copilot <[email protected]>

* Apply suggestions from code review

Co-authored-by: Copilot <[email protected]>

---------

Co-authored-by: copilot-swe-agent[bot] <[email protected]>
Co-authored-by: Sierd <[email protected]>
Co-authored-by: Sierd <[email protected]>
Co-authored-by: Copilot <[email protected]>

---------

Co-authored-by: Copilot <[email protected]>
Co-authored-by: Sierd <[email protected]>
Co-authored-by: Copilot <[email protected]>
#268)

* Refactor GUI: Complete modular architecture with all GUI tabs extracted, export functionality, and utilities (#263)

* Initial plan

* Phase 1: Add constants, utility functions, and improve documentation

Co-authored-by: Sierd <[email protected]>

* Phase 2: Extract helper methods and reduce code duplication

Co-authored-by: Sierd <[email protected]>

* Phase 3: Add variable label/title constants and improve docstrings

Co-authored-by: Sierd <[email protected]>

* Final: Add comprehensive refactoring documentation and summary

Co-authored-by: Sierd <[email protected]>

* Add export functionality: PNG and MP4 animations for all visualizations

Co-authored-by: Sierd <[email protected]>

* Phase 4: Begin code organization - extract utils module and create gui package structure

Co-authored-by: Sierd <[email protected]>

* Add comprehensive additional improvements proposal document

Co-authored-by: Sierd <[email protected]>

* bugfixes related to import and animattion functionality

* updated structure for further refactoring

* Refactor: Extract DomainVisualizer and rename gui_app_backup.py to application.py

Co-authored-by: Sierd <[email protected]>

* bugfix

* bugfix on loading domain

* Refactor: Extract WindVisualizer to modular architecture

Co-authored-by: Sierd <[email protected]>

* Refactor: Extract Output2DVisualizer for 2D NetCDF visualization

Co-authored-by: Sierd <[email protected]>

* Refactor: Extract Output1DVisualizer - Complete modular architecture achieved!

Co-authored-by: Sierd <[email protected]>

* bugfixes loading files

* removed netcdf check

* bugfixes after refractoring

* bugfixes with domain overview

* Speeding up complex drawing

* hold on functionality added

* Tab to run code added.

* Update aeolis/gui/application.py

Co-authored-by: Copilot <[email protected]>

* Update aeolis/gui/application.py

Co-authored-by: Copilot <[email protected]>

* Update aeolis/gui/visualizers/domain.py

Co-authored-by: Copilot <[email protected]>

* Update aeolis/gui/visualizers/domain.py

Co-authored-by: Copilot <[email protected]>

* Update aeolis/gui/main.py

Co-authored-by: Copilot <[email protected]>

* Update aeolis/gui/visualizers/output_2d.py

Co-authored-by: Copilot <[email protected]>

* Apply suggestions from code review

Co-authored-by: Copilot <[email protected]>

* Rename visualizers folder to gui_tabs and update all imports

Co-authored-by: Sierd <[email protected]>

* bigfixes related to refactoring

* reducing code lenght by omitting some redundancies

* Apply suggestions from code review

Co-authored-by: Copilot <[email protected]>

* Apply suggestions from code review

Co-authored-by: Copilot <[email protected]>

* Apply suggestions from code review

Co-authored-by: Copilot <[email protected]>

---------

Co-authored-by: copilot-swe-agent[bot] <[email protected]>
Co-authored-by: Sierd <[email protected]>
Co-authored-by: Sierd <[email protected]>
Co-authored-by: Copilot <[email protected]>

* Delete ADDITIONAL_IMPROVEMENTS.md

* deleted md files

---------

Co-authored-by: Copilot <[email protected]>
Co-authored-by: Sierd <[email protected]>
Co-authored-by: Copilot <[email protected]>
crash reported when newest python version is used. Numba not compatible yet.
* Initial plan

* Fix ustars0 and ustarn0 initialization bug in wind.py

Fixed bug where ustars0 and ustarn0 were incorrectly set to ustar magnitude
instead of their respective directional components ustars and ustarn.

Co-authored-by: Sierd <[email protected]>

* input files for debugging

* Fix missing division in dtauy FFT shear calculation

The dtauy_t formula in the FFT shear method was missing the division by
sc_kv(0., 2.*sqrt(2.)*sigma), causing incorrect y-direction shear stress
perturbations. This resulted in non-zero ustarn values even when the bed
had no y-direction variability.

The formula now matches the structure of dtaux_t calculation.

Co-authored-by: Sierd <[email protected]>

* Fix frequency array alignment in FFT shear calculation

The kx and ky frequency arrays were misaligned with the FFT output. The code
was creating frequency arrays with fftfreq(n+1)[1:] which skips the DC
component, but the FFT includes all frequencies. This caused incorrect
mapping between frequencies and FFT coefficients, leading to wrong shear
perturbations.

Fixed by using fftfreq(n) which properly matches the FFT output dimensions
and includes the DC component at the correct index.

Co-authored-by: Sierd <[email protected]>

* Handle division by zero at DC component in FFT shear

The previous fix included the DC component (kx=0, ky=0) in the frequency
arrays, which caused division by zero errors in the shear calculations.

Fixed by:
- Using safe division with np.where to replace zeros with 1.0 temporarily
- Explicitly setting DC component of perturbations to 0 after calculation
- Applying same fix to filter_highfrequencies function

The DC component represents the mean value and doesn't contribute to
perturbations, so setting it to zero is physically correct.

Co-authored-by: Sierd <[email protected]>

* Use masked computation to avoid invalid values in FFT shear

The previous fix still allowed invalid values when kx=0 (but ky≠0) because
sigma depends on kx. When kx=0, sigma=0 which causes issues in Bessel
function ratios.

New approach:
- Create a mask for valid computations: (k > 0) & (abs(kx) > 0)
- Initialize perturbation arrays with zeros
- Only compute perturbations for valid frequency combinations
- All invalid combinations (kx=0 or k=0) automatically get zero perturbation

This is physically correct: perturbations at kx=0 (pure y-direction
frequencies) should be zero for the x-direction flow formulation.

Co-authored-by: Sierd <[email protected]>

* Simplify FFT shear edge case handling

Simplified the masked computation approach to a cleaner implementation:
- Use np.where for safe division (replace zeros with 1.0 temporarily)
- Compute formulas normally with safe arrays
- Apply invalid_mask at the end to zero out problematic regions

This achieves the same result with much simpler, more readable code.

Co-authored-by: Sierd <[email protected]>

* Update shear.py

reverted the suggested division in dtauy_t calculation

* deleted wind tests

* shear patch

---------

Co-authored-by: copilot-swe-agent[bot] <[email protected]>
Co-authored-by: Sierd <[email protected]>
Co-authored-by: Sierd <[email protected]>
@Sierd Sierd merged commit f7720b5 into ssheminway:main Feb 12, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants