Talk:GRASS Developer Summit Raleigh 2025

From GRASS-Wiki
Jump to navigation Jump to search

Quick links: Meeting page | Reports | Sponsors

Organizing Team

  • Initial planning: Vaclav Petras, Anna Petrasova, Veronica Andreo, Corey White, Lois Utt, Sarah White, Doug Newcomb, Huidae Cho, Veronica Andreo (Organizing Committee)
  • Budget: Vaclav Petras, Lois Utt, Anna Petrasova
  • Raising support: Helena Mitasova, Vaclav Petras, Anna Petrasova, Michael Barton, Giuseppe Amatulli (NSF POSE project proposal authors)
  • Travel: Lois Utt
  • Venue: Vaclav Petras, Lois Utt
  • Meals: Lois Utt, Sarah White, Vaclav Petras, Corey White, Anna Petrasova
  • Agenda: Vaclav Petras, Huidae Cho, Anna Petrasova
  • Wiki page: Vaclav Petras, Anna Petrasova
  • Swag: Sarah White, Vaclav Petras, Anna Petrasova, Corey White
  • Promotion, invitations, and social media: Vaclav Petras, Sarah White, Corey White, John Vogler
  • Lightning talks organization: Vaclav Petras, Zachary Arcaro, John Vogler
  • Lightning talk speakers: Vaclav Petras (welcome), Markus Metz and Markus Neteler (talk presented by Vaclav Petras), Anna Petrasova, Veronica Andreo, Robert Dzur, Nick Brady, Huidae Cho, Gregory Power, Doug Newcomb, Caitlin Haedrich
  • Photography: Caitlin Haedrich, Māris Nartišs, Pratikshya Regmi

Detailed Schedule

Day 1, Monday, May 19

Location: Talley Student Union, 2610 Cates Ave (map)

Room: 5101-Executive Board Room

Highlighted topic: Contributing to GRASS. Getting started. Is it easy to contribute?

Time Slot
8:30-9:00 Breakfast Catered breakfast on site. Meet people, and plan your personal agenda for the day.
9:00-10:00 Morning opening sessions What to expect from the event, contributing to GRASS using Git and GitHub, making your first contribution.
10:00-11:00 Focus time Time to work on your laptop, whiteboard solutions with a group, or anything in between.
11:00-11:20 Self-organized feedback session i.hyper: Integrating Hyperspectral Imagery Processing into GRASS - Alen Mangafić
11:20-11:40 Self-organized feedback sessions
11:40-12:00 Self-organized feedback sessions Project Image - Vaclav Petras
12:00-13:00 Lunch Catered food on site.
13:00-17:00 Focus time Time to work on your laptop, whiteboard solutions with a group, or anything in between.
18:00 Dinner We will walk to Trophy Brewing & Pizza (directions, 30 min walk from Talley)

Day 2, Tuesday, May 20

Location: Talley Student Union, 2610 Cates Ave (map)

Room: 5101-Executive Board Room

Highlighted topics: Hydrology and Interfacing with R and QGIS (gathering user feedback, testing, discussing with developers, developing action items)

Time Slot
8:30-9:00 Breakfast Breakfast on site. Start the day, meet people, and plan your personal agenda for the day.
9:00-10:00 Morning opening sessions Introduction to writing GRASS tools, program for the day.
10:00-11:00 Focus time Time to work on your laptop, whiteboard solutions with a group, or anything in between.
11:00-11:20 Self-organized feedback session fasterRaster R package - Adam Smith
11:20-11:40 Self-organized feedback sessions Hydography90m + Geocomputation Courses - Giuseppe
11:40-12:00 Self-organized feedback sessions Flood modelling with grass and itzi ([1]) - Laurent Courty
12:00-13:00 Lunch Case dining hall
13:00-17:00 Focus time Time to work on your laptop, whiteboard solutions with a group, or anything in between.
18:00 Dinner Served in Jordan Hall at the Center for Geospatial Analytics, evaluate the day's accomplishments, plan and prioritize for the next few days.

Day 3, Wednesday, May 21

Location: Talley Student Union, 2610 Cates Ave (map)

Room: 5101-Executive Board Room

Highlighted topic: Non-coding contributions, natural language translation, and internationalization.

