Talk:GRASS Community Meeting Prague 2023
Tasks for participants
- Create section for you in the Reports section.
 - List all the things you are working on in the section. Update the list each day. Include things you work on with other people.
 - Link the GRASS Community Meeting Prague 2023 project on GitHub to each PR or issue you are working on or plan to be working on.
 - 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.)
 
Planning and organizing
- Initial planning: Veronica Andreo, Martin Landa, Vaclav Petras, Helmut Kudrnovsky, Anna Petrasova, Huidae Cho, Markus Neteler, Helena Mitasova, Micha Silver, Linda Kladivova
 - Funding acquisition: Veronica Andreo, Markus Neteler, Vaclav Petras, Anna Petrasova, Huidae Cho, Luca Delucchi, Venkatesh Raghavan
 - Budget: Vaclav Petras, Markus Neteler, Veronica Andreo
 - Venue and local organizing: Martin Landa, helpers: Ondrej Pesek, Vaclav Petras
 - T-shirts, hoodies, stickers: Vaclav Petras, Anna Petrasova
 - Promotion, invitations, and social media: Caitlin Haedrich, Veronica Andreo, Vaclav Petras
 - Wiki page: Martin Landa, Markus Neteler, Vaclav Petras, Veronica Andreo
 - Virtual meeting organizing: Veronica Andreo
 - Photography: Caitlin Haedrich, Maris Nartiss
 
Ideas for the meeting agenda
Collect ideas here :-)
Vero
- All - think about GRASS GIS mission and vision: Where do we want to be as a project in 5 years time? What do we want to have? What do we want to be?
 - Participate in discussions about GRASS interfaces with QGIS and R (rgrass)
 - Discuss sponsoring
 - Student grant for (python) documentation?
 - Discuss about wiki clean-up/update (Anna was working on a list of pages)
 - Website enhancements: complete open PR's, meet Daniel Torres, new support item in main menu
 - Discuss State of GRASS presentation for FOSS4G 2023
 - i.landsat if time permits
 - ...
 
Reports
Caitlin Haedrich
- Photos, social media and wiki page
 - grass.jupyter:
 
Vaclav Petras
- Rename location to project
- wxGUI: Rename location to project #2993
 - Discussion about naming, advantages, and challenges
 
 - Python API and CLI
