Talk:GRASS Community Meeting Prague 2023: Difference between revisions

From GRASS-Wiki
Jump to navigation Jump to search
(Fix links, use website press release)
 
(44 intermediate revisions by 14 users not shown)
Line 1: Line 1:
__TOC__
{{toc|right}}
 
Quick links: [[GRASS Community Meeting Prague 2023|Meeting page]] | [[#Reports|Reports]]  |  [[GRASS_Community_Meeting_Prague_2023#Thanks_to_our_sponsors|Sponsors]] | [https://grass.osgeo.org/news/2023_08_13_grass_community_meeting_prague_june_2023_report/ Press release]


== Tasks for participants ==
== Tasks for participants ==
Line 13: Line 15:
* Funding acquisition: Veronica Andreo, Markus Neteler, Vaclav Petras, Anna Petrasova, Huidae Cho, Luca Delucchi, Venkatesh Raghavan
* Funding acquisition: Veronica Andreo, Markus Neteler, Vaclav Petras, Anna Petrasova, Huidae Cho, Luca Delucchi, Venkatesh Raghavan
* Budget: Vaclav Petras, Markus Neteler, Veronica Andreo
* Budget: Vaclav Petras, Markus Neteler, Veronica Andreo
* Venue and local organizing: Martin Landa
* Venue and local organizing: Martin Landa, helpers: Ondrej Pesek, Vaclav Petras
* T-shirts, hoodies, stickers: Vaclav Petras, Anna Petrasova
* T-shirts, hoodies, stickers: Vaclav Petras, Anna Petrasova
* Promotion, invitations, and social media: Caitlin Haedrich, Veronica Andreo, Vaclav Petras
* Promotion, invitations, and social media: Caitlin Haedrich, Veronica Andreo, Vaclav Petras
* Wiki page: Martin Landa, Markus Neteler, Vaclav Petras, Veronica Andreo
* Wiki page: Martin Landa, Markus Neteler, Vaclav Petras, Veronica Andreo
* Virtual meeting organizing: Veronica Andreo
* Virtual meeting organizing: Veronica Andreo
* Photography: Caitlin Haedrich
* Photography: Caitlin Haedrich, Maris Nartiss
 
== Ideas for the meeting agenda ==
 
Collect ideas here :-)
 
=== Markus Neteler ===
 
* Improve QGIS-GRASS GIS integration; update of provider to GRASS GIS 8
* GRASS GIS addons overview generator for entire GitHub (and more?) based on tag "[https://github.com/topics/grass-gis-addons grass-gis-addons]"
* Discuss about a 4th edition of "Open Source GIS: A GRASS GIS Approach"
* message translation: Easy [https://docs.weblate.org/en/latest/user/translating.html#machine-translation machine translation] of messages in [https://weblate.osgeo.org/translate/grass-gis 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 {{done}}
** note: one needs to login to Weblate to see the "Automatic suggestion" button (using the OSGeo-ID)
* Fix docs:
** Provide better explanation for radius parameter for r.resamp.filter: https://github.com/OSGeo/grass/issues/2569
** improve v.clean docs
 
=== 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
* ...
 
=== You ===


== Reports ==
== Reports ==
Line 55: Line 27:
* Photos, social media and wiki page
* Photos, social media and wiki page
* grass.jupyter:
* grass.jupyter:
** [https://github.com/OSGeo/grass/pull/2996 add feature for animating series of rasters]
** [https://github.com/OSGeo/grass/pull/3036 add feature for animating series of rasters]


=== Vaclav Petras ===
=== Vaclav Petras ===
Line 61: Line 33:
* Rename location to project
* Rename location to project
** [https://github.com/OSGeo/grass/pull/2993 wxGUI: Rename location to project #2993]
** [https://github.com/OSGeo/grass/pull/2993 wxGUI: Rename location to project #2993]
** Discussion
** Discussion about naming, advantages, and challenges
* Python API
* Python API and CLI
** [https://github.com/OSGeo/grass/pull/2923 grass.experimental: Add object to access modules as functions #2923]
** [https://github.com/OSGeo/grass/pull/2923 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])
** [https://github.com/OSGeo/grass/issues/3007 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
** [https://github.com/OSGeo/grass/pull/3049  wxGUI: Ignore stderr of the GUI #3049]
* CI
* CI
** [https://github.com/OSGeo/grass/pull/3002 CI: Switch Travis to Ubuntu 22.04 (jammmy) #3002]
** [https://github.com/OSGeo/grass/pull/3002 CI: Switch Travis to Ubuntu 22.04 (jammmy) #3002]
* Reviews and merges:
** [https://github.com/OSGeo/grass/pull/3014 CI: Reduce number of Python jobs #3014]
** [https://github.com/OSGeo/grass-addons/pull/921  CI: Test with v8.3, Python 3.7 #921]
* Release 8.3.0
** Work with Markus Neteler to prepare release
* Contributing:
** [https://github.com/OSGeo/grass/pull/3048 contributing: Add empty line after heading in release notes #3048]
** [https://github.com/OSGeo/grass/pull/3035 contributing: Add more expressions to match release notes groups #3035]
* Reviews:
** [https://github.com/OSGeo/grass/pull/2189 Imagery: add libsvm based imagery classification #2189]
** [https://github.com/OSGeo/grass/pull/2974 t.rast.algebra/testsuite: split file test_raster_algebra.py #2974]
** [https://github.com/OSGeo/grass/pull/2974 t.rast.algebra/testsuite: split file test_raster_algebra.py #2974]
** [https://github.com/OSGeo/grass/pull/2189 Imagery: add libsvm based imagery classification #2189]
** [https://github.com/OSGeo/grass-addons/pull/606 r.random.walk: Add module to create random walks #606]
** [https://github.com/OSGeo/grass-addons/pull/606 r.random.walk: Add module to create random walks #606]
** [https://github.com/OSGeo/grass/pull/2930 r.surf.random: Added seed option and flag to module #2930]
** [https://github.com/OSGeo/grass/pull/3008 i.signatures: Add imagery classifier signature management module #3008]
** [https://github.com/OSGeo/grass/pull/3037 r.patch: ensure r.in.ascii in relevant tests always create CELL #3037]
** [https://github.com/OSGeo/grass-addons/pull/911 r.mblend: basic tests #911]
** [https://github.com/OSGeo/grass/pull/3010 grass.unittest: Fix usage of assertRegexpMatches() removed from Python 3.12 #3010]
** [https://github.com/OSGeo/grass/pull/3011 grass.gunittest: Fix usage of assertNotRegexMatches() removed from Python 3.12 #3011]
** [https://github.com/OSGeo/grass/pull/3009 grass.gunittest: Fix usage of assertEquals() removed from Python 3.12 #3009]
** [https://github.com/OSGeo/grass-addons/pull/917 grass.gunittest: Fix usage of assertEquals() removed from Python 3.12 #917]
** [https://github.com/OSGeo/grass/pull/2992 wxGUI/query: set region matching the raster for each raster queried #2992]
** [https://github.com/OSGeo/grass/pull/2997 wxGUI/gmodeler: Show ModelRelation in white on dark mode #2997]
** [https://github.com/OSGeo/grass/pull/3015 Locale: extract translatable messages also from C++ files #3015]
** [https://github.com/OSGeo/grass/pull/3029 doc: Document that lists in parser must be NULL terminated #3029]
** [https://github.com/OSGeo/grass/pull/3006 contributing: Expand instructions on pre-commit #3006]
** [https://github.com/OSGeo/grass/pull/3030 contributing: minor release procedure updates (main) #3030]
** [https://github.com/OSGeo/grass/pull/3031 contributing: release procedure updates (G82) #3031]
** [https://github.com/OSGeo/grass/pull/3032 contributing: release procedure updates (G83) #3032]
** [https://github.com/OSGeo/grass-addons/pull/916 contributing: adds instructions on unit tests for add-ons #916]
** [https://github.com/OSGeo/grass/pull/3012 contributing: Remove parts of locale readme already present in submitting guidelines #3012]
See also [https://github.com/wenzeslaus?tab=overview&from=2023-06-01&to=2023-06-30 June activity log on GitHub].


=== Anna Petrasova ===
=== Anna Petrasova ===
Line 77: Line 85:
* merge of [https://github.com/OSGeo/grass/pull/2667 wxGUI: adding a button for undocking an AuiNotebook tab to wx.Frame (Single-Window GUI)]
* merge of [https://github.com/OSGeo/grass/pull/2667 wxGUI: adding a button for undocking an AuiNotebook tab to wx.Frame (Single-Window GUI)]
* edit [https://github.com/OSGeo/grass/pull/2990 check min required wx version when starting wxgui]
* edit [https://github.com/OSGeo/grass/pull/2990 check min required wx version when starting wxgui]
* implement widget dependency for i.signatures as part of [https://github.com/OSGeo/grass/pull/3008 PR 3008]
* found and fixed a bug in digitizer, [https://github.com/OSGeo/grass/pull/3027 PR 3027]
* participate in rgrass and QGIS-GRASS discussions
* write up notes from QGIS meeting
* fix randomly failing test in [https://github.com/OSGeo/grass/pull/3037 PR 3037]
* worked on a Jupyter Notebook for GRASS parallelization (to be finished)


=== Maris Nartiss ===
=== Maris Nartiss ===
Line 84: Line 98:
* Initial version of imagery signature management module i.signatures
* Initial version of imagery signature management module i.signatures
* Remove obsolete parts of locale README file
* Remove obsolete parts of locale README file
* Extract translatable messages also from C++ files
* Improve parser library documentation


=== Micha Silver ===
=== Micha Silver ===
Line 92: Line 108:


includes these functions:  
includes these functions:  
# getImgList() - get list of IMG_FILEs in a Sentinel 2 SAFE Directory
# ''getImgList()'' - get list of IMG_FILEs in a Sentinel 2 SAFE Directory
# cropToAOI() - Crop the images to the Area of Interest
# ''cropToAOI()'' - Crop the images to the Area of Interest
# prepareSTR() - Convert SWIR to the SWIR Transformed Reflectance
# ''prepareSTR()'' - Convert SWIR to the SWIR Transformed Reflectance
# prepareVI() - Prepare the (user chosen) vegetation index
# ''prepareVI()'' - Prepare the (user chosen) vegetation index


03/06:  
03/06:  
# Split to three modules: r.optram.preprocess, r.optram, r.optram.soilmoisture
# 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
# new function: ''prepareTrapezoid()'' - to get wet-dry regression lines and slope, intercept values


04/06
04/06
Initialize second file/function: ''r.optram.soilmoisture.py''
# ''prepareTrapezoid()'' function completed.
# createSoilMoisture() - creates new GRASS raster
# (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 ===
=== Luís de Sousa ===
Line 113: Line 146:
* Solution identified, using inner buffer to interpolation area ([https://github.com/OSGeo/grass-addons/pull/910 PR #910])
* Solution identified, using inner buffer to interpolation area ([https://github.com/OSGeo/grass-addons/pull/910 PR #910])
* A small unit test suite was developed ([https://github.com/OSGeo/grass-addons/pull/911 PR #911])
* A small unit test suite was developed ([https://github.com/OSGeo/grass-addons/pull/911 PR #911])
==== Documentation ====
* Expanded instructions on Pre-commit ([https://github.com/OSGeo/grass/pull/3006 PR #3006])
* Mini guidelines on unit tests for add-ons ([https://github.com/OSGeo/grass-addons/pull/916 PR #916])


=== Aaron Saw Min Sern ===
=== Aaron Saw Min Sern ===


* Fix bug to complete r.univar parallelization. [https://github.com/OSGeo/grass/pull/2683 PR]
* Fix bug to complete r.univar parallelization. [https://github.com/OSGeo/grass/pull/2683 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). [https://github.com/OSGeo/grass/pull/3021]
* r.mapcalc removed previous threading artifacts that are ineffective.
* r.mapcalc refactored global variables in preparation for threading work. (PR to come)


=== Martin Landa ===
=== Martin Landa ===
Line 124: Line 169:
* Show ModelRelation in white on dark mode [https://github.com/OSGeo/grass/pull/2997 PR #2997]
* Show ModelRelation in white on dark mode [https://github.com/OSGeo/grass/pull/2997 PR #2997]
* Add OSGeo4W workflow to compile Addons [https://github.com/OSGeo/grass-addons/pull/912 PR #912]
* Add OSGeo4W workflow to compile Addons [https://github.com/OSGeo/grass-addons/pull/912 PR #912]
* Integrate Grapical Modeler into single window layout [https://github.com/OSGeo/grass/pull/3003 PR #3003]
* Integrate Grapical Modeler into single window layout [https://github.com/OSGeo/grass/pull/3003 PR #3003]
* Graphical Modeler: fix command parsing in "add tool" dialog [https://github.com/OSGeo/grass/pull/3022 PR #3022]
* Describe required updates for new version for winGRASS [https://github.com/OSGeo/grass/issues/2406#issuecomment-1578303935 #2406]


=== Markus Neteler ===
=== Markus Neteler ===
Line 132: Line 179:
* backport of Alpine Dockerfile improvements
* backport of Alpine Dockerfile improvements
* discussion about "location/mapset" vs "project/..." terminology
* discussion about "location/mapset" vs "project/..." terminology
* initial QGIS-GRASS update discussion
* initial QGIS-GRASS update discussion: update of provider to GRASS GIS 8
* Google Photo album feeds
* Google Photo album feeds
* Use of [https://github.com/OSGeo/grass/blob/main/doc/development/submitting/submitting.md#use-pre-commit pre-commit] (recommended to all devs!)
* Use of [https://github.com/OSGeo/grass/blob/main/doc/development/submitting/submitting.md#use-pre-commit 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:
* 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)
** 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
** using mkdocs (https://www.mkdocs.org/): it provides menus and a search window
** check: automatic formatting for mkdocs: https://github.com/KyleKing/mdformat-mkdocs
** check: automatic formatting for mkdocs: https://github.com/KyleKing/mdformat-mkdocs
[[Image:Grass manual readthedocs.png|First attempt to convert the manual to Markdown/mkdocs|500px]]
* 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 "[https://github.com/topics/grass-gis-addons grass-gis-addons]"
* User message translation: Easy [https://docs.weblate.org/en/latest/user/translating.html#machine-translation machine translation] of messages in [https://weblate.osgeo.org/translate/grass-gis 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 {{done}}
** note: one needs to login to Weblate to see the "Automatic suggestion" button (using the OSGeo-ID)


=== Helmut Kudrnovsky ===
=== Helmut Kudrnovsky ===


* discuss (win)GRASS-R issues [https://github.com/rsbivand/rgrass/issues/57 initGrass Error] and  [https://github.com/OSGeo/grass/issues/2998 feature requests]
* discuss (win)GRASS-R issues [https://github.com/rsbivand/rgrass/issues/57 initGrass Error] and  [https://github.com/OSGeo/grass/issues/2998 feature requests]
* Review and initial tests of PR [https://github.com/OSGeo/grass/pull/2684 compilation with cmake] on Windows
* Participated in a two-hour meeting with Roger, Floris, Vaclav, Anna, Micha, ..... about rgrass development


=== Ondřej Pešek ===
=== Ondřej Pešek ===


* gmodeler: add export to an actinia script: [https://github.com/OSGeo/grass/pull/3005 PR #3005]
* gmodeler: add export to an actinia script: [https://github.com/OSGeo/grass/pull/3005 PR #3005]
* fix GRASS GIS broken for Python 3.12: [https://github.com/OSGeo/grass/pull/3009 PR #3009], [https://github.com/OSGeo/grass/pull/3010 PR #3010], [https://github.com/OSGeo/grass/pull/3011 PR #3011]
* fix GRASS GIS broken for Python 3.12: [https://github.com/OSGeo/grass/pull/3009 PR #3009], [https://github.com/OSGeo/grass/pull/3010 PR #3010], [https://github.com/OSGeo/grass/pull/3011 PR #3011], [https://github.com/OSGeo/grass/pull/3018 PR #3018]
* fix GRASS GIS addons broken for Python 3.12: [https://github.com/OSGeo/grass-addons/pull/917 PR #917], [https://github.com/OSGeo/grass-addons/pull/918 PR #918], [https://github.com/OSGeo/grass-addons/pull/919 PR #919]
* work on docs: [https://github.com/OSGeo/grass/pull/3043 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 [https://github.com/OSGeo/grass-website/pull/362 DOI] and [https://github.com/OSGeo/grass-website/pull/364 first draft of sponsoring tiers] PRs
** Beautify tables and content of sponsoring page [https://github.com/OSGeo/grass-website/pull/368 #368]
** New menu and submenus (some reordered), please comment [https://github.com/OSGeo/grass-website/pull/369 #369]
** Created a news item about rgrass7 retirement with text snippet contributed by Roger Bivand [https://github.com/OSGeo/grass-website/pull/370 #370]
* Other minor revisions
 
Ideas for the meeting agenda:
 
* '''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
 
=== Carmen Tawalika ===
 
* Move official GRASS GIS Dockerimage from mundialis/grass-py3-pdal to osgeo/grass-gis
** PR for CI in [https://github.com/OSGeo/grass/pull/3001 #3001]
** Update website in [https://github.com/OSGeo/grass-website/pull/371 #371]
** Update reference in actinia-docker repository in [https://github.com/actinia-org/actinia-docker/pull/41 #41]
* Update alpine version in Dockerimage to v3.18
** Local testing for [https://github.com/OSGeo/grass/pull/2953 #2953]
** Update of various images for actinia [https://github.com/actinia-org/actinia-docker/pull/38 #38], [https://github.com/actinia-org/actinia-docker/pull/39 #39] and [https://github.com/actinia-org/actinia-core/pull/442 #442]
* Enhance actinia version info in [https://github.com/actinia-org/actinia-core/pull/443 #443], [https://github.com/actinia-org/actinia-core/pull/444 #444] and [https://github.com/actinia-org/actinia-docker/pull/40 #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 [https://github.com/OSGeo/grass/pull/3021 CMake]
* Fix a [https://github.com/qgis/QGIS/pull/53345 Crash on QGIS] loading a raster generated with [https://github.com/OSGeo/grass/issues/1017 r.null]
* Fix a memory leak in [https://github.com/OSGeo/grass/pull/3004 lib/bitmap]
* Remove compatibility to GDAL < 2.2 [https://github.com/OSGeo/grass/pull/2995 #2995]
* Tests and reviews for [https://github.com/OSGeo/grass/issues/1034 #1034], [https://github.com/OSGeo/grass/issues/1889 #1889], [https://github.com/OSGeo/grass/pull/2930 #2930]
* Working on Cppcheck and [https://sonarcloud.io/summary/new_code?id=lbartoletti_grass&branch=sonarcloud SonarCloud WIP] for GRASS build
* Update URL to GRASS manual pages in QGIS [https://github.com/qgis/QGIS/pull/53372 #53372] and [https://github.com/qgis/QGIS/pull/53376 #53376]
== Discussion on interfacing GRASS from QGIS ==
 
* Special guest: Nyall Dawson (QGIS)
* All meeting participants were part of the call.
* How to improve the integration
** save some of the existing code
** update "Processing" integration
** ...
* GRASS GIS Addon support in QGIS, see
** https://github.com/qgis/QGIS/pull/53048
** https://github.com/qgis/QGIS/pull/53049
 
Complete minutes are in the GitHub Discussion [https://github.com/OSGeo/grass/discussions/3047 ''Meeting minutes on interfacing GRASS from QGIS'' #3047].
 
== Discussion on using GRASS from R ==
 
* Special guest: Roger Bivand (rgrass, ...)
* Attended by 7+ participants
 
Complete minutes are in the GitHub Discussion [https://github.com/rsbivand/rgrass/discussions/78 ''Meeting minutes on interfacing GRASS from R'' #78].
 
== What to do differently the next time ==


=== You ===
* 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)

Latest revision as of 21:00, 14 August 2023

Quick links: Meeting page | Reports | Sponsors | Press release

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

Reports

Caitlin Haedrich

Vaclav Petras

See also June activity log on GitHub.

Anna Petrasova

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:

  1. getImgList() - get list of IMG_FILEs in a Sentinel 2 SAFE Directory
  2. cropToAOI() - Crop the images to the Area of Interest
  3. prepareSTR() - Convert SWIR to the SWIR Transformed Reflectance
  4. prepareVI() - Prepare the (user chosen) vegetation index

03/06:

  1. Split to three modules: r.optram.preprocess, r.optram, r.optram.soilmoisture
  2. new function: prepareTrapezoid() - to get wet-dry regression lines and slope, intercept values


04/06

  1. prepareTrapezoid() function completed.
  2. (Joined video conf with Roger Bivand on R-GRASS integration.)

05/06 Initialize third file/function: r.optram.soilmoisture.py

  1. createSoilMoisture() - creates new GRASS raster for a single date
  2. Add documentation to modules
  3. (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:
  1. Determine some "reasonable" maximum size for the numpy table, depending on computer resources.
  2. Extract a subset of pixels from each raster in the time series, such that the total table pixel values will not exceed that maximum
  3. The size of the subset will be set by ("reasonable" max / number of rasters in time series)
  4. 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

  • Expanded instructions on Pre-commit (PR #3006)
  • Mini guidelines on unit tests for add-ons (PR #916)

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:

First attempt to convert the manual to Markdown/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

  • Participated in a two-hour meeting with Roger, Floris, Vaclav, Anna, Micha, ..... about rgrass development

Ondřej Pešek

Floris Vanderhaeghe

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

Ideas for the meeting agenda:

  • 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

Carmen Tawalika

  • Move official GRASS GIS Dockerimage from mundialis/grass-py3-pdal to osgeo/grass-gis
    • PR for CI in #3001
    • Update website in #371
    • Update reference in actinia-docker repository in #41
  • Update alpine version in Dockerimage to v3.18
    • Local testing for #2953
    • Update of various images for actinia #38, #39 and #442
  • 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 on interfacing GRASS from QGIS

Complete minutes are in the GitHub Discussion Meeting minutes on interfacing GRASS from QGIS #3047.

Discussion on using GRASS from R

  • Special guest: Roger Bivand (rgrass, ...)
  • Attended by 7+ participants

Complete minutes are in the GitHub Discussion Meeting minutes on interfacing GRASS from R #78.

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)