-
Notifications
You must be signed in to change notification settings - Fork 29
Add Plot Output 1D tab for transect visualization with unified interface #257
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Co-authored-by: Sierd <[email protected]>
Co-authored-by: Sierd <[email protected]>
Co-authored-by: Sierd <[email protected]>
Co-authored-by: Sierd <[email protected]>
|
@copilot Only show the available variables in the dropdown menu of the 'Plot Output 1D' tab. Adapt the 'Plot Output 2D' tab to use the dropdown menu for selected variables in the same fashion as the 'Plot Output 1D' tab. Update the plotting area accoordingly by replacing all buttons with a 'load and plot'. The code gives an error when when scrolling through the transect direction. I think this is because x and y have different lenghts (the error points out line 830 in gui.py that gives an error) |
… variable dropdowns Co-authored-by: Sierd <[email protected]>
Fixed all issues in commit 74edae0: 1. Fixed transect direction scrolling error (line 830)
2. Dynamic variable dropdowns
3. Unified 2D tab interface
See mockup showing updated interface for both tabs. |
* 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]>
* 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 --------- --------- * 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 * Address code review feedback: move import to top and remove hardcoded path * Remove placeholder path, set configfile to 'No file selected' when canceled --------- * Add Plot Output 1D tab for transect visualization with unified interface (#257) * Initial plan * Add Plot Output 1D tab with transect plotting functionality * Add variable change callback for 1D plot updates * Fix code review issues: cross-platform paths and dimension validation * Improve dimension validation and dictionary access robustness * Fix transect direction bug and unify 2D/1D tab interface with dynamic variable dropdowns --------- * bugfixes (#259) * Initial plan * Add Plot Output 1D tab with transect plotting functionality * Add variable change callback for 1D plot updates * Fix code review issues: cross-platform paths and dimension validation * Improve dimension validation and dictionary access robustness * Fix transect direction bug and unify 2D/1D tab interface with dynamic variable dropdowns * bugfixes * added functionality, colorbars, many small fixes. --------- * 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]>
Adds a new tab to visualize 1D transects (cross-sections) of model output along user-selectable positions. Renames existing "Plot Output" tab to "Plot Output 2D" for clarity. Both tabs now feature a unified interface with dynamic variable dropdowns and consistent behavior.
Changes
UI Components
Implementation (
aeolis/gui.py)create_plot_output_tab()→create_plot_output_2d_tab()plot_nc_2d(),update_2d_plot(),on_variable_changed_2d()update_time_step()to use unified plotting approachBug Fixes
Code Quality
os.pardir+os.sepinstead of..\\..\\)Example Usage:
~545 lines added/modified in
aeolis/gui.py. No breaking changes. Both tabs now provide consistent user experience with dynamic variable discovery.Original prompt
✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.