- grass.experimental: Add object to access modules as functions #2923
 - Discussion about creating locations from Python ([https://github.com/OSGeo/grass/issues/3034 Issue make gscript.create_location() callable from outside #3034)
 - Issue Add g.findfile alternative which hides format complexities #3007
 
 - QGIS
- Group call to identify priorities with Nyall Dawson
 
 - R
- Discussion with Floris Vanderhaeghe, Roger Bivand, and others assessing the current state
 
 - GUI
- Discussion about streamlined startup
 - wxGUI: Ignore stderr of the GUI #3049
 
 - CI
 - Contributing:
 - Reviews:
- Imagery: add libsvm based imagery classification #2189
 - t.rast.algebra/testsuite: split file test_raster_algebra.py #2974
 - r.random.walk: Add module to create random walks #606
 - r.surf.random: Added seed option and flag to module #2930
 - i.signatures: Add imagery classifier signature management module #3008
 - r.patch: ensure r.in.ascii in relevant tests always create CELL #3037
 - r.mblend: basic tests #911
 - grass.unittest: Fix usage of assertRegexpMatches() removed from Python 3.12 #3010
 - grass.gunittest: Fix usage of assertNotRegexMatches() removed from Python 3.12 #3011
 - grass.gunittest: Fix usage of assertEquals() removed from Python 3.12 #3009
 - grass.gunittest: Fix usage of assertEquals() removed from Python 3.12 #917
 - wxGUI/query: set region matching the raster for each raster queried #2992
 - wxGUI/gmodeler: Show ModelRelation in white on dark mode #2997
 - Locale: extract translatable messages also from C++ files #3015
 - doc: Document that lists in parser must be NULL terminated #3029
 - contributing: Expand instructions on pre-commit #3006
 - contributing: minor release procedure updates (main) #3030
 - contributing: release procedure updates (G82) #3031
 - contributing: release procedure updates (G83) #3032
 - contributing: adds instructions on unit tests for add-ons #916
 - contributing: Remove parts of locale readme already present in submitting guidelines #3012
 
 
See also June activity log on GitHub.
Anna Petrasova
- Fix bug in querying
 - review, merge and backport of fix in datacatalog
 - review of wxGUI: fix show MASK statusbar button widget if mask is created
 - merge of wxGUI: adding a button for undocking an AuiNotebook tab to wx.Frame (Single-Window GUI)
 - edit check min required wx version when starting wxgui
 - implement widget dependency for i.signatures as part of PR 3008
 - found and fixed a bug in digitizer, PR 3027
 - participate in rgrass and QGIS-GRASS discussions
 - write up notes from QGIS meeting
 - fix randomly failing test in PR 3037
 - worked on a Jupyter Notebook for GRASS parallelization (to be finished)
 
Maris Nartiss
- i.svm.* cleanup and preparation for a review
 - A conceptual proposal for a new start up screen
 - Initial version of imagery signature management module i.signatures
 - Remove obsolete parts of locale README file
 - Extract translatable messages also from C++ files
 - Improve parser library documentation
 
Micha Silver
Working on a new GRASS addon: r.optram the repo on github
02/06: Initialize main file r.optram.py
includes these functions:
- getImgList() - get list of IMG_FILEs in a Sentinel 2 SAFE Directory
 - cropToAOI() - Crop the images to the Area of Interest
 - prepareSTR() - Convert SWIR to the SWIR Transformed Reflectance
 - prepareVI() - Prepare the (user chosen) vegetation index
 
03/06:
- Split to three modules: r.optram.preprocess, r.optram, r.optram.soilmoisture
 - new function: prepareTrapezoid() - to get wet-dry regression lines and slope, intercept values
 
04/06
- prepareTrapezoid() function completed.
 - (Joined video conf with Roger Bivand on R-GRASS integration.)
 
05/06 Initialize third file/function: r.optram.soilmoisture.py
- createSoilMoisture() - creates new GRASS raster for a single date
 - Add documentation to modules
 - (joined video conf with Nyall Dawson)
 
TODO list:
- Read Sentinel cloud mask and mask out cloud pixels in r.optram.preprocess
 - large study areas or very long time series will create a big numpy table of variables (vegetation index and STR). A possible solution:
 
- Determine some "reasonable" maximum size for the numpy table, depending on computer resources.
 - Extract a subset of pixels from each raster in the time series, such that the total table pixel values will not exceed that maximum
 - The size of the subset will be set by ("reasonable" max / number of rasters in time series)
 - Allow user to determine "reasonable" max.
 
- Currently this addon consists of three sub-modules. Consider to consolidate to one.
 - Improve HTML documentation
 
Luís de Sousa
Work on GRASS add-on r.mblend
- Module is still maintained and fully functional in GRASS 8.2 (now included in the GRASS global add-ons repository)
 - However was not longer producing correct results due to new behaviour in v.what.rast
 - Solution identified, using inner buffer to interpolation area (PR #910)
 - A small unit test suite was developed (PR #911)
 
Documentation
Aaron Saw Min Sern
- Fix bug to complete r.univar parallelization. PR
 - Investigate CMake progress in Windows. There still needs to be source code fixes to be port over to MSVC:
- Variable Length Arrays (VLA) is not supported in MSVC (is optional in C99).
 - DLL export directives are required across dynamic library boundaries.
 - ...
 
 - Coordinate CMake PR, fix some bugs and make some progress (got a full build on UNIX environment). [1]
 - r.mapcalc removed previous threading artifacts that are ineffective.
 - r.mapcalc refactored global variables in preparation for threading work. (PR to come)
 
Martin Landa
- Check min required wx version when starting wxgui PR #2990
 - Graphical modeler: avoid overlapping module parameters PR #2991
 - Show ModelRelation in white on dark mode PR #2997
 - Add OSGeo4W workflow to compile Addons PR #912
 - Integrate Grapical Modeler into single window layout PR #3003
 - Graphical Modeler: fix command parsing in "add tool" dialog PR #3022
 - Describe required updates for new version for winGRASS #2406
 
Markus Neteler
- backport of "HTML header charset changed from ISO-8859-1 to UTF-8" PR #2547 to GRASS GIS 8.2.1 (fixing r.forcircular manual encoding bug)
 - improve "Update alpine Docker tag to v3.18 PR #2953
 - backport of Alpine Dockerfile improvements
 - discussion about "location/mapset" vs "project/..." terminology
 - initial QGIS-GRASS update discussion: update of provider to GRASS GIS 8
 - Google Photo album feeds
 - Use of pre-commit (recommended to all devs!)
 - Participate in a two-hour meeting with Nyall Dawson (QGIS) and the GRASS Community about interfacing GRASS from QGIS
 - GRASS GIS docker images: moved from "mundialis organization" to https://hub.docker.com/r/osgeo/grass-gis (together with Carmen)
- Once the CI completes the images will show up there. Update of grass-web page is in the works.
 
 - Update of release procedure documents (together with Vaclav)
 - GRASS GIS manual pages: re-styling and conversion of all pages to markdown:
- convert to markdown with pandoc (draft script see https://app.gitter.im/#/room/#grassgis_sprint:gitter.im discussion)
 - using mkdocs (https://www.mkdocs.org/): it provides menus and a search window
 - check: automatic formatting for mkdocs: https://github.com/KyleKing/mdformat-mkdocs
 
 
- Discuss about a 4th edition of "Open Source GIS: A GRASS GIS Approach"
 - GRASS GIS addons overview generator for entire GitHub (and more?) based on tag "grass-gis-addons"
 - User message translation: Easy machine translation of messages in OSGeo-Weblate with DeepL API
- my tests with DeepL show that the quality is very good; average translation time of a user message shrinks to 15 seconds √
 - note: one needs to login to Weblate to see the "Automatic suggestion" button (using the OSGeo-ID)
 
 
Helmut Kudrnovsky
- discuss (win)GRASS-R issues initGrass Error and feature requests
 
- Review and initial tests of PR compilation with cmake on Windows
 
- Participated in a two-hour meeting with Roger, Floris, Vaclav, Anna, Micha, ..... about rgrass development
 
Ondřej Pešek
- gmodeler: add export to an actinia script: PR #3005
 - fix GRASS GIS broken for Python 3.12: PR #3009, PR #3010, PR #3011, PR #3018
 - fix GRASS GIS addons broken for Python 3.12: PR #917, PR #918, PR #919
 - work on docs: PR #3043
 
Floris Vanderhaeghe
- Explore reading straight from the GRASS database into R (https://github.com/rsbivand/rgrass/issues/75)
 - Help Markus in improving the documentation of the GDAL-GRASS drivers (https://github.com/OSGeo/gdal-grass)
 - Help arranging a meeting with Nyall Dawson for the QGIS GRASS interface
 - Participate in a two-hour meeting with Roger Bivand, Vero Andreo, Vaclav, Anna, Helmut, Micha, ..... about rgrass development
 - Draft and finalize the meeting minutes of the rgrass meeting (https://github.com/rsbivand/rgrass/discussions/78)
 - Participate in a two-hour meeting with Nyall Dawson (QGIS) and the GRASS Community about interfacing GRASS from QGIS (https://github.com/OSGeo/grass/discussions/3047)
 
Vero Andreo
- Participated in the discussion about renaming locations to projects
 - Call with Paulo on diverse topics, r.niche.similarity PR revision and merge
 - Participated in a two-hour meeting with Roger, Floris, Vaclav, Anna, Helmut, Micha, ..... about rgrass development
 - Worked on GRASS Website:
- Apply fixes and merge the DOI and first draft of sponsoring tiers PRs
 - Beautify tables and content of sponsoring page #368
 - New menu and submenus (some reordered), please comment #369
 - Created a news item about rgrass7 retirement with text snippet contributed by Roger Bivand #370
 
 - Other minor revisions
 
Carmen Tawalika
- Move official GRASS GIS Dockerimage from mundialis/grass-py3-pdal to osgeo/grass-gis
 - Update alpine version in Dockerimage to v3.18
 - Enhance actinia version info in #443, #444 and #40
 - Fix tests for actinia-parallel-plugin
 
Loïc Bartoletti
- Participate in a two-hour meeting with Nyall Dawson (QGIS) and the GRASS Community about interfacing GRASS from QGIS
 - Rebased Markus PR and continuing migration to CMake
 - Fix a Crash on QGIS loading a raster generated with r.null
 - Fix a memory leak in lib/bitmap
 - Remove compatibility to GDAL < 2.2 #2995
 - Tests and reviews for #1034, #1889, #2930
 - Working on Cppcheck and SonarCloud WIP for GRASS build
 - Update URL to GRASS manual pages in QGIS #53372 and #53376
 
Discussion with Nyall (QGIS)
- How to improve the integration
- save some of the existing code
 - update "Processing" integration
 - ...
 
 - GRASS GIS Addon support in QGIS, see
 
What to do differently the next time
- Use food delivery also for couple of evenings to allow for longer coding. (asked for by several participants)
 - Pay for more parallel CI jobs. (the queue was very long and too long for the release procedure)
 
