<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://grasswiki.osgeo.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=%E2%9A%A0%EF%B8%8FAaronsms</id>
	<title>GRASS-Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://grasswiki.osgeo.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=%E2%9A%A0%EF%B8%8FAaronsms"/>
	<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/wiki/Special:Contributions/%E2%9A%A0%EF%B8%8FAaronsms"/>
	<updated>2026-05-26T04:13:20Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.41.0</generator>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=Talk:GRASS_Community_Meeting_Prague_2023&amp;diff=27120</id>
		<title>Talk:GRASS Community Meeting Prague 2023</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=Talk:GRASS_Community_Meeting_Prague_2023&amp;diff=27120"/>
		<updated>2023-06-06T13:30:50Z</updated>

		<summary type="html">&lt;p&gt;⚠️Aaronsms: /* Reports */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
== Tasks for participants ==&lt;br /&gt;
&lt;br /&gt;
* Create section for you in the Reports section.&lt;br /&gt;
* List all the things you are working on in the section. Update the list each day. Include things you work on with other people.&lt;br /&gt;
* Link the [https://github.com/orgs/OSGeo/projects/1/ GRASS Community Meeting Prague 2023] project on GitHub to each PR or issue you are working on or plan to be working on.&lt;br /&gt;
* 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.)&lt;br /&gt;
&lt;br /&gt;
== Planning and organizing ==&lt;br /&gt;
&lt;br /&gt;
* Initial planning: Veronica Andreo, Martin Landa, Vaclav Petras, Helmut Kudrnovsky, Anna Petrasova, Huidae Cho, Markus Neteler, Helena Mitasova, Micha Silver, Linda Kladivova&lt;br /&gt;
* Funding acquisition: Veronica Andreo, Markus Neteler, Vaclav Petras, Anna Petrasova, Huidae Cho, Luca Delucchi, Venkatesh Raghavan&lt;br /&gt;
* Budget: Vaclav Petras, Markus Neteler, Veronica Andreo&lt;br /&gt;
* Venue and local organizing: Martin Landa, helpers: Ondrej Pesek, Vaclav Petras&lt;br /&gt;
* T-shirts, hoodies, stickers: Vaclav Petras, Anna Petrasova&lt;br /&gt;
* Promotion, invitations, and social media: Caitlin Haedrich, Veronica Andreo, Vaclav Petras&lt;br /&gt;
* Wiki page: Martin Landa, Markus Neteler, Vaclav Petras, Veronica Andreo&lt;br /&gt;
* Virtual meeting organizing: Veronica Andreo&lt;br /&gt;
* Photography: Caitlin Haedrich, Maris Nartiss&lt;br /&gt;
&lt;br /&gt;
== Ideas for the meeting agenda ==&lt;br /&gt;
&lt;br /&gt;
Collect ideas here :-)&lt;br /&gt;
&lt;br /&gt;
=== Markus Neteler ===&lt;br /&gt;
&lt;br /&gt;
* Improve QGIS-GRASS GIS integration; update of provider to GRASS GIS 8&lt;br /&gt;
* GRASS GIS addons overview generator for entire GitHub (and more?) based on tag &amp;quot;[https://github.com/topics/grass-gis-addons grass-gis-addons]&amp;quot;&lt;br /&gt;
* Discuss about a 4th edition of &amp;quot;Open Source GIS: A GRASS GIS Approach&amp;quot;&lt;br /&gt;
* 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&lt;br /&gt;
** my tests with DeepL show that the quality is very good; average translation time of a user message shrinks to 15 seconds {{done}}&lt;br /&gt;
** note: one needs to login to Weblate to see the &amp;quot;Automatic suggestion&amp;quot; button (using the OSGeo-ID)&lt;br /&gt;
* Fix docs:&lt;br /&gt;
** Provide better explanation for radius parameter for r.resamp.filter: https://github.com/OSGeo/grass/issues/2569&lt;br /&gt;
** improve v.clean docs&lt;br /&gt;
&lt;br /&gt;
=== Vero ===&lt;br /&gt;
&lt;br /&gt;
* '''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?&lt;br /&gt;
* Participate in discussions about GRASS interfaces with QGIS and R (rgrass)&lt;br /&gt;
* Discuss sponsoring&lt;br /&gt;
* Student grant for (python) documentation?&lt;br /&gt;
* Discuss about wiki clean-up/update (Anna was working on a list of pages) &lt;br /&gt;
* Website enhancements: complete open PR's, meet Daniel Torres, new support item in main menu&lt;br /&gt;
* Discuss State of GRASS presentation for FOSS4G 2023&lt;br /&gt;
* i.landsat if time permits&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
=== You ===&lt;br /&gt;
&lt;br /&gt;
== Reports ==&lt;br /&gt;
&lt;br /&gt;
=== Caitlin Haedrich ===&lt;br /&gt;
* Photos, social media and wiki page&lt;br /&gt;
* grass.jupyter:&lt;br /&gt;
** [https://github.com/OSGeo/grass/pull/2996 add feature for animating series of rasters]&lt;br /&gt;
&lt;br /&gt;
=== Vaclav Petras ===&lt;br /&gt;
&lt;br /&gt;
* Rename location to project&lt;br /&gt;
** [https://github.com/OSGeo/grass/pull/2993 wxGUI: Rename location to project #2993]&lt;br /&gt;
** Discussion&lt;br /&gt;
* Python API&lt;br /&gt;
** [https://github.com/OSGeo/grass/pull/2923 grass.experimental: Add object to access modules as functions #2923]&lt;br /&gt;
* CI&lt;br /&gt;
** [https://github.com/OSGeo/grass/pull/3002  CI: Switch Travis to Ubuntu 22.04 (jammmy) #3002]&lt;br /&gt;
* Reviews and merges:&lt;br /&gt;
** [https://github.com/OSGeo/grass/pull/2974 t.rast.algebra/testsuite: split file test_raster_algebra.py #2974]&lt;br /&gt;
** [https://github.com/OSGeo/grass/pull/2189 Imagery: add libsvm based imagery classification #2189]&lt;br /&gt;
** [https://github.com/OSGeo/grass-addons/pull/606 r.random.walk: Add module to create random walks #606]&lt;br /&gt;
&lt;br /&gt;
=== Anna Petrasova ===&lt;br /&gt;
* [https://github.com/OSGeo/grass/pull/2992 Fix bug in querying]&lt;br /&gt;
* review, merge and backport of [https://github.com/OSGeo/grass/pull/2994 fix in datacatalog]&lt;br /&gt;
* review of [https://github.com/OSGeo/grass/pull/2520  wxGUI: fix show MASK statusbar button widget if mask is created]&lt;br /&gt;
* merge of [https://github.com/OSGeo/grass/pull/2667 wxGUI: adding a button for undocking an AuiNotebook tab to wx.Frame (Single-Window GUI)]&lt;br /&gt;
* edit [https://github.com/OSGeo/grass/pull/2990 check min required wx version when starting wxgui]&lt;br /&gt;
* implement widget dependency for i.signatures as part of [https://github.com/OSGeo/grass/pull/3008 PR 3008]&lt;br /&gt;
* found and fixed a bug in digitizer, [https://github.com/OSGeo/grass/pull/3027 PR 3027]&lt;br /&gt;
* participate in rgrass and QGIS-GRASS discussions&lt;br /&gt;
* write up notes from QGIS meeting&lt;br /&gt;
* worked on a Jupyter Notebook for GRASS parallelization (to be finished)&lt;br /&gt;
&lt;br /&gt;
=== Maris Nartiss ===&lt;br /&gt;
&lt;br /&gt;
* i.svm.* cleanup and preparation for a review&lt;br /&gt;
* A conceptual proposal for a new start up screen&lt;br /&gt;
* Initial version of imagery signature management module i.signatures&lt;br /&gt;
* Remove obsolete parts of locale README file&lt;br /&gt;
* Extract translatable messages also from C++ files&lt;br /&gt;
* Improve parser library documentation&lt;br /&gt;
&lt;br /&gt;
=== Micha Silver ===&lt;br /&gt;
Working on a new GRASS addon: r.optram&lt;br /&gt;
[https://github.com/micha-silver/grass-addons/tree/grass8/src/raster/r.optram the repo on github]&lt;br /&gt;
&lt;br /&gt;
02/06: Initialize main file ''r.optram.py''&lt;br /&gt;
&lt;br /&gt;
includes these functions: &lt;br /&gt;
# ''getImgList()'' - get list of IMG_FILEs in a Sentinel 2 SAFE Directory&lt;br /&gt;
# ''cropToAOI()'' - Crop the images to the Area of Interest&lt;br /&gt;
# ''prepareSTR()'' - Convert SWIR to the SWIR Transformed Reflectance&lt;br /&gt;
# ''prepareVI()'' - Prepare the (user chosen) vegetation index&lt;br /&gt;
&lt;br /&gt;
03/06: &lt;br /&gt;
# Split to three modules: '''r.optram.preprocess, r.optram, r.optram.soilmoisture'''&lt;br /&gt;
# new function: ''prepareTrapezoid()'' - to get wet-dry regression lines and slope, intercept values&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
04/06&lt;br /&gt;
# ''prepareTrapezoid()'' function completed.&lt;br /&gt;
# (Joined video conf with Roger Bivand on R-GRASS integration.)&lt;br /&gt;
&lt;br /&gt;
05/06&lt;br /&gt;
Initialize third file/function: ''r.optram.soilmoisture.py''&lt;br /&gt;
# ''createSoilMoisture()'' - creates new GRASS raster for a single date&lt;br /&gt;
# Add documentation to modules&lt;br /&gt;
# (joined video conf with Nyall Dawson)&lt;br /&gt;
&lt;br /&gt;
TODO list:&lt;br /&gt;
* Read Sentinel cloud mask and mask out cloud pixels in '''r.optram.preprocess'''&lt;br /&gt;
* large study areas or very long time series will create a big numpy table of variables (vegetation index and STR). A possible solution:&lt;br /&gt;
# Determine some &amp;quot;reasonable&amp;quot; maximum size for the numpy table, depending on computer resources.&lt;br /&gt;
# Extract a subset of pixels from each raster in the time series, such that the total table pixel values will not exceed that maximum&lt;br /&gt;
# The size of the subset will be set by (&amp;quot;reasonable&amp;quot; max / number of rasters in time series)&lt;br /&gt;
# Allow user to determine &amp;quot;reasonable&amp;quot; max.&lt;br /&gt;
* Currently this addon consists of three sub-modules. Consider to consolidate to one.&lt;br /&gt;
* Improve HTML documentation&lt;br /&gt;
&lt;br /&gt;
=== Luís de Sousa ===&lt;br /&gt;
&lt;br /&gt;
==== Work on GRASS add-on [https://grass.osgeo.org/grass82/manuals/addons/r.mblend.html r.mblend] ====&lt;br /&gt;
&lt;br /&gt;
* Module is still maintained and fully functional in GRASS 8.2 (now included in the [https://github.com/OSGeo/grass-addons GRASS global add-ons repository])&lt;br /&gt;
* However was not longer producing correct results due to new behaviour in '''v.what.rast'''&lt;br /&gt;
* Solution identified, using inner buffer to interpolation area ([https://github.com/OSGeo/grass-addons/pull/910 PR #910])&lt;br /&gt;
* A small unit test suite was developed ([https://github.com/OSGeo/grass-addons/pull/911 PR #911])&lt;br /&gt;
&lt;br /&gt;
==== Documentation ====&lt;br /&gt;
&lt;br /&gt;
* Expanded instructions on Pre-commit ([https://github.com/OSGeo/grass/pull/3006 PR #3006])&lt;br /&gt;
* Mini guidelines on unit tests for add-ons ([https://github.com/OSGeo/grass-addons/pull/916 PR #916])&lt;br /&gt;
&lt;br /&gt;
=== Aaron Saw Min Sern ===&lt;br /&gt;
&lt;br /&gt;
* Fix bug to complete r.univar parallelization. [https://github.com/OSGeo/grass/pull/2683 PR]&lt;br /&gt;
* Investigate CMake progress in Windows. There still needs to be source code fixes to be port over to MSVC:&lt;br /&gt;
  * Variable Length Arrays (VLA) is not supported in MSVC (is optional in C99).&lt;br /&gt;
  * DLL export directives are required across dynamic library boundaries.&lt;br /&gt;
  * ...&lt;br /&gt;
* Coordinate CMake PR, fix some bugs and make some progress (got a full build on UNIX environment). [https://github.com/OSGeo/grass/pull/3021]&lt;br /&gt;
* r.mapcalc removed previous threading artifacts that are ineffective.&lt;br /&gt;
* r.mapcalc refactored global variables in preparation for threading work. (PR to come)&lt;br /&gt;
&lt;br /&gt;
=== Martin Landa ===&lt;br /&gt;
&lt;br /&gt;
* Check min required wx version when starting wxgui [https://github.com/OSGeo/grass/pull/2990 PR #2990]&lt;br /&gt;
* Graphical modeler: avoid overlapping module parameters [https://github.com/OSGeo/grass/issues/2991 PR #2991]&lt;br /&gt;
* Show ModelRelation in white on dark mode [https://github.com/OSGeo/grass/pull/2997 PR #2997]&lt;br /&gt;
* Add OSGeo4W workflow to compile Addons [https://github.com/OSGeo/grass-addons/pull/912 PR #912]&lt;br /&gt;
* Integrate Grapical Modeler into single window layout [https://github.com/OSGeo/grass/pull/3003 PR #3003]&lt;br /&gt;
* Graphical Modeler: fix command parsing in &amp;quot;add tool&amp;quot; dialog [https://github.com/OSGeo/grass/pull/3022 PR #3022]&lt;br /&gt;
* Describe required updates for new version for winGRASS [https://github.com/OSGeo/grass/issues/2406#issuecomment-1578303935 #2406]&lt;br /&gt;
&lt;br /&gt;
=== Markus Neteler ===&lt;br /&gt;
&lt;br /&gt;
* backport of &amp;quot;HTML header charset changed from ISO-8859-1 to UTF-8&amp;quot; [https://github.com/OSGeo/grass/pull/2547 PR #2547] to GRASS GIS 8.2.1 (fixing r.forcircular manual encoding bug)&lt;br /&gt;
* improve &amp;quot;Update alpine Docker tag to v3.18 [https://github.com/OSGeo/grass/pull/2953 PR #2953]&lt;br /&gt;
* backport of Alpine Dockerfile improvements&lt;br /&gt;
* discussion about &amp;quot;location/mapset&amp;quot; vs &amp;quot;project/...&amp;quot; terminology&lt;br /&gt;
* initial QGIS-GRASS update discussion&lt;br /&gt;
* Google Photo album feeds&lt;br /&gt;
* Use of [https://github.com/OSGeo/grass/blob/main/doc/development/submitting/submitting.md#use-pre-commit pre-commit] (recommended to all devs!)&lt;br /&gt;
* Participate in a two-hour meeting with Nyall Dawson (QGIS) and the GRASS Community about interfacing GRASS from QGIS&lt;br /&gt;
* &lt;br /&gt;
* GRASS GIS manual pages: re-styling and conversion of all pages to markdown:&lt;br /&gt;
** convert to markdown with pandoc (draft script see https://app.gitter.im/#/room/#grassgis_sprint:gitter.im discussion)&lt;br /&gt;
** using mkdocs (https://www.mkdocs.org/): it provides menus and a search window&lt;br /&gt;
** check: automatic formatting for mkdocs: https://github.com/KyleKing/mdformat-mkdocs&lt;br /&gt;
&lt;br /&gt;
[[Image:Grass manual readthedocs.png|First attempt to convert the manual to Markdown/mkdocs|500px]]&lt;br /&gt;
&lt;br /&gt;
=== Helmut Kudrnovsky ===&lt;br /&gt;
&lt;br /&gt;
* discuss (win)GRASS-R issues [https://github.com/rsbivand/rgrass/issues/57 initGrass Error] and  [https://github.com/OSGeo/grass/issues/2998 feature requests]&lt;br /&gt;
&lt;br /&gt;
* Review and initial tests of PR [https://github.com/OSGeo/grass/pull/2684 compilation with cmake] on Windows&lt;br /&gt;
&lt;br /&gt;
* Participated in a two-hour meeting with Roger, Floris, Vaclav, Anna, Micha, ..... about rgrass development&lt;br /&gt;
&lt;br /&gt;
=== Ondřej Pešek ===&lt;br /&gt;
&lt;br /&gt;
* gmodeler: add export to an actinia script: [https://github.com/OSGeo/grass/pull/3005 PR #3005]&lt;br /&gt;
* 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]&lt;br /&gt;
* 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]&lt;br /&gt;
&lt;br /&gt;
=== Floris Vanderhaeghe ===&lt;br /&gt;
&lt;br /&gt;
* Explore reading straight from the GRASS database into R (https://github.com/rsbivand/rgrass/issues/75)&lt;br /&gt;
* Help Markus in improving the documentation of the GDAL-GRASS drivers (https://github.com/OSGeo/gdal-grass)&lt;br /&gt;
* Help arranging a meeting with Nyall Dawson for the QGIS GRASS interface &lt;br /&gt;
* Participate in a two-hour meeting with Roger Bivand, Vero Andreo, Vaclav, Anna, Helmut, Micha, ..... about rgrass development&lt;br /&gt;
* Draft and finalize the meeting minutes of the rgrass meeting&lt;br /&gt;
* Participate in a two-hour meeting with Nyall Dawson (QGIS) and the GRASS Community about interfacing GRASS from QGIS&lt;br /&gt;
&lt;br /&gt;
=== Vero Andreo ===&lt;br /&gt;
&lt;br /&gt;
* Participated in the discussion about renaming locations to projects&lt;br /&gt;
* Call with Paulo on diverse topics, r.niche.similarity PR revision and merge&lt;br /&gt;
* Participated in a two-hour meeting with Roger, Floris, Vaclav, Anna, Helmut, Micha, ..... about rgrass development&lt;br /&gt;
* Worked on GRASS Website:&lt;br /&gt;
** 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&lt;br /&gt;
** Beautify tables and content of sponsoring page [https://github.com/OSGeo/grass-website/pull/368 #368]&lt;br /&gt;
** New menu and submenus (some reordered), please comment [https://github.com/OSGeo/grass-website/pull/369 #369] &lt;br /&gt;
** Created a news item about rgrass7 retirement with text snippet contributed by Roger Bivand [https://github.com/OSGeo/grass-website/pull/370 #370]&lt;br /&gt;
* Other minor revisions&lt;br /&gt;
&lt;br /&gt;
=== Discussion with Nyall (QGIS) ===&lt;br /&gt;
&lt;br /&gt;
* How to improve the integration&lt;br /&gt;
** save some of the existing code&lt;br /&gt;
** update &amp;quot;Processing&amp;quot; integration&lt;br /&gt;
** ...&lt;br /&gt;
* GRASS GIS Addon support in QGIS, see&lt;br /&gt;
** https://github.com/qgis/QGIS/pull/53048&lt;br /&gt;
** https://github.com/qgis/QGIS/pull/53049&lt;/div&gt;</summary>
		<author><name>⚠️Aaronsms</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=Talk:GRASS_Community_Meeting_Prague_2023&amp;diff=27016</id>
		<title>Talk:GRASS Community Meeting Prague 2023</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=Talk:GRASS_Community_Meeting_Prague_2023&amp;diff=27016"/>
		<updated>2023-06-02T16:37:28Z</updated>

		<summary type="html">&lt;p&gt;⚠️Aaronsms: /* Reports */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
== Tasks for participants ==&lt;br /&gt;
&lt;br /&gt;
* Create section for you in the Reports section.&lt;br /&gt;
* List all the things you are working on in the section. Update the list each day. Include things you work on with other people.&lt;br /&gt;
* Link the [https://github.com/orgs/OSGeo/projects/1/ GRASS Community Meeting Prague 2023] project on GitHub to each PR or issue you are working on or plan to be working on.&lt;br /&gt;
* 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.)&lt;br /&gt;
&lt;br /&gt;
== Planning and organizing ==&lt;br /&gt;
&lt;br /&gt;
* Initial planning: Veronica Andreo, Martin Landa, Vaclav Petras, Helmut Kudrnovsky, Anna Petrasova, Huidae Cho, Markus Neteler, Helena Mitasova, Micha Silver, Linda Kladivova&lt;br /&gt;
* Funding acquisition: Veronica Andreo, Markus Neteler, Vaclav Petras, Anna Petrasova, Huidae Cho, Luca Delucchi, Venkatesh Raghavan&lt;br /&gt;
* Budget: Vaclav Petras, Markus Neteler, Veronica Andreo&lt;br /&gt;
* Venue and local organizing: Martin Landa&lt;br /&gt;
* T-shirts, hoodies, stickers: Vaclav Petras, Anna Petrasova&lt;br /&gt;
* Promotion, invitations, and social media: Caitlin Haedrich, Veronica Andreo, Vaclav Petras&lt;br /&gt;
* Wiki page: Martin Landa, Markus Neteler, Vaclav Petras, Veronica Andreo&lt;br /&gt;
* Virtual meeting organizing: Veronica Andreo&lt;br /&gt;
* Photography: Caitlin Haedrich&lt;br /&gt;
&lt;br /&gt;
== Ideas for the meeting agenda ==&lt;br /&gt;
&lt;br /&gt;
Collect ideas here :-)&lt;br /&gt;
&lt;br /&gt;
=== Markus Neteler ===&lt;br /&gt;
&lt;br /&gt;
* Improve QGIS-GRASS GIS integration; update of provider to GRASS GIS 8&lt;br /&gt;
* GRASS GIS addons overview generator for entire GitHub (and more?) based on tag &amp;quot;[https://github.com/topics/grass-gis-addons grass-gis-addons]&amp;quot;&lt;br /&gt;
* Discuss about a 4th edition of &amp;quot;Open Source GIS: A GRASS GIS Approach&amp;quot;&lt;br /&gt;
* 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&lt;br /&gt;
** my tests with DeepL show that the quality is very good; average translation time of a user message shrinks to 15 seconds {{done}}&lt;br /&gt;
** note: one needs to login to Weblate to see the &amp;quot;Automatic suggestion&amp;quot; button (using the OSGeo-ID)&lt;br /&gt;
* GRASS GIS manual pages: re-styling and conversion of all pages:&lt;br /&gt;
** convert to markdown&lt;br /&gt;
** using mkdocs (https://www.mkdocs.org/): it provides menus and a search window&lt;br /&gt;
** automatic formatting for mkdocs: https://github.com/KyleKing/mdformat-mkdocs&lt;br /&gt;
* Fix docs:&lt;br /&gt;
** Provide better explanation for radius parameter for r.resamp.filter: https://github.com/OSGeo/grass/issues/2569&lt;br /&gt;
&lt;br /&gt;
=== Vero ===&lt;br /&gt;
&lt;br /&gt;
* '''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?&lt;br /&gt;
* Participate in discussions about GRASS interfaces with QGIS and R (rgrass)&lt;br /&gt;
* Discuss sponsoring&lt;br /&gt;
* Student grant for (python) documentation?&lt;br /&gt;
* Discuss about wiki clean-up/update (Anna was working on a list of pages) &lt;br /&gt;
* Website enhancements: complete open PR's, meet Daniel Torres, new support item in main menu&lt;br /&gt;
* Discuss State of GRASS presentation for FOSS4G 2023&lt;br /&gt;
* i.landsat if time permits&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
=== You ===&lt;br /&gt;
&lt;br /&gt;
== Reports ==&lt;br /&gt;
&lt;br /&gt;
=== Caitlin Haedrich ===&lt;br /&gt;
&lt;br /&gt;
=== Vaclav Petras ===&lt;br /&gt;
&lt;br /&gt;
* Rename location to project&lt;br /&gt;
** [https://github.com/OSGeo/grass/pull/2993 wxGUI: Rename location to project #2993]&lt;br /&gt;
** Discussion&lt;br /&gt;
&lt;br /&gt;
=== Anna Petrasova ===&lt;br /&gt;
* [https://github.com/OSGeo/grass/pull/2992 Fix bug in querying]&lt;br /&gt;
&lt;br /&gt;
=== Maris Nartiss ===&lt;br /&gt;
&lt;br /&gt;
=== Micha Silver ===&lt;br /&gt;
Working on a new GRASS addon: r.optram&lt;br /&gt;
[https://github.com/micha-silver/grass-addons/tree/grass8/src/raster/r.optram the repo on github]&lt;br /&gt;
&lt;br /&gt;
02/06: Initialize main file ''r.optram.py''&lt;br /&gt;
&lt;br /&gt;
includes these functions: &lt;br /&gt;
# getImgList() - get list of IMG_FILEs in a Sentinel 2 SAFE Directory&lt;br /&gt;
# cropToAOI() - Crop the images to the Area of Interest&lt;br /&gt;
# prepareSTR() - Convert SWIR to the SWIR Transformed Reflectance&lt;br /&gt;
# prepareVI() - Prepare the (user chosen) vegetation index&lt;br /&gt;
&lt;br /&gt;
03/06: &lt;br /&gt;
# prepareTrapezoid() - to get wet-dry regression lines and slope, intercept values&lt;br /&gt;
&lt;br /&gt;
Initialize second file/function: ''r.optram.soilmoisture.py''&lt;br /&gt;
# createSoilMoisture() - new GRASS raster&lt;br /&gt;
&lt;br /&gt;
=== Luís de Sousa ===&lt;br /&gt;
&lt;br /&gt;
==== Work on GRASS add-on [https://grass.osgeo.org/grass82/manuals/addons/r.mblend.html r.mblend] ====&lt;br /&gt;
&lt;br /&gt;
* Module is still maintained and fully functional in GRASS 8.2&lt;br /&gt;
* Now included in the [https://github.com/OSGeo/grass-addons GRASS global add-ons repository]&lt;br /&gt;
* However no longer producing correct results due to new behaviour in '''v.what.rast'''&lt;br /&gt;
* Solution identified, using inner buffer to interpolation area&lt;br /&gt;
* Started a unit test class&lt;br /&gt;
&lt;br /&gt;
=== Aaron Saw Min Sern ===&lt;br /&gt;
&lt;br /&gt;
* Fix bug to complete r.univar parallelization. [https://github.com/OSGeo/grass/pull/2683 PR]&lt;br /&gt;
&lt;br /&gt;
=== You ===&lt;/div&gt;</summary>
		<author><name>⚠️Aaronsms</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=GRASS_Community_Meeting_Prague_2023&amp;diff=26864</id>
		<title>GRASS Community Meeting Prague 2023</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=GRASS_Community_Meeting_Prague_2023&amp;diff=26864"/>
		<updated>2023-04-09T07:02:46Z</updated>

		<summary type="html">&lt;p&gt;⚠️Aaronsms: /* In person */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{toc|right}}&lt;br /&gt;
The GRASS GIS team is organizing the ''GRASS GIS Community Meeting with contributors, power users and developers'' from '''June 2 to June 6, 2023''' to celebrate GRASS GIS '''40th birthday'''. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;slideshow&amp;quot;&amp;gt;&lt;br /&gt;
Image:grass-sprint-prague.jpg|Prague 2013&lt;br /&gt;
Image:Grass_sprint2018_bonn_fotowall.jpg|Bonn 2018&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Purpose ==&lt;br /&gt;
&lt;br /&gt;
GRASS GIS Community Meeting is a great occasion for folks to support the development by actively contributing to the source code, documentation (manuals, wiki, tutorials), translations, website or likewise. The '''community''' meeting is also a get-together where supporters, contributors, power users and developers make decisions and tackle larger problems related to the project, discuss and collaboratively resolve bugs, plan the direction for the project and work on new features. We welcome people committed to improving the GRASS GIS project and the interfaces to QGIS, GDAL, PostGIS, R statistics, OGC Services and willing to '''celebrate with us the 40th GRASS GIS birthday!!'''&lt;br /&gt;
&lt;br /&gt;
For the detailed agenda, see below.&lt;br /&gt;
&lt;br /&gt;
== Sponsors ==&lt;br /&gt;
&lt;br /&gt;
We welcome '''financial contributions''' to support the meeting and we are looking for sponsors to cover costs such as meals or to help reducing travelling and accommodation expenses for GRASS developers with far arrival. If you are interested in sponsoring the GRASS Community Meeting, please read about&lt;br /&gt;
&lt;br /&gt;
:::'''sponsoring the GRASS GIS project''' at '''[https://grass.osgeo.org/contribute/sponsoring/ https://grass.osgeo.org/contribute/sponsoring/]'''&lt;br /&gt;
&lt;br /&gt;
Note that it is also possible to &amp;lt;b&amp;gt;buy a round of beers for the developers with a quick click&amp;lt;/b&amp;gt; using the Open Collective &amp;quot;Contribute Money&amp;quot; button https://opencollective.com/osgeo/projects/grass&lt;br /&gt;
&lt;br /&gt;
Any surplus at the end of the event will be turned over to the GRASS GIS project.&lt;br /&gt;
&lt;br /&gt;
This GRASS Community Meeting is a great occasion for you to support the development of GRASS. With your contribution you'll enable more developers to meet. Community meetings are important opportunities for developers to discuss, fix bugs, plan the direction for the project and work on new features. Please see below for the detailed agenda. The developers and contributors are donating their valuable time, so it would be great if in-kind funding can be made available from within the community to cover out-of-pocket expenses. All of the work that takes place at the community meeting will be directly contributed back into the GRASS project to the benefit of everyone who uses it.&lt;br /&gt;
&lt;br /&gt;
=== Thanks to our sponsors ===&lt;br /&gt;
&lt;br /&gt;
We are grateful for the support which we have received to organize this GRASS Community Meeting:&lt;br /&gt;
&lt;br /&gt;
TBD&lt;br /&gt;
&lt;br /&gt;
== Timing  ==&lt;br /&gt;
&lt;br /&gt;
'''When''': June 2-6, 2023&lt;br /&gt;
&lt;br /&gt;
Of course you are invited to join or leave the meeting whenever you want.&lt;br /&gt;
&lt;br /&gt;
== Venue ==&lt;br /&gt;
&lt;br /&gt;
[[Image:logo_cvut.jpg|130px|left]]&lt;br /&gt;
Department of Geomatics&amp;lt;br&amp;gt;&lt;br /&gt;
[https://www.fsv.cvut.cz/?lang=en Faculty of Civil Engineering]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://www.cvut.cz/en Czech Technical University in Prague], {{wikipedia|Czech Republic}}&amp;lt;br&amp;gt;&lt;br /&gt;
Thákurova 7/2077, Prague&amp;lt;br&amp;gt;&lt;br /&gt;
Room B868&amp;lt;br&amp;gt;&lt;br /&gt;
[https://en.mapy.cz/s/debazefuse Map]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Prague has an international [http://www.prg.aero/en/ airport] and is also reachable by train, bus or car.&lt;br /&gt;
&lt;br /&gt;
== Accommodation and Costs ==&lt;br /&gt;
&lt;br /&gt;
Participants should plan for the following costs:&lt;br /&gt;
&lt;br /&gt;
* The participation is free of charge&lt;br /&gt;
* Travel to Prague, variable depending on where you come from&lt;br /&gt;
* Accommodation and meals (with the donated sponsorship money we will try to cover some expenses of the participants)&lt;br /&gt;
'''Please note''': The currency in Czech Republic is {{wikipedia|Czech crown}} (CZK, koruna, Kč). 100 Czech crowns are about 4 Euros (see [https://www.cnb.cz/cs/financni-trhy/devizovy-trh/kurzy-devizoveho-trhu/kurzy-devizoveho-trhu/ current rates]).&lt;br /&gt;
&lt;br /&gt;
Please let us know your time of arrival and departure, so we can book accommodations and organize the logistics.&lt;br /&gt;
&lt;br /&gt;
Financial support: (partial) travel grants can be payed upon request thanks to our sponsors!&lt;br /&gt;
&lt;br /&gt;
== Agenda - What we plan to do ==&lt;br /&gt;
&lt;br /&gt;
'''Note:''' The program is generally open for your ideas. Please write an email to the [http://lists.osgeo.org/mailman/listinfo/grass-dev GRASS developer list] to discuss your contribution.&lt;br /&gt;
&lt;br /&gt;
During the meeting we will work on GRASS GIS on these tasks (please add more!):&lt;br /&gt;
&lt;br /&gt;
* We will update and revise the [https://github.com/qgis/QGIS/tree/master/python/plugins/grassprovider GRASS GIS Integration with QGIS] to simplify maintenance.&lt;br /&gt;
* Furthermore, we will migrate the compilation technology to CMake to significantly improve the Windows builds including PDAL support and become binary compatible with OSGeo4W.&lt;br /&gt;
* The extensive GRASS documentation will be converted from HTML to Markdown to facilitate future collaboration.&lt;br /&gt;
* Pictures, examples and workflows will be added to the documentation where they are still missing.&lt;br /&gt;
* Software maintenance processes are automated and documented to reduce the burden on maintainers and thus improve the sustainability of the project.&lt;br /&gt;
&lt;br /&gt;
This means that there are tasks from both the programming and documentation areas to appeal to a wide range of interested parties.&lt;br /&gt;
&lt;br /&gt;
Further details about the action items you '''find [[Talk:GRASS Community Meeting Prague 2023|here]]''' and below. Topics cover non-technical, semi-technical, and technical issues.&lt;br /&gt;
&lt;br /&gt;
=== Timeline ===&lt;br /&gt;
&lt;br /&gt;
Will be specified later.&lt;br /&gt;
&lt;br /&gt;
==== Thursday, 1 June ====&lt;br /&gt;
&lt;br /&gt;
* Arrival&lt;br /&gt;
&lt;br /&gt;
==== Friday, 2 June ====&lt;br /&gt;
&lt;br /&gt;
==== Saturday, 3 June ====&lt;br /&gt;
&lt;br /&gt;
==== Sunday, 4 June ====&lt;br /&gt;
&lt;br /&gt;
==== Monday, 5 June ====&lt;br /&gt;
&lt;br /&gt;
==== Tuesday, 6 June ====&lt;br /&gt;
&lt;br /&gt;
==== Friday, 7 June ====&lt;br /&gt;
&lt;br /&gt;
* Departure&lt;br /&gt;
&lt;br /&gt;
== Participation ==&lt;br /&gt;
&lt;br /&gt;
We are planning for an attendance of 20 people (i.e., coding places) but of course you are welcome to join us and bring new ideas with you: we'll make more places available. Please add your name here or contact [[User:Landa|Martin Landa]] &amp;lt;tt&amp;gt;&amp;lt;landa.martin at gmail.com&amp;gt;&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
=== In person ===&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot;   border=&amp;quot;2&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; rules=&amp;quot;all&amp;quot; style=&amp;quot;margin:1em 1em 1em 0; border:solid 1px #AAAAAA; border-collapse:collapse; background-color:#edf9c7; font-size:95%; empty-cells:show;&amp;quot; &lt;br /&gt;
!width=50px|'''Number'''&lt;br /&gt;
!width=130px|'''Participant '''&lt;br /&gt;
!width=100px|'''Country'''&lt;br /&gt;
!width=100px|'''Arrival'''&lt;br /&gt;
!width=100px|'''Departure'''&lt;br /&gt;
!'''Topics'''&lt;br /&gt;
!width=75px|'''T-Shirt'''&lt;br /&gt;
!'''Notes'''&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|[[User:Landa|Martin Landa]]&lt;br /&gt;
| Czech Republic&lt;br /&gt;
| June 1&lt;br /&gt;
| June 7&lt;br /&gt;
| &lt;br /&gt;
| XL&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
| Micha Silver&lt;br /&gt;
| Israel&lt;br /&gt;
| June 2&lt;br /&gt;
| June 6&lt;br /&gt;
| Addon to derive soil moisture from Sentinel 2&lt;br /&gt;
| XXL&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|[https://www.osgeo.org/member/kudrnovsky/ Helmut Kudrnovsky]&lt;br /&gt;
| Austria&lt;br /&gt;
| June 2&lt;br /&gt;
| June 4&lt;br /&gt;
| &lt;br /&gt;
| L&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|[[User:Neteler|Markus Neteler]]&lt;br /&gt;
| Germany&lt;br /&gt;
| June 2&lt;br /&gt;
| June 6 (12:43)&lt;br /&gt;
| see [[Talk:GRASS_Community_Meeting_Prague_2023#Markus_Neteler|my list in &amp;quot;Discussion&amp;quot; page]]&lt;br /&gt;
| L&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|[[User:pesekon2|Ondřej Pešek]]&lt;br /&gt;
| Czech Republic&lt;br /&gt;
| June 2&lt;br /&gt;
| June 6&lt;br /&gt;
| &lt;br /&gt;
| M&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
| [[User:helena|Helena Mitasova]]&lt;br /&gt;
| United States &lt;br /&gt;
| June 2&lt;br /&gt;
| June 6&lt;br /&gt;
|&lt;br /&gt;
| S&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
| [[User:wenzeslaus|Vaclav Petras]]&lt;br /&gt;
| United States &lt;br /&gt;
| June 1&lt;br /&gt;
| June 7&lt;br /&gt;
| Support CMake transition, revise connection with QGIS and other tools&lt;br /&gt;
| M&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
| [[User:Annakrat|Anna Petrasova]]&lt;br /&gt;
| United States &lt;br /&gt;
| June 1&lt;br /&gt;
| June 7&lt;br /&gt;
| parallelization, grass.jupyter&lt;br /&gt;
| S&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|9&lt;br /&gt;
| [[User:Ctwhite|Corey White]]&lt;br /&gt;
| United States &lt;br /&gt;
| June 1&lt;br /&gt;
| June 7&lt;br /&gt;
| Connections with other tools, OpenPlains, JSON outputs&lt;br /&gt;
| XL&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|10&lt;br /&gt;
| [[User:MarisN|Maris Nartiss]]&lt;br /&gt;
| Latvia&lt;br /&gt;
| June 2&lt;br /&gt;
| June 6&lt;br /&gt;
| &lt;br /&gt;
| XL&lt;br /&gt;
|-&lt;br /&gt;
|11&lt;br /&gt;
| [[User:Aaronsms|Aaron Saw Min Sern]]&lt;br /&gt;
| Singapore&lt;br /&gt;
| June 1&lt;br /&gt;
| June 7&lt;br /&gt;
| Support CMake transition, r.mapcalc parallelization&lt;br /&gt;
| XS (or S)&lt;br /&gt;
| Possibly attending virtually (TBC)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Via chat or hangout ===&lt;br /&gt;
&lt;br /&gt;
Join our [https://app.gitter.im/#/room/#grassgis_community:gitter.im Gitter chatroom]&lt;br /&gt;
&lt;br /&gt;
TBD: Google Meet / Zoom / ???&lt;br /&gt;
&lt;br /&gt;
Participating virtually:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot;   border=&amp;quot;2&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; rules=&amp;quot;all&amp;quot; style=&amp;quot;margin:1em 1em 1em 0; border:solid 1px #AAAAAA; border-collapse:collapse; background-color:#edf9c7; font-size:95%; empty-cells:show;&amp;quot; &lt;br /&gt;
!width=50px|'''Number'''&lt;br /&gt;
!width=130px|'''Participant '''&lt;br /&gt;
!width=100px|'''Country'''&lt;br /&gt;
!'''Topics'''&lt;br /&gt;
!'''Notes'''&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|[[User:Baharmon|Brendan Harmon]]&lt;br /&gt;
| United States&lt;br /&gt;
| Update integration with QGIS&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|[[User:veroandreo|Veronica Andreo]]&lt;br /&gt;
| Argentina&lt;br /&gt;
| i.landsat, update r-grass wiki, website&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Timing of hangout meetings ====&lt;br /&gt;
&lt;br /&gt;
TBD&lt;br /&gt;
&lt;br /&gt;
=== Collaborative document scratching ===&lt;br /&gt;
&lt;br /&gt;
TBD&lt;br /&gt;
&lt;br /&gt;
== Individual Preparation ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Bring your own computer&lt;br /&gt;
* Bring {{wikipedia|AC adapter|power connector adapter}} if needed (Czech Republic: 230V, 50Hz, {{wikipedia|File:Euro-Flachstecker_2.jpg|Type C Europlugs}} are common and also {{wikipedia|File:French_plug_and_socket.jpg|Type E}})&lt;br /&gt;
* Install subversion and the compiler tools, and come with a working GRASS development environment if possible.&lt;br /&gt;
&lt;br /&gt;
== Broadcast &amp;amp; Video ==&lt;br /&gt;
&lt;br /&gt;
During the event :)&lt;br /&gt;
&lt;br /&gt;
== Photos ==&lt;br /&gt;
&lt;br /&gt;
Also during the event :)&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
&lt;br /&gt;
* '''How was it last time?'''&lt;br /&gt;
** Very nice, see [[GRASS_GIS at OSGeo Virtual Community Sprint 2020]]!&lt;br /&gt;
* ''Is the GRASS Community Meeting just a coding event?''&lt;br /&gt;
** It is mainly a coding and documentation event. It is a working session for people who are already participants in the GRASS project and/or are committed to improving the GRASS project.&lt;br /&gt;
** On demand we can do some presentations of current working GRASS implementation and new upcoming features to spread the idea of Open Source GIS software.&lt;br /&gt;
* ''Is the GRASS Community Meeting for developers only?''&lt;br /&gt;
** No: anybody can help, with testing, checking out bugs and fixes, documentation and more.&lt;br /&gt;
* ''Where can I get help and more information about the community meeting?''&lt;br /&gt;
** Contact [[User:Landa|Martin Landa]] &amp;lt;tt&amp;gt;&amp;lt;landa.martin at gmail.com&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Press Release ==&lt;br /&gt;
&lt;br /&gt;
TBD: After the event :-)&lt;br /&gt;
&lt;br /&gt;
[[Category: Workshops]]&lt;br /&gt;
[[Category: Code Sprint]]&lt;br /&gt;
[[Category: 2023]]&lt;/div&gt;</summary>
		<author><name>⚠️Aaronsms</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=Raster_Parallelization_with_OpenMP&amp;diff=26564</id>
		<title>Raster Parallelization with OpenMP</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=Raster_Parallelization_with_OpenMP&amp;diff=26564"/>
		<updated>2021-08-19T16:02:05Z</updated>

		<summary type="html">&lt;p&gt;⚠️Aaronsms: Created page with &amp;quot;== Raster Modules with OpenMP support ==  The following modules have received OpenMP support for parallel processing since GSoC 2021 project. For modules that received OpenMP...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Raster Modules with OpenMP support ==&lt;br /&gt;
&lt;br /&gt;
The following modules have received OpenMP support for parallel processing since GSoC 2021 project. For modules that received OpenMP support prior to this, see [[OpenMP#OpenMP_support_in_GRASS_7|OpenMP support in GRASS 7]].&lt;br /&gt;
&lt;br /&gt;
* r.univar&lt;br /&gt;
* r.neighbors&lt;br /&gt;
* r.mfilter&lt;br /&gt;
* r.resamp.filter&lt;br /&gt;
* r.resamp.interp&lt;br /&gt;
* r.slope.aspect&lt;br /&gt;
* r.series&lt;br /&gt;
* r.patch&lt;br /&gt;
&lt;br /&gt;
== Implementation ==&lt;br /&gt;
&lt;br /&gt;
We can classify raster modules into 2 main categories: one which computes and outputs some statistics about a raster map and one which outputs a new raster map after some computation of a given raster map. &lt;br /&gt;
&lt;br /&gt;
For the first type of modules which does not output any raster map, the proportion of the module that can be parallelized is larger as they do not involve any sequential disk writes of compressed raster maps. As such, the implementation is straightforward: each thread read the input raster maps concurrently, maintain their own private set of statistics and finally reduce them to output the final statistics. Currently, the OpenMP loop scheduling is set to ''static'', and the map is split into equal-sized chunks and allocated to each thread for computation. This is because we want the behavior to be deterministic to ensure that the result we get for each run stays the same for the same input parameters. However, since the order of computation now differs among the single-threaded and multi-threaded runs, there may be floating point discrepancies using different number of threads. For example, on larger raster maps, the low-order bits are often lost for finite precision floating point numbers arithmetic, and thus the final statistics results depend on the order of arithmetic. This issue can potentially be rectified by keeping a running compensation to adjust for the floating point discrepancies (See [https://en.wikipedia.org/wiki/Kahan_summation_algorithm Kahan Summation Algorithm]). While that will reduce the error, there can be no guarantee of consistency between runs with different number of threads. Besides that, there are no major computational overhead introduced to support parallelization, and the memory usage is simply scaled according to the number of threads used for computation.&lt;br /&gt;
&lt;br /&gt;
In the modules listed above, the module that falls into this category is ''r.univar''.&lt;br /&gt;
&lt;br /&gt;
The second type of modules are trickier to implement since we have to do sequential disk writes to produce the compressed raster maps. There are 3 ideas to tackle this issue, (1) allocate enough memory for the entire output map for threads to work on before writing to the output raster map sequentially, (2) use a secondary storage (HDD/SSD) to store the results using temporary files before transferring to the output raster map and (3) split the processing of the raster map into chunks and store the results in memory. The first idea is straightforward and some modules such as ''r.sun'' has been implemented this way. However, we can easily face out-of-memory issues when running on very large raster files. Furthermore, we do not want to modify the original behavior of the modules, so this idea is not suitable for modules that have very low memory footprint. The second idea is to use temporary files instead of storing the results in-memory. This approach will incur additional disk reads and writes cost which can potentially be expensive on slower disk hardware. The costs are however amortized over the initial required disk I/O of the raster map. During a benchmark of ''r.neighbors'' parallelization using this approach, there are no significant extra costs as compared to the in-memory approach on a machine with NVMe SSD. While being a viable option, the third approach may provide more predictable performance which is less dependent on disk hardware. We introduce an additional user parameter, ''memory'', to control the size of the output buffer. This will decide the chunk size that we will split the raster map into, then we will do computation on each chunk followed by sequential writes to raster file alternately until we finish processing the input map. This staggered computation and writing does not affect the performance of the single-threaded runs. With that, we can easily parallelize over the computation parts of each chunk. Assume reasonably large enough chunk size, the threads can efficiently split the work and the overhead costs are not significant as compared to the total cost. The minimum chunk size is set to be at least k number of rows, where k is the number of threads specified. Also, we can consider the original behavior as a subset of the new implementation with chunk size set to a single row. This means that users can always opt for the original behavior by setting ''memory'' to 0 and ''nprocs'' to 1.&lt;br /&gt;
&lt;br /&gt;
The rest of modules listed above falls into the second category.&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
&lt;br /&gt;
To enable OpenMP support, users need to compile GRASS with OpenMP enabled.&lt;br /&gt;
&lt;br /&gt;
 ./configure --with-openmp&lt;br /&gt;
&lt;br /&gt;
Then after the compilation and installation, you can now run the modules above with parameters ''nprocs'' and ''memory''. For example,&lt;br /&gt;
&lt;br /&gt;
 r.univar map=INPUT zones=ZONE nprocs=12&lt;br /&gt;
 r.neighbors input=INPUT filter=9 method=average nprocs=12 memory=500&lt;br /&gt;
&lt;br /&gt;
There are also benchmark scripts available in each of the modules listed above for users to readily benchmark on their own machine. For modules-specific behavior, see the Performance sections under manual pages of each module.&lt;/div&gt;</summary>
		<author><name>⚠️Aaronsms</name></author>
	</entry>
</feed>