Talk:GRASS Community Meeting Prague 2023: Difference between revisions

From GRASS-Wiki
Jump to navigation Jump to search
(Add Loïc Bartoletti)
(Fix links, use website press release)
 
(9 intermediate revisions by 2 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 19: Line 21:
* Virtual meeting organizing: Veronica Andreo
* Virtual meeting organizing: Veronica Andreo
* Photography: Caitlin Haedrich, Maris Nartiss
* 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 ==
== Reports ==
Line 47: 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 134: Line 156:
* 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:
* 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).
** Variable Length Arrays (VLA) is not supported in MSVC (is optional in C99).
  * DLL export directives are required across dynamic library boundaries.
** 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]
* 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 removed previous threading artifacts that are ineffective.
Line 198: Line 220:
* Help arranging a meeting with Nyall Dawson for the QGIS GRASS interface  
* 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
* 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
* 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
* 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 ===
=== Vero Andreo ===
Line 212: Line 234:
** Created a news item about rgrass7 retirement with text snippet contributed by Roger Bivand [https://github.com/OSGeo/grass-website/pull/370 #370]
** 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
* 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 ===
=== Carmen Tawalika ===
Line 235: Line 268:
* Working on Cppcheck and [https://sonarcloud.io/summary/new_code?id=lbartoletti_grass&branch=sonarcloud SonarCloud WIP] for GRASS build
* 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]
* 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 with Nyall (QGIS) ===
== Discussion on interfacing GRASS from QGIS ==


* Special guest: Nyall Dawson (QGIS)
* All meeting participants were part of the call.
* How to improve the integration
* How to improve the integration
** save some of the existing code
** save some of the existing code
Line 244: Line 279:
** https://github.com/qgis/QGIS/pull/53048
** https://github.com/qgis/QGIS/pull/53048
** https://github.com/qgis/QGIS/pull/53049
** 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 ==
== What to do differently the next time ==

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)