Time Slot
7:00-9:00 Breakfast Case dining hall
9:00-10:00 Morning opening sessions Introduction to non-coding contributions, tutorials, contributing examples, natural language translation and internationalization (procedures, glossaries, code customization, translation).
10:00-11:00 Focus time Time to work on your laptop, whiteboard solutions with a group, or anything in between.
11:00-11:20 Self-organized feedback session Easier access to GRASS tools - Vaclav Petras
11:20-11:40 Self-organized feedback sessions
11:40-12:00 Self-organized feedback sessions GRASS backend for xarray and temporal framework global variables ([2]) - Laurent Courty
12:00-13:00 Lunch Served on site. Eat, drink, and continue the discussion from the feedback sessions.
13:00-17:00 Focus time Time to work on your laptop, whiteboard solutions with a group, or anything in between.
18:00 Dinner [https://maps.app.goo.gl/1E39eySMVaxYJUUS8 Picnic at Pullen Park, shelter #3. In case of bad weather, dinner at the Center for Geospatial Analytics.

Day 4, Thursday, May 22

Location: Center for Geospatial Analytics, Jordan Hall, 2800 Faucette Drive (map)

Room: 5103 (straight from the two elevators, at the end of the hallway)

Highlighted topic: Project vision and computational engine use case.

Time Slot
8:00-9:00 Breakfast On site. Start the day, meet people, and plan your personal agenda for the day.
9:00-10:00 Morning opening sessions Project vision and the computational engine use case (missing features, documentation, user groups).
10:00-11:00 Focus time Time to work on your laptop, whiteboard solutions with a group, or anything in between.
11:00-11:20 Self-organized feedback session NSF POSE I-Corps Interviews - Corey White
11:20-11:40 Self-organized feedback session YAIT - Yet Another Interface to Tools - Vaclav Petras
11:40-12:00 Self-organized feedback session Modernizing Color Tables (Brendan)
12:00-13:00 Lunch On site. Eat, drink, and continue the discussion from the feedback sessions.
13:00-16:00 Focus time Time to work on your laptop, whiteboard solutions with a group, or anything in between.
16:00-17:00 Lightning talks Fast-paced talks, showcasing applications of GRASS, room 5111.
18:00 Reception Connect with researchers, government professionals, and industry collaborators, rooms 5111 and 5119.

Day 5, Friday, May 23

Location: James B. Hunt Jr. Library, 1070 Partners Way - Centennial Campus (map)

Room: Faculty Research Commons - 5100 (floor plan)

Highlighted topic: GRASS project's future course.

Time Slot
7:45-8:15 Breakfast Hotel Aloft (2nd floor). Search for Lois!
9:00-10:00 Morning opening sessions GRASS project's future course.
10:00-11:00 Focus time Time to work on your laptop, whiteboard solutions with a group, or anything in between.
11:00-12:00 PSC meeting Project Steering Committee meets (public).
11:00-11:20 Self-organized feedback session Your topic here
11:20-11:40 Self-organized feedback sessions Your topic here
11:40-12:00 Self-organized feedback sessions GRASS tools: core and additional functionality (MartinL)
12:00-13:00 Lunch Walk to On the Oval Culinary Creations. Eat, drink, and continue the discussion from the feedback sessions.
13:00-17:00 Focus time Time to work on your laptop, whiteboard solutions with a group, or anything in between.
18:00 Dinner Dinner on your own. Corey White will organize trip to downtown. Bus 41 from Hunt library to hotel and then walk.

Day 6, Saturday, May 24

Location: James B. Hunt Jr. Library, 1070 Partners Way - Centennial Campus (map)

Room: Faculty Research Commons - 5100 (floor plan)

Highlighted topics: NSF POSE project evaluation.

Time Slot
8:00-9:00 Breakfast TBA. Start the day, meet people, and plan your personal agenda for the day.
9:00-10:00 Morning opening sessions NSF POSE project evaluation, contributor community feedback.
10:00-11:00 Focus time Time to work on your laptop, whiteboard solutions with a group, or anything in between.
11:00-11:20 Self-organized feedback session Your topic here (10-minute presentation and 10-minute discussion)
11:20-11:40 Self-organized feedback sessions Your topic here
11:40-12:00 Self-organized feedback sessions Your topic here
12:00-13:00 Lunch TBA. Eat, drink, and continue the discussion from the feedback sessions.
13:00-17:00 Focus time Time to work on your laptop, whiteboard solutions with a group, or anything in between.
18:00 Dinner TBA.

Daily tasks for participants

  • List all the things you are working on in the Participant reports section below. Update the list each day. Include things you work on with other people.
  • If you want to discuss something with the whole group, add yourself to a Self-organized feedback sessions slot in the schedule above or tell Vaclav (Vashek) Petras.
  • For people with triage access and above: If you are or will be working on an issue or on a PR which is not originally submitted by you, assign yourself to the issue or PR. (You can unassign yourself later if you change your mind.)

Participant reports

Per-person reports from the meeting.

Giuseppe Amatulli | Yale University

Veronica Andreo | CONICET - Instituto Gulich

  • GitHub contributions
  • Website footer enhancement
  • Sync icons on the Tutorials website footer to those on the main website
  • Fix descriptions and their display in the tutorials website
  • Fix GRASS page on OSGeo website [3]
    • Changed logo, removed GIS from the name, fixed old links
  • Social media posts
  • Discussion about hyperspectral with Alen and Anna
  • Expand the GRASS acronym on the home page
  • Remove GIS from GRASS name on the website
  • Review tutorials by Huidae and Adam Smith
  • GRASS PSC admin

Abdullah Azzam | New Mexico State University

  • Created first PR; fixed broken links on the website #538
  • Pushed a new GRASS Addon r.curvenumber #1403

Michael Barton | Arizona State University

  • POSE related activities

Laura Belica | NC State University

  • have been working on developing a workflow-tool tutorial template that facilitates GRASS learners who tend to 'jump in' or have a 'choose your own adventure' approach to learning GRASS (i.e., want to use their data for their study area for their objective from the start). The structure of the tutorial template is a concise, basic, general description/instructions of the workflow with optional links to pertinent explanatory/deeper dive content (e.g., plain language explainers of the tool, options, defaults, etc.) in a variety of formats (e.g., captioned images, short tool demo videos (30 sec to 2 min)) in addition to the more comprehensive resources available (e.g. documentation, examples, tutorials). The main motivation for this approach is to help new and occasional GRASS users avoid some of the common pitfalls and to learn how to find workarounds for some of the unanticipated challenges they may encounter with their specific datasets or use cases so that they can learn as they go. Another motivation for this approach is to facilitate the translation, extension, and updating of workflow tutorials by the community over time (e.g., providing audio and closed captioning for one of the tool-demo videos in another language, replacing an outdated GUI demo with one for the current release, or incorporating a new add-on as an option in the workflow).
  • my focus this week is on developing a draft/test tutorial (in Quarto) for a standard hydrological modelling workflow that begins with the crucial pre-work of how to figure out the appropriate project/location, etc. as well as considerations of some of the downstream impacts of resolution, extent, region etc. It may not be ready for sharing by the end of the week, but suggestions and advice are welcomed in advance.

19 May

  • discussed a novice user issue with 'moving' vector data from one location to another with Vero and learned a neat GUI option
  • revised and added workflow tutorial text

Shonil Sateesh Bhide | NC State University

  • CI optimization

Huidae Cho | New Mexico State University

  • CMake, conda, CI, Mentoring

Monday 5/19

Tuesday 5/20

Wednesday 5/21

  • Translation Talk
  • Translation Discussion with Edouard
  • Flow Direction Meeting with Ondrej, Ondrej's Student, Martin, and Markus Metz
  • CMake and Conda Testing on Linux
  • CMake Testing on Windows
  • Mentoring: Chung-Yuan, Abdullah

Thursday 5/22

Edouard Choinière

  • Quick ideas, way too much for a week: Helping others (may take a reasonable part of the time), managing CI, setting up localization template updating workflow, backporting tool? Pytest/coverage improvements? Discuss and design other projects, to work on during the year. Open to change on other priorities once there, anything that is useful. Maybe make a little progress on high dpi GUI, especially on Windows.
  • Weekend before sprint:
    • Clear up Renovate PRs to not use CI time during the sprint, reviewing and merging: #5664, #5665, #5666, #5667, #5668
    • PR to avoid some CI run time for the sprint: #5670
    • Reviewed open PRs for PRs that were mergeable before the sprint, updated outdated PRs to avoid having it needing CI time during sprint. Only ended up merging #5658, but another reviewed one that might still need changes: #5628
  • Monday May 19, 2025:
    • PR got merged: #5670,#5550
    • Reviewed PRs: #5671, #5672
    • Discussions:
      • Shonil Sateesh Bhid & Shuham on their CI & pytest work and project.
      • Māris Nartišs about a potential issue and improvement for it. Will be discussed in the security reporting tab, also allowing to test the security vulnerability reporting process. + Research on existing solutions
    • Reviewed: #5682, #5660,
    • Reviewed, edited and merged: #3672
    • Discussed/helped user for: #5678 and #5684
    • Long discussion and vision planning for windows scripting with Vaclav, concerning #5624. Tested alternatives and tried the consequences of that PR. This older PR finally got merged.
    • Created PRs for NSIS installer: #5685 and also #5686, which should address #5663. Still needs to test it.
    • Agreed on convention for titles with Vaclav, unblocking #5341
    • Found a name with Ondrej and finally merged older PRs of an external contributor #5473 and #5474
  • Thursday May 20, 2025:
  • Wednesday May 21, 2025:
    • Created a new set of GitHub rulesets for the required checks, applied with Vaclav. One of them is separated in order to increase velocity during the sprint
    • Reviewed the branch protection rules for grass-addons repo with Vaclav. Creating rulesets will be possible after the sprint with the info collected.
    • Reviewed the security reporting settings and secret scanning settings with Vaclav for the main grass repo.
    • Got shown by Huidae Cho how to update the translation files, and reviewed Weblate settings. No settings changed, but a backup stored for 30 days was kept.
    • Created a first implementation of a translation file update workflow
    • Tested out the two NSIS installer PRs, the first one, for installing the VC runtime earlier doesn't work as expected, and after more research I don't know enough to fix it. The second PR with High-DPI improvement was correct and got merged #5685
    • Helped a student set up a grass installation on WSL with conda.
    • PRs created: #5736, #5734
    • My PRs that got merged: #5685, #5341, #5689
    • Reviewed and merged multiple PRs, restarting failed required checks of the previous night.

Laurent Courty

  • Objectives: An xarray backend for GRASS STRDS. Fixing related issues
  • May 20
    • Presented itzi
    • Uploaded arm64 wheels to PyPI for MacOS and Linux ([4])
    • Discussed with other developers about issue #629
  • May 21
    • Uploaded xarray-grass to PyPI
    • Added CI tests to xarray-grass
    • Discussed with the group about the xarray-grass backend
    • Discussed with the group about solving mapset switching in the temporal framework (issue #629)
    • Created PR #5735 to address issue #629
  • May 22
    • Fix bug in PR #5735

Robert S. Dzur | Bohannan Huston, Inc.

  • r.in.pdal

David W. Farris | East Carolina University

  • A tool to calculate gravity terrain corrections

Neel Ghoshal | NC State University

• LLM for helping users find tools
5/19
• Learnt how to PR (#5674)
• Setup GRASS on system
• Found small issue with compilation document
• Discussed about the possible use case of LLM for helping users find tools
5/20
• Learnt about cookie cutter
• Set up wsl on system
• Compiled GRASS
• Listed data sources for LLM training
5/21
• Extracted tool information from Markdown files
• Started off with data cleaning

Caitlin Haedrich | NC State University

  • Event photographs
  • git/github mentoring
  • Lightning Talk preparation
  • Preparing workshop for Geomorphometry2025

Brendan Harmon | Louisiana State University

Linda Karlovska | Czech Technical University in Prague

  • Fix uninitialized variables in DOutFile() method: (PR)
  • Update figures related to GUI: (PR)

Working on integration of the Jupyter notebooks to GUI (work for the whole week :-))

Martin Landa | Czech Technical University in Prague

  • Tutorial: GISMentors courses updated (PR)
  • libgis: G__usage_markdown() include tool label in metadata if defined (PR)
  • PyGRASS: Module description property not defined always (PR)
  • Website: OpenGeoLabs commercial support (PR)
  • v.select: create output also when no features found (PR)
  • wxGUI: avoid creating nested list of errors (Graphical modeler) (PR)
  • wxGUI/gmodeler: refactor - move ModelParamDialog to dialogs.py (PR)
  • GUI: make Python editor dockable (PR)
  • r.relief: module label changed to description (PR)
  • GUI: propagate previously defined where option value (PR)

Nicklas Larsson | Hungarian National Museum

Planned work: CMake build system; perhaps Conda recipe

GitHub activity

  • Preparation for CMake build conforming to Filesystem Hierarchy Standard (FHS), resolving resource paths for both the current and FHS in code. In collaboration with Huidae Cho and with important input from Vaclav Petras (PR5630)
  • Helped young students in build configuration and debugging techniques.
  • Discussion with several participants on solutions to publish a GRASS package to Conda-forge.

Chung-Yuan Liang

  • parallelize some modules, improve testing

Andres Lucero | Bohannan Huston Inc

  • r.in.pdal

Alen Mangafić | Geodetic Institute of Slovenia

Monday May 19

  • Presentationf of i.hyper, add-on which offers hyperspectral data support in GRASS.
  • Architecture of the multi-module addon

Tuesday May 20

  • i.hyper.import module: importing EnMAP imagery as 3D raster map
  • i.hyper.preproc module: draft

Wednesday May 21

  • fixing the i.hyper.import module
  • i.hyper.preproc module: implementing Savitzky-Golay filter

Helena Mitasova | NC State University

  • standardized data set and related tutorials
  • documentation for interpolation tools
  • collaborate/coordinate/discuss hydrology tools (analytics, simulations, soil properties inputs)
  • assist with wiki cleanup if needed

Monday May 19

  • investigated issues with v.surf.rst documentation in source code, tested and identified fixes needed
  • discussed coupling GRASS with Blender versus potree for 3D object rendering with Brendan, Anna and Caitlin (for TL activities and other applications)
  • discussed soil data for runoff estimation and other hydro topics, to be worked on on day 2

Tuesday May 20

  • worked with Corey on fixing v.surf.rst documentation, discussed ideas for improvements and for documentation / tutorial for cross-valiadation
  • discussed suggestions for graphics and examples to be inculded in v.surf.rst docs with Michelle
  • discussed new developments in hydrology tools
  • experimented with basic/standardized versus specialized data sets for documentation and tutorials

Wednesday May 21

  • explored existing tutorials, emailed Paulo about finishing the one on interpolation
  • tested NM basic data set with GIS582 class assignment (very cool)
  • discussed design of Jnotebooks that would work with various localized data with Caitlin

Thursday May 22

  • discussed needed capabilities for a more advanced color ramp processing tool with Brendan
  • added further ideas to basic dataset document after talking to Vero - we just need standardized names for the localized tutorials to work
  • discussed infiltration fix pull request for r.sim.water with Anna - more work is needed

Michael Mulqueen | MassGIS

  • depth to water, hydro from lidar, etc

Māris Nartišs

  • Worked on a new raster data analysis tool r.smooth for inclusion into GRASS core
  • Discussed architecture of hyperspectral data import and per-processing tool
  • Discussed testing and organizing AI modules downloading data from internet
  • Prepared and gave a presentation on code preparation for translations (best practice)

Ondřej Pešek | Czech Technical University in Prague

  • GitHub activity
  • Refactoring, fixing, improving, discussing g.gui.gmodeler
  • Discussing hyperspectral with Alen Mangafic
  • Discussing jupyter in single GUI with Linda Karlovska
  • PyGRASS
  • Docs
  • CQ
  • Reviewing PRs, PR archeology

Vaclav (Vashek) Petras | NC State University

  • GitHub activity
  • My focus: Getting feedback and ideas for computational engine use case, APIs, funding.
  • Summit organizing
  • Implementing rebranding on GitHub (repos, teams)
  • Feedback session on project image
  • Feedback session on easier access to tools
  • Discussed LLMs with Neel Ghoshal, Riya
  • Discussed session setupp Martin Landa
  • Discussed conda with Nicklas Larsson
  • Discussed hyperspectral with Alen Mangafić, Veronica Andreo, and Anna Petrasova
  • Discussed code for new smoothing tool, integer overflows, translations with Māris Nartišs
  • Compared setup of GRASS session and project in fasterRaster, QGIS, and GRASS itself with Adam Smith
  • Discussed potential of Pixi for packaging or compilation with Gregory Power
  • Discussed itzi model distribution issues with Laurent Courty
  • Discussed r.horizon parallelization with Chung-Yuan Liang and Anna Petrasova
  • Answered coding and setup questions for Neel Ghoshal, Abdullah Azzam, and Alen Mangafić

Anna Petrasova | NC State University

  • GitHub activity
  • plan: mentoring, documentation
  • Monday
    • discussing hyperspectral implementation with Alen
    • helping mentee David Farris implementing his gravity correction addon
  • Tuesday
    • delivered intro to creating an addon, documentation
    • mentoring Alen, Abdullah
    • discussing bug in i.his.rgb with Jayneel
    • reviews
  • Wednesday
    • discuss and demonstrate tutorials page
    • mentoring Alen, Jayneel
  • call with GSoC student

Gregory Power | Town of Cary

  • Documentation

Pratikshya Regmi | NC State University

  • Event photographs and videos
  • Opened a pull request to change GRASS GIS to GRASS on the documentation (this was my first contribution to GRASS)
  • Worked on preparing the mock document for LLM RAG
  • Wrote a tutorial to Visualize Contour Lines with a Color Gradient with Folium.

Riya | Indian Institute of Technology, Roorkee

  • I am currently thinking of developing an AI Agent for the grass jupyter library which will help the users with mathematical calculations done in GIS.

Jayneel Shah | NC State University

  • improve the test coverage of imagery modules.

Krishna Prasad Sheshadri

Adam Smith | Missouri Botanical Garden

Overall: R package fasterRaster (fielding bug reports, adding features)

Monday:

  • Assessed scope of fasterRaster issue 83

Tuesday:

  • Created a PR for fasterRaster tutorial on GRASS tutorials page.
  • Improved handling of addons, including autodetect and installing when needed, enabling easier creation of addon-dependent methods.
  • Presented *fasterRaster* package to group.

Wednesday:

  • Created fasterRaster methods for neighborhood matrices, terrain ruggedness index, and multivariate environmental similarity

Michelle (Mimi) Stephens | ERDC

  • Previous work: coupling R and Python scripts for computational analysis in GRASS.
  • Current work: Running through GRASS commands to create visual outputs that can be added to the new GRASS 8.5 manual pages - r.mapcalc, v.surf.rst, examples with topographic parameters, LinkedIn requests.
  • Tutorial for Windows users to install a WSL2 Linux environment. Creates a conda environment with wxpython, installs GRASS without requiring OSGeo installer. Fast, simple, and minimal install. Resolves various issues encountered in government due to automatic Windows updates, cyber security, vpn routing, user preference, and isolated distro can be completely removed if needed. -> Motivation for WSL2 - wanted more hands-on practice with Unix command line tools for HPC; Docker not allowed, but miniforge and Apptainer are on ERDC's HPC; able to install grass via command line (only on internet-capable HPC systems); AND - For other users that always wanted a more native feel to their grass instance!
  • Future work: Presenting on GRASS in JUNE at CERLCON.

Corey White | NC State University

  • JSON, mentoring

Doug Newcomb | Semi Retired Cartographer

  • Discussed hydroflattening method
  • Discussed direct point cloud input to v.surf.rst
  • Learning git procedures by updating branding (GRASS GIS to GRASS) for raster commands

Tuesday

  • Continued updating branding for raster commands
  • Started working on tutorial for r.hydro.flatten

Natalie Trso | Balance Geo LLC

  • r.sim.water

Guests and remote participants

Luís de Sousa | University of Lisbon

  • Review outstanding PRs
  • Prepare GRASS sessions for the OpenGeoHub Summer School

Markus Neteler | mundialis

  • Support full automation of new GRASS manual pages deployment on server (upload artifacts from GitHub to OSGeo servers (grass and download))
  • Source code license documentation: Using SPDX License IDs (GitHub Issue #4190)
  • Support Wiki cleanup
  • GitHub contributions

Nishant Bansal | Indian Institute of Technology, Varanasi

  • Review the previous work on JSON during last year’s GSoC, including enhancements and the addition of JSON output support to other modules.