{"diffoscope-json-version": 1, "source1": "/srv/reproducible-results/rbuild-debian/r-b-build.A6au9ZwY/b1/qgis_3.40.4+dfsg-3_amd64.changes", "source2": "/srv/reproducible-results/rbuild-debian/r-b-build.A6au9ZwY/b2/qgis_3.40.4+dfsg-3_amd64.changes", "unified_diff": null, "details": [{"source1": "Files", "source2": "Files", "unified_diff": "@@ -16,15 +16,15 @@\n  03ce416fe759429bea8e9a2d06a49c6c 3391224 libs optional libqgis-native3.40.4_3.40.4+dfsg-3_amd64.deb\n  ff5b5d703dc4fe2878e88f5d1c91ef1e 8735320 debug optional libqgis-server3.40.4-dbgsym_3.40.4+dfsg-3_amd64.deb\n  c92505c6d40a73c658eb12301a053cb1 3658624 libs optional libqgis-server3.40.4_3.40.4+dfsg-3_amd64.deb\n  7651e76ad86879cfbb33ebbc6035aebe 3654080 debug optional libqgisgrass8-3.40.4-dbgsym_3.40.4+dfsg-3_amd64.deb\n  4626a216717387c5d0bd63958d57eedd 3574576 libs optional libqgisgrass8-3.40.4_3.40.4+dfsg-3_amd64.deb\n  86b0e1181d8e7a941dc9231c2d242029 355548 debug optional libqgispython3.40.4-dbgsym_3.40.4+dfsg-3_amd64.deb\n  5bfe628db58db08254b8be4f10ebf171 3395520 libs optional libqgispython3.40.4_3.40.4+dfsg-3_amd64.deb\n- 468fce0089c26c73f0de6d9bf2a52dad 6088400 python optional python3-qgis-common_3.40.4+dfsg-3_all.deb\n+ 71cb79f72e088ff95c5d9b03341056b2 6088420 python optional python3-qgis-common_3.40.4+dfsg-3_all.deb\n  3ff7beff2bf27012c957fb934c7f5ce7 94528368 debug optional python3-qgis-dbgsym_3.40.4+dfsg-3_amd64.deb\n  c0dd53e73757df864327f94fc913e470 18122568 python optional python3-qgis_3.40.4+dfsg-3_amd64.deb\n  df4b838c397bdf8f55b891c77b00b581 3172628332 doc optional qgis-api-doc_3.40.4+dfsg-3_all.deb\n  c57a58b6c5389179ce7da5745f82709c 26468452 science optional qgis-common_3.40.4+dfsg-3_all.deb\n  303827d4415a888935a576bbe32cb5fc 9596332 debug optional qgis-dbgsym_3.40.4+dfsg-3_amd64.deb\n  76470ca88bbd5a4eddb1dcf4ab177f1e 3811016 science optional qgis-plugin-grass-common_3.40.4+dfsg-3_all.deb\n  3537392c709cac2362cc80ff1752a7b2 4732288 debug optional qgis-plugin-grass-dbgsym_3.40.4+dfsg-3_amd64.deb\n"}, {"source1": "python3-qgis-common_3.40.4+dfsg-3_all.deb", "source2": "python3-qgis-common_3.40.4+dfsg-3_all.deb", "unified_diff": null, "details": [{"source1": "file list", "source2": "file list", "unified_diff": "@@ -1,3 +1,3 @@\n -rw-r--r--   0        0        0        4 2025-02-24 17:29:37.000000 debian-binary\n--rw-r--r--   0        0        0    15372 2025-02-24 17:29:37.000000 control.tar.xz\n--rw-r--r--   0        0        0  6072836 2025-02-24 17:29:37.000000 data.tar.xz\n+-rw-r--r--   0        0        0    15368 2025-02-24 17:29:37.000000 control.tar.xz\n+-rw-r--r--   0        0        0  6072860 2025-02-24 17:29:37.000000 data.tar.xz\n"}, {"source1": "control.tar.xz", "source2": "control.tar.xz", "unified_diff": null, "details": [{"source1": "control.tar", "source2": "control.tar", "unified_diff": null, "details": [{"source1": "./md5sums", "source2": "./md5sums", "unified_diff": null, "details": [{"source1": "./md5sums", "source2": "./md5sums", "comments": ["Files differ"], "unified_diff": null}]}]}]}, {"source1": "data.tar.xz", "source2": "data.tar.xz", "unified_diff": null, "details": [{"source1": "data.tar", "source2": "data.tar", "unified_diff": null, "details": [{"source1": "./usr/share/qgis/python/plugins/grassprovider/description/algorithms.json", "source2": "./usr/share/qgis/python/plugins/grassprovider/description/algorithms.json", "unified_diff": null, "details": [{"source1": "Pretty-printed", "source2": "Pretty-printed", "comments": ["Similarity: 0.6224215047321514%", "Differences: {'0': \"{'name': 'r.circle', 'display_name': 'r.circle', 'command': 'r.circle', \"", "      \"'short_description': 'Creates a raster map containing concentric rings around a given \"", "      \"point.', 'group': 'Raster (r.*)', 'group_id': 'raster', 'parameters': \"", "      \"['QgsProcessingParameterPoint|coordinates|The coordinate of the center \"", "      \"(east,north)|0,0|False', 'QgsProcessingParameterNumber|min|Minimum radius for ring/circle \"", "      \"map (in meters)|QgsProcessingParameterNumber.Double|None|True|None|None [\u2026]"], "unified_diff": "@@ -1,666 +1,614 @@\n [\n     {\n-        \"command\": \"v.in.e00\",\n-        \"display_name\": \"v.in.e00\",\n+        \"command\": \"r.circle\",\n+        \"display_name\": \"r.circle\",\n         \"ext_path\": null,\n-        \"group\": \"Vector (v.*)\",\n-        \"group_id\": \"vector\",\n-        \"hardcoded_strings\": [],\n-        \"name\": \"v.in.e00\",\n-        \"parameters\": [\n-            \"QgsProcessingParameterFile|input|Name of input E00 file|QgsProcessingParameterFile.File|e00|None|False\",\n-            \"QgsProcessingParameterEnum|type|Input feature type|point;line;area|True|0|True\",\n-            \"QgsProcessingParameterVectorDestination|output|Name of output vector\"\n-        ],\n-        \"short_description\": \"Imports E00 file into a vector map\"\n-    },\n-    {\n-        \"command\": \"r.what.color\",\n-        \"display_name\": \"r.what.color\",\n-        \"ext_path\": \"r_what_color\",\n         \"group\": \"Raster (r.*)\",\n         \"group_id\": \"raster\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"r.what.color\",\n+        \"name\": \"r.circle\",\n         \"parameters\": [\n-            \"QgsProcessingParameterRasterLayer|input|Raster map to query colors|None|False\",\n-            \"QgsProcessingParameterString|value|Values to query colors for (comma separated list)|None|False|True\",\n-            \"QgsProcessingParameterString|format|Output format (printf-style)|%d:%d:%d|False|True\",\n-            \"QgsProcessingParameterFileDestination|html|Colors file|HTML files (*.html)|None|False\"\n+            \"QgsProcessingParameterPoint|coordinates|The coordinate of the center (east,north)|0,0|False\",\n+            \"QgsProcessingParameterNumber|min|Minimum radius for ring/circle map (in meters)|QgsProcessingParameterNumber.Double|None|True|None|None\",\n+            \"QgsProcessingParameterNumber|max|Maximum radius for ring/circle map (in meters)|QgsProcessingParameterNumber.Double|None|True|None|None\",\n+            \"QgsProcessingParameterNumber|multiplier|Data value multiplier|QgsProcessingParameterNumber.Double|None|True|None|None\",\n+            \"QgsProcessingParameterBoolean|-b|Generate binary raster map|False\",\n+            \"QgsProcessingParameterRasterDestination|output|Circles\"\n         ],\n-        \"short_description\": \"Queries colors for a raster map layer.\"\n+        \"short_description\": \"Creates a raster map containing concentric rings around a given point.\"\n     },\n     {\n-        \"command\": \"r.patch\",\n-        \"display_name\": \"r.patch\",\n+        \"command\": \"v.qcount\",\n+        \"display_name\": \"v.qcount\",\n         \"ext_path\": null,\n-        \"group\": \"Raster (r.*)\",\n-        \"group_id\": \"raster\",\n-        \"hardcoded_strings\": [],\n-        \"name\": \"r.patch\",\n-        \"parameters\": [\n-            \"QgsProcessingParameterMultipleLayers|input|Raster layers to be patched together|3|None|False\",\n-            \"QgsProcessingParameterBoolean|-z|Use zero (0) for transparency instead of NULL|False\",\n-            \"QgsProcessingParameterRasterDestination|output|Patched\"\n-        ],\n-        \"short_description\": \"Creates a composite raster layer by using one (or more) layer(s) to fill in areas of \\\"no data\\\" in another map layer.\"\n-    },\n-    {\n-        \"command\": \"v.to.3d\",\n-        \"display_name\": \"v.to.3d\",\n-        \"ext_path\": \"v_to_3d\",\n         \"group\": \"Vector (v.*)\",\n         \"group_id\": \"vector\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"v.to.3d\",\n+        \"name\": \"v.qcount\",\n         \"parameters\": [\n-            \"QgsProcessingParameterFeatureSource|input|Name of input vector map|-1|None|False\",\n-            \"QgsProcessingParameterEnum|type|Input feature type|point;line;boundary;centroid|True|0,1,2,3|True\",\n-            \"QgsProcessingParameterNumber|height|Fixed height for 3D vector features|QgsProcessingParameterNumber.Double|None|True|None|None\",\n-            \"QgsProcessingParameterField|column|Name of attribute column used for height|None|input|0|False|True\",\n-            \"*QgsProcessingParameterBoolean|-r|Reverse transformation; 3D vector features to 2D|False\",\n-            \"*QgsProcessingParameterBoolean|-t|Do not copy attribute table|False\",\n-            \"QgsProcessingParameterVectorDestination|output|3D\"\n+            \"QgsProcessingParameterFeatureSource|input|Vector points layer|0|None|False\",\n+            \"QgsProcessingParameterNumber|nquadrats|Number of quadrats|QgsProcessingParameterNumber.Integer|4|False|0|None\",\n+            \"QgsProcessingParameterNumber|radius|Quadrat radius|QgsProcessingParameterNumber.Double|10.0|False|0.0|None\",\n+            \"QgsProcessingParameterVectorDestination|output|Quadrats\"\n         ],\n-        \"short_description\": \"Performs transformation of 2D vector features to 3D.\"\n+        \"short_description\": \"Indices for quadrat counts of vector point lists.\"\n     },\n     {\n-        \"command\": \"r.coin\",\n-        \"display_name\": \"r.coin\",\n+        \"command\": \"r.volume\",\n+        \"display_name\": \"r.volume\",\n         \"ext_path\": null,\n         \"group\": \"Raster (r.*)\",\n         \"group_id\": \"raster\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"r.coin\",\n-        \"parameters\": [\n-            \"QgsProcessingParameterRasterLayer|first|Name of first raster map|None|False\",\n-            \"QgsProcessingParameterRasterLayer|second|Name of second raster map|None|False\",\n-            \"QgsProcessingParameterEnum|units|Unit of measure|c;p;x;y;a;h;k;m\",\n-            \"QgsProcessingParameterBoolean|-w|Wide report, 132 columns (default: 80)|False\",\n-            \"QgsProcessingParameterFileDestination|html|Coincidence report|Html files (*.html)|report.html|False\"\n-        ],\n-        \"short_description\": \"Tabulates the mutual occurrence (coincidence) of categories for two raster map layers.\"\n-    },\n-    {\n-        \"command\": \"r.blend\",\n-        \"display_name\": \"r.blend.combine\",\n-        \"ext_path\": \"r_blend_combine\",\n-        \"group\": \"Raster (r.*)\",\n-        \"group_id\": \"raster\",\n-        \"hardcoded_strings\": [\n-            \"-c\"\n-        ],\n-        \"name\": \"r.blend.combine\",\n+        \"name\": \"r.volume\",\n         \"parameters\": [\n-            \"QgsProcessingParameterRasterLayer|first|Name of first raster map for blending|None|False\",\n-            \"QgsProcessingParameterRasterLayer|second|Name of second raster map for blending|None|False\",\n-            \"QgsProcessingParameterNumber|percent|Percentage weight of first map for color blending|QgsProcessingParameterNumber.Double|50.0|True|0.0|100.0\",\n-            \"Hardcoded|-c\",\n-            \"QgsProcessingParameterRasterDestination|output|Blended\"\n+            \"QgsProcessingParameterRasterLayer|input|Name of input raster map representing data that will be summed within clumps|None|False\",\n+            \"QgsProcessingParameterRasterLayer|clump|Clumps layer (preferably the output of r.clump)|None|False\",\n+            \"*QgsProcessingParameterBoolean|-f|Generate unformatted report|False\",\n+            \"QgsProcessingParameterVectorDestination|centroids|Centroids\"\n         ],\n-        \"short_description\": \"r.blend.combine - Blends color components of two raster maps by a given ratio and export into a unique raster.\"\n+        \"short_description\": \"Calculates the volume of data \\\"clumps\\\".\"\n     },\n     {\n-        \"command\": \"r.li.padrange\",\n-        \"display_name\": \"r.li.padrange.ascii\",\n-        \"ext_path\": \"r_li_padrange_ascii\",\n+        \"command\": \"r.topmodel\",\n+        \"display_name\": \"r.topmodel\",\n+        \"ext_path\": null,\n         \"group\": \"Raster (r.*)\",\n         \"group_id\": \"raster\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"r.li.padrange.ascii\",\n+        \"name\": \"r.topmodel\",\n         \"parameters\": [\n-            \"QgsProcessingParameterRasterLayer|input|Name of input raster map|None|False\",\n-            \"QgsProcessingParameterString|config_txt|Landscape structure configuration|None|True|True\",\n-            \"QgsProcessingParameterFile|config|Landscape structure configuration file|QgsProcessingParameterFile.File|txt|None|True\",\n-            \"QgsProcessingParameterFileDestination|output_txt|Pad Range|Txt files (*.txt)|None|False\"\n+            \"QgsProcessingParameterFile|parameters|Name of TOPMODEL parameters file|QgsProcessingParameterFile.File|txt|None|False\",\n+            \"QgsProcessingParameterFile|topidxstats|Name of topographic index statistics file|QgsProcessingParameterFile.File|txt|None|False\",\n+            \"QgsProcessingParameterFile|input|Name of rainfall and potential evapotranspiration data file|QgsProcessingParameterFile.File|txt|None|False\",\n+            \"QgsProcessingParameterNumber|timestep|Time step. Generate output for this time step|QgsProcessingParameterNumber.Integer|None|True|0|None\",\n+            \"QgsProcessingParameterNumber|topidxclass|Topographic index class. Generate output for this topographic index class|QgsProcessingParameterNumber.Integer|None|True|0|None\",\n+            \"QgsProcessingParameterFileDestination|output|TOPMODEL output|Txt files (*.txt)|None|False\"\n         ],\n-        \"short_description\": \"r.li.padrange.ascii - Calculates range of patch area size on a raster map\"\n+        \"short_description\": \"Simulates TOPMODEL which is a physically based hydrologic model.\"\n     },\n     {\n-        \"command\": \"r.path\",\n-        \"display_name\": \"r.path\",\n-        \"ext_path\": null,\n+        \"command\": \"r.resamp.filter\",\n+        \"display_name\": \"r.resamp.filter\",\n+        \"ext_path\": \"r_resamp_filter\",\n         \"group\": \"Raster (r.*)\",\n         \"group_id\": \"raster\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"r.path\",\n-        \"parameters\": [\n-            \"QgsProcessingParameterRasterLayer|input|Name of input direction\",\n-            \"QgsProcessingParameterEnum|format|Format of the input direction map|auto;degree;45degree;bitmask|false|0|false\",\n-            \"QgsProcessingParameterRasterLayer|values|Name of input raster values to be used for output|None|True\",\n-            \"QgsProcessingParameterRasterDestination|raster_path|Name for output raster path map\",\n-            \"QgsProcessingParameterVectorDestination|vector_path|Name for output vector path map\",\n-            \"QgsProcessingParameterFeatureSource|start_points|Vector layer containing starting point(s)|0|None|False\",\n-            \"QgsProcessingParameterBoolean|-c|Copy input cell values on output|False\",\n-            \"QgsProcessingParameterBoolean|-a|Accumulate input values along the path|False\",\n-            \"QgsProcessingParameterBoolean|-n|Count cell numbers along the path|False\"\n-        ],\n-        \"short_description\": \"Traces paths from starting points following input directions.\"\n-    },\n-    {\n-        \"command\": \"v.out.ascii\",\n-        \"display_name\": \"v.out.ascii\",\n-        \"ext_path\": null,\n-        \"group\": \"Vector (v.*)\",\n-        \"group_id\": \"vector\",\n-        \"hardcoded_strings\": [],\n-        \"name\": \"v.out.ascii\",\n-        \"parameters\": [\n-            \"QgsProcessingParameterFeatureSource|input|Name of input vector map|-1|None|False\",\n-            \"QgsProcessingParameterEnum|type|Input feature type|point;line;boundary;centroid;area;face;kernel|True|0,1,2,3,4,5,6|True\",\n-            \"QgsProcessingParameterField|columns|Name of attribute column(s) to be exported|None|input|-1|True|True\",\n-            \"QgsProcessingParameterString|where|WHERE conditions of SQL statement without 'where' keyword|None|True|True\",\n-            \"QgsProcessingParameterEnum|format|Output format|point;standard;wkt|False|0|False\",\n-            \"QgsProcessingParameterEnum|separator|Field separator|pipe;comma;space;tab;newline|False|0|False\",\n-            \"QgsProcessingParameterNumber|precision|Number of significant digits (floating point only)|QgsProcessingParameterNumber.Integer|8|True|0|32\",\n-            \"*QgsProcessingParameterBoolean|-o|Create old (version 4) ASCII file|False\",\n-            \"*QgsProcessingParameterBoolean|-c|Include column names in output (points mode)|False\",\n-            \"QgsProcessingParameterFileDestination|output|Name for output ASCII file or ASCII vector name if '-o' is defined|Txt files (*.txt)|None|False\"\n-        ],\n-        \"short_description\": \"Exports a vector map to a GRASS ASCII vector representation.\"\n-    },\n-    {\n-        \"command\": \"m.cogo\",\n-        \"display_name\": \"m.cogo\",\n-        \"ext_path\": null,\n-        \"group\": \"Miscellaneous (m.*)\",\n-        \"group_id\": \"miscellaneous\",\n-        \"hardcoded_strings\": [],\n-        \"name\": \"m.cogo\",\n+        \"name\": \"r.resamp.filter\",\n         \"parameters\": [\n-            \"QgsProcessingParameterFile|input|Name of input file|QgsProcessingParameterFile.File|txt|None|False\",\n-            \"QgsProcessingParameterFileDestination|output|Output text file|Txt files (*.txt)|None|False\",\n-            \"QgsProcessingParameterPoint|coordinates|Starting coordinate pair|0.0,0.0\",\n-            \"*QgsProcessingParameterBoolean|-l|Lines are labelled|False\",\n-            \"*QgsProcessingParameterBoolean|-q|Suppress warnings|False\",\n-            \"*QgsProcessingParameterBoolean|-r|Convert from coordinates to bearing and distance|False\",\n-            \"*QgsProcessingParameterBoolean|-c|Repeat the starting coordinate at the end to close a loop|False\"\n+            \"QgsProcessingParameterRasterLayer|input|Input raster layer|None|False\",\n+            \"QgsProcessingParameterEnum|filter|Filter kernel(s)|box;bartlett;gauss;normal;hermite;sinc;lanczos1;lanczos2;lanczos3;hann;hamming;blackman|True|0|False\",\n+            \"QgsProcessingParameterString|radius|Filter radius for each filter (comma separated list of float if multiple)|None|False|True\",\n+            \"QgsProcessingParameterString|x_radius|Filter radius (horizontal) for each filter (comma separated list of float if multiple)|None|False|True\",\n+            \"QgsProcessingParameterString|y_radius|Filter radius (vertical) for each filter (comma separated list of float if multiple)|None|False|True\",\n+            \"*QgsProcessingParameterBoolean|-n|Propagate NULLs|False|True\",\n+            \"QgsProcessingParameterRasterDestination|output|Resampled Filter\"\n         ],\n-        \"short_description\": \"A simple utility for converting bearing and distance measurements to coordinates and vice versa. It assumes a Cartesian coordinate system\"\n+        \"short_description\": \"Resamples raster map layers using an analytic kernel.\"\n     },\n     {\n-        \"command\": \"v.vect.stats\",\n-        \"display_name\": \"v.vect.stats\",\n-        \"ext_path\": \"v_vect_stats\",\n-        \"group\": \"Vector (v.*)\",\n-        \"group_id\": \"vector\",\n+        \"command\": \"g.extension\",\n+        \"display_name\": \"g.extension.list\",\n+        \"ext_path\": \"g_extension_list\",\n+        \"group\": \"General (g.*)\",\n+        \"group_id\": \"general\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"v.vect.stats\",\n+        \"name\": \"g.extension.list\",\n         \"parameters\": [\n-            \"QgsProcessingParameterFeatureSource|points|Name of existing vector map with points|0|None|False\",\n-            \"QgsProcessingParameterFeatureSource|areas|Name of existing vector map with areas|2|None|False\",\n-            \"QgsProcessingParameterEnum|type|Input feature type|point;centroid|True|0|False\",\n-            \"QgsProcessingParameterEnum|method|Method for aggregate statistics|sum;average;median;mode;minimum;min_cat;maximum;max_cat;range;stddev;variance;diversity|False|0\",\n-            \"QgsProcessingParameterField|points_column|Column name of points map to use for statistics|None|points|0|False|False\",\n-            \"QgsProcessingParameterString|count_column|Column name to upload points count (integer, created if doesn't exists)|None|False|False\",\n-            \"QgsProcessingParameterString|stats_column|Column name to upload statistics (double, created if doesn't exists)|None|False|False\",\n-            \"QgsProcessingParameterVectorDestination|output|Updated\"\n+            \"QgsProcessingParameterEnum|list|List|Locally installed extensions;Extensions available in the official GRASS GIS Addons repository;Extensions available in the official GRASS GIS Addons repository including module description|False|0|False\",\n+            \"QgsProcessingParameterFileDestination|html|List of addons|Html files (*.html)|addons_list.html|True\"\n         ],\n-        \"short_description\": \"Count points in areas and calculate statistics.\"\n+        \"short_description\": \"g.extension.list - List GRASS addons.\"\n     },\n     {\n-        \"command\": \"v.lidar.correction\",\n-        \"display_name\": \"v.lidar.correction\",\n-        \"ext_path\": null,\n-        \"group\": \"Vector (v.*)\",\n-        \"group_id\": \"vector\",\n+        \"command\": \"r.li.simpson\",\n+        \"display_name\": \"r.li.simpson\",\n+        \"ext_path\": \"r_li_simpson\",\n+        \"group\": \"Raster (r.*)\",\n+        \"group_id\": \"raster\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"v.lidar.correction\",\n+        \"name\": \"r.li.simpson\",\n         \"parameters\": [\n-            \"QgsProcessingParameterFeatureSource|input|Input vector layer (v.lidar.growing output)|-1|None|False\",\n-            \"QgsProcessingParameterNumber|ew_step|Length of each spline step in the east-west direction|QgsProcessingParameterNumber.Double|25.0|True|0.0|None\",\n-            \"QgsProcessingParameterNumber|ns_step|Length of each spline step in the north-south direction|QgsProcessingParameterNumber.Double|25.0|True|0.0|None\",\n-            \"QgsProcessingParameterNumber|lambda_c|Regularization weight in reclassification evaluation|QgsProcessingParameterNumber.Double|1.0|True|0.0|None\",\n-            \"QgsProcessingParameterNumber|tch|High threshold for object to terrain reclassification|QgsProcessingParameterNumber.Double|2.0|True|0.0|None\",\n-            \"QgsProcessingParameterNumber|tcl|Low threshold for terrain to object reclassification|QgsProcessingParameterNumber.Double|1.0|True|0.0|None\",\n-            \"QgsProcessingParameterBoolean|-e|Estimate point density and distance|False\",\n-            \"QgsProcessingParameterVectorDestination|output|Classified\",\n-            \"QgsProcessingParameterVectorDestination|terrain|Only 'terrain' points\"\n+            \"QgsProcessingParameterRasterLayer|input|Name of input raster map|None|False\",\n+            \"QgsProcessingParameterString|config_txt|Landscape structure configuration|None|True|True\",\n+            \"QgsProcessingParameterFile|config|Landscape structure configuration file|QgsProcessingParameterFile.File|txt|None|True\",\n+            \"QgsProcessingParameterRasterDestination|output|Simpson\"\n         ],\n-        \"short_description\": \"Correction of the v.lidar.growing output. It is the last of the three algorithms for LIDAR filtering.\"\n+        \"short_description\": \"Calculates Simpson's diversity index on a raster map\"\n     },\n     {\n-        \"command\": \"v.out.pov\",\n-        \"display_name\": \"v.out.pov\",\n+        \"command\": \"v.drape\",\n+        \"display_name\": \"v.drape\",\n         \"ext_path\": null,\n         \"group\": \"Vector (v.*)\",\n         \"group_id\": \"vector\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"v.out.pov\",\n+        \"name\": \"v.drape\",\n         \"parameters\": [\n-            \"QgsProcessingParameterFeatureSource|input|Name of input vector map|-1|None|False\",\n-            \"QgsProcessingParameterEnum|type|Input feature type|point;line;boundary;centroid;area;face;kernel|True|0,1,4,5|True\",\n-            \"QgsProcessingParameterNumber|size|Radius of sphere for points and tube for lines|QgsProcessingParameterNumber.Double|10.0|False|0.0|None\",\n-            \"QgsProcessingParameterString|zmod|Modifier for z coordinates, this string is appended to each z coordinate|None|False|True\",\n-            \"QgsProcessingParameterString|objmod|Object modifier (OBJECT_MODIFIER in POV-Ray documentation)|None|False|True\",\n-            \"QgsProcessingParameterFileDestination|output|POV vector|Pov files (*.pov)|None|False\"\n+            \"QgsProcessingParameterFeatureSource|input|Input vector layer|-1|None|False\",\n+            \"QgsProcessingParameterString|where|WHERE conditions of SQL statement without 'where' keyword|None|True|True\",\n+            \"QgsProcessingParameterEnum|type|Input feature type|point;line;boundary;centroid|True|0,1,3,4|True\",\n+            \"QgsProcessingParameterRasterLayer|elevation|Elevation raster map for height extraction|None|False\",\n+            \"QgsProcessingParameterEnum|method|Sampling method|nearest;bilinear;bicubic|False|0|True\",\n+            \"QgsProcessingParameterNumber|scale|Scale factor sampled raster values|QgsProcessingParameterNumber.Double|1.0|True|None|None\",\n+            \"QgsProcessingParameterNumber|null_value|Height for sampled raster NULL values|QgsProcessingParameterNumber.Double|None|True|None|None\",\n+            \"QgsProcessingParameterVectorDestination|output|3D vector\"\n         ],\n-        \"short_description\": \"Converts to POV-Ray format, GRASS x,y,z -> POV-Ray x,z,y\"\n+        \"short_description\": \"Converts 2D vector features to 3D by sampling of elevation raster map.\"\n     },\n     {\n-        \"command\": \"r.contour\",\n-        \"display_name\": \"r.contour\",\n+        \"command\": \"r.surf.fractal\",\n+        \"display_name\": \"r.surf.fractal\",\n         \"ext_path\": null,\n         \"group\": \"Raster (r.*)\",\n         \"group_id\": \"raster\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"r.contour\",\n+        \"name\": \"r.surf.fractal\",\n         \"parameters\": [\n-            \"QgsProcessingParameterRasterLayer|input|Input raster|None|False\",\n-            \"QgsProcessingParameterNumber|step|Increment between contour levels|QgsProcessingParameterNumber.Double|None|True|None|None\",\n-            \"QgsProcessingParameterString|levels|List of contour levels|None|False|True\",\n-            \"QgsProcessingParameterNumber|minlevel|Minimum contour level|QgsProcessingParameterNumber.Double|None|True|None|None\",\n-            \"QgsProcessingParameterNumber|maxlevel|Maximum contour level|QgsProcessingParameterNumber.Double|None|True|None|None\",\n-            \"QgsProcessingParameterNumber|cut|Minimum number of points for a contour line (0 -> no limit)|QgsProcessingParameterNumber.Integer|0|True|0|None\",\n-            \"QgsProcessingParameterVectorDestination|output|Contours\"\n+            \"QgsProcessingParameterNumber|dimension|Fractal dimension of surface (2 < D < 3)|QgsProcessingParameterNumber.Double|2.05|True|2.0|3.0\",\n+            \"QgsProcessingParameterNumber|number|Number of intermediate images to produce|QgsProcessingParameterNumber.Integer|0|True|0|None\",\n+            \"QgsProcessingParameterRasterDestination|output|Fractal Surface\"\n         ],\n-        \"short_description\": \"Produces a vector map of specified contours from a raster map.\"\n+        \"short_description\": \"Creates a fractal surface of a given fractal dimension.\"\n     },\n     {\n-        \"command\": \"r.proj\",\n-        \"display_name\": \"r.proj\",\n-        \"ext_path\": \"r_proj\",\n+        \"command\": \"r.li.patchnum\",\n+        \"display_name\": \"r.li.patchnum\",\n+        \"ext_path\": \"r_li_patchnum\",\n         \"group\": \"Raster (r.*)\",\n         \"group_id\": \"raster\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"r.proj\",\n+        \"name\": \"r.li.patchnum\",\n         \"parameters\": [\n-            \"QgsProcessingParameterRasterLayer|input|Input raster to reproject|None|False\",\n-            \"QgsProcessingParameterCrs|crs|New coordinate reference system|None|False\",\n-            \"QgsProcessingParameterEnum|method|Interpolation method to use|nearest;bilinear;bicubic;lanczos;bilinear_f;bicubic_f;lanczos_f|False|0|True\",\n-            \"QgsProcessingParameterNumber|memory|Maximum memory to be used (in MB)|QgsProcessingParameterNumber.Integer|300|True|0|None\",\n-            \"QgsProcessingParameterNumber|resolution|Resolution of output raster map|QgsProcessingParameterNumber.Double|None|True|0.0|None\",\n-            \"*QgsProcessingParameterBoolean|-n|Do not perform region cropping optimization|False|True\",\n-            \"QgsProcessingParameterRasterDestination|output|Reprojected raster\"\n+            \"QgsProcessingParameterRasterLayer|input|Name of input raster map|None|False\",\n+            \"QgsProcessingParameterString|config_txt|Landscape structure configuration|None|True|True\",\n+            \"QgsProcessingParameterFile|config|Landscape structure configuration file|QgsProcessingParameterFile.File|txt|None|True\",\n+            \"QgsProcessingParameterRasterDestination|output|Patch Number\"\n         ],\n-        \"short_description\": \"Re-projects a raster layer to another coordinate reference system\"\n+        \"short_description\": \"Calculates patch number index on a raster map, using a 4 neighbour algorithm.\"\n     },\n     {\n-        \"command\": \"r.mode\",\n-        \"display_name\": \"r.mode\",\n+        \"command\": \"r.watershed\",\n+        \"display_name\": \"r.watershed\",\n         \"ext_path\": null,\n         \"group\": \"Raster (r.*)\",\n         \"group_id\": \"raster\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"r.mode\",\n+        \"name\": \"r.watershed\",\n         \"parameters\": [\n-            \"QgsProcessingParameterRasterLayer|base|Base layer to be reclassified|None|False\",\n-            \"QgsProcessingParameterRasterLayer|cover|Categories layer|None|False\",\n-            \"QgsProcessingParameterRasterDestination|output|Mode\"\n+            \"QgsProcessingParameterRasterLayer|elevation|Elevation|None|False\",\n+            \"QgsProcessingParameterRasterLayer|depression|Locations of real depressions|None|True\",\n+            \"QgsProcessingParameterRasterLayer|flow|Amount of overland flow per cell|None|True\",\n+            \"QgsProcessingParameterRasterLayer|disturbed_land|Percent of disturbed land, for USLE|None|True\",\n+            \"QgsProcessingParameterRasterLayer|blocking|Terrain blocking overland surface flow, for USLE|None|True\",\n+            \"QgsProcessingParameterNumber|threshold|Minimum size of exterior watershed basin|QgsProcessingParameterNumber.Integer|None|True|None|None\",\n+            \"QgsProcessingParameterNumber|max_slope_length|Maximum length of surface flow, for USLE|QgsProcessingParameterNumber.Double|None|True|None|None\",\n+            \"QgsProcessingParameterNumber|convergence|Convergence factor for MFD (1-10)|QgsProcessingParameterNumber.Integer|5|True|1|10\",\n+            \"QgsProcessingParameterNumber|memory|Maximum memory to be used with -m flag (in MB)|QgsProcessingParameterNumber.Integer|300|True|1|None\",\n+            \"QgsProcessingParameterBoolean|-s|Enable Single Flow Direction (D8) flow (default is Multiple Flow Direction)|False\",\n+            \"QgsProcessingParameterBoolean|-m|Enable disk swap memory option (-m): Operation is slow|False\",\n+            \"QgsProcessingParameterBoolean|-4|Allow only horizontal and vertical flow of water|False\",\n+            \"QgsProcessingParameterBoolean|-a|Use positive flow accumulation even for likely underestimates|False\",\n+            \"QgsProcessingParameterBoolean|-b|Beautify flat areas|False\",\n+            \"QgsProcessingParameterRasterDestination|accumulation|Number of cells that drain through each cell|None|True\",\n+            \"QgsProcessingParameterRasterDestination|drainage|Drainage direction|None|True\",\n+            \"QgsProcessingParameterRasterDestination|basin|Unique label for each watershed basin|None|True\",\n+            \"QgsProcessingParameterRasterDestination|stream|Stream segments|None|True\",\n+            \"QgsProcessingParameterRasterDestination|half_basin|Half-basins|None|True\",\n+            \"QgsProcessingParameterRasterDestination|length_slope|Slope length and steepness (LS) factor for USLE|None|True\",\n+            \"QgsProcessingParameterRasterDestination|slope_steepness|Slope steepness (S) factor for USLE|None|True\",\n+            \"QgsProcessingParameterRasterDestination|tci|Topographic index ln(a / tan(b))|None|True\",\n+            \"QgsProcessingParameterRasterDestination|spi|Stream power index a * tan(b)|None|True\"\n         ],\n-        \"short_description\": \"Finds the mode of values in a cover layer within areas assigned the same category value in a user-specified base layer.\"\n+        \"short_description\": \"Watershed basin analysis program.\"\n     },\n     {\n-        \"command\": \"r.in.lidar\",\n-        \"display_name\": \"r.in.lidar.info\",\n+        \"command\": \"v.in.e00\",\n+        \"display_name\": \"v.in.e00\",\n         \"ext_path\": null,\n-        \"group\": \"Raster (r.*)\",\n-        \"group_id\": \"raster\",\n-        \"hardcoded_strings\": [\n-            \"-p\",\n-            \"-g\",\n-            \"-s\"\n-        ],\n-        \"name\": \"r.in.lidar.info\",\n-        \"parameters\": [\n-            \"QgsProcessingParameterFile|input|LAS input file|QgsProcessingParameterFile.File|las|None|False\",\n-            \"Hardcoded|-p\",\n-            \"Hardcoded|-g\",\n-            \"Hardcoded|-s\",\n-            \"QgsProcessingParameterFileDestination|html|LAS information|Html files (*.html)|report.html|False\"\n-        ],\n-        \"short_description\": \"r.in.lidar.info - Extract information from LAS file\"\n-    },\n-    {\n-        \"command\": \"r.li.richness\",\n-        \"display_name\": \"r.li.richness.ascii\",\n-        \"ext_path\": \"r_li_richness_ascii\",\n-        \"group\": \"Raster (r.*)\",\n-        \"group_id\": \"raster\",\n+        \"group\": \"Vector (v.*)\",\n+        \"group_id\": \"vector\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"r.li.richness.ascii\",\n+        \"name\": \"v.in.e00\",\n         \"parameters\": [\n-            \"QgsProcessingParameterRasterLayer|input|Name of input raster map|None|False\",\n-            \"QgsProcessingParameterString|config_txt|Landscape structure configuration|None|True|True\",\n-            \"QgsProcessingParameterFile|config|Landscape structure configuration file|QgsProcessingParameterFile.File|txt|None|True\",\n-            \"QgsProcessingParameterFileDestination|output_txt|Richness|Txt files (*.txt)|None|False\"\n+            \"QgsProcessingParameterFile|input|Name of input E00 file|QgsProcessingParameterFile.File|e00|None|False\",\n+            \"QgsProcessingParameterEnum|type|Input feature type|point;line;area|True|0|True\",\n+            \"QgsProcessingParameterVectorDestination|output|Name of output vector\"\n         ],\n-        \"short_description\": \"r.li.richness.ascii - Calculates richness index on a raster map\"\n+        \"short_description\": \"Imports E00 file into a vector map\"\n     },\n     {\n-        \"command\": \"r.li.renyi\",\n-        \"display_name\": \"r.li.renyi.ascii\",\n-        \"ext_path\": \"r_li_renyi_ascii\",\n+        \"command\": \"r.carve\",\n+        \"display_name\": \"r.carve\",\n+        \"ext_path\": null,\n         \"group\": \"Raster (r.*)\",\n         \"group_id\": \"raster\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"r.li.renyi.ascii\",\n+        \"name\": \"r.carve\",\n         \"parameters\": [\n-            \"QgsProcessingParameterRasterLayer|input|Name of input raster map|None|False\",\n-            \"QgsProcessingParameterString|config_txt|Landscape structure configuration|None|True|True\",\n-            \"QgsProcessingParameterFile|config|Landscape structure configuration file|QgsProcessingParameterFile.File|txt|None|True\",\n-            \"QgsProcessingParameterString|alpha|Alpha value is the order of the generalized entropy|None|False|False\",\n-            \"QgsProcessingParameterFileDestination|output_txt|Renyi|Txt files (*.txt)|None|False\"\n+            \"QgsProcessingParameterRasterLayer|raster|Elevation|None|False\",\n+            \"QgsProcessingParameterFeatureSource|vector|Vector layer containing stream(s)|1|None|False\",\n+            \"QgsProcessingParameterNumber|width|Stream width (in meters). Default is raster cell width|QgsProcessingParameterNumber.Double|None|True|None|None\",\n+            \"QgsProcessingParameterNumber|depth|Additional stream depth (in meters)|QgsProcessingParameterNumber.Double|None|True|None|None\",\n+            \"QgsProcessingParameterBoolean|-n|No flat areas allowed in flow direction|False\",\n+            \"QgsProcessingParameterRasterDestination|output|Modified elevation\",\n+            \"QgsProcessingParameterVectorDestination|points|Adjusted stream points\"\n         ],\n-        \"short_description\": \"r.li.renyi.ascii - Calculates Renyi's diversity index on a raster map\"\n+        \"short_description\": \"Takes vector stream data, transforms it to raster and subtracts depth from the output DEM.\"\n     },\n     {\n-        \"command\": \"v.surf.rst\",\n-        \"display_name\": \"v.surf.rst.cvdev\",\n+        \"command\": \"r.stats\",\n+        \"display_name\": \"r.stats\",\n         \"ext_path\": null,\n-        \"group\": \"Vector (v.*)\",\n-        \"group_id\": \"vector\",\n+        \"group\": \"Raster (r.*)\",\n+        \"group_id\": \"raster\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"v.surf.rst.cvdev\",\n+        \"name\": \"r.stats\",\n         \"parameters\": [\n-            \"QgsProcessingParameterFeatureSource|input|Input points layer|0|None|False\",\n-            \"QgsProcessingParameterField|zcolumn|Name of the attribute column with values to be used for approximation|None|input|-1|False|True\",\n-            \"QgsProcessingParameterString|where|WHERE conditions of SQL statement without 'where' keyword|None|True|True\",\n-            \"QgsProcessingParameterRasterLayer|mask|Name of the raster map used as mask|None|True\",\n-            \"QgsProcessingParameterNumber|tension|Tension parameter|QgsProcessingParameterNumber.Double|40.0|True|None|None\",\n-            \"QgsProcessingParameterNumber|smooth|Smoothing parameter|QgsProcessingParameterNumber.Double|None|True|None|None\",\n-            \"QgsProcessingParameterField|smooth_column|Name of the attribute column with smoothing parameters|None|input|-1|False|True\",\n-            \"QgsProcessingParameterNumber|segmax|Maximum number of points in a segment|QgsProcessingParameterNumber.Integer|40|True|0|None\",\n-            \"QgsProcessingParameterNumber|npmin|Minimum number of points for approximation in a segment (>segmax)|QgsProcessingParameterNumber.Integer|300|True|0|None\",\n-            \"QgsProcessingParameterNumber|dmin|Minimum distance between points (to remove almost identical points)|QgsProcessingParameterNumber.Double|None|True|0.0|None\",\n-            \"QgsProcessingParameterNumber|dmax|Maximum distance between points on isoline (to insert additional points)|QgsProcessingParameterNumber.Double|None|True|None|None\",\n-            \"QgsProcessingParameterNumber|zscale|Conversion factor for values used for approximation|QgsProcessingParameterNumber.Double|1.0|True|None|None\",\n-            \"QgsProcessingParameterNumber|theta|Anisotropy angle (in degrees counterclockwise from East)|QgsProcessingParameterNumber.Double|None|True|0.0|360.0\",\n-            \"QgsProcessingParameterNumber|scalex|Anisotropy scaling factor|QgsProcessingParameterNumber.Double|None|True|None|None\",\n-            \"QgsProcessingParameterBoolean|-t|Use scale dependent tension|False\",\n-            \"QgsProcessingParameterBoolean|-c|Perform cross-validation procedure without raster approximation [leave this option as True]|True\",\n-            \"QgsProcessingParameterVectorDestination|cvdev|Cross Validation Errors|QgsProcessing.TypeVectorAnyGeometry|None|True\"\n+            \"QgsProcessingParameterMultipleLayers|input|Name of input raster map|3|None|False\",\n+            \"QgsProcessingParameterString|separator|Output field separator|space|False|True\",\n+            \"QgsProcessingParameterString|null_value|String representing no data cell value|*|False|True\",\n+            \"QgsProcessingParameterNumber|nsteps|Number of floating-point subranges to collect stats from|QgsProcessingParameterNumber.Integer|255|True|1|None\",\n+            \"QgsProcessingParameterEnum|sort|Sort output statistics by cell counts|asc;desc|False|0|False\",\n+            \"QgsProcessingParameterBoolean|-1|One cell (range) per line|True\",\n+            \"QgsProcessingParameterBoolean|-A|Print averaged values instead of intervals|False\",\n+            \"QgsProcessingParameterBoolean|-a|Print area totals|False\",\n+            \"QgsProcessingParameterBoolean|-c|Print cell counts|False\",\n+            \"QgsProcessingParameterBoolean|-p|Print APPROXIMATE percents (total percent may not be 100%)|False\",\n+            \"QgsProcessingParameterBoolean|-l|Print category labels|False\",\n+            \"QgsProcessingParameterBoolean|-g|Print grid coordinates (east and north)|False\",\n+            \"QgsProcessingParameterBoolean|-x|Print x and y (column and row)|False\",\n+            \"QgsProcessingParameterBoolean|-r|Print raw indexes of fp ranges (fp maps only)|False\",\n+            \"QgsProcessingParameterBoolean|-n|Suppress reporting of any NULLs|False\",\n+            \"QgsProcessingParameterBoolean|-N|Suppress reporting of NULLs when all values are NULL|False\",\n+            \"QgsProcessingParameterBoolean|-C|Report for cats fp ranges (fp maps only)|False\",\n+            \"QgsProcessingParameterBoolean|-i|Read fp map as integer (use map's quant rules)|False\",\n+            \"QgsProcessingParameterFileDestination|html|Statistics|Html files (*.html)|report.html|False\"\n         ],\n-        \"short_description\": \"v.surf.rst.cvdev - Performs surface interpolation from vector points map by splines.\"\n+        \"short_description\": \"Generates area statistics for raster layers.\"\n     },\n     {\n-        \"command\": \"v.build\",\n-        \"display_name\": \"v.build.check\",\n-        \"ext_path\": null,\n+        \"command\": \"v.rast.stats\",\n+        \"display_name\": \"v.rast.stats\",\n+        \"ext_path\": \"v_rast_stats\",\n         \"group\": \"Vector (v.*)\",\n         \"group_id\": \"vector\",\n         \"hardcoded_strings\": [\n-            \"-e\"\n+            \"-c\"\n         ],\n-        \"name\": \"v.build.check\",\n+        \"name\": \"v.rast.stats\",\n         \"parameters\": [\n-            \"QgsProcessingParameterFeatureSource|map|Name of vector map|-1|None|False\",\n-            \"Hardcoded|-e\",\n-            \"QgsProcessingParameterVectorDestination|error|Topological errors\"\n+            \"QgsProcessingParameterFeatureSource|map|Name of vector polygon map|-1|None|False\",\n+            \"QgsProcessingParameterRasterLayer|raster|Name of raster map to calculate statistics from|None|False\",\n+            \"QgsProcessingParameterString|column_prefix|Column prefix for new attribute columns|None|False|False\",\n+            \"QgsProcessingParameterEnum|method|The methods to use|number;minimum;maximum;range;average;stddev;variance;coeff_var;sum;first_quartile;median;third_quartile;percentile|True|0,1,2,3,4,5,6,7,8,9,10,11,12|True\",\n+            \"QgsProcessingParameterNumber|percentile|Percentile to calculate|QgsProcessingParameterNumber.Integer|90|True|0|100\",\n+            \"Hardcoded|-c\",\n+            \"QgsProcessingParameterVectorDestination|output|Rast stats\"\n         ],\n-        \"short_description\": \"v.build.check - Checks for topological errors.\"\n+        \"short_description\": \"Calculates univariate statistics from a raster map based on vector polygons and uploads statistics to new attribute columns.\"\n     },\n     {\n-        \"command\": \"i.his.rgb\",\n-        \"display_name\": \"i.his.rgb\",\n+        \"command\": \"i.aster.toar\",\n+        \"display_name\": \"i.aster.toar\",\n         \"ext_path\": null,\n         \"group\": \"Imagery (i.*)\",\n         \"group_id\": \"imagery\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"i.his.rgb\",\n-        \"parameters\": [\n-            \"QgsProcessingParameterRasterLayer|hue|Name of input raster map (hue)|None|False\",\n-            \"QgsProcessingParameterRasterLayer|intensity|Name of input raster map (intensity)|None|False\",\n-            \"QgsProcessingParameterRasterLayer|saturation|Name of input raster map (saturation)|None|False\",\n-            \"QgsProcessingParameterRasterDestination|red|Red\",\n-            \"QgsProcessingParameterRasterDestination|green|Green\",\n-            \"QgsProcessingParameterRasterDestination|blue|Blue\"\n-        ],\n-        \"short_description\": \"Transforms raster maps from HIS (Hue-Intensity-Saturation) color space to RGB (Red-Green-Blue) color space.\"\n-    },\n-    {\n-        \"command\": \"i.in.spotvgt\",\n-        \"display_name\": \"i.in.spotvgt\",\n-        \"ext_path\": \"i_in_spotvgt\",\n-        \"group\": \"Imagery (i.*)\",\n-        \"group_id\": \"imagery\",\n-        \"hardcoded_strings\": [],\n-        \"name\": \"i.in.spotvgt\",\n+        \"name\": \"i.aster.toar\",\n         \"parameters\": [\n-            \"QgsProcessingParameterFile|input|Name of input SPOT VGT NDVI HDF file|QgsProcessingParameterFile.File|hdf|None|False\",\n-            \"*QgsProcessingParameterBoolean|-a|Also import quality map (SM status map layer) and filter NDVI map|False\",\n-            \"QgsProcessingParameterRasterDestination|output|SPOT NDVI Raster\"\n+            \"QgsProcessingParameterMultipleLayers|input|Names of ASTER DN layers (15 layers)|3|None|False\",\n+            \"QgsProcessingParameterNumber|dayofyear|Day of Year of satellite overpass [0-366]|QgsProcessingParameterNumber.Integer|0|False|0|366\",\n+            \"QgsProcessingParameterNumber|sun_elevation|Sun elevation angle (degrees, < 90.0)|QgsProcessingParameterNumber.Double|None|False|0.0|90.0\",\n+            \"QgsProcessingParameterBoolean|-r|Output is radiance (W/m2)|False\",\n+            \"QgsProcessingParameterBoolean|-a|VNIR is High Gain|False\",\n+            \"QgsProcessingParameterBoolean|-b|SWIR is High Gain|False\",\n+            \"QgsProcessingParameterBoolean|-c|VNIR is Low Gain 1|False\",\n+            \"QgsProcessingParameterBoolean|-d|SWIR is Low Gain 1|False\",\n+            \"QgsProcessingParameterBoolean|-e|SWIR is Low Gain 2|False\",\n+            \"QgsProcessingParameterFolderDestination|output|Output Directory\"\n         ],\n-        \"short_description\": \"Imports SPOT VGT NDVI data into a raster map.\"\n+        \"short_description\": \"Calculates Top of Atmosphere Radiance/Reflectance/Brightness Temperature from ASTER DN.\"\n     },\n     {\n-        \"command\": \"v.in.lines\",\n-        \"display_name\": \"v.in.lines\",\n+        \"command\": \"v.outlier\",\n+        \"display_name\": \"v.outlier\",\n         \"ext_path\": null,\n         \"group\": \"Vector (v.*)\",\n         \"group_id\": \"vector\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"v.in.lines\",\n+        \"name\": \"v.outlier\",\n         \"parameters\": [\n-            \"QgsProcessingParameterFile|input|ASCII file to be imported|QgsProcessingParameterFile.File|txt|None|False\",\n-            \"QgsProcessingParameterString|separator|Field separator|pipe|False|True\",\n-            \"*QgsProcessingParameterBoolean|-z|Create 3D vector map|False\",\n-            \"QgsProcessingParameterVectorDestination|output|Lines\"\n+            \"QgsProcessingParameterFeatureSource|input|Input vector layer|-1|None|False\",\n+            \"QgsProcessingParameterNumber|ew_step|Interpolation spline step value in east direction|QgsProcessingParameterNumber.Double|10.0|True|None|None\",\n+            \"QgsProcessingParameterNumber|ns_step|Interpolation spline step value in north direction|QgsProcessingParameterNumber.Double|10.0|True|None|None\",\n+            \"QgsProcessingParameterNumber|lambda|Tykhonov regularization weight|QgsProcessingParameterNumber.Double|0.1|True|None|None\",\n+            \"QgsProcessingParameterNumber|threshold|Threshold for the outliers|QgsProcessingParameterNumber.Double|50.0|True|None|None\",\n+            \"QgsProcessingParameterEnum|filter|Filtering option|both;positive;negative|False|0|True\",\n+            \"QgsProcessingParameterBoolean|-e|Estimate point density and distance|False\",\n+            \"QgsProcessingParameterVectorDestination|output|Layer without outliers\",\n+            \"QgsProcessingParameterVectorDestination|outlier|Outliers\"\n         ],\n-        \"short_description\": \"Import ASCII x,y[,z] coordinates as a series of lines.\"\n+        \"short_description\": \"Removes outliers from vector point data.\"\n     },\n     {\n-        \"command\": \"v.segment\",\n-        \"display_name\": \"v.segment\",\n+        \"command\": \"v.info\",\n+        \"display_name\": \"v.info\",\n         \"ext_path\": null,\n         \"group\": \"Vector (v.*)\",\n         \"group_id\": \"vector\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"v.segment\",\n+        \"name\": \"v.info\",\n         \"parameters\": [\n-            \"QgsProcessingParameterFeatureSource|input|Input lines layer|1|None|False\",\n-            \"QgsProcessingParameterFile|rules|File containing segment rules|QgsProcessingParameterFile.File|txt|None|False\",\n-            \"QgsProcessingParameterVectorDestination|output|Segments\"\n+            \"QgsProcessingParameterFeatureSource|map|Name of input vector map|-1|None|False\",\n+            \"QgsProcessingParameterBoolean|-c|Print types/names of table columns for specified layer instead of info|False\",\n+            \"QgsProcessingParameterBoolean|-g|Print map region only|False\",\n+            \"QgsProcessingParameterBoolean|-e|Print extended metadata info in shell script style|False\",\n+            \"QgsProcessingParameterBoolean|-t|Print topology information only|False\",\n+            \"QgsProcessingOutputString|html|Information\",\n+            \"QgsProcessingParameterFileDestination|html|Information report|Html files (*.html)|report.html|False\"\n         ],\n-        \"short_description\": \"Creates points/segments from input vector lines and positions.\"\n+        \"short_description\": \"Outputs basic information about a user-specified vector map.\"\n     },\n     {\n-        \"command\": \"r.li.mpa\",\n-        \"display_name\": \"r.li.mpa\",\n-        \"ext_path\": \"r_li_mpa\",\n+        \"command\": \"r.in.lidar\",\n+        \"display_name\": \"r.in.lidar\",\n+        \"ext_path\": null,\n         \"group\": \"Raster (r.*)\",\n         \"group_id\": \"raster\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"r.li.mpa\",\n+        \"name\": \"r.in.lidar\",\n         \"parameters\": [\n-            \"QgsProcessingParameterRasterLayer|input|Name of input raster map|None|False\",\n-            \"QgsProcessingParameterString|config_txt|Landscape structure configuration|None|True|True\",\n-            \"QgsProcessingParameterFile|config|Landscape structure configuration file|QgsProcessingParameterFile.File|txt|None|True\",\n-            \"QgsProcessingParameterRasterDestination|output|Mean Pixel Attribute\"\n+            \"QgsProcessingParameterFile|input|LAS input file|QgsProcessingParameterFile.File|las|None|False\",\n+            \"QgsProcessingParameterEnum|method|Statistic to use for raster values|n;min;max;range;sum;mean;stddev;variance;coeff_var;median;percentile;skewness;trimmean|False|5|True\",\n+            \"QgsProcessingParameterEnum|type|Storage type for resultant raster map|CELL;FCELL;DCELL|False|1|True\",\n+            \"QgsProcessingParameterRasterLayer|base_raster|Subtract raster values from the Z coordinates|None|True\",\n+            \"QgsProcessingParameterRange|zrange|Filter range for z data (min, max)|QgsProcessingParameterNumber.Double|None|True\",\n+            \"QgsProcessingParameterNumber|zscale|Scale to apply to z data|QgsProcessingParameterNumber.Double|1.0|True|0.0|None\",\n+            \"QgsProcessingParameterRange|intensity_range|Filter range for intensity values (min, max)|QgsProcessingParameterNumber.Double|None|True\",\n+            \"QgsProcessingParameterNumber|intensity_scale|Scale to apply to intensity values|QgsProcessingParameterNumber.Double|1.0|True|1.0|None\",\n+            \"QgsProcessingParameterNumber|percent|Percent of map to keep in memory|QgsProcessingParameterNumber.Integer|100|True|1|100\",\n+            \"QgsProcessingParameterNumber|pth|pth percentile of the values (between 1 and 100)|QgsProcessingParameterNumber.Integer|None|True|1|100\",\n+            \"QgsProcessingParameterNumber|trim|Discard <trim> percent of the smallest and <trim> percent of the largest observations (0-50)|QgsProcessingParameterNumber.Double|None|True|0.0|50.0\",\n+            \"QgsProcessingParameterNumber|resolution|Output raster resolution|QgsProcessingParameterNumber.Double|None|True|1.0|None\",\n+            \"QgsProcessingParameterString|return_filter|Only import points of selected return type Options: first, last, mid|None|False|True\",\n+            \"QgsProcessingParameterString|class_filter|Only import points of selected class(es) (comma separated integers)|None|False|True\",\n+            \"*QgsProcessingParameterBoolean|-e|Use the extent of the input for the raster extent|False\",\n+            \"*QgsProcessingParameterBoolean|-n|Set computation region to match the new raster map|False\",\n+            \"*QgsProcessingParameterBoolean|-o|Override projection check (use current location's projection)|False\",\n+            \"*QgsProcessingParameterBoolean|-i|Use intensity values rather than Z values|False\",\n+            \"*QgsProcessingParameterBoolean|-j|Use Z values for filtering, but intensity values for statistics|False\",\n+            \"*QgsProcessingParameterBoolean|-d|Use base raster resolution instead of computational region|False\",\n+            \"*QgsProcessingParameterBoolean|-v|Use only valid points|False\",\n+            \"QgsProcessingParameterRasterDestination|output|Lidar Raster\"\n         ],\n-        \"short_description\": \"Calculates mean pixel attribute index on a raster map\"\n+        \"short_description\": \"Creates a raster map from LAS LiDAR points using univariate statistics.\"\n     },\n     {\n-        \"command\": \"v.surf.bspline\",\n-        \"display_name\": \"v.surf.bspline\",\n+        \"command\": \"v.select\",\n+        \"display_name\": \"v.select\",\n         \"ext_path\": null,\n         \"group\": \"Vector (v.*)\",\n         \"group_id\": \"vector\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"v.surf.bspline\",\n+        \"name\": \"v.select\",\n         \"parameters\": [\n-            \"QgsProcessingParameterFeatureSource|input|Input points layer|-1|None|False\",\n-            \"QgsProcessingParameterField|column|Attribute table column with values to interpolate|None|input|-1|False|True\",\n-            \"QgsProcessingParameterFeatureSource|sparse_input|Sparse points layer|-1|None|True\",\n-            \"QgsProcessingParameterNumber|ew_step|Length of each spline step in the east-west direction|QgsProcessingParameterNumber.Double|4.0|True|None|None\",\n-            \"QgsProcessingParameterNumber|ns_step|Length of each spline step in the north-south direction|QgsProcessingParameterNumber.Double|4.0|True|None|None\",\n-            \"QgsProcessingParameterEnum|method|Spline interpolation algorithm|bilinear;bicubic|False|0|True\",\n-            \"QgsProcessingParameterNumber|lambda_i|Tykhonov regularization parameter (affects smoothing)|QgsProcessingParameterNumber.Double|0.01|True|None|None\",\n-            \"QgsProcessingParameterEnum|solver|Type of solver which should solve the symmetric linear equation system|cholesky;cg|False|0|True\",\n-            \"QgsProcessingParameterNumber|maxit|Maximum number of iteration used to solve the linear equation system|QgsProcessingParameterNumber.Integer|10000|True|1|None\",\n-            \"QgsProcessingParameterNumber|error|Error break criteria for iterative solver|QgsProcessingParameterNumber.Double|0.000001|True|0.0|None\",\n-            \"QgsProcessingParameterNumber|memory|Maximum memory to be used (in MB)|QgsProcessingParameterNumber.Integer|300|True|1|None\",\n-            \"QgsProcessingParameterVectorDestination|output|Output vector|QgsProcessing.TypeVectorAnyGeometry|None|True|False\",\n-            \"QgsProcessingParameterRasterDestination|raster_output|Interpolated spline|None|True\"\n+            \"QgsProcessingParameterFeatureSource|ainput|Input layer (A)|-1|None|False\",\n+            \"QgsProcessingParameterEnum|atype|Input layer (A) Type|point;line;boundary;centroid;area|True|0,1,4|True\",\n+            \"QgsProcessingParameterFeatureSource|binput|Input layer (B)|-1|None|False\",\n+            \"QgsProcessingParameterEnum|btype|Input layer (B) Type|point;line;boundary;centroid;area|True|0,1,4|True\",\n+            \"QgsProcessingParameterEnum|operator|Operator to use|overlap;equals;disjoint;intersect;touches;crosses;within;contains;overlaps;relate|False|0|False\",\n+            \"QgsProcessingParameterString|relate|Intersection Matrix Pattern used for 'relate' operator|None|False|True\",\n+            \"QgsProcessingParameterBoolean|-t|Do not create attribute table|False\",\n+            \"QgsProcessingParameterBoolean|-c|Do not skip features without category|False\",\n+            \"QgsProcessingParameterBoolean|-r|Reverse selection|False\",\n+            \"QgsProcessingParameterVectorDestination|output|Selected\"\n         ],\n-        \"short_description\": \"Bicubic or bilinear spline interpolation with Tykhonov regularization.\"\n+        \"short_description\": \"Selects features from vector map (A) by features from other vector map (B).\"\n     },\n     {\n-        \"command\": \"v.out.postgis\",\n-        \"display_name\": \"v.out.postgis\",\n+        \"command\": \"nviz\",\n+        \"display_name\": \"nviz\",\n+        \"ext_path\": null,\n+        \"group\": \"Visualization(NVIZ)\",\n+        \"group_id\": \"visualization\",\n+        \"hardcoded_strings\": [],\n+        \"name\": \"nviz\",\n+        \"parameters\": [\n+            \"QgsProcessingParameterMultipleLayers|elevation|Name of elevation raster map|3|None|False\",\n+            \"QgsProcessingParameterMultipleLayers|color|Name of raster map(s) for Color|3|None|False\",\n+            \"QgsProcessingParameterMultipleLayers|vector|Name of vector lines/areas overlay map(s)|-1|None|False\",\n+            \"QgsProcessingParameterMultipleLayers|point|Name of vector points overlay file(s)|0|None|True\",\n+            \"QgsProcessingParameterMultipleLayers|volume|Name of existing 3d raster map|3|None|True\"\n+        ],\n+        \"short_description\": \"Visualization and animation tool for GRASS data.\"\n+    },\n+    {\n+        \"command\": \"v.net\",\n+        \"display_name\": \"v.net.report\",\n         \"ext_path\": null,\n         \"group\": \"Vector (v.*)\",\n         \"group_id\": \"vector\",\n-        \"hardcoded_strings\": [],\n-        \"name\": \"v.out.postgis\",\n+        \"hardcoded_strings\": [\n+            \"operation=report\"\n+        ],\n+        \"name\": \"v.net.report\",\n         \"parameters\": [\n-            \"QgsProcessingParameterFeatureSource|input|Name of input vector map|-1|None|False\",\n-            \"QgsProcessingParameterEnum|type|Input feature type|point;line;boundary;centroid;area;face;kernel;auto|True|7|True\",\n-            \"QgsProcessingParameterString|output|Name for output PostGIS datasource|PG:dbname=grass|False|False\",\n-            \"QgsProcessingParameterString|output_layer|Name for output PostGIS layer|None|False|True\",\n-            \"QgsProcessingParameterString|options|Creation options|None|True|True\",\n-            \"*QgsProcessingParameterBoolean|-t|Do not export attribute table|False\",\n-            \"*QgsProcessingParameterBoolean|-l|Export PostGIS topology instead of simple features|False\",\n-            \"*QgsProcessingParameterBoolean|-2|Force 2D output even if input is 3D|False\"\n+            \"QgsProcessingParameterFeatureSource|input|Input vector line layer (arcs)|1|None|False\",\n+            \"Hardcoded|operation=report\",\n+            \"QgsProcessingParameterFileDestination|html|Report|Html files (*.html)|None|False\"\n         ],\n-        \"short_description\": \"Exports a vector map layer to PostGIS feature table.\"\n+        \"short_description\": \"v.net.report - Reports lines information of a network\"\n     },\n     {\n-        \"command\": \"r.li.padcv\",\n-        \"display_name\": \"r.li.padcv.ascii\",\n-        \"ext_path\": \"r_li_padcv_ascii\",\n+        \"command\": \"r.sim.water\",\n+        \"display_name\": \"r.sim.water\",\n+        \"ext_path\": null,\n         \"group\": \"Raster (r.*)\",\n         \"group_id\": \"raster\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"r.li.padcv.ascii\",\n+        \"name\": \"r.sim.water\",\n         \"parameters\": [\n-            \"QgsProcessingParameterRasterLayer|input|Name of input raster map|None|False\",\n-            \"QgsProcessingParameterString|config_txt|Landscape structure configuration|None|True|True\",\n-            \"QgsProcessingParameterFile|config|Landscape structure configuration file|QgsProcessingParameterFile.File|txt|None|True\",\n-            \"QgsProcessingParameterFileDestination|output_txt|PADCV|Txt files (*.txt)|None|False\"\n+            \"QgsProcessingParameterRasterLayer|elevation|Name of the elevation raster map [m]|None|False\",\n+            \"QgsProcessingParameterRasterLayer|dx|Name of the x-derivatives raster map [m/m]|None|False\",\n+            \"QgsProcessingParameterRasterLayer|dy|Name of the y-derivatives raster map [m/m]|None|False\",\n+            \"QgsProcessingParameterRasterLayer|rain|Name of the rainfall excess rate (rain-infilt) raster map [mm/hr]|None|True\",\n+            \"QgsProcessingParameterNumber|rain_value|Rainfall excess rate unique value [mm/hr]|QgsProcessingParameterNumber.Double|50|True|None|None\",\n+            \"QgsProcessingParameterRasterLayer|infil|Name of the runoff infiltration rate raster map [mm/hr]|None|True\",\n+            \"QgsProcessingParameterNumber|infil_value|Runoff infiltration rate unique value [mm/hr]|QgsProcessingParameterNumber.Double|0.0|True|None|None\",\n+            \"QgsProcessingParameterRasterLayer|man|Name of the Mannings n raster map|None|True\",\n+            \"QgsProcessingParameterNumber|man_value|Manning's n unique value|QgsProcessingParameterNumber.Double|0.1|True|None|None\",\n+            \"QgsProcessingParameterRasterLayer|flow_control|Name of the flow controls raster map (permeability ratio 0-1)|None|True\",\n+            \"QgsProcessingParameterFeatureSource|observation|Sampling locations vector points|0|None|True\",\n+            \"QgsProcessingParameterNumber|nwalkers|Number of walkers, default is twice the number of cells|QgsProcessingParameterNumber.Integer|None|True|None|None\",\n+            \"QgsProcessingParameterNumber|niterations|Time used for iterations [minutes]|QgsProcessingParameterNumber.Integer|10|True|None|None\",\n+            \"QgsProcessingParameterNumber|output_step|Time interval for creating output maps [minutes]|QgsProcessingParameterNumber.Integer|2|True|None|None\",\n+            \"QgsProcessingParameterNumber|diffusion_coeff|Water diffusion constant|QgsProcessingParameterNumber.Double|0.8|True|None|None\",\n+            \"QgsProcessingParameterNumber|hmax|Threshold water depth [m]|QgsProcessingParameterNumber.Double|4.0|True|None|None\",\n+            \"QgsProcessingParameterNumber|halpha|Diffusion increase constant|QgsProcessingParameterNumber.Double|4.0|True|None|None\",\n+            \"QgsProcessingParameterNumber|hbeta|Weighting factor for water flow velocity vector|QgsProcessingParameterNumber.Double|0.5|True|None|None\",\n+            \"QgsProcessingParameterBoolean|-t|Time-series output|False\",\n+            \"QgsProcessingParameterRasterDestination|depth|Water depth [m]\",\n+            \"QgsProcessingParameterRasterDestination|discharge|Water discharge [m3/s]\",\n+            \"QgsProcessingParameterRasterDestination|error|Simulation error [m]\",\n+            \"QgsProcessingParameterVectorDestination|walkers_output|Name of the output walkers vector points layer|QgsProcessing.TypeVectorAnyGeometry|None|True\",\n+            \"QgsProcessingParameterFileDestination|logfile|Name for sampling points output text file.|Txt files (*.txt)|None|True\"\n         ],\n-        \"short_description\": \"r.li.padcv.ascii - Calculates coefficient of variation of patch area on a raster map\"\n+        \"short_description\": \"Overland flow hydrologic simulation using path sampling method (SIMWE).\"\n     },\n     {\n-        \"command\": \"r.gwflow\",\n-        \"display_name\": \"r.gwflow\",\n+        \"command\": \"r.fill.stats\",\n+        \"display_name\": \"r.fill.stats\",\n         \"ext_path\": null,\n         \"group\": \"Raster (r.*)\",\n         \"group_id\": \"raster\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"r.gwflow\",\n+        \"name\": \"r.fill.stats\",\n         \"parameters\": [\n-            \"QgsProcessingParameterRasterLayer|phead|The initial piezometric head in [m]|None|False\",\n-            \"QgsProcessingParameterRasterLayer|status|Boundary condition status, 0-inactive, 1-active, 2-dirichlet|None|False\",\n-            \"QgsProcessingParameterRasterLayer|hc_x|X-part of the hydraulic conductivity tensor in [m/s]|None|False\",\n-            \"QgsProcessingParameterRasterLayer|hc_y|Y-part of the hydraulic conductivity tensor in [m/s]|None|False\",\n-            \"QgsProcessingParameterRasterLayer|q|Water sources and sinks in [m^3/s]|None|True\",\n-            \"QgsProcessingParameterRasterLayer|s|Specific yield in [1/m]|None|False\",\n-            \"QgsProcessingParameterRasterLayer|recharge|Recharge map e.g: 6*10^-9 per cell in [m^3/s*m^2]|None|True\",\n-            \"QgsProcessingParameterRasterLayer|top|Top surface of the aquifer in [m]|None|False\",\n-            \"QgsProcessingParameterRasterLayer|bottom|Bottom surface of the aquifer in [m]|None|False\",\n-            \"QgsProcessingParameterEnum|type|The type of groundwater flow|confined;unconfined|False|0|False\",\n-            \"QgsProcessingParameterRasterLayer|river_bed|The height of the river bed in [m]|None|True\",\n-            \"QgsProcessingParameterRasterLayer|river_head|Water level (head) of the river with leakage connection in [m]|None|True\",\n-            \"QgsProcessingParameterRasterLayer|river_leak|The leakage coefficient of the river bed in [1/s]|None|True\",\n-            \"QgsProcessingParameterRasterLayer|drain_bed|The height of the drainage bed in [m]|None|True\",\n-            \"QgsProcessingParameterRasterLayer|drain_leak|The leakage coefficient of the drainage bed in [1/s]|None|True\",\n-            \"QgsProcessingParameterNumber|dtime|The calculation time in seconds|QgsProcessingParameterNumber.Double|86400.0|False|0.0|None\",\n-            \"QgsProcessingParameterNumber|maxit|Maximum number of iteration used to solver the linear equation system|QgsProcessingParameterNumber.Integer|100000|True|1|None\",\n-            \"QgsProcessingParameterNumber|error|Error break criteria for iterative solvers (jacobi, sor, cg or bicgstab)|QgsProcessingParameterNumber.Double|0.000001|True|None|None\",\n-            \"QgsProcessingParameterEnum|solver|The type of solver which should solve the symmetric linear equation system|cg;pcg;cholesky|False|0|True\",\n-            \"QgsProcessingParameterString|relax|The relaxation parameter used by the jacobi and sor solver for speedup or stabilizing|1\",\n-            \"QgsProcessingParameterBoolean|-f|Allocate a full quadratic linear equation system, default is a sparse linear equation system|False\",\n-            \"QgsProcessingParameterRasterDestination|output|Groundwater flow\",\n-            \"QgsProcessingParameterRasterDestination|vx|Groundwater filter velocity vector part in x direction [m/s]\",\n-            \"QgsProcessingParameterRasterDestination|vy|Groundwater filter velocity vector part in y direction [m/s]\",\n-            \"QgsProcessingParameterRasterDestination|budget|Groundwater budget for each cell [m^3/s]\"\n+            \"QgsProcessingParameterRasterLayer|input|Input raster layer with data gaps to fill|None|False\",\n+            \"QgsProcessingParameterBoolean|-k|Preserve original cell values (By default original values are smoothed)|False\",\n+            \"QgsProcessingParameterEnum|mode|Statistic for interpolated cell values|wmean;mean;median;mode|False|0|False\",\n+            \"QgsProcessingParameterBoolean|-m|Interpret distance as map units, not number of cells (Do not select with geodetic coordinates)|False\",\n+            \"QgsProcessingParameterNumber|distance|Distance threshold (default: in cells) for interpolation|QgsProcessingParameterNumber.Integer|3|True|0|100\",\n+            \"QgsProcessingParameterNumber|minimum|Minimum input data value to include in interpolation|QgsProcessingParameterNumber.Double|None|True|None|None\",\n+            \"QgsProcessingParameterNumber|maximum|Maximum input data value to include in interpolation|QgsProcessingParameterNumber.Double|None|True|None|None\",\n+            \"QgsProcessingParameterNumber|power|Power coefficient for IDW interpolation|QgsProcessingParameterNumber.Double|2.0|True|0.0|None\",\n+            \"QgsProcessingParameterNumber|cells|Minimum number of data cells within search radius|QgsProcessingParameterNumber.Integer|8|True|1|100\",\n+            \"QgsProcessingParameterRasterDestination|output|Output Map\",\n+            \"QgsProcessingParameterRasterDestination|uncertainty|Uncertainty Map|None|True\"\n         ],\n-        \"short_description\": \"Numerical calculation program for transient, confined and unconfined groundwater flow in two dimensions.\"\n+        \"short_description\": \"Rapidly fills 'no data' cells (NULLs) of a raster map with interpolated values (IDW).\"\n     },\n     {\n-        \"command\": \"v.what.vect\",\n-        \"display_name\": \"v.what.vect\",\n-        \"ext_path\": \"v_what_vect\",\n+        \"command\": \"v.reclass\",\n+        \"display_name\": \"v.reclass\",\n+        \"ext_path\": \"v_reclass\",\n         \"group\": \"Vector (v.*)\",\n         \"group_id\": \"vector\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"v.what.vect\",\n+        \"name\": \"v.reclass\",\n         \"parameters\": [\n-            \"QgsProcessingParameterFeatureSource|map|Name of vector points map for which to edit attributes|0|None|False\",\n-            \"QgsProcessingParameterField|column|Column to be updated with the query result|None|map|-1|False|False\",\n-            \"QgsProcessingParameterFeatureSource|query_map|Vector map to be queried|-1|None|False\",\n-            \"QgsProcessingParameterField|query_column|Column to be queried|None|query_map|-1|False|False\",\n-            \"QgsProcessingParameterNumber|dmax|Maximum query distance in map units|QgsProcessingParameterNumber.Double|0.0|True|0.0|None\",\n-            \"QgsProcessingParameterVectorDestination|output|Updated\"\n+            \"QgsProcessingParameterFeatureSource|input|Input layer|-1|None|False\",\n+            \"QgsProcessingParameterEnum|type|Input feature type|point;line;boundary;centroid|True|0,1,2,3|True\",\n+            \"QgsProcessingParameterField|column|The name of the column whose values are to be used as new categories|None|input|-1|False|True\",\n+            \"QgsProcessingParameterFile|rules|Reclass rule file|QgsProcessingParameterFile.File|txt|None|True\",\n+            \"QgsProcessingParameterVectorDestination|output|Reclassified\"\n         ],\n-        \"short_description\": \"Uploads vector values at positions of vector points to the table.\"\n+        \"short_description\": \"Changes vector category values for an existing vector map according to results of SQL queries or a value in attribute table column.\"\n     },\n     {\n-        \"command\": \"r.surf.random\",\n-        \"display_name\": \"r.surf.random\",\n+        \"command\": \"v.class\",\n+        \"display_name\": \"v.class\",\n         \"ext_path\": null,\n-        \"group\": \"Raster (r.*)\",\n-        \"group_id\": \"raster\",\n+        \"group\": \"Vector (v.*)\",\n+        \"group_id\": \"vector\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"r.surf.random\",\n+        \"name\": \"v.class\",\n         \"parameters\": [\n-            \"QgsProcessingParameterNumber|min|Minimum random value|QgsProcessingParameterNumber.Integer|0|True|None|None\",\n-            \"QgsProcessingParameterNumber|max|Maximum random value|QgsProcessingParameterNumber.Integer|100|True|None|None\",\n-            \"QgsProcessingParameterBoolean|-i|Create an integer raster layer|False\",\n-            \"QgsProcessingParameterRasterDestination|output|Random\"\n+            \"QgsProcessingParameterFeatureSource|map|Input vector layer|-1|None|False\",\n+            \"QgsProcessingParameterField|column|Column name or expression|None|map|-1|False|False\",\n+            \"QgsProcessingParameterString|where|WHERE conditions of SQL statement without 'where' keyword|None|True|True\",\n+            \"QgsProcessingParameterEnum|algorithm|Algorithm to use for classification|int;std;qua;equ|False|0|False\",\n+            \"QgsProcessingParameterNumber|nbclasses|Number of classes to define|QgsProcessingParameterNumber.Integer|3|False|2|None\",\n+            \"QgsProcessingParameterBoolean|-g|Print only class breaks (without min and max)|True\",\n+            \"QgsProcessingParameterFileDestination|html|Classification|Html files (*.html)|report.html|False\"\n         ],\n-        \"short_description\": \"Produces a raster layer of uniform random deviates whose range can be expressed by the user.\"\n+        \"short_description\": \"Classifies attribute data, e.g. for thematic mapping.\"\n     },\n     {\n-        \"command\": \"i.pca\",\n-        \"display_name\": \"i.pca\",\n-        \"ext_path\": \"i_pca\",\n-        \"group\": \"Imagery (i.*)\",\n-        \"group_id\": \"imagery\",\n+        \"command\": \"r.composite\",\n+        \"display_name\": \"r.composite\",\n+        \"ext_path\": null,\n+        \"group\": \"Raster (r.*)\",\n+        \"group_id\": \"raster\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"i.pca\",\n+        \"name\": \"r.composite\",\n         \"parameters\": [\n-            \"QgsProcessingParameterMultipleLayers|input|Name of two or more input raster maps|3|None|False\",\n-            \"QgsProcessingParameterRange|rescale|Rescaling range for output maps. For no rescaling use 0,0|QgsProcessingParameterNumber.Integer|0,255|True\",\n-            \"QgsProcessingParameterNumber|percent|Cumulative percent importance for filtering|QgsProcessingParameterNumber.Integer|99|True|50|99\",\n-            \"*QgsProcessingParameterBoolean|-n|Normalize (center and scale) input maps|False\",\n-            \"*QgsProcessingParameterBoolean|-f|Output will be filtered input bands|False\",\n-            \"QgsProcessingParameterFolderDestination|output|Output Directory\"\n+            \"QgsProcessingParameterRasterLayer|red|Red|None|False\",\n+            \"QgsProcessingParameterRasterLayer|green|Green|None|False\",\n+            \"QgsProcessingParameterRasterLayer|blue|Blue|None|False\",\n+            \"QgsProcessingParameterNumber|levels|Number of levels to be used for each component|QgsProcessingParameterNumber.Integer|32|True|1|256\",\n+            \"QgsProcessingParameterNumber|level_red|Number of levels to be used for <red>|QgsProcessingParameterNumber.Integer|None|True|1|256\",\n+            \"QgsProcessingParameterNumber|level_green|Number of levels to be used for <green>|QgsProcessingParameterNumber.Integer|None|True|1|256\",\n+            \"QgsProcessingParameterNumber|level_blue|Number of levels to be used for <blue>|QgsProcessingParameterNumber.Integer|None|True|1|256\",\n+            \"QgsProcessingParameterBoolean|-d|Dither|False\",\n+            \"QgsProcessingParameterBoolean|-c|Use closest color|False\",\n+            \"QgsProcessingParameterRasterDestination|output|Composite\"\n         ],\n-        \"short_description\": \"Principal components analysis (PCA) for image processing.\"\n+        \"short_description\": \"Combines red, green and blue raster maps into a single composite raster map.\"\n     },\n     {\n-        \"command\": \"r.surf.idw\",\n-        \"display_name\": \"r.surf.idw\",\n+        \"command\": \"v.lidar.correction\",\n+        \"display_name\": \"v.lidar.correction\",\n         \"ext_path\": null,\n-        \"group\": \"Raster (r.*)\",\n-        \"group_id\": \"raster\",\n+        \"group\": \"Vector (v.*)\",\n+        \"group_id\": \"vector\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"r.surf.idw\",\n+        \"name\": \"v.lidar.correction\",\n         \"parameters\": [\n-            \"QgsProcessingParameterRasterLayer|input|Name of input raster layer|None|False\",\n-            \"QgsProcessingParameterNumber|npoints|Number of interpolation points|QgsProcessingParameterNumber.Integer|12|True|1|None\",\n-            \"QgsProcessingParameterBoolean|-e|Output is the interpolation error|False\",\n-            \"QgsProcessingParameterRasterDestination|output|Interpolated IDW\"\n+            \"QgsProcessingParameterFeatureSource|input|Input vector layer (v.lidar.growing output)|-1|None|False\",\n+            \"QgsProcessingParameterNumber|ew_step|Length of each spline step in the east-west direction|QgsProcessingParameterNumber.Double|25.0|True|0.0|None\",\n+            \"QgsProcessingParameterNumber|ns_step|Length of each spline step in the north-south direction|QgsProcessingParameterNumber.Double|25.0|True|0.0|None\",\n+            \"QgsProcessingParameterNumber|lambda_c|Regularization weight in reclassification evaluation|QgsProcessingParameterNumber.Double|1.0|True|0.0|None\",\n+            \"QgsProcessingParameterNumber|tch|High threshold for object to terrain reclassification|QgsProcessingParameterNumber.Double|2.0|True|0.0|None\",\n+            \"QgsProcessingParameterNumber|tcl|Low threshold for terrain to object reclassification|QgsProcessingParameterNumber.Double|1.0|True|0.0|None\",\n+            \"QgsProcessingParameterBoolean|-e|Estimate point density and distance|False\",\n+            \"QgsProcessingParameterVectorDestination|output|Classified\",\n+            \"QgsProcessingParameterVectorDestination|terrain|Only 'terrain' points\"\n         ],\n-        \"short_description\": \"Surface interpolation utility for raster layers.\"\n+        \"short_description\": \"Correction of the v.lidar.growing output. It is the last of the three algorithms for LIDAR filtering.\"\n     },\n     {\n-        \"command\": \"v.kernel\",\n-        \"display_name\": \"v.kernel.rast\",\n+        \"command\": \"r.horizon\",\n+        \"display_name\": \"r.horizon.height\",\n         \"ext_path\": null,\n-        \"group\": \"Vector (v.*)\",\n-        \"group_id\": \"vector\",\n+        \"group\": \"Raster (r.*)\",\n+        \"group_id\": \"raster\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"v.kernel.rast\",\n+        \"name\": \"r.horizon.height\",\n         \"parameters\": [\n-            \"QgsProcessingParameterFeatureSource|input|Name of input vector map with training points|0|None|False\",\n-            \"QgsProcessingParameterNumber|radius|Kernel radius in map units|QgsProcessingParameterNumber.Double|10.0|False|0.0|None\",\n-            \"QgsProcessingParameterNumber|dsize|Discretization error in map units|QgsProcessingParameterNumber.Double|0.0|True|0.0|None\",\n-            \"QgsProcessingParameterNumber|segmax|Maximum length of segment on network|QgsProcessingParameterNumber.Double|100.0|True|0.0|None\",\n-            \"QgsProcessingParameterNumber|distmax|Maximum distance from point to network|QgsProcessingParameterNumber.Double|100.0|True|0.0|None\",\n-            \"QgsProcessingParameterNumber|multiplier|Multiply the density result by this number|QgsProcessingParameterNumber.Double|1.0|True|0.0|None\",\n-            \"QgsProcessingParameterEnum|node|Node method|none;split|False|0|False\",\n-            \"QgsProcessingParameterEnum|kernel|Kernel function|uniform;triangular;epanechnikov;quartic;triweight;gaussian;cosine|False|5|True\",\n-            \"*QgsProcessingParameterBoolean|-o|Try to calculate an optimal radius with given 'radius' taken as maximum (experimental)|False\",\n-            \"QgsProcessingParameterRasterDestination|output|Kernel\"\n+            \"QgsProcessingParameterRasterLayer|elevation|Name of input elevation raster map|None|False\",\n+            \"QgsProcessingParameterPoint|coordinates|Coordinate for which you want to calculate the horizon|0,0\",\n+            \"QgsProcessingParameterNumber|direction|Direction in which you want to know the horizon height|QgsProcessingParameterNumber.Double|None|True|0.0|360.0\",\n+            \"QgsProcessingParameterNumber|step|Angle step size for multidirectional horizon|QgsProcessingParameterNumber.Double|None|True|0.0|360.0\",\n+            \"QgsProcessingParameterNumber|start|Start angle for multidirectional horizon|QgsProcessingParameterNumber.Double|0.0|True|0.0|360.0\",\n+            \"QgsProcessingParameterNumber|end|End angle for multidirectional horizon|QgsProcessingParameterNumber.Double|360.0|True|0.0|360.0\",\n+            \"QgsProcessingParameterNumber|bufferzone|For horizon rasters, read from the DEM an extra buffer around the present region|QgsProcessingParameterNumber.Double|None|True|0.0|None\",\n+            \"QgsProcessingParameterNumber|e_buff|For horizon rasters, read from the DEM an extra buffer eastward the present region|QgsProcessingParameterNumber.Double|None|True|0.0|None\",\n+            \"QgsProcessingParameterNumber|w_buff|For horizon rasters, read from the DEM an extra buffer westward the present region|QgsProcessingParameterNumber.Double|None|True|0.0|None\",\n+            \"QgsProcessingParameterNumber|n_buff|For horizon rasters, read from the DEM an extra buffer northward the present region|QgsProcessingParameterNumber.Double|None|True|0.0|None\",\n+            \"QgsProcessingParameterNumber|s_buff|For horizon rasters, read from the DEM an extra buffer southward the present region|QgsProcessingParameterNumber.Double|None|True|0.0|None\",\n+            \"QgsProcessingParameterNumber|maxdistance|The maximum distance to consider when finding the horizon height|QgsProcessingParameterNumber.Double|None|True|0.0|None\",\n+            \"QgsProcessingParameterNumber|distance|Sampling distance step coefficient|QgsProcessingParameterNumber.Double|1.0|True|0.5|1.5\",\n+            \"QgsProcessingParameterBoolean|-d|Write output in degrees (default is radians)|False\",\n+            \"QgsProcessingParameterBoolean|-c|Write output in compass orientation (default is CCW, East=0)|False\",\n+            \"QgsProcessingParameterFileDestination|html|Horizon|Html files (*.html)|report.html|False\"\n         ],\n-        \"short_description\": \"v.kernel.rast - Generates a raster density map from vector points map.\"\n+        \"short_description\": \"r.horizon.height - Horizon angle computation from a digital elevation model.\"\n     },\n     {\n         \"command\": \"v.univar\",\n         \"display_name\": \"v.univar\",\n         \"ext_path\": null,\n         \"group\": \"Vector (v.*)\",\n         \"group_id\": \"vector\",\n@@ -677,276 +625,296 @@\n             \"QgsProcessingParameterBoolean|-w|Weigh by line length or area size|False\",\n             \"QgsProcessingParameterBoolean|-d|Calculate geometric distances instead of attribute statistics|False\",\n             \"QgsProcessingParameterFileDestination|html|Statistics|Html files (*.html)|report.html|False\"\n         ],\n         \"short_description\": \"Calculates univariate statistics for attribute. Variance and standard deviation is calculated only for points if specified.\"\n     },\n     {\n-        \"command\": \"r.clump\",\n-        \"display_name\": \"r.clump\",\n-        \"ext_path\": null,\n-        \"group\": \"Raster (r.*)\",\n-        \"group_id\": \"raster\",\n-        \"hardcoded_strings\": [],\n-        \"name\": \"r.clump\",\n-        \"parameters\": [\n-            \"QgsProcessingParameterRasterLayer|input|Input layer|None|False\",\n-            \"QgsProcessingParameterString|title|Title for output raster map|None|True\",\n-            \"*QgsProcessingParameterBoolean|-d|Clump also diagonal cells|False\",\n-            \"QgsProcessingParameterRasterDestination|output|Clumps\",\n-            \"QgsProcessingParameterNumber|threshold|Threshold to identify similar cells|QgsProcessingParameterNumber.Double|0|False|0|1\"\n-        ],\n-        \"short_description\": \"Recategorizes data in a raster map by grouping cells that form physically discrete areas into unique categories.\"\n-    },\n-    {\n-        \"command\": \"r.li.mpa\",\n-        \"display_name\": \"r.li.mpa.ascii\",\n-        \"ext_path\": \"r_li_mpa_ascii\",\n-        \"group\": \"Raster (r.*)\",\n-        \"group_id\": \"raster\",\n-        \"hardcoded_strings\": [],\n-        \"name\": \"r.li.mpa.ascii\",\n-        \"parameters\": [\n-            \"QgsProcessingParameterRasterLayer|input|Name of input raster map|None|False\",\n-            \"QgsProcessingParameterString|config_txt|Landscape structure configuration|None|True|True\",\n-            \"QgsProcessingParameterFile|config|Landscape structure configuration file|QgsProcessingParameterFile.File|txt|None|True\",\n-            \"QgsProcessingParameterFileDestination|output_txt|Mean Pixel Attribute|Txt files (*.txt)|None|False\"\n-        ],\n-        \"short_description\": \"r.li.mpa.ascii - Calculates mean pixel attribute index on a raster map\"\n-    },\n-    {\n         \"command\": \"r.resample\",\n         \"display_name\": \"r.resample\",\n         \"ext_path\": null,\n         \"group\": \"Raster (r.*)\",\n         \"group_id\": \"raster\",\n         \"hardcoded_strings\": [],\n         \"name\": \"r.resample\",\n         \"parameters\": [\n             \"QgsProcessingParameterRasterLayer|input|Input raster layer |None|False\",\n             \"QgsProcessingParameterRasterDestination|output|Resampled NN\"\n         ],\n         \"short_description\": \"GRASS raster map layer data resampling capability using nearest neighbors.\"\n     },\n     {\n-        \"command\": \"v.transform\",\n-        \"display_name\": \"v.transform\",\n-        \"ext_path\": \"v_transform\",\n+        \"command\": \"i.eb.evapfr\",\n+        \"display_name\": \"i.eb.evapfr\",\n+        \"ext_path\": null,\n+        \"group\": \"Imagery (i.*)\",\n+        \"group_id\": \"imagery\",\n+        \"hardcoded_strings\": [\n+            \"-m\"\n+        ],\n+        \"name\": \"i.eb.evapfr\",\n+        \"parameters\": [\n+            \"QgsProcessingParameterRasterLayer|netradiation|Name of Net Radiation raster map [W/m2]|None|False\",\n+            \"QgsProcessingParameterRasterLayer|soilheatflux|Name of soil heat flux raster map [W/m2]|None|False\",\n+            \"QgsProcessingParameterRasterLayer|sensibleheatflux|Name of sensible heat flux raster map [W/m2]|None|False\",\n+            \"Hardcoded|-m\",\n+            \"QgsProcessingParameterRasterDestination|evaporativefraction|Evaporative Fraction|None|False\",\n+            \"QgsProcessingParameterRasterDestination|soilmoisture|Root Zone Soil Moisture|None|True\"\n+        ],\n+        \"short_description\": \"Computes evaporative fraction (Bastiaanssen, 1995) and root zone soil moisture (Makin, Molden and Bastiaanssen, 2001).\"\n+    },\n+    {\n+        \"command\": \"v.overlay\",\n+        \"display_name\": \"v.overlay\",\n+        \"ext_path\": null,\n         \"group\": \"Vector (v.*)\",\n         \"group_id\": \"vector\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"v.transform\",\n+        \"name\": \"v.overlay\",\n         \"parameters\": [\n-            \"QgsProcessingParameterFeatureSource|input|Input vector layer|-1|None|False\",\n-            \"QgsProcessingParameterNumber|xshift|X shift|QgsProcessingParameterNumber.Double|0.0|True|None|None\",\n-            \"QgsProcessingParameterNumber|yshift|Y shift|QgsProcessingParameterNumber.Double|0.0|True|None|None\",\n-            \"QgsProcessingParameterNumber|zshift|Z shift|QgsProcessingParameterNumber.Double|0.0|True|None|None\",\n-            \"QgsProcessingParameterNumber|xscale|X scale|QgsProcessingParameterNumber.Double|1.0|True|None|None\",\n-            \"QgsProcessingParameterNumber|yscale|Y scale|QgsProcessingParameterNumber.Double|1.0|True|None|None\",\n-            \"QgsProcessingParameterNumber|zscale|Z scale|QgsProcessingParameterNumber.Double|1.0|True|None|None\",\n-            \"QgsProcessingParameterNumber|zrotation|Rotation around z axis in degrees counterclockwise|QgsProcessingParameterNumber.Double|0.0|True|None|None\",\n-            \"QgsProcessingParameterString|columns|Name of attribute column(s) used as transformation parameters (Format: parameter:column, e.g. xshift:xs,yshift:ys,zrot:zr)|None|True|True\",\n-            \"*QgsProcessingParameterBoolean|-t|Shift all z values to bottom=0|False\",\n-            \"*QgsProcessingParameterBoolean|-w|Swap coordinates x, y and then apply other parameters|False\",\n-            \"*QgsProcessingParameterBoolean|-x|Swap coordinates x, z and then apply other parameters|False\",\n-            \"*QgsProcessingParameterBoolean|-y|Swap coordinates y, z and then apply other parameters|False\",\n-            \"*QgsProcessingParameterBoolean|-a|Swap coordinates after the other transformations|False\",\n-            \"*QgsProcessingParameterBoolean|-b|Do not build topology|False\",\n-            \"QgsProcessingParameterVectorDestination|output|Transformed\"\n+            \"QgsProcessingParameterFeatureSource|ainput|Input layer (A)|-1|None|False\",\n+            \"QgsProcessingParameterEnum|atype|Input layer (A) Type|area;line;auto|False|0|True\",\n+            \"QgsProcessingParameterFeatureSource|binput|Input layer (B)|2|None|False\",\n+            \"QgsProcessingParameterEnum|btype|Input layer (B) Type|area|False|0|True\",\n+            \"QgsProcessingParameterEnum|operator|Operator to use|and;or;not;xor|False|0|False\",\n+            \"QgsProcessingParameterNumber|snap|Snapping threshold for boundaries|QgsProcessingParameterNumber.Double|0.00000001|True|-1|None\",\n+            \"QgsProcessingParameterBoolean|-t|Do not create attribute table|False\",\n+            \"QgsProcessingParameterVectorDestination|output|Overlay\"\n         ],\n-        \"short_description\": \"Performs an affine transformation on a vector layer.\"\n+        \"short_description\": \"Overlays two vector maps.\"\n     },\n     {\n-        \"command\": \"r.usler\",\n-        \"display_name\": \"r.usler\",\n+        \"command\": \"i.evapo.time\",\n+        \"display_name\": \"i.evapo.time\",\n         \"ext_path\": null,\n-        \"group\": \"Raster (r.*)\",\n-        \"group_id\": \"raster\",\n+        \"group\": \"Imagery (i.*)\",\n+        \"group_id\": \"imagery\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"r.usler\",\n+        \"name\": \"i.evapo.time\",\n         \"parameters\": [\n-            \"QgsProcessingParameterRasterLayer|input|Name of annual precipitation raster map [mm/year]|None|False\",\n-            \"QgsProcessingParameterEnum|method|Name of USLE R equation|roose;morgan;foster;elswaify|False|0|False\",\n-            \"QgsProcessingParameterRasterDestination|output|USLE R Raster\"\n+            \"QgsProcessingParameterMultipleLayers|eta|Names of satellite ETa raster maps [mm/d or cm/d]|3|None|False\",\n+            \"QgsProcessingParameterMultipleLayers|eta_doy|Names of satellite ETa Day of Year (DOY) raster maps [0-400] [-]|3|None|False\",\n+            \"QgsProcessingParameterMultipleLayers|eto|Names of meteorological station ETo raster maps [0-400] [mm/d or cm/d]|3|None|False\",\n+            \"QgsProcessingParameterNumber|eto_doy_min|Value of DOY for ETo first day|QgsProcessingParameterNumber.Double|1|False|0|366\",\n+            \"QgsProcessingParameterNumber|start_period|Value of DOY for the first day of the period studied|QgsProcessingParameterNumber.Double|1.0|False|0.0|366.0\",\n+            \"QgsProcessingParameterNumber|end_period|Value of DOY for the last day of the period studied|QgsProcessingParameterNumber.Double|1.0|False|0.0|366.0\",\n+            \"QgsProcessingParameterRasterDestination|output|Temporal integration\"\n         ],\n-        \"short_description\": \"Computes USLE R factor, Rainfall erosivity index.\"\n+        \"short_description\": \"Computes temporal integration of satellite ET actual (ETa) following the daily ET reference (ETo) from meteorological station(s).\"\n     },\n     {\n-        \"command\": \"r.neighbors\",\n-        \"display_name\": \"r.neighbors\",\n-        \"ext_path\": \"r_neighbors\",\n-        \"group\": \"Raster (r.*)\",\n-        \"group_id\": \"raster\",\n+        \"command\": \"v.net.distance\",\n+        \"display_name\": \"v.net.distance\",\n+        \"ext_path\": \"v_net_distance\",\n+        \"group\": \"Vector (v.*)\",\n+        \"group_id\": \"vector\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"r.neighbors\",\n+        \"name\": \"v.net.distance\",\n         \"parameters\": [\n-            \"QgsProcessingParameterRasterLayer|input|Input raster layer|None|False\",\n-            \"QgsProcessingParameterRasterLayer|selection|Raster layer to select the cells which should be processed|None|True\",\n-            \"QgsProcessingParameterEnum|method|Neighborhood operation|average;median;mode;minimum;maximum;range;stddev;sum;count;variance;diversity;interspersion;quart1;quart3;perc90;quantile|False|0|True\",\n-            \"QgsProcessingParameterNumber|size|Neighborhood size (must be odd)|QgsProcessingParameterNumber.Integer|3|True|1|None\",\n-            \"QgsProcessingParameterNumber|gauss|Sigma (in cells) for Gaussian filter|QgsProcessingParameterNumber.Integer|None|True|0|None\",\n-            \"QgsProcessingParameterString|quantile|Quantile to calculate for method=quantile|None|False|True\",\n-            \"QgsProcessingParameterBoolean|-c|Use circular neighborhood|False\",\n-            \"*QgsProcessingParameterBoolean|-a|Do not align output with the input|False\",\n-            \"*QgsProcessingParameterFile|weight|File containing weights|QgsProcessingParameterFile.File|txt|None|True\",\n-            \"QgsProcessingParameterRasterDestination|output|Neighbors\"\n+            \"QgsProcessingParameterFeatureSource|input|Input vector line layer (network)|1|None|False\",\n+            \"QgsProcessingParameterFeatureSource|flayer|Input vector from points layer (from)|0|None|False\",\n+            \"QgsProcessingParameterFeatureSource|tlayer|Input vector to layer (to)|-1|None|False\",\n+            \"QgsProcessingParameterNumber|threshold|Threshold for connecting nodes to the network (in map unit)|QgsProcessingParameterNumber.Double|50.0|False|0.0|None\",\n+            \"*QgsProcessingParameterEnum|arc_type|Arc type|line;boundary|True|0,1|True\",\n+            \"*QgsProcessingParameterString|from_cats|From Category values|None|False|True\",\n+            \"*QgsProcessingParameterString|from_where|From WHERE conditions of SQL statement without 'where' keyword|None|True|True\",\n+            \"*QgsProcessingParameterEnum|to_type|To feature type|point;line;boundary|True|0|True\",\n+            \"*QgsProcessingParameterString|to_cats|To Category values|None|False|True\",\n+            \"*QgsProcessingParameterString|to_where|To WHERE conditions of SQL statement without 'where' keyword|None|True|True\",\n+            \"*QgsProcessingParameterField|arc_column|Arc forward/both direction(s) cost column (number)|None|input|0|False|True\",\n+            \"*QgsProcessingParameterField|arc_backward_column|Arc backward direction cost column (number)|None|input|0|False|True\",\n+            \"*QgsProcessingParameterField|node_column|Node cost column (number)|None|flayer|0|False|True\",\n+            \"*QgsProcessingParameterBoolean|-g|Use geodesic calculation for longitude-latitude locations|False|True\",\n+            \"*QgsProcessingParameterBoolean|-l|Write each output path as one line, not as original input segments|False|True\",\n+            \"QgsProcessingParameterVectorDestination|output|Network_Distance\"\n         ],\n-        \"short_description\": \"Makes each cell category value a function of the category values assigned to the cells around it\"\n+        \"short_description\": \"Computes shortest distance via the network between the given sets of features.\"\n     },\n     {\n-        \"command\": \"r.li.shannon\",\n-        \"display_name\": \"r.li.shannon.ascii\",\n-        \"ext_path\": \"r_li_shannon_ascii\",\n+        \"command\": \"r.li.padcv\",\n+        \"display_name\": \"r.li.padcv\",\n+        \"ext_path\": \"r_li_padcv\",\n         \"group\": \"Raster (r.*)\",\n         \"group_id\": \"raster\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"r.li.shannon.ascii\",\n+        \"name\": \"r.li.padcv\",\n         \"parameters\": [\n             \"QgsProcessingParameterRasterLayer|input|Name of input raster map|None|False\",\n             \"QgsProcessingParameterString|config_txt|Landscape structure configuration|None|True|True\",\n             \"QgsProcessingParameterFile|config|Landscape structure configuration file|QgsProcessingParameterFile.File|txt|None|True\",\n-            \"QgsProcessingParameterFileDestination|output_txt|Shannon|Txt files (*.txt)|None|False\"\n+            \"QgsProcessingParameterRasterDestination|output|PADCV\"\n         ],\n-        \"short_description\": \"r.li.shannon.ascii - Calculates Shannon's diversity index on a raster map\"\n+        \"short_description\": \"Calculates coefficient of variation of patch area on a raster map\"\n     },\n     {\n-        \"command\": \"r.info\",\n-        \"display_name\": \"r.info\",\n+        \"command\": \"v.out.pov\",\n+        \"display_name\": \"v.out.pov\",\n         \"ext_path\": null,\n-        \"group\": \"Raster (r.*)\",\n-        \"group_id\": \"raster\",\n+        \"group\": \"Vector (v.*)\",\n+        \"group_id\": \"vector\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"r.info\",\n+        \"name\": \"v.out.pov\",\n         \"parameters\": [\n-            \"QgsProcessingParameterRasterLayer|map|Raster layer|None|False\",\n-            \"QgsProcessingParameterBoolean|-r|Print range only|False\",\n-            \"QgsProcessingParameterBoolean|-g|Print raster array information in shell script style|False\",\n-            \"QgsProcessingParameterBoolean|-h|Print raster history instead of info|False\",\n-            \"QgsProcessingParameterBoolean|-e|Print extended metadata information in shell script style|False\",\n-            \"QgsProcessingParameterFileDestination|html|Basic information|Html files (*.html)|report.html|False\"\n+            \"QgsProcessingParameterFeatureSource|input|Name of input vector map|-1|None|False\",\n+            \"QgsProcessingParameterEnum|type|Input feature type|point;line;boundary;centroid;area;face;kernel|True|0,1,4,5|True\",\n+            \"QgsProcessingParameterNumber|size|Radius of sphere for points and tube for lines|QgsProcessingParameterNumber.Double|10.0|False|0.0|None\",\n+            \"QgsProcessingParameterString|zmod|Modifier for z coordinates, this string is appended to each z coordinate|None|False|True\",\n+            \"QgsProcessingParameterString|objmod|Object modifier (OBJECT_MODIFIER in POV-Ray documentation)|None|False|True\",\n+            \"QgsProcessingParameterFileDestination|output|POV vector|Pov files (*.pov)|None|False\"\n         ],\n-        \"short_description\": \"Output basic information about a raster layer.\"\n+        \"short_description\": \"Converts to POV-Ray format, GRASS x,y,z -> POV-Ray x,z,y\"\n     },\n     {\n-        \"command\": \"i.gensigset\",\n-        \"display_name\": \"i.gensigset\",\n-        \"ext_path\": \"i_gensigset\",\n-        \"group\": \"Imagery (i.*)\",\n-        \"group_id\": \"imagery\",\n+        \"command\": \"r.stream.extract\",\n+        \"display_name\": \"r.stream.extract\",\n+        \"ext_path\": null,\n+        \"group\": \"Raster (r.*)\",\n+        \"group_id\": \"raster\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"i.gensigset\",\n+        \"name\": \"r.stream.extract\",\n         \"parameters\": [\n-            \"QgsProcessingParameterRasterLayer|trainingmap|Ground truth training map|None|False\",\n-            \"QgsProcessingParameterMultipleLayers|input|Input rasters|3|None|False\",\n-            \"QgsProcessingParameterNumber|maxsig|Maximum number of sub-signatures in any class|QgsProcessingParameterNumber.Integer|5|True|0|None\",\n-            \"QgsProcessingParameterFileDestination|signaturefile|Signature File|Txt files (*.txt)|None|False\"\n+            \"QgsProcessingParameterRasterLayer|elevation|Input map: elevation map|None|False\",\n+            \"QgsProcessingParameterRasterLayer|accumulation|Input map: accumulation map|None|True\",\n+            \"QgsProcessingParameterRasterLayer|depression|Input map: map with real depressions|None|True\",\n+            \"QgsProcessingParameterNumber|threshold|Minimum flow accumulation for streams|QgsProcessingParameterNumber.Double|1.0|False|0.001|None\",\n+            \"QgsProcessingParameterNumber|mexp|Montgomery exponent for slope|QgsProcessingParameterNumber.Double|0.0|True|None|None\",\n+            \"QgsProcessingParameterNumber|stream_length|Delete stream segments shorter than cells|QgsProcessingParameterNumber.Integer|0|True|0|None\",\n+            \"QgsProcessingParameterNumber|d8cut|Use SFD above this threshold|QgsProcessingParameterNumber.Double|None|True|0|None\",\n+            \"*QgsProcessingParameterNumber|memory|Maximum memory to be used (in MB)|QgsProcessingParameterNumber.Integer|300|True|0|None\",\n+            \"QgsProcessingParameterRasterDestination|stream_raster|Unique stream ids (rast)|None|True\",\n+            \"QgsProcessingParameterVectorDestination|stream_vector|Unique stream ids (vect)|-1|None|True\",\n+            \"QgsProcessingParameterRasterDestination|direction|Flow direction|None|True\"\n         ],\n-        \"short_description\": \"Generates statistics for i.smap from raster map.\"\n+        \"short_description\": \"Stream network extraction\"\n     },\n     {\n-        \"command\": \"v.net.visibility\",\n-        \"display_name\": \"v.net.visibility\",\n-        \"ext_path\": \"v_net_visibility\",\n+        \"command\": \"v.out.dxf\",\n+        \"display_name\": \"v.out.dxf\",\n+        \"ext_path\": null,\n         \"group\": \"Vector (v.*)\",\n         \"group_id\": \"vector\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"v.net.visibility\",\n+        \"name\": \"v.out.dxf\",\n         \"parameters\": [\n-            \"QgsProcessingParameterFeatureSource|input|Input vector line layer (arcs)|-1|None|False\",\n-            \"QgsProcessingParameterString|coordinates|Coordinates|None|False|True\",\n-            \"QgsProcessingParameterFeatureSource|visibility|Input vector line layer containing visible points|1|None|True\",\n-            \"QgsProcessingParameterVectorDestination|output|Network Visibility\"\n+            \"QgsProcessingParameterFeatureSource|input|Name of input vector map|-1|None|False\",\n+            \"QgsProcessingParameterFileDestination|output|DXF vector|Dxf files (*.dxf)|None|False\"\n         ],\n-        \"short_description\": \"Performs visibility graph construction.\"\n+        \"short_description\": \"Exports GRASS vector map layers to DXF file format.\"\n     },\n     {\n-        \"command\": \"r.stats\",\n-        \"display_name\": \"r.stats\",\n+        \"command\": \"m.cogo\",\n+        \"display_name\": \"m.cogo\",\n         \"ext_path\": null,\n+        \"group\": \"Miscellaneous (m.*)\",\n+        \"group_id\": \"miscellaneous\",\n+        \"hardcoded_strings\": [],\n+        \"name\": \"m.cogo\",\n+        \"parameters\": [\n+            \"QgsProcessingParameterFile|input|Name of input file|QgsProcessingParameterFile.File|txt|None|False\",\n+            \"QgsProcessingParameterFileDestination|output|Output text file|Txt files (*.txt)|None|False\",\n+            \"QgsProcessingParameterPoint|coordinates|Starting coordinate pair|0.0,0.0\",\n+            \"*QgsProcessingParameterBoolean|-l|Lines are labelled|False\",\n+            \"*QgsProcessingParameterBoolean|-q|Suppress warnings|False\",\n+            \"*QgsProcessingParameterBoolean|-r|Convert from coordinates to bearing and distance|False\",\n+            \"*QgsProcessingParameterBoolean|-c|Repeat the starting coordinate at the end to close a loop|False\"\n+        ],\n+        \"short_description\": \"A simple utility for converting bearing and distance measurements to coordinates and vice versa. It assumes a Cartesian coordinate system\"\n+    },\n+    {\n+        \"command\": \"r.blend\",\n+        \"display_name\": \"r.blend.rgb\",\n+        \"ext_path\": \"r_blend_rgb\",\n         \"group\": \"Raster (r.*)\",\n         \"group_id\": \"raster\",\n-        \"hardcoded_strings\": [],\n-        \"name\": \"r.stats\",\n+        \"hardcoded_strings\": [\n+            \"output=blended\"\n+        ],\n+        \"name\": \"r.blend.rgb\",\n         \"parameters\": [\n-            \"QgsProcessingParameterMultipleLayers|input|Name of input raster map|3|None|False\",\n-            \"QgsProcessingParameterString|separator|Output field separator|space|False|True\",\n-            \"QgsProcessingParameterString|null_value|String representing no data cell value|*|False|True\",\n-            \"QgsProcessingParameterNumber|nsteps|Number of floating-point subranges to collect stats from|QgsProcessingParameterNumber.Integer|255|True|1|None\",\n-            \"QgsProcessingParameterEnum|sort|Sort output statistics by cell counts|asc;desc|False|0|False\",\n-            \"QgsProcessingParameterBoolean|-1|One cell (range) per line|True\",\n-            \"QgsProcessingParameterBoolean|-A|Print averaged values instead of intervals|False\",\n-            \"QgsProcessingParameterBoolean|-a|Print area totals|False\",\n-            \"QgsProcessingParameterBoolean|-c|Print cell counts|False\",\n-            \"QgsProcessingParameterBoolean|-p|Print APPROXIMATE percents (total percent may not be 100%)|False\",\n-            \"QgsProcessingParameterBoolean|-l|Print category labels|False\",\n-            \"QgsProcessingParameterBoolean|-g|Print grid coordinates (east and north)|False\",\n-            \"QgsProcessingParameterBoolean|-x|Print x and y (column and row)|False\",\n-            \"QgsProcessingParameterBoolean|-r|Print raw indexes of fp ranges (fp maps only)|False\",\n-            \"QgsProcessingParameterBoolean|-n|Suppress reporting of any NULLs|False\",\n-            \"QgsProcessingParameterBoolean|-N|Suppress reporting of NULLs when all values are NULL|False\",\n-            \"QgsProcessingParameterBoolean|-C|Report for cats fp ranges (fp maps only)|False\",\n-            \"QgsProcessingParameterBoolean|-i|Read fp map as integer (use map's quant rules)|False\",\n-            \"QgsProcessingParameterFileDestination|html|Statistics|Html files (*.html)|report.html|False\"\n+            \"QgsProcessingParameterRasterLayer|first|Name of first raster map for blending|None|False\",\n+            \"QgsProcessingParameterRasterLayer|second|Name of second raster map for blending|None|False\",\n+            \"QgsProcessingParameterNumber|percent|Percentage weight of first map for color blending|QgsProcessingParameterNumber.Double|50.0|True|0.0|100.0\",\n+            \"Hardcoded|output=blended\",\n+            \"QgsProcessingParameterRasterDestination|output_red|Blended Red\",\n+            \"QgsProcessingParameterRasterDestination|output_green|Blended Green\",\n+            \"QgsProcessingParameterRasterDestination|output_blue|Blended Blue\"\n         ],\n-        \"short_description\": \"Generates area statistics for raster layers.\"\n+        \"short_description\": \"r.blend.rgb - Blends color components of two raster maps by a given ratio and exports into three rasters.\"\n     },\n     {\n-        \"command\": \"r.buffer\",\n-        \"display_name\": \"r.buffer\",\n-        \"ext_path\": null,\n+        \"command\": \"r.li.padcv\",\n+        \"display_name\": \"r.li.padcv.ascii\",\n+        \"ext_path\": \"r_li_padcv_ascii\",\n         \"group\": \"Raster (r.*)\",\n         \"group_id\": \"raster\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"r.buffer\",\n+        \"name\": \"r.li.padcv.ascii\",\n         \"parameters\": [\n-            \"QgsProcessingParameterRasterLayer|input|Input raster layer|None|False\",\n-            \"QgsProcessingParameterString|distances|Distance zone(s) (e.g. 100,200,300)|None|False|False\",\n-            \"QgsProcessingParameterEnum|units|Units of distance|meters;kilometers;feet;miles;nautmiles|False|0|False\",\n-            \"QgsProcessingParameterBoolean|-z|Ignore zero (0) data cells instead of NULL cells|False\",\n-            \"QgsProcessingParameterRasterDestination|output|Buffer\"\n+            \"QgsProcessingParameterRasterLayer|input|Name of input raster map|None|False\",\n+            \"QgsProcessingParameterString|config_txt|Landscape structure configuration|None|True|True\",\n+            \"QgsProcessingParameterFile|config|Landscape structure configuration file|QgsProcessingParameterFile.File|txt|None|True\",\n+            \"QgsProcessingParameterFileDestination|output_txt|PADCV|Txt files (*.txt)|None|False\"\n         ],\n-        \"short_description\": \"Creates a raster map layer showing buffer zones surrounding cells that contain non-NULL category values.\"\n+        \"short_description\": \"r.li.padcv.ascii - Calculates coefficient of variation of patch area on a raster map\"\n     },\n     {\n-        \"command\": \"r.out.ppm3\",\n-        \"display_name\": \"r.out.ppm3\",\n-        \"ext_path\": null,\n+        \"command\": \"r.li.mps\",\n+        \"display_name\": \"r.li.mps.ascii\",\n+        \"ext_path\": \"r_li_mps_ascii\",\n         \"group\": \"Raster (r.*)\",\n         \"group_id\": \"raster\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"r.out.ppm3\",\n+        \"name\": \"r.li.mps.ascii\",\n         \"parameters\": [\n-            \"QgsProcessingParameterRasterLayer|red|Name of raster map to be used for <red>|None|False\",\n-            \"QgsProcessingParameterRasterLayer|green|Name of raster map to be used for <green>|None|False\",\n-            \"QgsProcessingParameterRasterLayer|blue|Name of raster map to be used for <blue>|None|False\",\n-            \"QgsProcessingParameterBoolean|-c|Add comments to describe the region|False|True\",\n-            \"QgsProcessingParameterFileDestination|output|Name for new PPM file|PPM files (*.ppm)|None|False\"\n+            \"QgsProcessingParameterRasterLayer|input|Name of input raster map|None|False\",\n+            \"QgsProcessingParameterString|config_txt|Landscape structure configuration|None|True|True\",\n+            \"QgsProcessingParameterFile|config|Landscape structure configuration file|QgsProcessingParameterFile.File|txt|None\",\n+            \"QgsProcessingParameterFileDestination|output_txt|Mean Patch Size|Txt files (*.txt)|None|False\"\n         ],\n-        \"short_description\": \"Converts 3 GRASS raster layers (R,G,B) to a PPM image file\"\n+        \"short_description\": \"r.li.mps.ascii - Calculates mean patch size index on a raster map, using a 4 neighbour algorithm\"\n     },\n     {\n-        \"command\": \"v.outlier\",\n-        \"display_name\": \"v.outlier\",\n+        \"command\": \"r.solute.transport\",\n+        \"display_name\": \"r.solute.transport\",\n         \"ext_path\": null,\n-        \"group\": \"Vector (v.*)\",\n-        \"group_id\": \"vector\",\n+        \"group\": \"Raster (r.*)\",\n+        \"group_id\": \"raster\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"v.outlier\",\n+        \"name\": \"r.solute.transport\",\n         \"parameters\": [\n-            \"QgsProcessingParameterFeatureSource|input|Input vector layer|-1|None|False\",\n-            \"QgsProcessingParameterNumber|ew_step|Interpolation spline step value in east direction|QgsProcessingParameterNumber.Double|10.0|True|None|None\",\n-            \"QgsProcessingParameterNumber|ns_step|Interpolation spline step value in north direction|QgsProcessingParameterNumber.Double|10.0|True|None|None\",\n-            \"QgsProcessingParameterNumber|lambda|Tykhonov regularization weight|QgsProcessingParameterNumber.Double|0.1|True|None|None\",\n-            \"QgsProcessingParameterNumber|threshold|Threshold for the outliers|QgsProcessingParameterNumber.Double|50.0|True|None|None\",\n-            \"QgsProcessingParameterEnum|filter|Filtering option|both;positive;negative|False|0|True\",\n-            \"QgsProcessingParameterBoolean|-e|Estimate point density and distance|False\",\n-            \"QgsProcessingParameterVectorDestination|output|Layer without outliers\",\n-            \"QgsProcessingParameterVectorDestination|outlier|Outliers\"\n+            \"QgsProcessingParameterRasterLayer|c|The initial concentration in [kg/m^3]|None|False\",\n+            \"QgsProcessingParameterRasterLayer|phead|The piezometric head in [m]|None|False\",\n+            \"QgsProcessingParameterRasterLayer|hc_x|The x-part of the hydraulic conductivity tensor in [m/s]|None|False\",\n+            \"QgsProcessingParameterRasterLayer|hc_y|The y-part of the hydraulic conductivity tensor in [m/s]|None|False\",\n+            \"QgsProcessingParameterRasterLayer|status|The status for each cell, = 0 - inactive cell, 1 - active cell, 2 - dirichlet- and 3 - transfer boundary condition|None|False\",\n+            \"QgsProcessingParameterRasterLayer|diff_x|The x-part of the diffusion tensor in [m^2/s]|None|False\",\n+            \"QgsProcessingParameterRasterLayer|diff_y|The y-part of the diffusion tensor in [m^2/s]|None|False\",\n+            \"QgsProcessingParameterRasterLayer|q|Groundwater sources and sinks in [m^3/s]|None|True\",\n+            \"QgsProcessingParameterRasterLayer|cin|Concentration sources and sinks bounded to a water source or sink in [kg/s]|None|True\",\n+            \"QgsProcessingParameterRasterLayer|cs|Concentration of inner sources and inner sinks in [kg/s] (i.e. a chemical reaction)|None|False\",\n+            \"QgsProcessingParameterRasterLayer|rd|Retardation factor [-]|None|False\",\n+            \"QgsProcessingParameterRasterLayer|nf|Effective porosity [-]|None|False\",\n+            \"QgsProcessingParameterRasterLayer|top|Top surface of the aquifer in [m]|None|False\",\n+            \"QgsProcessingParameterRasterLayer|bottom|Bottom surface of the aquifer in [m]|None|False\",\n+            \"QgsProcessingParameterNumber|dtime|Calculation time (in seconds)|QgsProcessingParameterNumber.Double|86400.0|False|0.0|None\",\n+            \"QgsProcessingParameterNumber|maxit|Maximum number of iteration used to solve the linear equation system|QgsProcessingParameterNumber.Integer|10000|True|1|None\",\n+            \"QgsProcessingParameterNumber|error|Error break criteria for iterative solver|QgsProcessingParameterNumber.Double|0.000001|True|0.0|None\",\n+            \"QgsProcessingParameterEnum|solver|The type of solver which should solve the linear equation system|gauss;lu;jacobi;sor;bicgstab|False|4\",\n+            \"QgsProcessingParameterNumber|relax|The relaxation parameter used by the jacobi and sor solver for speedup or stabilizing|QgsProcessingParameterNumber.Double|1.0|True|0.0|None\",\n+            \"QgsProcessingParameterNumber|al|The longitudinal dispersivity length. [m]|QgsProcessingParameterNumber.Double|0.0|True|0.0|None\",\n+            \"QgsProcessingParameterNumber|at|The transversal dispersivity length. [m]|QgsProcessingParameterNumber.Double|0.0|True|0.0|None\",\n+            \"QgsProcessingParameterNumber|loops|Use this number of time loops if the CFL flag is off. The timestep will become dt/loops.|QgsProcessingParameterNumber.Double|1.0|True|0.0|None\",\n+            \"QgsProcessingParameterEnum|stab|Set the flow stabilizing scheme (full or exponential upwinding).|full;exp|False|0|True\",\n+            \"*QgsProcessingParameterBoolean|-c|Use the Courant-Friedrichs-Lewy criteria for time step calculation|False\",\n+            \"*QgsProcessingParameterBoolean|-f|Use a full filled quadratic linear equation system, default is a sparse linear equation system.|False\",\n+            \"QgsProcessingParameterRasterDestination|output|Solute Transport\",\n+            \"QgsProcessingParameterRasterDestination|vx|Calculate and store the groundwater filter velocity vector part in x direction [m/s]|None|True\",\n+            \"QgsProcessingParameterRasterDestination|vy|Calculate and store the groundwater filter velocity vector part in y direction [m/s]|None|True\"\n         ],\n-        \"short_description\": \"Removes outliers from vector point data.\"\n+        \"short_description\": \"Numerical calculation program for transient, confined and unconfined solute transport in two dimensions\"\n     },\n     {\n         \"command\": \"r.resamp.rst\",\n         \"display_name\": \"r.resamp.rst\",\n         \"ext_path\": null,\n         \"group\": \"Raster (r.*)\",\n         \"group_id\": \"raster\",\n@@ -971,280 +939,247 @@\n             \"QgsProcessingParameterRasterDestination|pcurvature|Profile curvature raster\",\n             \"QgsProcessingParameterRasterDestination|tcurvature|Tangential curvature raster\",\n             \"QgsProcessingParameterRasterDestination|mcurvature|Mean curvature raster\"\n         ],\n         \"short_description\": \"Reinterpolates using regularized spline with tension and smoothing.\"\n     },\n     {\n-        \"command\": \"r.spreadpath\",\n-        \"display_name\": \"r.spreadpath\",\n+        \"command\": \"r.surf.area\",\n+        \"display_name\": \"r.surf.area\",\n         \"ext_path\": null,\n         \"group\": \"Raster (r.*)\",\n         \"group_id\": \"raster\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"r.spreadpath\",\n-        \"parameters\": [\n-            \"QgsProcessingParameterRasterLayer|x_input|x_input|None|False\",\n-            \"QgsProcessingParameterRasterLayer|y_input|y_input|None|False\",\n-            \"QgsProcessingParameterPoint|coordinates|coordinate|0,0|True\",\n-            \"QgsProcessingParameterRasterDestination|output|Backward least cost\"\n-        ],\n-        \"short_description\": \"Recursively traces the least cost path backwards to cells from which the cumulative cost was determined.\"\n-    },\n-    {\n-        \"command\": \"i.eb.evapfr\",\n-        \"display_name\": \"i.eb.evapfr\",\n-        \"ext_path\": null,\n-        \"group\": \"Imagery (i.*)\",\n-        \"group_id\": \"imagery\",\n-        \"hardcoded_strings\": [\n-            \"-m\"\n-        ],\n-        \"name\": \"i.eb.evapfr\",\n+        \"name\": \"r.surf.area\",\n         \"parameters\": [\n-            \"QgsProcessingParameterRasterLayer|netradiation|Name of Net Radiation raster map [W/m2]|None|False\",\n-            \"QgsProcessingParameterRasterLayer|soilheatflux|Name of soil heat flux raster map [W/m2]|None|False\",\n-            \"QgsProcessingParameterRasterLayer|sensibleheatflux|Name of sensible heat flux raster map [W/m2]|None|False\",\n-            \"Hardcoded|-m\",\n-            \"QgsProcessingParameterRasterDestination|evaporativefraction|Evaporative Fraction|None|False\",\n-            \"QgsProcessingParameterRasterDestination|soilmoisture|Root Zone Soil Moisture|None|True\"\n+            \"QgsProcessingParameterRasterLayer|map|Input layer|None|False\",\n+            \"QgsProcessingParameterNumber|vscale|Vertical scale|QgsProcessingParameterNumber.Double|1.0|True|None|None\",\n+            \"QgsProcessingParameterEnum|units|Units|miles;feet;meters;kilometers;acres;hectares|False|1|True\",\n+            \"QgsProcessingParameterFileDestination|html|Area|Html files (*.html)|report.html|False\"\n         ],\n-        \"short_description\": \"Computes evaporative fraction (Bastiaanssen, 1995) and root zone soil moisture (Makin, Molden and Bastiaanssen, 2001).\"\n+        \"short_description\": \"Surface area estimation for rasters.\"\n     },\n     {\n-        \"command\": \"v.lidar.edgedetection\",\n-        \"display_name\": \"v.lidar.edgedetection\",\n+        \"command\": \"v.out.ascii\",\n+        \"display_name\": \"v.out.ascii\",\n         \"ext_path\": null,\n         \"group\": \"Vector (v.*)\",\n         \"group_id\": \"vector\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"v.lidar.edgedetection\",\n+        \"name\": \"v.out.ascii\",\n         \"parameters\": [\n-            \"QgsProcessingParameterFeatureSource|input|Input vector layer|0|None|False\",\n-            \"QgsProcessingParameterNumber|ew_step|Length of each spline step in the east-west direction|QgsProcessingParameterNumber.Double|4.0|True|0.0|None\",\n-            \"QgsProcessingParameterNumber|ns_step|Length of each spline step in the north-south direction|QgsProcessingParameterNumber.Double|4.0|True|0.0|None\",\n-            \"QgsProcessingParameterNumber|lambda_g|Regularization weight in gradient evaluation|QgsProcessingParameterNumber.Double|0.01|True|0.0|None\",\n-            \"QgsProcessingParameterNumber|tgh|High gradient threshold for edge classification|QgsProcessingParameterNumber.Double|6.0|True|0.0|None\",\n-            \"QgsProcessingParameterNumber|tgl|Low gradient threshold for edge classification|QgsProcessingParameterNumber.Double|3.0|True|0.0|None\",\n-            \"QgsProcessingParameterNumber|theta_g|Angle range for same direction detection|QgsProcessingParameterNumber.Double|0.26|True|0.0|360.0\",\n-            \"QgsProcessingParameterNumber|lambda_r|Regularization weight in residual evaluation|QgsProcessingParameterNumber.Double|2.0|True|0.0|None\",\n-            \"QgsProcessingParameterBoolean|-e|Estimate point density and distance|False\",\n-            \"QgsProcessingParameterVectorDestination|output|Edges\"\n+            \"QgsProcessingParameterFeatureSource|input|Name of input vector map|-1|None|False\",\n+            \"QgsProcessingParameterEnum|type|Input feature type|point;line;boundary;centroid;area;face;kernel|True|0,1,2,3,4,5,6|True\",\n+            \"QgsProcessingParameterField|columns|Name of attribute column(s) to be exported|None|input|-1|True|True\",\n+            \"QgsProcessingParameterString|where|WHERE conditions of SQL statement without 'where' keyword|None|True|True\",\n+            \"QgsProcessingParameterEnum|format|Output format|point;standard;wkt|False|0|False\",\n+            \"QgsProcessingParameterEnum|separator|Field separator|pipe;comma;space;tab;newline|False|0|False\",\n+            \"QgsProcessingParameterNumber|precision|Number of significant digits (floating point only)|QgsProcessingParameterNumber.Integer|8|True|0|32\",\n+            \"*QgsProcessingParameterBoolean|-o|Create old (version 4) ASCII file|False\",\n+            \"*QgsProcessingParameterBoolean|-c|Include column names in output (points mode)|False\",\n+            \"QgsProcessingParameterFileDestination|output|Name for output ASCII file or ASCII vector name if '-o' is defined|Txt files (*.txt)|None|False\"\n         ],\n-        \"short_description\": \"Detects the object's edges from a LIDAR data set.\"\n+        \"short_description\": \"Exports a vector map to a GRASS ASCII vector representation.\"\n     },\n     {\n-        \"command\": \"i.gensig\",\n-        \"display_name\": \"i.gensig\",\n-        \"ext_path\": \"i_gensig\",\n+        \"command\": \"i.pca\",\n+        \"display_name\": \"i.pca\",\n+        \"ext_path\": \"i_pca\",\n         \"group\": \"Imagery (i.*)\",\n         \"group_id\": \"imagery\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"i.gensig\",\n+        \"name\": \"i.pca\",\n         \"parameters\": [\n-            \"QgsProcessingParameterRasterLayer|trainingmap|Ground truth training map|None|False\",\n-            \"QgsProcessingParameterMultipleLayers|input|Input rasters|3|None|False\",\n-            \"QgsProcessingParameterFileDestination|signaturefile|Signature File|Txt files (*.txt)|None|False\"\n+            \"QgsProcessingParameterMultipleLayers|input|Name of two or more input raster maps|3|None|False\",\n+            \"QgsProcessingParameterRange|rescale|Rescaling range for output maps. For no rescaling use 0,0|QgsProcessingParameterNumber.Integer|0,255|True\",\n+            \"QgsProcessingParameterNumber|percent|Cumulative percent importance for filtering|QgsProcessingParameterNumber.Integer|99|True|50|99\",\n+            \"*QgsProcessingParameterBoolean|-n|Normalize (center and scale) input maps|False\",\n+            \"*QgsProcessingParameterBoolean|-f|Output will be filtered input bands|False\",\n+            \"QgsProcessingParameterFolderDestination|output|Output Directory\"\n         ],\n-        \"short_description\": \"Generates statistics for i.maxlik from raster map.\"\n+        \"short_description\": \"Principal components analysis (PCA) for image processing.\"\n     },\n     {\n-        \"command\": \"r.report\",\n-        \"display_name\": \"r.report\",\n+        \"command\": \"r.out.mpeg\",\n+        \"display_name\": \"r.out.mpeg\",\n         \"ext_path\": null,\n         \"group\": \"Raster (r.*)\",\n         \"group_id\": \"raster\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"r.report\",\n+        \"name\": \"r.out.mpeg\",\n         \"parameters\": [\n-            \"QgsProcessingParameterMultipleLayers|map|Raster layer(s) to report on|3|None|False\",\n-            \"QgsProcessingParameterEnum|units|Units|mi;me;k;a;h;c;p|False|1|True\",\n-            \"QgsProcessingParameterString|null_value|Character representing no data cell value|*|False|True\",\n-            \"QgsProcessingParameterNumber|page_length|Page length|QgsProcessingParameterNumber.Integer|0|True|0|None\",\n-            \"QgsProcessingParameterNumber|page_width|Page width|QgsProcessingParameterNumber.Integer|79|True|0|None\",\n-            \"QgsProcessingParameterNumber|nsteps|Number of fp subranges to collect stats from|QgsProcessingParameterNumber.Integer|255|True|1|None\",\n-            \"QgsProcessingParameterEnum|sort|Sort output statistics by cell counts|asc;desc|False|0|True\",\n-            \"QgsProcessingParameterBoolean|-h|Suppress page headers|False|True\",\n-            \"QgsProcessingParameterBoolean|-f|Use formfeeds between pages|False|True\",\n-            \"QgsProcessingParameterBoolean|-e|Scientific format|False|True\",\n-            \"QgsProcessingParameterBoolean|-n|Do not report no data cells|False|True\",\n-            \"QgsProcessingParameterBoolean|-a|Do not report cells where all maps have no data|False|True\",\n-            \"QgsProcessingParameterBoolean|-c|Report for cats floating-point ranges (floating-point maps only)|False|True\",\n-            \"QgsProcessingParameterBoolean|-i|Read floating-point map as integer (use map's quant rules)|False|True\",\n-            \"QgsProcessingParameterFileDestination|output|Name for output file to hold the report|Txt files (*.txt)|None|True\"\n+            \"QgsProcessingParameterMultipleLayers|view1|Name of input raster map(s) for view no.1|3|None|False\",\n+            \"QgsProcessingParameterMultipleLayers|view2|Name of input raster map(s) for view no.2|3|None|True\",\n+            \"QgsProcessingParameterMultipleLayers|view3|Name of input raster map(s) for view no.3|3|None|True\",\n+            \"QgsProcessingParameterMultipleLayers|view4|Name of input raster map(s) for view no.4|3|None|True\",\n+            \"QgsProcessingParameterNumber|quality|Quality factor (1 = highest quality, lowest compression)|QgsProcessingParameterNumber.Integer|3|True|1|5\",\n+            \"QgsProcessingParameterFileDestination|output|MPEG file|MPEG files (*.mpeg;*.mpg)|None|False\"\n         ],\n-        \"short_description\": \"Reports statistics for raster layers.\"\n+        \"short_description\": \"Converts raster map series to MPEG movie\"\n     },\n     {\n-        \"command\": \"v.hull\",\n-        \"display_name\": \"v.hull\",\n+        \"command\": \"r.what\",\n+        \"display_name\": \"r.what.coords\",\n         \"ext_path\": null,\n-        \"group\": \"Vector (v.*)\",\n-        \"group_id\": \"vector\",\n+        \"group\": \"Raster (r.*)\",\n+        \"group_id\": \"raster\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"v.hull\",\n+        \"name\": \"r.what.coords\",\n         \"parameters\": [\n-            \"QgsProcessingParameterFeatureSource|input|Input layer|0|None|False\",\n-            \"QgsProcessingParameterString|where|WHERE conditions of SQL statement without 'where' keyword|None|True|True\",\n-            \"QgsProcessingParameterBoolean|-f|Create a 'flat' 2D hull even if the input is 3D points|False\",\n-            \"QgsProcessingParameterVectorDestination|output|Convex hull\"\n+            \"QgsProcessingParameterRasterLayer|map|Name of raster map|None|False\",\n+            \"QgsProcessingParameterPoint|coordinates|Coordinates for query (east, north)|0.0, 0.0|False\",\n+            \"QgsProcessingParameterString|null_value|String representing NULL value|*|False|True\",\n+            \"QgsProcessingParameterString|separator|Field separator. Special characters: pipe, comma, space, tab, newlineString representing NULL value|pipe|False|True\",\n+            \"QgsProcessingParameterNumber|cache|Size of point cache|QgsProcessingParameterNumber.Integer|500|True|0|None\",\n+            \"*QgsProcessingParameterBoolean|-n|Output header row|False|True\",\n+            \"*QgsProcessingParameterBoolean|-f|Show the category labels of the grid cell(s)|False|True\",\n+            \"*QgsProcessingParameterBoolean|-r|Output color values as RRR:GGG:BBB|False|True\",\n+            \"*QgsProcessingParameterBoolean|-i|Output integer category values, not cell values|False|True\",\n+            \"*QgsProcessingParameterBoolean|-c|Turn on cache reporting|False|True\",\n+            \"QgsProcessingParameterFileDestination|output|Raster Value File|Txt files (*.txt)|None|False\"\n         ],\n-        \"short_description\": \"Produces a convex hull for a given vector map.\"\n+        \"short_description\": \"r.what.coords - Queries raster maps on their category values and category labels on a point.\"\n     },\n     {\n-        \"command\": \"r.profile\",\n-        \"display_name\": \"r.profile\",\n+        \"command\": \"r.out.mat\",\n+        \"display_name\": \"r.out.mat\",\n         \"ext_path\": null,\n         \"group\": \"Raster (r.*)\",\n         \"group_id\": \"raster\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"r.profile\",\n+        \"name\": \"r.out.mat\",\n         \"parameters\": [\n-            \"QgsProcessingParameterRasterLayer|input|Input raster layer|None|False\",\n-            \"QgsProcessingParameterString|coordinates|Profile coordinate pairs|0,0,1,1|True|True\",\n-            \"QgsProcessingParameterNumber|resolution|Resolution along profile|QgsProcessingParameterNumber.Double|None|True|None|0\",\n-            \"QgsProcessingParameterString|null_value|Character to represent no data cell|*|False|True\",\n-            \"QgsProcessingParameterFile|file|Name of input file containing coordinate pairs|QgsProcessingParameterFile.File|txt|None|True\",\n-            \"QgsProcessingParameterBoolean|-g|Output easting and northing in first two columns of four column output|False\",\n-            \"QgsProcessingParameterBoolean|-c|Output RRR:GGG:BBB color values for each profile point|False\",\n-            \"QgsProcessingParameterFileDestination|output|Profile|Txt files (*.txt)|None|False\"\n+            \"QgsProcessingParameterRasterLayer|input|Input raster|None|False\",\n+            \"QgsProcessingParameterFileDestination|output|MAT File|Mat files (*.mat)|None|False\"\n         ],\n-        \"short_description\": \"Outputs the raster layer values lying on user-defined line(s).\"\n+        \"short_description\": \"Exports a GRASS raster to a binary MAT-File\"\n     },\n     {\n-        \"command\": \"v.normal\",\n-        \"display_name\": \"v.normal\",\n+        \"command\": \"v.extract\",\n+        \"display_name\": \"v.extract\",\n         \"ext_path\": null,\n         \"group\": \"Vector (v.*)\",\n         \"group_id\": \"vector\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"v.normal\",\n+        \"name\": \"v.extract\",\n         \"parameters\": [\n-            \"QgsProcessingParameterFeatureSource|map|point vector defining sample points|-1|None|False\",\n-            \"QgsProcessingParameterString|tests|Lists of tests (1-15): e.g. 1,3-8,13|1-3|False|False\",\n-            \"QgsProcessingParameterField|column|Attribute column|None|map|-1|False|False\",\n-            \"QgsProcessingParameterBoolean|-r|Use only points in current region|True\",\n-            \"QgsProcessingParameterBoolean|-l|lognormal|False\",\n-            \"QgsProcessingParameterFileDestination|html|Normality|Html files (*.html)|report.html|False\"\n+            \"QgsProcessingParameterFeatureSource|input|Vector layer|-1|None|False\",\n+            \"QgsProcessingParameterString|where|WHERE conditions of SQL statement without 'where' keyword|None|True|True\",\n+            \"QgsProcessingParameterEnum|type|Input feature type|point;line;boundary;centroid;area;face|True|0,1,3,4,5,6|True\",\n+            \"QgsProcessingParameterFile|file|Input text file with category numbers/number ranges to be extracted|QgsProcessingParameterFile.File|txt|None|True\",\n+            \"QgsProcessingParameterNumber|random|Number of random categories matching vector objects to extract|QgsProcessingParameterNumber.Integer|None|True|0|None\",\n+            \"QgsProcessingParameterNumber|new|Desired new category value (enter -1 to keep original categories)|QgsProcessingParameterNumber.Integer|-1|True|-1|None\",\n+            \"*QgsProcessingParameterBoolean|-d|Dissolve common boundaries|True\",\n+            \"*QgsProcessingParameterBoolean|-t|Do not copy attributes|False\",\n+            \"*QgsProcessingParameterBoolean|-r|Reverse selection|False\",\n+            \"QgsProcessingParameterVectorDestination|output|Selected\"\n         ],\n-        \"short_description\": \"Tests for normality for points.\"\n+        \"short_description\": \"Selects vector objects from a vector layer and creates a new layer containing only the selected objects.\"\n     },\n     {\n-        \"command\": \"i.landsat.acca\",\n-        \"display_name\": \"i.landsat.acca\",\n-        \"ext_path\": \"i_landsat_acca\",\n-        \"group\": \"Imagery (i.*)\",\n-        \"group_id\": \"imagery\",\n+        \"command\": \"v.clean\",\n+        \"display_name\": \"v.clean\",\n+        \"ext_path\": null,\n+        \"group\": \"Vector (v.*)\",\n+        \"group_id\": \"vector\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"i.landsat.acca\",\n+        \"name\": \"v.clean\",\n         \"parameters\": [\n-            \"QgsProcessingParameterMultipleLayers|rasters|Landsat input rasters|3|None|False\",\n-            \"QgsProcessingParameterNumber|b56composite|B56composite (step 6)|QgsProcessingParameterNumber.Double|225.0|True|0.0|None\",\n-            \"QgsProcessingParameterNumber|b45ratio|B45ratio: Desert detection (step 10)|QgsProcessingParameterNumber.Double|1.0|True|0.0|None\",\n-            \"QgsProcessingParameterNumber|histogram|Number of classes in the cloud temperature histogram|QgsProcessingParameterNumber.Integer|100|True|0|None\",\n-            \"*QgsProcessingParameterBoolean|-5|Data is Landsat-5 TM|False\",\n-            \"*QgsProcessingParameterBoolean|-f|Apply post-processing filter to remove small holes|False\",\n-            \"*QgsProcessingParameterBoolean|-x|Always use cloud signature (step 14)|False\",\n-            \"*QgsProcessingParameterBoolean|-2|Bypass second-pass processing, and merge warm (not ambiguous) and cold clouds|False\",\n-            \"*QgsProcessingParameterBoolean|-s|Include a category for cloud shadows|False\",\n-            \"QgsProcessingParameterRasterDestination|output|ACCA Raster\"\n+            \"QgsProcessingParameterFeatureSource|input|Layer to clean|-1|None|False\",\n+            \"QgsProcessingParameterEnum|type|Input feature type|point;line;boundary;centroid;area;face;kernel|True|0,1,2,3,4,5,6|True\",\n+            \"QgsProcessingParameterEnum|tool|Cleaning tool|break;snap;rmdangle;chdangle;rmbridge;chbridge;rmdupl;rmdac;bpol;prune;rmarea;rmline;rmsa|True|0|False\",\n+            \"QgsProcessingParameterString|threshold|Threshold (comma separated for each tool)|None|False|True\",\n+            \"*QgsProcessingParameterBoolean|-b|Do not build topology for the output vector|False\",\n+            \"*QgsProcessingParameterBoolean|-c|Combine tools with recommended follow-up tools|False\",\n+            \"QgsProcessingParameterVectorDestination|output|Cleaned\",\n+            \"QgsProcessingParameterVectorDestination|error|Errors\"\n         ],\n-        \"short_description\": \"Performs Landsat TM/ETM+ Automatic Cloud Cover Assessment (ACCA).\"\n+        \"short_description\": \"Toolset for cleaning topology of vector map.\"\n     },\n     {\n-        \"command\": \"v.out.dxf\",\n-        \"display_name\": \"v.out.dxf\",\n+        \"command\": \"v.out.vtk\",\n+        \"display_name\": \"v.out.vtk\",\n         \"ext_path\": null,\n         \"group\": \"Vector (v.*)\",\n         \"group_id\": \"vector\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"v.out.dxf\",\n+        \"name\": \"v.out.vtk\",\n         \"parameters\": [\n             \"QgsProcessingParameterFeatureSource|input|Name of input vector map|-1|None|False\",\n-            \"QgsProcessingParameterFileDestination|output|DXF vector|Dxf files (*.dxf)|None|False\"\n+            \"QgsProcessingParameterEnum|type|Input feature type|point;kernel;centroid;line;boundary;area;face|True|0,1,2,3,4,5,6|True\",\n+            \"QgsProcessingParameterNumber|precision|Number of significant digits (floating point only)|QgsProcessingParameterNumber.Integer|2|True|0|None\",\n+            \"QgsProcessingParameterNumber|zscale|Scale factor for elevation|QgsProcessingParameterNumber.Double|1.0|True|0.0|None\",\n+            \"*QgsProcessingParameterBoolean|-c|Correct the coordinates to fit the VTK-OpenGL precision|False\",\n+            \"*QgsProcessingParameterBoolean|-n|Export numeric attribute table fields as VTK scalar variables|False\",\n+            \"QgsProcessingParameterFileDestination|output|VTK File|Vtk files (*.vtk)|None|False\"\n         ],\n-        \"short_description\": \"Exports GRASS vector map layers to DXF file format.\"\n+        \"short_description\": \"Converts a vector map to VTK ASCII output.\"\n     },\n     {\n-        \"command\": \"r.sun\",\n-        \"display_name\": \"r.sun.insoltime\",\n+        \"command\": \"i.biomass\",\n+        \"display_name\": \"i.biomass\",\n         \"ext_path\": null,\n-        \"group\": \"Raster (r.*)\",\n-        \"group_id\": \"raster\",\n+        \"group\": \"Imagery (i.*)\",\n+        \"group_id\": \"imagery\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"r.sun.insoltime\",\n+        \"name\": \"i.biomass\",\n         \"parameters\": [\n-            \"QgsProcessingParameterRasterLayer|elevation|Elevation layer [meters]|None|False\",\n-            \"QgsProcessingParameterRasterLayer|aspect|Aspect layer [decimal degrees]|None|False\",\n-            \"QgsProcessingParameterNumber|aspect_value|A single value of the orientation (aspect), 270 is south|QgsProcessingParameterNumber.Double|270.0|True|0.0|360.0\",\n-            \"QgsProcessingParameterRasterLayer|slope|Name of the input slope raster map (terrain slope or solar panel inclination) [decimal degrees]|None|False\",\n-            \"QgsProcessingParameterNumber|slope_value|A single value of inclination (slope)|QgsProcessingParameterNumber.Double|0.0|True|0.0|360.0\",\n-            \"QgsProcessingParameterRasterLayer|linke|Name of the Linke atmospheric turbidity coefficient input raster map|None|True\",\n-            \"QgsProcessingParameterRasterLayer|albedo|Name of the ground albedo coefficient input raster map|None|True\",\n-            \"QgsProcessingParameterNumber|albedo_value|A single value of the ground albedo coefficient|QgsProcessingParameterNumber.Double|0.2|True|0.0|360.0\",\n-            \"QgsProcessingParameterRasterLayer|lat|Name of input raster map containing latitudes [decimal degrees]|None|True\",\n-            \"QgsProcessingParameterRasterLayer|long|Name of input raster map containing longitudes [decimal degrees]|None|True\",\n-            \"QgsProcessingParameterRasterLayer|coeff_bh|Name of real-sky beam radiation coefficient input raster map|None|True\",\n-            \"QgsProcessingParameterRasterLayer|coeff_dh|Name of real-sky diffuse radiation coefficient input raster map|None|True\",\n-            \"QgsProcessingParameterRasterLayer|horizon_basemap|The horizon information input map basename|None|True\",\n-            \"QgsProcessingParameterNumber|horizon_step|Angle step size for multidirectional horizon [degrees]|QgsProcessingParameterNumber.Double|None|True|0.0|360.0\",\n-            \"QgsProcessingParameterNumber|day|No. of day of the year (1-365)|QgsProcessingParameterNumber.Integer|1|False|1|365\",\n-            \"*QgsProcessingParameterNumber|step|Time step when computing all-day radiation sums [decimal hours]|QgsProcessingParameterNumber.Double|0.5|True|0\",\n-            \"*QgsProcessingParameterNumber|declination|Declination value (overriding the internally computed value) [radians]|QgsProcessingParameterNumber.Double|None|True|None|None\",\n-            \"*QgsProcessingParameterNumber|distance_step|Sampling distance step coefficient (0.5-1.5)|QgsProcessingParameterNumber.Double|1.0|True|0.5|1.5\",\n-            \"*QgsProcessingParameterNumber|npartitions|Read the input files in this number of chunks|QgsProcessingParameterNumber.Integer|1|True|1|None\",\n-            \"*QgsProcessingParameterNumber|civil_time|Civil time zone value, if none, the time will be local solar time|QgsProcessingParameterNumber.Double|None|True|0.0|None\",\n-            \"QgsProcessingParameterBoolean|-p|Do not incorporate the shadowing effect of terrain|False\",\n-            \"*QgsProcessingParameterBoolean|-m|Use the low-memory version of the program|False\",\n-            \"QgsProcessingParameterRasterDestination|insol_time|Insolation time [h] |None|True\",\n-            \"QgsProcessingParameterRasterDestination|beam_rad|Irradiation raster map [Wh.m-2.day-1]|None|True\",\n-            \"QgsProcessingParameterRasterDestination|diff_rad|Irradiation raster map [Wh.m-2.day-1]|None|True\",\n-            \"QgsProcessingParameterRasterDestination|refl_rad|Irradiation raster map [Wh.m-2.day-1]|None|True\",\n-            \"QgsProcessingParameterRasterDestination|glob_rad|Irradiance/irradiation raster map [Wh.m-2.day-1]|None|True\"\n+            \"QgsProcessingParameterRasterLayer|fpar|Name of fPAR raster map|None|False\",\n+            \"QgsProcessingParameterRasterLayer|lightuse_efficiency|Name of light use efficiency raster map (UZB:cotton=1.9)|None|False\",\n+            \"QgsProcessingParameterRasterLayer|latitude|Name of degree latitude raster map [dd.ddd]|None|False\",\n+            \"QgsProcessingParameterRasterLayer|dayofyear|Name of Day of Year raster map [1-366]|None|False\",\n+            \"QgsProcessingParameterRasterLayer|transmissivity_singleway|Name of single-way transmissivity raster map [0.0-1.0]|None|False\",\n+            \"QgsProcessingParameterRasterLayer|water_availability|Value of water availability raster map [0.0-1.0]|None|False\",\n+            \"QgsProcessingParameterRasterDestination|output|Biomass\"\n         ],\n-        \"short_description\": \"r.sun.insoltime - Solar irradiance and irradiation model (daily sums).\"\n+        \"short_description\": \"Computes biomass growth, precursor of crop yield calculation.\"\n     },\n     {\n-        \"command\": \"r.li.shannon\",\n-        \"display_name\": \"r.li.shannon\",\n-        \"ext_path\": \"r_li_shannon\",\n-        \"group\": \"Raster (r.*)\",\n-        \"group_id\": \"raster\",\n+        \"command\": \"i.eb.hsebal01\",\n+        \"display_name\": \"i.eb.hsebal01.coords\",\n+        \"ext_path\": null,\n+        \"group\": \"Imagery (i.*)\",\n+        \"group_id\": \"imagery\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"r.li.shannon\",\n+        \"name\": \"i.eb.hsebal01.coords\",\n         \"parameters\": [\n-            \"QgsProcessingParameterRasterLayer|input|Name of input raster map|None|False\",\n-            \"QgsProcessingParameterString|config_txt|Landscape structure configuration|None|True|True\",\n-            \"QgsProcessingParameterFile|config|Landscape structure configuration file|QgsProcessingParameterFile.File|txt|None|True\",\n-            \"QgsProcessingParameterRasterDestination|output|Shannon\"\n+            \"QgsProcessingParameterRasterLayer|netradiation|Name of instantaneous net radiation raster map [W/m2]|None|False\",\n+            \"QgsProcessingParameterRasterLayer|soilheatflux|Name of instantaneous soil heat flux raster map [W/m2]|None|False\",\n+            \"QgsProcessingParameterRasterLayer|aerodynresistance|Name of aerodynamic resistance to heat momentum raster map [s/m]|None|False\",\n+            \"QgsProcessingParameterRasterLayer|temperaturemeansealevel|Name of altitude corrected surface temperature raster map [K]|None|False\",\n+            \"QgsProcessingParameterNumber|frictionvelocitystar|Value of the height independent friction velocity (u*) [m/s]|QgsProcessingParameterNumber.Double|0.32407|False|0.0|None\",\n+            \"QgsProcessingParameterRasterLayer|vapourpressureactual|Name of the actual vapour pressure (e_act) map [KPa]|None|False\",\n+            \"QgsProcessingParameterNumber|row_wet_pixel|Row value of the wet pixel|QgsProcessingParameterNumber.Double|None|True|None|None\",\n+            \"QgsProcessingParameterNumber|column_wet_pixel|Column value of the wet pixel|QgsProcessingParameterNumber.Double|None|True|None|None\",\n+            \"QgsProcessingParameterNumber|row_dry_pixel|Row value of the dry pixel|QgsProcessingParameterNumber.Double|None|True|None|None\",\n+            \"QgsProcessingParameterNumber|column_dry_pixel|Column value of the dry pixel|QgsProcessingParameterNumber.Double|None|True|None|None\",\n+            \"*QgsProcessingParameterBoolean|-a|Automatic wet/dry pixel (careful!)|False\",\n+            \"*QgsProcessingParameterBoolean|-c|Dry/Wet pixels coordinates are in image projection, not row/col|False\",\n+            \"QgsProcessingParameterRasterDestination|output|Sensible Heat Flux\"\n         ],\n-        \"short_description\": \"Calculates Shannon's diversity index on a raster map\"\n+        \"short_description\": \"i.eb.hsebal01.coords - Computes sensible heat flux iteration SEBAL 01. Inline coordinates\"\n     },\n     {\n-        \"command\": \"i.atcorr\",\n-        \"display_name\": \"i.atcorr\",\n+        \"command\": \"v.split\",\n+        \"display_name\": \"v.split\",\n         \"ext_path\": null,\n-        \"group\": \"Imagery (i.*)\",\n-        \"group_id\": \"imagery\",\n+        \"group\": \"Vector (v.*)\",\n+        \"group_id\": \"vector\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"i.atcorr\",\n+        \"name\": \"v.split\",\n         \"parameters\": [\n-            \"QgsProcessingParameterRasterLayer|input|Name of input raster map|None|False\",\n-            \"QgsProcessingParameterRange|range|Input imagery range [0,255]|QgsProcessingParameterNumber.Integer|0,255|True\",\n-            \"QgsProcessingParameterRasterLayer|elevation|Input altitude raster map in m (optional)|None|True\",\n-            \"QgsProcessingParameterRasterLayer|visibility|Input visibility raster map in km (optional)|None|True\",\n-            \"QgsProcessingParameterFile|parameters|Name of input text file|QgsProcessingParameterFile.File|txt|None|False\",\n-            \"QgsProcessingParameterRange|rescale|Rescale output raster map [0,255]|QgsProcessingParameterNumber.Integer|0,255|True\",\n-            \"QgsProcessingParameterRasterDestination|output|Atmospheric correction\",\n-            \"*QgsProcessingParameterBoolean|-i|Output raster map as integer|False\",\n-            \"*QgsProcessingParameterBoolean|-r|Input raster map converted to reflectance (default is radiance)|False\",\n-            \"*QgsProcessingParameterBoolean|-a|Input from ETM+ image taken after July 1, 2000|False\",\n-            \"*QgsProcessingParameterBoolean|-b|Input from ETM+ image taken before July 1, 2000|False\"\n+            \"QgsProcessingParameterFeatureSource|input|Input lines layer|1|None|False\",\n+            \"QgsProcessingParameterNumber|length|Maximum segment length|QgsProcessingParameterNumber.Double|None|True|None|None\",\n+            \"QgsProcessingParameterEnum|units|Length units|map;meters;kilometers;feet;surveyfeet;miles;nautmiles|False|0|True\",\n+            \"QgsProcessingParameterNumber|vertices|Maximum number of vertices in segment|QgsProcessingParameterNumber.Integer|None|True|None|None\",\n+            \"QgsProcessingParameterBoolean|-n|Add new vertices, but do not split|False|True\",\n+            \"QgsProcessingParameterBoolean|-f|Force segments to be exactly of given length, except for last one|False|True\",\n+            \"QgsProcessingParameterVectorDestination|output|Split by length\"\n         ],\n-        \"short_description\": \"Performs atmospheric correction using the 6S algorithm.\"\n+        \"short_description\": \"Split lines to shorter segments by length.\"\n     },\n     {\n         \"command\": \"v.net.connectivity\",\n         \"display_name\": \"v.net.connectivity\",\n         \"ext_path\": \"v_net_connectivity\",\n         \"group\": \"Vector (v.*)\",\n         \"group_id\": \"vector\",\n@@ -1262,230 +1197,181 @@\n             \"*QgsProcessingParameterField|arc_backward_column|Arc backward direction cost column (number)|None|input|0|False|True\",\n             \"*QgsProcessingParameterField|node_column|Node cost column (number)|None|points|0|False|True\",\n             \"QgsProcessingParameterVectorDestination|output|Network_Connectivity\"\n         ],\n         \"short_description\": \"Computes vertex connectivity between two sets of nodes in the network.\"\n     },\n     {\n-        \"command\": \"v.pack\",\n-        \"display_name\": \"v.pack\",\n+        \"command\": \"r.resamp.interp\",\n+        \"display_name\": \"r.resamp.interp\",\n         \"ext_path\": null,\n-        \"group\": \"Vector (v.*)\",\n-        \"group_id\": \"vector\",\n+        \"group\": \"Raster (r.*)\",\n+        \"group_id\": \"raster\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"v.pack\",\n+        \"name\": \"r.resamp.interp\",\n         \"parameters\": [\n-            \"QgsProcessingParameterFeatureSource|input|Name of input vector map to pack|-1|None|False\",\n-            \"*QgsProcessingParameterBoolean|-c|Switch the compression off|False\",\n-            \"QgsProcessingParameterFileDestination|output|Packed archive|Pack files (*.pack)|output.pack|False\"\n+            \"QgsProcessingParameterRasterLayer|input|Input raster layer|None|False\",\n+            \"QgsProcessingParameterEnum|method|Sampling interpolation method|nearest;bilinear;bicubic;lanczos|False|1|True\",\n+            \"QgsProcessingParameterRasterDestination|output|Resampled interpolated\"\n         ],\n-        \"short_description\": \"Exports a vector map as GRASS GIS specific archive file.\"\n+        \"short_description\": \"Resamples raster map to a finer grid using interpolation.\"\n     },\n     {\n-        \"command\": \"i.ifft\",\n-        \"display_name\": \"i.ifft\",\n+        \"command\": \"i.eb.soilheatflux\",\n+        \"display_name\": \"i.eb.soilheatflux\",\n         \"ext_path\": null,\n         \"group\": \"Imagery (i.*)\",\n         \"group_id\": \"imagery\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"i.ifft\",\n-        \"parameters\": [\n-            \"QgsProcessingParameterRasterLayer|real|Name of input raster map (image fft, real part)|None|False\",\n-            \"QgsProcessingParameterRasterLayer|imaginary|Name of input raster map (image fft, imaginary part)|None|False\",\n-            \"QgsProcessingParameterRasterDestination|output|Inverse Fast Fourier Transform\"\n-        ],\n-        \"short_description\": \"Inverse Fast Fourier Transform (IFFT) for image processing.\"\n-    },\n-    {\n-        \"command\": \"r.fillnulls\",\n-        \"display_name\": \"r.fillnulls\",\n-        \"ext_path\": null,\n-        \"group\": \"Raster (r.*)\",\n-        \"group_id\": \"raster\",\n-        \"hardcoded_strings\": [],\n-        \"name\": \"r.fillnulls\",\n+        \"name\": \"i.eb.soilheatflux\",\n         \"parameters\": [\n-            \"QgsProcessingParameterRasterLayer|input|Input raster layer to fill|None|False\",\n-            \"QgsProcessingParameterEnum|method|Interpolation method to use|bilinear;bicubic;rst|False|2|False\",\n-            \"QgsProcessingParameterNumber|tension|Spline tension parameter|QgsProcessingParameterNumber.Double|40.0|True|None|None\",\n-            \"QgsProcessingParameterNumber|smooth|Spline smoothing parameter|QgsProcessingParameterNumber.Double|0.1|True|None|None\",\n-            \"QgsProcessingParameterNumber|edge|Width of hole edge used for interpolation (in cells)|QgsProcessingParameterNumber.Integer|3|True|2|100\",\n-            \"QgsProcessingParameterNumber|npmin|Minimum number of points for approximation in a segment (>segmax)|QgsProcessingParameterNumber.Integer|600|True|2|10000\",\n-            \"QgsProcessingParameterNumber|segmax|Maximum number of points in a segment|QgsProcessingParameterNumber.Integer|300|True|2|10000\",\n-            \"QgsProcessingParameterNumber|lambda|Tykhonov regularization parameter (affects smoothing)|QgsProcessingParameterNumber.Double|0.01|True|0.0|None\",\n-            \"QgsProcessingParameterRasterDestination|output|Filled\"\n+            \"QgsProcessingParameterRasterLayer|albedo|Name of albedo raster map [0.0;1.0]|None|False\",\n+            \"QgsProcessingParameterRasterLayer|ndvi|Name of NDVI raster map [-1.0;+1.0]|None|False\",\n+            \"QgsProcessingParameterRasterLayer|temperature|Name of Surface temperature raster map [K]|None|False\",\n+            \"QgsProcessingParameterRasterLayer|netradiation|Name of Net Radiation raster map [W/m2]|None|False\",\n+            \"QgsProcessingParameterRasterLayer|localutctime|Name of time of satellite overpass raster map [local time in UTC]|None|False\",\n+            \"QgsProcessingParameterBoolean|-r|HAPEX-Sahel empirical correction (Roerink, 1995)|False\",\n+            \"QgsProcessingParameterRasterDestination|output|Soil Heat Flux\"\n         ],\n-        \"short_description\": \"Fills no-data areas in raster maps using spline interpolation.\"\n+        \"short_description\": \"Soil heat flux approximation (Bastiaanssen, 1995).\"\n     },\n     {\n-        \"command\": \"r.sim.sediment\",\n-        \"display_name\": \"r.sim.sediment\",\n+        \"command\": \"r.what\",\n+        \"display_name\": \"r.what.points\",\n         \"ext_path\": null,\n         \"group\": \"Raster (r.*)\",\n         \"group_id\": \"raster\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"r.sim.sediment\",\n-        \"parameters\": [\n-            \"QgsProcessingParameterRasterLayer|elevation|Name of the elevation raster map [m]|None|False\",\n-            \"QgsProcessingParameterRasterLayer|water_depth|Name of the water depth raster map [m]|None|False\",\n-            \"QgsProcessingParameterRasterLayer|dx|Name of the x-derivatives raster map [m/m]|None|False\",\n-            \"QgsProcessingParameterRasterLayer|dy|Name of the y-derivatives raster map [m/m]|None|False\",\n-            \"QgsProcessingParameterRasterLayer|detachment_coeff|Name of the detachment capacity coefficient raster map [s/m]|None|False\",\n-            \"QgsProcessingParameterRasterLayer|transport_coeff|Name of the transport capacity coefficient raster map [s]|None|False\",\n-            \"QgsProcessingParameterRasterLayer|shear_stress|Name of the critical shear stress raster map [Pa]|None|False\",\n-            \"QgsProcessingParameterRasterLayer|man|Name of the Mannings n raster map|None|True\",\n-            \"QgsProcessingParameterNumber|man_value|Name of the Mannings n value|QgsProcessingParameterNumber.Double|0.1|True|None|None\",\n-            \"QgsProcessingParameterFeatureSource|observation|Sampling locations vector points|0|None|True\",\n-            \"QgsProcessingParameterNumber|nwalkers|Number of walkers|QgsProcessingParameterNumber.Integer|None|True|None|None\",\n-            \"QgsProcessingParameterNumber|niterations|Time used for iterations [minutes]|QgsProcessingParameterNumber.Integer|10|True|None|None\",\n-            \"QgsProcessingParameterNumber|output_step|Time interval for creating output maps [minutes]|QgsProcessingParameterNumber.Integer|2|True|None|None\",\n-            \"QgsProcessingParameterNumber|diffusion_coeff|Water diffusion constant|QgsProcessingParameterNumber.Double|0.8|True|None|None\",\n-            \"QgsProcessingParameterRasterDestination|transport_capacity|Transport capacity [kg/ms]\",\n-            \"QgsProcessingParameterRasterDestination|tlimit_erosion_deposition|Transport limited erosion-deposition [kg/m2s]\",\n-            \"QgsProcessingParameterRasterDestination|sediment_concentration|Sediment concentration [particle/m3]\",\n-            \"QgsProcessingParameterRasterDestination|sediment_flux|Sediment flux [kg/ms]\",\n-            \"QgsProcessingParameterRasterDestination|erosion_deposition|Erosion-deposition [kg/m2s]\",\n-            \"QgsProcessingParameterVectorDestination|walkers_output|Name of the output walkers vector points layer|QgsProcessing.TypeVectorAnyGeometry|None|True\",\n-            \"QgsProcessingParameterFileDestination|logfile|Name for sampling points output text file.|Txt files (*.txt)|None|True\"\n-        ],\n-        \"short_description\": \"Sediment transport and erosion/deposition simulation using path sampling method (SIMWE).\"\n-    },\n-    {\n-        \"command\": \"i.vi\",\n-        \"display_name\": \"i.vi\",\n-        \"ext_path\": null,\n-        \"group\": \"Imagery (i.*)\",\n-        \"group_id\": \"imagery\",\n-        \"hardcoded_strings\": [],\n-        \"name\": \"i.vi\",\n+        \"name\": \"r.what.points\",\n         \"parameters\": [\n-            \"QgsProcessingParameterRasterLayer|red|Name of input red channel surface reflectance map [0.0-1.0]|None|True\",\n-            \"QgsProcessingParameterEnum|viname|Type of vegetation index|arvi;dvi;evi;evi2;gvi;gari;gemi;ipvi;msavi;msavi2;ndvi;pvi;savi;sr;vari;wdvi|False|10|False\",\n-            \"QgsProcessingParameterRasterLayer|nir|Name of input nir channel surface reflectance map [0.0-1.0]|None|True\",\n-            \"QgsProcessingParameterRasterLayer|green|Name of input green channel surface reflectance map [0.0-1.0]|None|True\",\n-            \"QgsProcessingParameterRasterLayer|blue|Name of input blue channel surface reflectance map [0.0-1.0]|None|True\",\n-            \"QgsProcessingParameterRasterLayer|band5|Name of input 5th channel surface reflectance map [0.0-1.0]|None|True\",\n-            \"QgsProcessingParameterRasterLayer|band7|Name of input 7th channel surface reflectance map [0.0-1.0]|None|True\",\n-            \"QgsProcessingParameterNumber|soil_line_slope|Value of the slope of the soil line (MSAVI2 only)|QgsProcessingParameterNumber.Double|None|True|None|None\",\n-            \"QgsProcessingParameterNumber|soil_line_intercept|Value of the factor of reduction of soil noise (MSAVI2 only)|QgsProcessingParameterNumber.Double|None|True|None|None\",\n-            \"QgsProcessingParameterNumber|soil_noise_reduction|Value of the slope of the soil line (MSAVI2 only)|QgsProcessingParameterNumber.Double|None|True|None|None\",\n-            \"QgsProcessingParameterEnum|storage_bit|Maximum bits for digital numbers|7;8;9;10;16|False|1|True\",\n-            \"QgsProcessingParameterRasterDestination|output|Vegetation Index\"\n+            \"QgsProcessingParameterRasterLayer|map|Name of raster map|None|False\",\n+            \"QgsProcessingParameterFeatureSource|points|Name of vector points layer for query|0|None|False\",\n+            \"QgsProcessingParameterString|null_value|String representing NULL value|*|False|True\",\n+            \"QgsProcessingParameterString|separator|Field separator. Special characters: pipe, comma, space, tab, newline|pipe|False|True\",\n+            \"QgsProcessingParameterNumber|cache|Size of point cache|QgsProcessingParameterNumber.Integer|500|True|0|None\",\n+            \"*QgsProcessingParameterBoolean|-n|Output header row|False|True\",\n+            \"*QgsProcessingParameterBoolean|-f|Show the category labels of the grid cell(s)|False|True\",\n+            \"*QgsProcessingParameterBoolean|-r|Output color values as RRR:GGG:BBB|False|True\",\n+            \"*QgsProcessingParameterBoolean|-i|Output integer category values, not cell values|False|True\",\n+            \"*QgsProcessingParameterBoolean|-c|Turn on cache reporting|False|True\",\n+            \"QgsProcessingParameterFileDestination|output|Raster Values File|Txt files (*.txt)|None|False\"\n         ],\n-        \"short_description\": \"Calculates different types of vegetation indices.\"\n+        \"short_description\": \"r.what.points - Queries raster maps on their category values and category labels on a layer of points.\"\n     },\n     {\n-        \"command\": \"r.sunhours\",\n-        \"display_name\": \"r.sunhours\",\n-        \"ext_path\": null,\n+        \"command\": \"r.li.renyi\",\n+        \"display_name\": \"r.li.renyi.ascii\",\n+        \"ext_path\": \"r_li_renyi_ascii\",\n         \"group\": \"Raster (r.*)\",\n         \"group_id\": \"raster\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"r.sunhours\",\n+        \"name\": \"r.li.renyi.ascii\",\n         \"parameters\": [\n-            \"QgsProcessingParameterNumber|year|Year|QgsProcessingParameterNumber.Integer|2017|False|1950|2050\",\n-            \"QgsProcessingParameterNumber|month|Month|QgsProcessingParameterNumber.Integer|1|True|1|12\",\n-            \"QgsProcessingParameterNumber|day|Day|QgsProcessingParameterNumber.Integer|1|False|1|366\",\n-            \"QgsProcessingParameterNumber|hour|Hour|QgsProcessingParameterNumber.Integer|12|True|0|24\",\n-            \"QgsProcessingParameterNumber|minute|Minutes|QgsProcessingParameterNumber.Integer|0|True|0|60\",\n-            \"QgsProcessingParameterNumber|second|Seconds|QgsProcessingParameterNumber.Integer|0|True|0|60\",\n-            \"*QgsProcessingParameterBoolean|-t|Time is local sidereal time, not Greenwich standard time|False\",\n-            \"*QgsProcessingParameterBoolean|-s|Do not use SOLPOS algorithm of NREL|False\",\n-            \"QgsProcessingParameterRasterDestination|elevation|Solar Elevation Angle\",\n-            \"QgsProcessingParameterRasterDestination|azimuth|Solar Azimuth Angle\",\n-            \"QgsProcessingParameterRasterDestination|sunhour|Sunshine Hours\"\n+            \"QgsProcessingParameterRasterLayer|input|Name of input raster map|None|False\",\n+            \"QgsProcessingParameterString|config_txt|Landscape structure configuration|None|True|True\",\n+            \"QgsProcessingParameterFile|config|Landscape structure configuration file|QgsProcessingParameterFile.File|txt|None|True\",\n+            \"QgsProcessingParameterString|alpha|Alpha value is the order of the generalized entropy|None|False|False\",\n+            \"QgsProcessingParameterFileDestination|output_txt|Renyi|Txt files (*.txt)|None|False\"\n         ],\n-        \"short_description\": \"Calculates solar elevation, solar azimuth, and sun hours.\"\n+        \"short_description\": \"r.li.renyi.ascii - Calculates Renyi's diversity index on a raster map\"\n     },\n     {\n-        \"command\": \"v.info\",\n-        \"display_name\": \"v.info\",\n+        \"command\": \"v.to.lines\",\n+        \"display_name\": \"v.to.lines\",\n         \"ext_path\": null,\n         \"group\": \"Vector (v.*)\",\n         \"group_id\": \"vector\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"v.info\",\n+        \"name\": \"v.to.lines\",\n         \"parameters\": [\n-            \"QgsProcessingParameterFeatureSource|map|Name of input vector map|-1|None|False\",\n-            \"QgsProcessingParameterBoolean|-c|Print types/names of table columns for specified layer instead of info|False\",\n-            \"QgsProcessingParameterBoolean|-g|Print map region only|False\",\n-            \"QgsProcessingParameterBoolean|-e|Print extended metadata info in shell script style|False\",\n-            \"QgsProcessingParameterBoolean|-t|Print topology information only|False\",\n-            \"QgsProcessingOutputString|html|Information\",\n-            \"QgsProcessingParameterFileDestination|html|Information report|Html files (*.html)|report.html|False\"\n+            \"QgsProcessingParameterFeatureSource|input|Name of input vector map|-1|None|False\",\n+            \"QgsProcessingParameterEnum|method|Method used for point interpolation|delaunay|False|0|True\",\n+            \"QgsProcessingParameterVectorDestination|output|Lines\"\n         ],\n-        \"short_description\": \"Outputs basic information about a user-specified vector map.\"\n+        \"short_description\": \"Converts vector polygons or points to lines.\"\n     },\n     {\n-        \"command\": \"r.cross\",\n-        \"display_name\": \"r.cross\",\n+        \"command\": \"r.sunmask\",\n+        \"display_name\": \"r.sunmask.position\",\n         \"ext_path\": null,\n         \"group\": \"Raster (r.*)\",\n         \"group_id\": \"raster\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"r.cross\",\n+        \"name\": \"r.sunmask.position\",\n         \"parameters\": [\n-            \"QgsProcessingParameterMultipleLayers|input|Input raster layers|3|None|False\",\n-            \"QgsProcessingParameterBoolean|-z|Non-zero data only|False\",\n-            \"QgsProcessingParameterRasterDestination|output|Cross product\"\n+            \"QgsProcessingParameterRasterLayer|elevation|Elevation raster layer [meters]|None|False\",\n+            \"QgsProcessingParameterNumber|altitude|Altitude of the sun in degrees above the horizon|QgsProcessingParameterNumber.Double|None|True|0.0|89.999\",\n+            \"QgsProcessingParameterNumber|azimuth|Azimuth of the sun in degrees from north|QgsProcessingParameterNumber.Double|None|True|0.0|360.0\",\n+            \"QgsProcessingParameterString|east|Easting coordinate (point of interest)|False|False\",\n+            \"QgsProcessingParameterString|north|Northing coordinate (point of interest)|False|False\",\n+            \"QgsProcessingParameterBoolean|-z|Do not ignore zero elevation|True\",\n+            \"QgsProcessingParameterBoolean|-s|Calculate sun position only and exit|False\",\n+            \"QgsProcessingParameterRasterDestination|output|Shadows\"\n         ],\n-        \"short_description\": \"Creates a cross product of the category values from multiple raster map layers.\"\n+        \"short_description\": \"r.sunmask.position - Calculates cast shadow areas from sun position and elevation raster map.\"\n     },\n     {\n-        \"command\": \"r.topmodel\",\n-        \"display_name\": \"r.topmodel.topidxstats\",\n-        \"ext_path\": null,\n-        \"group\": \"Raster (r.*)\",\n-        \"group_id\": \"raster\",\n-        \"hardcoded_strings\": [\n-            \"-p\"\n-        ],\n-        \"name\": \"r.topmodel.topidxstats\",\n+        \"command\": \"i.landsat.toar\",\n+        \"display_name\": \"i.landsat.toar\",\n+        \"ext_path\": \"i_landsat_toar\",\n+        \"group\": \"Imagery (i.*)\",\n+        \"group_id\": \"imagery\",\n+        \"hardcoded_strings\": [],\n+        \"name\": \"i.landsat.toar\",\n         \"parameters\": [\n-            \"QgsProcessingParameterRasterLayer|topidx|Name of input topographic index raster map|None|False\",\n-            \"QgsProcessingParameterNumber|ntopidxclasses|Number of topographic index classes|QgsProcessingParameterNumber.Integer|30|True|1|None\",\n-            \"Hardcoded|-p\",\n-            \"QgsProcessingParameterFileDestination|outtopidxstats|TOPMODEL topographic index statistics file|Txt files (*.txt)|None|False\"\n+            \"QgsProcessingParameterMultipleLayers|rasters|Landsat input rasters|3|None|False\",\n+            \"QgsProcessingParameterFile|metfile|Name of Landsat metadata file (.met or MTL.txt)|QgsProcessingParameterFile.File|None|None|True|Landsat metadata (*.met *.MET *.txt *.TXT)\",\n+            \"QgsProcessingParameterEnum|sensor|Spacecraft sensor|mss1;mss2;mss3;mss4;mss5;tm4;tm5;tm7;oli8|False|7|True\",\n+            \"QgsProcessingParameterEnum|method|Atmospheric correction method|uncorrected;dos1;dos2;dos2b;dos3;dos4|False|0|True\",\n+            \"QgsProcessingParameterString|date|Image acquisition date (yyyy-mm-dd)|None|False|True\",\n+            \"QgsProcessingParameterNumber|sun_elevation|Sun elevation in degrees|QgsProcessingParameterNumber.Double|None|True|0.0|360.0\",\n+            \"QgsProcessingParameterString|product_date|Image creation date (yyyy-mm-dd)|None|False|True\",\n+            \"QgsProcessingParameterString|gain|Gain (H/L) of all Landsat ETM+ bands (1-5,61,62,7,8)|None|False|True\",\n+            \"QgsProcessingParameterNumber|percent|Percent of solar radiance in path radiance|QgsProcessingParameterNumber.Double|0.01|True|0.0|100.0\",\n+            \"QgsProcessingParameterNumber|pixel|Minimum pixels to consider digital number as dark object|QgsProcessingParameterNumber.Integer|1000|True|0|None\",\n+            \"QgsProcessingParameterNumber|rayleigh|Rayleigh atmosphere (diffuse sky irradiance)|QgsProcessingParameterNumber.Double|0.0|True|0.0|None\",\n+            \"QgsProcessingParameterNumber|scale|Scale factor for output|QgsProcessingParameterNumber.Double|1.0|True|0.0|None\",\n+            \"*QgsProcessingParameterBoolean|-r|Output at-sensor radiance instead of reflectance for all bands|False\",\n+            \"*QgsProcessingParameterBoolean|-n|Input raster maps use as extension the number of the band instead the code|False\",\n+            \"QgsProcessingParameterFolderDestination|output|Output Directory\"\n         ],\n-        \"short_description\": \"r.topmodel.topidxstats - Builds a TOPMODEL topographic index statistics file.\"\n+        \"short_description\": \"Calculates top-of-atmosphere radiance or reflectance and temperature for Landsat MSS/TM/ETM+/OLI\"\n     },\n     {\n-        \"command\": \"r.water.outlet\",\n-        \"display_name\": \"r.water.outlet\",\n+        \"command\": \"r.lake\",\n+        \"display_name\": \"r.lake\",\n         \"ext_path\": null,\n         \"group\": \"Raster (r.*)\",\n         \"group_id\": \"raster\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"r.water.outlet\",\n+        \"name\": \"r.lake\",\n         \"parameters\": [\n-            \"QgsProcessingParameterRasterLayer|input|Drainage direction raster|None|False\",\n-            \"QgsProcessingParameterPoint|coordinates|Coordinates of outlet point|0.0,0.0|False\",\n-            \"QgsProcessingParameterRasterDestination|output|Basin\"\n+            \"QgsProcessingParameterRasterLayer|elevation|Elevation|None|False\",\n+            \"QgsProcessingParameterNumber|water_level|Water level|QgsProcessingParameterNumber.Double|None|False|None|None\",\n+            \"QgsProcessingParameterPoint|coordinates|Seed point coordinates||True\",\n+            \"QgsProcessingParameterRasterLayer|seed|Raster layer with starting point(s) (at least 1 cell > 0)|None|True\",\n+            \"QgsProcessingParameterBoolean|-n|Use negative depth values for lake raster layer|False\",\n+            \"QgsProcessingParameterRasterDestination|lake|Lake\"\n         ],\n-        \"short_description\": \"Watershed basin creation program.\"\n+        \"short_description\": \"Fills lake at given point to given level.\"\n     },\n     {\n-        \"command\": \"r.category\",\n-        \"display_name\": \"r.category\",\n-        \"ext_path\": \"r_category\",\n+        \"command\": \"r.regression.line\",\n+        \"display_name\": \"r.regression.line\",\n+        \"ext_path\": null,\n         \"group\": \"Raster (r.*)\",\n         \"group_id\": \"raster\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"r.category\",\n+        \"name\": \"r.regression.line\",\n         \"parameters\": [\n-            \"QgsProcessingParameterRasterLayer|map|Name of raster map|None|False\",\n-            \"QgsProcessingParameterString|separator|Field separator (Special characters: pipe, comma, space, tab, newline)|tab|False|True\",\n-            \"QgsProcessingParameterFile|rules|File containing category label rules|QgsProcessingParameterFile.File|txt|None|True\",\n-            \"QgsProcessingParameterString|txtrules|Inline category label rules|None|True|True\",\n-            \"QgsProcessingParameterRasterLayer|raster|Raster map from which to copy category table|None|True\",\n-            \"*QgsProcessingParameterString|format|Default label or format string for dynamic labeling. Used when no explicit label exists for the category|None|False|True\",\n-            \"*QgsProcessingParameterString|coefficients|Dynamic label coefficients. Two pairs of category multiplier and offsets, for $1 and $2|None|False|True\",\n-            \"QgsProcessingParameterRasterDestination|output|Category\"\n+            \"QgsProcessingParameterRasterLayer|mapx|Layer for x coefficient|None|False\",\n+            \"QgsProcessingParameterRasterLayer|mapy|Layer for y coefficient|None|False\",\n+            \"QgsProcessingParameterFileDestination|html|Regression coefficients|Html files (*.html)|report.html|False\"\n         ],\n-        \"short_description\": \"Manages category values and labels associated with user-specified raster map layers.\"\n+        \"short_description\": \"Calculates linear regression from two raster layers : y = a + b*x.\"\n     },\n     {\n         \"command\": \"r.out.ascii\",\n         \"display_name\": \"r.out.ascii\",\n         \"ext_path\": null,\n         \"group\": \"Raster (r.*)\",\n         \"group_id\": \"raster\",\n@@ -1500,201 +1386,98 @@\n             \"*QgsProcessingParameterBoolean|-m|Write MODFLOW (USGS) ASCII array|False|True\",\n             \"*QgsProcessingParameterBoolean|-i|Force output of integer values|False|True\",\n             \"QgsProcessingParameterFileDestination|output|GRASS Ascii|Txt files (*.txt)|None|False\"\n         ],\n         \"short_description\": \"Export a raster layer into a GRASS ASCII text file\"\n     },\n     {\n-        \"command\": \"g.extension\",\n-        \"display_name\": \"g.extension.list\",\n-        \"ext_path\": \"g_extension_list\",\n-        \"group\": \"General (g.*)\",\n-        \"group_id\": \"general\",\n-        \"hardcoded_strings\": [],\n-        \"name\": \"g.extension.list\",\n-        \"parameters\": [\n-            \"QgsProcessingParameterEnum|list|List|Locally installed extensions;Extensions available in the official GRASS GIS Addons repository;Extensions available in the official GRASS GIS Addons repository including module description|False|0|False\",\n-            \"QgsProcessingParameterFileDestination|html|List of addons|Html files (*.html)|addons_list.html|True\"\n-        ],\n-        \"short_description\": \"g.extension.list - List GRASS addons.\"\n-    },\n-    {\n-        \"command\": \"i.pansharpen\",\n-        \"display_name\": \"i.pansharpen\",\n-        \"ext_path\": \"i_pansharpen\",\n-        \"group\": \"Imagery (i.*)\",\n-        \"group_id\": \"imagery\",\n-        \"hardcoded_strings\": [],\n-        \"name\": \"i.pansharpen\",\n-        \"parameters\": [\n-            \"QgsProcessingParameterRasterLayer|red|Name of red channel|None|False\",\n-            \"QgsProcessingParameterRasterLayer|green|Name of green channel|None|False\",\n-            \"QgsProcessingParameterRasterLayer|blue|Name of blue channel|None|False\",\n-            \"QgsProcessingParameterRasterLayer|pan|Name of raster map to be used for high resolution panchromatic channel|None|False\",\n-            \"QgsProcessingParameterEnum|method|Method|brovey;ihs;pca|False|1|False\",\n-            \"*QgsProcessingParameterBoolean|-l|Rebalance blue channel for LANDSAT|False\",\n-            \"*QgsProcessingParameterBoolean|-s|Process bands serially (default: run in parallel)|False\",\n-            \"QgsProcessingParameterRasterDestination|redoutput|Enhanced Red\",\n-            \"QgsProcessingParameterRasterDestination|greenoutput|Enhanced Green\",\n-            \"QgsProcessingParameterRasterDestination|blueoutput|Enhanced Blue\"\n-        ],\n-        \"short_description\": \"Image fusion algorithms to sharpen multispectral with high-res panchromatic channels\"\n-    },\n-    {\n-        \"command\": \"r.li.cwed\",\n-        \"display_name\": \"r.li.cwed.ascii\",\n-        \"ext_path\": \"r_li_cwed_ascii\",\n-        \"group\": \"Raster (r.*)\",\n-        \"group_id\": \"raster\",\n-        \"hardcoded_strings\": [],\n-        \"name\": \"r.li.cwed.ascii\",\n-        \"parameters\": [\n-            \"QgsProcessingParameterRasterLayer|input|Name of input raster map|None|False\",\n-            \"QgsProcessingParameterString|config_txt|Landscape structure configuration|None|True|True\",\n-            \"QgsProcessingParameterFile|config|Landscape structure configuration file|QgsProcessingParameterFile.File|txt|None|True\",\n-            \"QgsProcessingParameterFile|path|Name of file that contains the weight to calculate the index|QgsProcessingParameterFile.File|txt|None|False\",\n-            \"QgsProcessingParameterFileDestination|output_txt|CWED|Txt files (*.txt)|None|False\"\n-        ],\n-        \"short_description\": \"r.li.cwed.ascii - Calculates contrast weighted edge density index on a raster map\"\n-    },\n-    {\n-        \"command\": \"v.rectify\",\n-        \"display_name\": \"v.rectify\",\n-        \"ext_path\": \"v_rectify\",\n-        \"group\": \"Vector (v.*)\",\n-        \"group_id\": \"vector\",\n-        \"hardcoded_strings\": [],\n-        \"name\": \"v.rectify\",\n-        \"parameters\": [\n-            \"QgsProcessingParameterFeatureSource|input|Name of input vector map|-1|None|False\",\n-            \"QgsProcessingParameterString|inline_points|Inline control points|None|True|True\",\n-            \"QgsProcessingParameterFile|points|Name of input file with control points|QgsProcessingParameterFile.File|txt|None|True\",\n-            \"QgsProcessingParameterNumber|order|Rectification polynomial order|QgsProcessingParameterNumber.Integer|1|True|1|3\",\n-            \"QgsProcessingParameterString|separator|Field separator for RMS report|pipe|False|True\",\n-            \"*QgsProcessingParameterBoolean|-3|Perform 3D transformation|False\",\n-            \"*QgsProcessingParameterBoolean|-o|Perform orthogonal 3D transformation|False\",\n-            \"*QgsProcessingParameterBoolean|-b|Do not build topology|False\",\n-            \"QgsProcessingParameterVectorDestination|output|Rectified\",\n-            \"QgsProcessingParameterFileDestination|rmsfile|Root Mean Square errors file|Txt files (*.txt)|None|False\"\n-        ],\n-        \"short_description\": \"Rectifies a vector by computing a coordinate transformation for each object in the vector based on the control points.\"\n-    },\n-    {\n-        \"command\": \"r.mask\",\n-        \"display_name\": \"r.mask.rast\",\n-        \"ext_path\": \"r_mask_rast\",\n+        \"command\": \"r.topmodel\",\n+        \"display_name\": \"r.topmodel.topidxstats\",\n+        \"ext_path\": null,\n         \"group\": \"Raster (r.*)\",\n         \"group_id\": \"raster\",\n-        \"hardcoded_strings\": [],\n-        \"name\": \"r.mask.rast\",\n-        \"parameters\": [\n-            \"QgsProcessingParameterRasterLayer|raster|Name of raster map to use as mask|None|False\",\n-            \"QgsProcessingParameterRasterLayer|input|Name of raster map to which apply the mask|None|False\",\n-            \"QgsProcessingParameterString|maskcats|Raster values to use for mask. Format: 1 2 3 thru 7 *|*|False|True\",\n-            \"*QgsProcessingParameterBoolean|-i|Create inverse mask|False|True\",\n-            \"QgsProcessingParameterRasterDestination|output|Masked\"\n+        \"hardcoded_strings\": [\n+            \"-p\"\n         ],\n-        \"short_description\": \"r.mask.rast - Creates a MASK for limiting raster operation.\"\n-    },\n-    {\n-        \"command\": \"r.li.patchnum\",\n-        \"display_name\": \"r.li.patchnum\",\n-        \"ext_path\": \"r_li_patchnum\",\n-        \"group\": \"Raster (r.*)\",\n-        \"group_id\": \"raster\",\n-        \"hardcoded_strings\": [],\n-        \"name\": \"r.li.patchnum\",\n+        \"name\": \"r.topmodel.topidxstats\",\n         \"parameters\": [\n-            \"QgsProcessingParameterRasterLayer|input|Name of input raster map|None|False\",\n-            \"QgsProcessingParameterString|config_txt|Landscape structure configuration|None|True|True\",\n-            \"QgsProcessingParameterFile|config|Landscape structure configuration file|QgsProcessingParameterFile.File|txt|None|True\",\n-            \"QgsProcessingParameterRasterDestination|output|Patch Number\"\n+            \"QgsProcessingParameterRasterLayer|topidx|Name of input topographic index raster map|None|False\",\n+            \"QgsProcessingParameterNumber|ntopidxclasses|Number of topographic index classes|QgsProcessingParameterNumber.Integer|30|True|1|None\",\n+            \"Hardcoded|-p\",\n+            \"QgsProcessingParameterFileDestination|outtopidxstats|TOPMODEL topographic index statistics file|Txt files (*.txt)|None|False\"\n         ],\n-        \"short_description\": \"Calculates patch number index on a raster map, using a 4 neighbour algorithm.\"\n+        \"short_description\": \"r.topmodel.topidxstats - Builds a TOPMODEL topographic index statistics file.\"\n     },\n     {\n-        \"command\": \"i.evapo.pt\",\n-        \"display_name\": \"i.evapo.pt\",\n-        \"ext_path\": null,\n+        \"command\": \"i.evapo.mh\",\n+        \"display_name\": \"i.evapo.mh\",\n+        \"ext_path\": \"i_evapo_mh\",\n         \"group\": \"Imagery (i.*)\",\n         \"group_id\": \"imagery\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"i.evapo.pt\",\n+        \"name\": \"i.evapo.mh\",\n         \"parameters\": [\n-            \"QgsProcessingParameterRasterLayer|net_radiation|Name of input net radiation raster map [W/m2]|None|False\",\n-            \"QgsProcessingParameterRasterLayer|soil_heatflux|Name of input soil heat flux raster map [W/m2]|None|False\",\n-            \"QgsProcessingParameterRasterLayer|air_temperature|Name of input air temperature raster map [K]|None|False\",\n-            \"QgsProcessingParameterRasterLayer|atmospheric_pressure|Name of input atmospheric pressure raster map [millibars]|None|False\",\n-            \"QgsProcessingParameterNumber|priestley_taylor_coeff|Priestley-Taylor coefficient|QgsProcessingParameterNumber.Double|1.26|False|0.0|None\",\n+            \"QgsProcessingParameterRasterLayer|netradiation_diurnal|Name of input diurnal net radiation raster map [W/m2/d]|None|False\",\n+            \"QgsProcessingParameterRasterLayer|average_temperature|Name of input average air temperature raster map [C]|None|False\",\n+            \"QgsProcessingParameterRasterLayer|minimum_temperature|Name of input minimum air temperature raster map [C]|None|False\",\n+            \"QgsProcessingParameterRasterLayer|maximum_temperature|Name of input maximum air temperature raster map [C]|None|False\",\n+            \"QgsProcessingParameterRasterLayer|precipitation|Name of precipitation raster map [mm/month]|None|True\",\n             \"*QgsProcessingParameterBoolean|-z|Set negative ETa to zero|False\",\n+            \"*QgsProcessingParameterBoolean|-h|Use original Hargreaves (1985)|False\",\n+            \"*QgsProcessingParameterBoolean|-s|Use Hargreaves-Samani (1985)|False\",\n             \"QgsProcessingParameterRasterDestination|output|Evapotranspiration\"\n         ],\n-        \"short_description\": \"Computes evapotranspiration calculation Priestley and Taylor formulation, 1972.\"\n+        \"short_description\": \"Computes evapotranspiration calculation modified or original Hargreaves formulation, 2001.\"\n     },\n     {\n-        \"command\": \"v.to.points\",\n-        \"display_name\": \"v.to.points\",\n+        \"command\": \"r.surf.random\",\n+        \"display_name\": \"r.surf.random\",\n         \"ext_path\": null,\n-        \"group\": \"Vector (v.*)\",\n-        \"group_id\": \"vector\",\n+        \"group\": \"Raster (r.*)\",\n+        \"group_id\": \"raster\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"v.to.points\",\n+        \"name\": \"r.surf.random\",\n         \"parameters\": [\n-            \"QgsProcessingParameterFeatureSource|input|Input lines layer|1|None|False\",\n-            \"QgsProcessingParameterEnum|type|Input feature type|point;line;boundary;centroid;area;face;kernel|True|0,1,2,3,5|True\",\n-            \"QgsProcessingParameterEnum|use|Use line nodes or vertices only|node;vertex|False|0|True\",\n-            \"QgsProcessingParameterNumber|dmax|Maximum distance between points in map units|QgsProcessingParameterNumber.Double|100.0|True|0.0|None\",\n-            \"QgsProcessingParameterBoolean|-i|Interpolate points between line vertices|False\",\n-            \"QgsProcessingParameterBoolean|-t|Do not create attribute table|False\",\n-            \"QgsProcessingParameterVectorDestination|output|Points along lines\"\n+            \"QgsProcessingParameterNumber|min|Minimum random value|QgsProcessingParameterNumber.Integer|0|True|None|None\",\n+            \"QgsProcessingParameterNumber|max|Maximum random value|QgsProcessingParameterNumber.Integer|100|True|None|None\",\n+            \"QgsProcessingParameterBoolean|-i|Create an integer raster layer|False\",\n+            \"QgsProcessingParameterRasterDestination|output|Random\"\n         ],\n-        \"short_description\": \"Create points along input lines\"\n+        \"short_description\": \"Produces a raster layer of uniform random deviates whose range can be expressed by the user.\"\n     },\n     {\n-        \"command\": \"r.horizon\",\n-        \"display_name\": \"r.horizon\",\n-        \"ext_path\": \"r_horizon\",\n-        \"group\": \"Raster (r.*)\",\n-        \"group_id\": \"raster\",\n+        \"command\": \"i.in.spotvgt\",\n+        \"display_name\": \"i.in.spotvgt\",\n+        \"ext_path\": \"i_in_spotvgt\",\n+        \"group\": \"Imagery (i.*)\",\n+        \"group_id\": \"imagery\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"r.horizon\",\n+        \"name\": \"i.in.spotvgt\",\n         \"parameters\": [\n-            \"QgsProcessingParameterRasterLayer|elevation|Name of input elevation raster map|None|False\",\n-            \"QgsProcessingParameterNumber|direction|Direction in which you want to know the horizon height|QgsProcessingParameterNumber.Double|None|True|0.0|360.0\",\n-            \"QgsProcessingParameterNumber|step|Angle step size for multidirectional horizon|QgsProcessingParameterNumber.Double|None|True|0.0|360.0\",\n-            \"QgsProcessingParameterNumber|start|Start angle for multidirectional horizon|QgsProcessingParameterNumber.Double|0.0|True|0.0|360.0\",\n-            \"QgsProcessingParameterNumber|end|End angle for multidirectional horizon|QgsProcessingParameterNumber.Double|360.0|True|0.0|360.0\",\n-            \"QgsProcessingParameterNumber|bufferzone|For horizon rasters, read from the DEM an extra buffer around the present region|QgsProcessingParameterNumber.Double|None|True|0.0|None\",\n-            \"QgsProcessingParameterNumber|e_buff|For horizon rasters, read from the DEM an extra buffer eastward the present region|QgsProcessingParameterNumber.Double|None|True|0.0|None\",\n-            \"QgsProcessingParameterNumber|w_buff|For horizon rasters, read from the DEM an extra buffer westward the present region|QgsProcessingParameterNumber.Double|None|True|0.0|None\",\n-            \"QgsProcessingParameterNumber|n_buff|For horizon rasters, read from the DEM an extra buffer northward the present region|QgsProcessingParameterNumber.Double|None|True|0.0|None\",\n-            \"QgsProcessingParameterNumber|s_buff|For horizon rasters, read from the DEM an extra buffer southward the present region|QgsProcessingParameterNumber.Double|None|True|0.0|None\",\n-            \"QgsProcessingParameterNumber|maxdistance|The maximum distance to consider when finding the horizon height|QgsProcessingParameterNumber.Double|None|True|0.0|None\",\n-            \"QgsProcessingParameterNumber|distance|Sampling distance step coefficient|QgsProcessingParameterNumber.Double|1.0|True|0.5|1.5\",\n-            \"QgsProcessingParameterBoolean|-d|Write output in degrees (default is radians)|False\",\n-            \"QgsProcessingParameterBoolean|-c|Write output in compass orientation (default is CCW, East=0)|False\",\n-            \"QgsProcessingParameterFolderDestination|output|Folder to get horizon rasters\"\n+            \"QgsProcessingParameterFile|input|Name of input SPOT VGT NDVI HDF file|QgsProcessingParameterFile.File|hdf|None|False\",\n+            \"*QgsProcessingParameterBoolean|-a|Also import quality map (SM status map layer) and filter NDVI map|False\",\n+            \"QgsProcessingParameterRasterDestination|output|SPOT NDVI Raster\"\n         ],\n-        \"short_description\": \"Horizon angle computation from a digital elevation model.\"\n+        \"short_description\": \"Imports SPOT VGT NDVI data into a raster map.\"\n     },\n     {\n-        \"command\": \"r.out.vrml\",\n-        \"display_name\": \"r.out.vrml\",\n+        \"command\": \"i.eb.eta\",\n+        \"display_name\": \"i.eb.eta\",\n         \"ext_path\": null,\n-        \"group\": \"Raster (r.*)\",\n-        \"group_id\": \"raster\",\n+        \"group\": \"Imagery (i.*)\",\n+        \"group_id\": \"imagery\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"r.out.vrml\",\n+        \"name\": \"i.eb.eta\",\n         \"parameters\": [\n-            \"QgsProcessingParameterRasterLayer|elevation|Elevation layer|None|False\",\n-            \"QgsProcessingParameterRasterLayer|color|Color layer|None|False\",\n-            \"QgsProcessingParameterNumber|exaggeration|Vertical exaggeration|QgsProcessingParameterNumber.Double|1.0|True|None|None\",\n-            \"QgsProcessingParameterFileDestination|output|VRML|Txt files (*.txt)|None|False\"\n+            \"QgsProcessingParameterRasterLayer|netradiationdiurnal|Name of the diurnal net radiation map [W/m2]|None|False\",\n+            \"QgsProcessingParameterRasterLayer|evaporativefraction|Name of the evaporative fraction map|None|False\",\n+            \"QgsProcessingParameterRasterLayer|temperature|Name of the surface skin temperature [K]|None|False\",\n+            \"QgsProcessingParameterRasterDestination|output|Evapotranspiration\"\n         ],\n-        \"short_description\": \"Export a raster layer to the Virtual Reality Modeling Language (VRML)\"\n+        \"short_description\": \"Actual evapotranspiration for diurnal period (Bastiaanssen, 1995).\"\n     },\n     {\n         \"command\": \"r.series.accumulate\",\n         \"display_name\": \"r.series.accumulate\",\n         \"ext_path\": null,\n         \"group\": \"Raster (r.*)\",\n         \"group_id\": \"raster\",\n@@ -1712,138 +1495,156 @@\n             \"QgsProcessingParameterBoolean|-n|Propagate NULLs|False\",\n             \"*QgsProcessingParameterBoolean|-f|Create a FCELL map (floating point single precision) as output|False\",\n             \"QgsProcessingParameterRasterDestination|output|Accumulated\"\n         ],\n         \"short_description\": \"Makes each output cell value an accumulation function of the values assigned to the corresponding cells in the input raster map layers.\"\n     },\n     {\n-        \"command\": \"r.circle\",\n-        \"display_name\": \"r.circle\",\n+        \"command\": \"i.tasscap\",\n+        \"display_name\": \"i.tasscap\",\n+        \"ext_path\": \"i_tasscap\",\n+        \"group\": \"Imagery (i.*)\",\n+        \"group_id\": \"imagery\",\n+        \"hardcoded_strings\": [],\n+        \"name\": \"i.tasscap\",\n+        \"parameters\": [\n+            \"QgsProcessingParameterMultipleLayers|input|Input rasters. Landsat4-7: bands 1,2,3,4,5,7; Landsat8: bands 2,3,4,5,6,7; MODIS: bands 1,2,3,4,5,6,7|3|None|False\",\n+            \"QgsProcessingParameterEnum|sensor|Satellite sensor|landsat4_tm;landsat5_tm;landsat7_etm;landsat8_oli;modis|False|0|False\",\n+            \"QgsProcessingParameterFolderDestination|output|Output Directory\"\n+        ],\n+        \"short_description\": \"Performs Tasseled Cap (Kauth Thomas) transformation.\"\n+    },\n+    {\n+        \"command\": \"v.delaunay\",\n+        \"display_name\": \"v.delaunay\",\n         \"ext_path\": null,\n-        \"group\": \"Raster (r.*)\",\n-        \"group_id\": \"raster\",\n+        \"group\": \"Vector (v.*)\",\n+        \"group_id\": \"vector\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"r.circle\",\n+        \"name\": \"v.delaunay\",\n         \"parameters\": [\n-            \"QgsProcessingParameterPoint|coordinates|The coordinate of the center (east,north)|0,0|False\",\n-            \"QgsProcessingParameterNumber|min|Minimum radius for ring/circle map (in meters)|QgsProcessingParameterNumber.Double|None|True|None|None\",\n-            \"QgsProcessingParameterNumber|max|Maximum radius for ring/circle map (in meters)|QgsProcessingParameterNumber.Double|None|True|None|None\",\n-            \"QgsProcessingParameterNumber|multiplier|Data value multiplier|QgsProcessingParameterNumber.Double|None|True|None|None\",\n-            \"QgsProcessingParameterBoolean|-b|Generate binary raster map|False\",\n-            \"QgsProcessingParameterRasterDestination|output|Circles\"\n+            \"QgsProcessingParameterFeatureSource|input|Input vector layer|0|None|False\",\n+            \"QgsProcessingParameterBoolean|-r|Use only points in current region|False|False\",\n+            \"QgsProcessingParameterBoolean|-l|Output triangulation as a graph (lines), not areas|False|False\",\n+            \"QgsProcessingParameterVectorDestination|output|Delaunay triangulation\"\n         ],\n-        \"short_description\": \"Creates a raster map containing concentric rings around a given point.\"\n+        \"short_description\": \"Creates a Delaunay triangulation from an input vector map containing points or centroids.\"\n     },\n     {\n-        \"command\": \"r.li.cwed\",\n-        \"display_name\": \"r.li.cwed\",\n-        \"ext_path\": \"r_li_cwed\",\n+        \"command\": \"r.out.ppm\",\n+        \"display_name\": \"r.out.ppm\",\n+        \"ext_path\": null,\n         \"group\": \"Raster (r.*)\",\n         \"group_id\": \"raster\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"r.li.cwed\",\n+        \"name\": \"r.out.ppm\",\n         \"parameters\": [\n-            \"QgsProcessingParameterRasterLayer|input|Name of input raster map|None|False\",\n-            \"QgsProcessingParameterString|config_txt|Landscape structure configuration|None|True|True\",\n-            \"QgsProcessingParameterFile|config|Landscape structure configuration file|QgsProcessingParameterFile.File|txt|None|True\",\n-            \"QgsProcessingParameterFile|path|Name of file that contains the weight to calculate the index|QgsProcessingParameterFile.File|txt|None|False\",\n-            \"QgsProcessingParameterRasterDestination|output|CWED\"\n+            \"QgsProcessingParameterRasterLayer|input|Input raster layer|None|False\",\n+            \"QgsProcessingParameterBoolean|-g|Output greyscale instead of color|True\",\n+            \"QgsProcessingParameterFileDestination|output|PPM|PPM files (*.ppm)|None|False\"\n         ],\n-        \"short_description\": \"Calculates contrast weighted edge density index on a raster map\"\n+        \"short_description\": \"Converts a raster layer to a PPM image file at the pixel resolution of the currently defined region.\"\n     },\n     {\n-        \"command\": \"v.sample\",\n-        \"display_name\": \"v.sample\",\n-        \"ext_path\": \"v_sample\",\n+        \"command\": \"i.emissivity\",\n+        \"display_name\": \"i.emissivity\",\n+        \"ext_path\": null,\n+        \"group\": \"Imagery (i.*)\",\n+        \"group_id\": \"imagery\",\n+        \"hardcoded_strings\": [],\n+        \"name\": \"i.emissivity\",\n+        \"parameters\": [\n+            \"QgsProcessingParameterRasterLayer|input|Name of NDVI raster map [-]|None|False\",\n+            \"QgsProcessingParameterRasterDestination|output|Emissivity\"\n+        ],\n+        \"short_description\": \"Computes emissivity from NDVI, generic method for sparse land.\"\n+    },\n+    {\n+        \"command\": \"v.net.iso\",\n+        \"display_name\": \"v.net.iso\",\n+        \"ext_path\": \"v_net_iso\",\n         \"group\": \"Vector (v.*)\",\n         \"group_id\": \"vector\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"v.sample\",\n+        \"name\": \"v.net.iso\",\n         \"parameters\": [\n-            \"QgsProcessingParameterFeatureSource|input|Vector layer defining sample points|0|None|False\",\n-            \"QgsProcessingParameterField|column|Vector layer attribute column to use for comparison|None|input|-1|False|False\",\n-            \"QgsProcessingParameterRasterLayer|raster|Raster map to be sampled|None|False\",\n-            \"QgsProcessingParameterNumber|zscale|Sampled raster values will be multiplied by this factor|QgsProcessingParameterNumber.Double|1.0|True|None|None\",\n-            \"QgsProcessingParameterEnum|method|Sampling interpolation method|nearest;bilinear;bicubic|False|0|True\",\n-            \"QgsProcessingParameterVectorDestination|output|Sampled|QgsProcessing.TypeVectorPoint|None|True\"\n+            \"QgsProcessingParameterFeatureSource|input|Input vector line layer (arcs)|1|None|False\",\n+            \"QgsProcessingParameterFeatureSource|points|Centers point layer (nodes)|0|None|False\",\n+            \"QgsProcessingParameterNumber|threshold|Threshold for connecting centers to the network (in map unit)|QgsProcessingParameterNumber.Double|50.0|False|0.0|None\",\n+            \"*QgsProcessingParameterEnum|arc_type|Arc type|line;boundary|True|0,1|False\",\n+            \"*QgsProcessingParameterString|center_cats|Category values|1-100000|False|False\",\n+            \"QgsProcessingParameterString|costs|Costs for isolines|1000,2000,3000|False|False\",\n+            \"*QgsProcessingParameterField|arc_column|Arc forward/both direction(s) cost column (number)|None|input|0|False|True\",\n+            \"*QgsProcessingParameterField|arc_backward_column|Arc backward direction cost column (number)|None|input|0|False|True\",\n+            \"*QgsProcessingParameterField|node_column|Node cost column (number)|None|points|0|False|True\",\n+            \"*QgsProcessingParameterBoolean|-g|Use geodesic calculation for longitude-latitude locations|False|True\",\n+            \"QgsProcessingParameterVectorDestination|output|Network_Iso\"\n         ],\n-        \"short_description\": \"Samples a raster layer at vector point locations.\"\n+        \"short_description\": \"Splits network by cost isolines.\"\n     },\n     {\n-        \"command\": \"i.eb.eta\",\n-        \"display_name\": \"i.eb.eta\",\n+        \"command\": \"i.image.mosaic\",\n+        \"display_name\": \"i.image.mosaic\",\n         \"ext_path\": null,\n         \"group\": \"Imagery (i.*)\",\n         \"group_id\": \"imagery\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"i.eb.eta\",\n+        \"name\": \"i.image.mosaic\",\n         \"parameters\": [\n-            \"QgsProcessingParameterRasterLayer|netradiationdiurnal|Name of the diurnal net radiation map [W/m2]|None|False\",\n-            \"QgsProcessingParameterRasterLayer|evaporativefraction|Name of the evaporative fraction map|None|False\",\n-            \"QgsProcessingParameterRasterLayer|temperature|Name of the surface skin temperature [K]|None|False\",\n-            \"QgsProcessingParameterRasterDestination|output|Evapotranspiration\"\n+            \"QgsProcessingParameterMultipleLayers|input|Input rasters|3|None|False\",\n+            \"QgsProcessingParameterRasterDestination|output|Mosaic Raster\"\n         ],\n-        \"short_description\": \"Actual evapotranspiration for diurnal period (Bastiaanssen, 1995).\"\n+        \"short_description\": \"Mosaics several images and extends colormap.\"\n     },\n     {\n-        \"command\": \"v.decimate\",\n-        \"display_name\": \"v.decimate\",\n-        \"ext_path\": null,\n+        \"command\": \"v.net\",\n+        \"display_name\": \"v.net\",\n+        \"ext_path\": \"v_net\",\n         \"group\": \"Vector (v.*)\",\n         \"group_id\": \"vector\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"v.decimate\",\n+        \"name\": \"v.net\",\n         \"parameters\": [\n-            \"QgsProcessingParameterFeatureSource|input|Input vector|1|None|False\",\n-            \"QgsProcessingParameterRange|zrange|Filter range for z data (min,max)|QgsProcessingParameterNumber.Double|None|True\",\n-            \"QgsProcessingParameterString|cats|Category values|None|False|True\",\n-            \"QgsProcessingParameterNumber|skip|Throw away every n-th point|QgsProcessingParameterNumber.Integer|None|True|0|None\",\n-            \"QgsProcessingParameterNumber|preserve|Preserve only every n-th point|QgsProcessingParameterNumber.Integer|None|True|0|None\",\n-            \"QgsProcessingParameterNumber|offset|Skip first n points|QgsProcessingParameterNumber.Integer|None|True|0|None\",\n-            \"QgsProcessingParameterNumber|limit|Copy only n points|QgsProcessingParameterNumber.Integer|None|True|0|None\",\n-            \"QgsProcessingParameterNumber|zdiff|Minimal difference of z values|QgsProcessingParameterNumber.Double|None|True|None|None\",\n-            \"QgsProcessingParameterNumber|cell_limit|Preserve only n points per grid cell|QgsProcessingParameterNumber.Integer|None|True|0|None\",\n-            \"*QgsProcessingParameterBoolean|-g|Apply grid-based decimation|False|True\",\n-            \"*QgsProcessingParameterBoolean|-f|Use only first point in grid cell during grid-based decimation|False|True\",\n-            \"*QgsProcessingParameterBoolean|-c|Only one point per cat in grid cell|False|True\",\n-            \"*QgsProcessingParameterBoolean|-z|Use z in grid decimation|False|True\",\n-            \"*QgsProcessingParameterBoolean|-x|Store only the coordinates, throw away categories|False|True\",\n-            \"*QgsProcessingParameterBoolean|-b|Do not build topology|False|True\",\n-            \"QgsProcessingParameterVectorDestination|output|Output vector map\"\n+            \"QgsProcessingParameterFeatureSource|input|Input vector line layer (arcs)|1|None|True\",\n+            \"QgsProcessingParameterFeatureSource|points|Input vector point layer (nodes)|0|None|True\",\n+            \"QgsProcessingParameterFile|file|Name of input arcs file|QgsProcessingParameterFile.File|txt|None|True\",\n+            \"QgsProcessingParameterEnum|operation|Operation to be performed|nodes;connect;arcs|False|0|False\",\n+            \"QgsProcessingParameterNumber|threshold|Threshold for connecting centers to the network (in map unit)|QgsProcessingParameterNumber.Double|50.0|False|0.0|None\",\n+            \"QgsProcessingParameterEnum|arc_type|Arc type|line;boundary|True|0,1|True\",\n+            \"*QgsProcessingParameterBoolean|-s|Snap points to network|False\",\n+            \"*QgsProcessingParameterBoolean|-c|Assign unique categories to new points|False\",\n+            \"QgsProcessingParameterVectorDestination|output|Network|QgsProcessing.TypeVectorAnyGeometry|None|False\"\n         ],\n-        \"short_description\": \"Decimates a point cloud\"\n+        \"short_description\": \"Performs network maintenance\"\n     },\n     {\n-        \"command\": \"v.clean\",\n-        \"display_name\": \"v.clean\",\n-        \"ext_path\": null,\n-        \"group\": \"Vector (v.*)\",\n-        \"group_id\": \"vector\",\n+        \"command\": \"r.li.renyi\",\n+        \"display_name\": \"r.li.renyi\",\n+        \"ext_path\": \"r_li_renyi\",\n+        \"group\": \"Raster (r.*)\",\n+        \"group_id\": \"raster\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"v.clean\",\n+        \"name\": \"r.li.renyi\",\n         \"parameters\": [\n-            \"QgsProcessingParameterFeatureSource|input|Layer to clean|-1|None|False\",\n-            \"QgsProcessingParameterEnum|type|Input feature type|point;line;boundary;centroid;area;face;kernel|True|0,1,2,3,4,5,6|True\",\n-            \"QgsProcessingParameterEnum|tool|Cleaning tool|break;snap;rmdangle;chdangle;rmbridge;chbridge;rmdupl;rmdac;bpol;prune;rmarea;rmline;rmsa|True|0|False\",\n-            \"QgsProcessingParameterString|threshold|Threshold (comma separated for each tool)|None|False|True\",\n-            \"*QgsProcessingParameterBoolean|-b|Do not build topology for the output vector|False\",\n-            \"*QgsProcessingParameterBoolean|-c|Combine tools with recommended follow-up tools|False\",\n-            \"QgsProcessingParameterVectorDestination|output|Cleaned\",\n-            \"QgsProcessingParameterVectorDestination|error|Errors\"\n+            \"QgsProcessingParameterRasterLayer|input|Name of input raster map|None|False\",\n+            \"QgsProcessingParameterString|config_txt|Landscape structure configuration|None|True|True\",\n+            \"QgsProcessingParameterFile|config|Landscape structure configuration file|QgsProcessingParameterFile.File|txt|None|True\",\n+            \"QgsProcessingParameterString|alpha|Alpha value is the order of the generalized entropy|None|False|False\",\n+            \"QgsProcessingParameterRasterDestination|output|Renyi\"\n         ],\n-        \"short_description\": \"Toolset for cleaning topology of vector map.\"\n+        \"short_description\": \"Calculates Renyi's diversity index on a raster map\"\n     },\n     {\n         \"command\": \"v.surf.rst\",\n-        \"display_name\": \"v.surf.rst\",\n+        \"display_name\": \"v.surf.rst.cvdev\",\n         \"ext_path\": null,\n         \"group\": \"Vector (v.*)\",\n         \"group_id\": \"vector\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"v.surf.rst\",\n+        \"name\": \"v.surf.rst.cvdev\",\n         \"parameters\": [\n             \"QgsProcessingParameterFeatureSource|input|Input points layer|0|None|False\",\n             \"QgsProcessingParameterField|zcolumn|Name of the attribute column with values to be used for approximation|None|input|-1|False|True\",\n             \"QgsProcessingParameterString|where|WHERE conditions of SQL statement without 'where' keyword|None|True|True\",\n             \"QgsProcessingParameterRasterLayer|mask|Name of the raster map used as mask|None|True\",\n             \"QgsProcessingParameterNumber|tension|Tension parameter|QgsProcessingParameterNumber.Double|40.0|True|None|None\",\n             \"QgsProcessingParameterNumber|smooth|Smoothing parameter|QgsProcessingParameterNumber.Double|None|True|None|None\",\n@@ -1852,26 +1653,47 @@\n             \"QgsProcessingParameterNumber|npmin|Minimum number of points for approximation in a segment (>segmax)|QgsProcessingParameterNumber.Integer|300|True|0|None\",\n             \"QgsProcessingParameterNumber|dmin|Minimum distance between points (to remove almost identical points)|QgsProcessingParameterNumber.Double|None|True|0.0|None\",\n             \"QgsProcessingParameterNumber|dmax|Maximum distance between points on isoline (to insert additional points)|QgsProcessingParameterNumber.Double|None|True|None|None\",\n             \"QgsProcessingParameterNumber|zscale|Conversion factor for values used for approximation|QgsProcessingParameterNumber.Double|1.0|True|None|None\",\n             \"QgsProcessingParameterNumber|theta|Anisotropy angle (in degrees counterclockwise from East)|QgsProcessingParameterNumber.Double|None|True|0.0|360.0\",\n             \"QgsProcessingParameterNumber|scalex|Anisotropy scaling factor|QgsProcessingParameterNumber.Double|None|True|None|None\",\n             \"QgsProcessingParameterBoolean|-t|Use scale dependent tension|False\",\n-            \"QgsProcessingParameterBoolean|-d|Output partial derivatives instead of topographic parameters|False\",\n-            \"QgsProcessingParameterRasterDestination|elevation|Interpolated RST|None|True\",\n-            \"QgsProcessingParameterRasterDestination|slope|Slope|None|True\",\n-            \"QgsProcessingParameterRasterDestination|aspect|Aspect|None|True\",\n-            \"QgsProcessingParameterRasterDestination|pcurvature|Profile curvature|None|True\",\n-            \"QgsProcessingParameterRasterDestination|tcurvature|Tangential curvature|None|True\",\n-            \"QgsProcessingParameterRasterDestination|mcurvature|Mean curvature|None|True\",\n-            \"QgsProcessingParameterVectorDestination|deviations|Deviations|QgsProcessing.TypeVectorAnyGeometry|None|True\",\n-            \"QgsProcessingParameterVectorDestination|treeseg|Quadtree Segmentation|QgsProcessing.TypeVectorAnyGeometry|None|True\",\n-            \"QgsProcessingParameterVectorDestination|overwin|Overlapping Windows|QgsProcessing.TypeVectorAnyGeometry|None|True\"\n+            \"QgsProcessingParameterBoolean|-c|Perform cross-validation procedure without raster approximation [leave this option as True]|True\",\n+            \"QgsProcessingParameterVectorDestination|cvdev|Cross Validation Errors|QgsProcessing.TypeVectorAnyGeometry|None|True\"\n         ],\n-        \"short_description\": \"Performs surface interpolation from vector points map by splines.\"\n+        \"short_description\": \"v.surf.rst.cvdev - Performs surface interpolation from vector points map by splines.\"\n+    },\n+    {\n+        \"command\": \"v.in.ascii\",\n+        \"display_name\": \"v.in.ascii\",\n+        \"ext_path\": null,\n+        \"group\": \"Vector (v.*)\",\n+        \"group_id\": \"vector\",\n+        \"hardcoded_strings\": [],\n+        \"name\": \"v.in.ascii\",\n+        \"parameters\": [\n+            \"QgsProcessingParameterFile|input|ASCII file to be imported|QgsProcessingParameterFile.File|txt|None|False\",\n+            \"QgsProcessingParameterEnum|format|Input file format|point;standard|False|0|True\",\n+            \"QgsProcessingParameterString|separator|Field separator|pipe|False|True\",\n+            \"QgsProcessingParameterString|text|Text delimiter|None|False|True\",\n+            \"QgsProcessingParameterNumber|skip|Number of header lines to skip at top of input file|QgsProcessingParameterNumber.Integer|0|True|0|None\",\n+            \"QgsProcessingParameterString|columns|Column definition in SQL style (example: 'x double precision, y double precision, cat int, name varchar(10)')|None|False|True\",\n+            \"QgsProcessingParameterNumber|x|Number of column used as x coordinate|QgsProcessingParameterNumber.Integer|1|True|1|None\",\n+            \"QgsProcessingParameterNumber|y|Number of column used as y coordinate|QgsProcessingParameterNumber.Integer|2|True|1|None\",\n+            \"QgsProcessingParameterNumber|z|Number of column used as z coordinate|QgsProcessingParameterNumber.Integer|0|True|0|None\",\n+            \"QgsProcessingParameterNumber|cat|Number of column used as category|QgsProcessingParameterNumber.Integer|0|True|0|None\",\n+            \"*QgsProcessingParameterBoolean|-z|Create 3D vector map|False\",\n+            \"*QgsProcessingParameterBoolean|-n|Do not expect a header when reading in standard format|False\",\n+            \"*QgsProcessingParameterBoolean|-t|Do not create table in points mode|False\",\n+            \"*QgsProcessingParameterBoolean|-b|Do not build topology in points mode|False\",\n+            \"*QgsProcessingParameterBoolean|-r|Only import points falling within current region (points mode)|False\",\n+            \"*QgsProcessingParameterBoolean|-i|Ignore broken line(s) in points mode|False\",\n+            \"QgsProcessingParameterVectorDestination|output|ASCII\"\n+        ],\n+        \"short_description\": \"Creates a vector map from an ASCII points file or ASCII vector file.\"\n     },\n     {\n         \"command\": \"r.plane\",\n         \"display_name\": \"r.plane\",\n         \"ext_path\": null,\n         \"group\": \"Raster (r.*)\",\n         \"group_id\": \"raster\",\n@@ -1885,496 +1707,385 @@\n             \"QgsProcessingParameterNumber|elevation|Elevation coordinate of a point on the plane|QgsProcessingParameterNumber.Double|None|False|None|None\",\n             \"QgsProcessingParameterEnum|type|Data type of resulting layer|CELL;FCELL;DCELL|False|1|True\",\n             \"QgsProcessingParameterRasterDestination|output|Plane\"\n         ],\n         \"short_description\": \"Creates raster plane layer given dip (inclination), aspect (azimuth) and one point.\"\n     },\n     {\n-        \"command\": \"i.segment\",\n-        \"display_name\": \"i.segment\",\n-        \"ext_path\": \"i_segment\",\n-        \"group\": \"Imagery (i.*)\",\n-        \"group_id\": \"imagery\",\n+        \"command\": \"r.li.dominance\",\n+        \"display_name\": \"r.li.dominance.ascii\",\n+        \"ext_path\": \"r_li_dominance_ascii\",\n+        \"group\": \"Raster (r.*)\",\n+        \"group_id\": \"raster\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"i.segment\",\n+        \"name\": \"r.li.dominance.ascii\",\n         \"parameters\": [\n-            \"QgsProcessingParameterMultipleLayers|input|Input rasters|3|None|False\",\n-            \"QgsProcessingParameterNumber|threshold|Difference threshold between 0 and 1|QgsProcessingParameterNumber.Double|0.5|False|0.0|1.0\",\n-            \"QgsProcessingParameterEnum|method|Segmentation method|region_growing|False|0|True\",\n-            \"QgsProcessingParameterEnum|similarity|Similarity calculation method|euclidean;manhattan|False|0|True\",\n-            \"QgsProcessingParameterNumber|minsize|Minimum number of cells in a segment|QgsProcessingParameterNumber.Integer|1|True|1|100000\",\n-            \"QgsProcessingParameterNumber|memory|Amount of memory to use in MB|QgsProcessingParameterNumber.Integer|300|True|1|None\",\n-            \"QgsProcessingParameterNumber|iterations|Maximum number of iterations|QgsProcessingParameterNumber.Integer|20|True|1|None\",\n-            \"QgsProcessingParameterRasterLayer|seeds|Name for input raster map with starting seeds|None|True\",\n-            \"QgsProcessingParameterRasterLayer|bounds|Name of input bounding/constraining raster map|None|True\",\n-            \"*QgsProcessingParameterBoolean|-d|Use 8 neighbors (3x3 neighborhood) instead of the default 4 neighbors for each pixel|False\",\n-            \"*QgsProcessingParameterBoolean|-w|Weighted input, do not perform the default scaling of input raster maps|False\",\n-            \"QgsProcessingParameterRasterDestination|output|Segmented Raster|None|False\",\n-            \"QgsProcessingParameterRasterDestination|goodness|Goodness Raster|None|True\"\n+            \"QgsProcessingParameterRasterLayer|input|Name of input raster map|None|False\",\n+            \"QgsProcessingParameterString|config_txt|Landscape structure configuration|None|True|True\",\n+            \"QgsProcessingParameterFile|config|Landscape structure configuration file|QgsProcessingParameterFile.File|txt|None|True\",\n+            \"QgsProcessingParameterFileDestination|output_txt|Dominance|Txt files (*.txt)|None|False\"\n         ],\n-        \"short_description\": \"Identifies segments (objects) from imagery data.\"\n+        \"short_description\": \"r.li.dominance.ascii - Calculates dominance's diversity index on a raster map\"\n     },\n     {\n-        \"command\": \"v.type\",\n-        \"display_name\": \"v.type\",\n+        \"command\": \"r.category\",\n+        \"display_name\": \"r.category.out\",\n         \"ext_path\": null,\n-        \"group\": \"Vector (v.*)\",\n-        \"group_id\": \"vector\",\n-        \"hardcoded_strings\": [],\n-        \"name\": \"v.type\",\n-        \"parameters\": [\n-            \"QgsProcessingParameterFeatureSource|input|Name of existing vector map|-1|None|False\",\n-            \"QgsProcessingParameterEnum|from_type|Feature type to convert from|point;line;boundary;centroid;face;kernel|False|1|False\",\n-            \"QgsProcessingParameterEnum|to_type|Feature type to convert to|point;line;boundary;centroid;face;kernel|False|2|False\",\n-            \"QgsProcessingParameterVectorDestination|output|Typed\"\n-        ],\n-        \"short_description\": \"Change the type of geometry elements.\"\n-    },\n-    {\n-        \"command\": \"v.net.iso\",\n-        \"display_name\": \"v.net.iso\",\n-        \"ext_path\": \"v_net_iso\",\n-        \"group\": \"Vector (v.*)\",\n-        \"group_id\": \"vector\",\n+        \"group\": \"Raster (r.*)\",\n+        \"group_id\": \"raster\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"v.net.iso\",\n+        \"name\": \"r.category.out\",\n         \"parameters\": [\n-            \"QgsProcessingParameterFeatureSource|input|Input vector line layer (arcs)|1|None|False\",\n-            \"QgsProcessingParameterFeatureSource|points|Centers point layer (nodes)|0|None|False\",\n-            \"QgsProcessingParameterNumber|threshold|Threshold for connecting centers to the network (in map unit)|QgsProcessingParameterNumber.Double|50.0|False|0.0|None\",\n-            \"*QgsProcessingParameterEnum|arc_type|Arc type|line;boundary|True|0,1|False\",\n-            \"*QgsProcessingParameterString|center_cats|Category values|1-100000|False|False\",\n-            \"QgsProcessingParameterString|costs|Costs for isolines|1000,2000,3000|False|False\",\n-            \"*QgsProcessingParameterField|arc_column|Arc forward/both direction(s) cost column (number)|None|input|0|False|True\",\n-            \"*QgsProcessingParameterField|arc_backward_column|Arc backward direction cost column (number)|None|input|0|False|True\",\n-            \"*QgsProcessingParameterField|node_column|Node cost column (number)|None|points|0|False|True\",\n-            \"*QgsProcessingParameterBoolean|-g|Use geodesic calculation for longitude-latitude locations|False|True\",\n-            \"QgsProcessingParameterVectorDestination|output|Network_Iso\"\n+            \"QgsProcessingParameterRasterLayer|map|Name of raster map|None|False\",\n+            \"QgsProcessingParameterString|cats|Category values (for Integer rasters). Example: 1,3,7-9,13|None|False|True\",\n+            \"QgsProcessingParameterString|values|Comma separated value list (for float rasters). Example: 1.4,3.8,13|None|False|True\",\n+            \"QgsProcessingParameterString|separator|Field separator (Special characters: pipe, comma, space, tab, newline)|tab|False|True\",\n+            \"QgsProcessingParameterFileDestination|html|Category|HTML files (*.html)|None|False\"\n         ],\n-        \"short_description\": \"Splits network by cost isolines.\"\n+        \"short_description\": \"r.category.out - Exports category values and labels associated with user-specified raster map layers.\"\n     },\n     {\n-        \"command\": \"v.class\",\n-        \"display_name\": \"v.class\",\n-        \"ext_path\": null,\n-        \"group\": \"Vector (v.*)\",\n-        \"group_id\": \"vector\",\n+        \"command\": \"r.li.edgedensity\",\n+        \"display_name\": \"r.li.edgedensity.ascii\",\n+        \"ext_path\": \"r_li_edgedensity_ascii\",\n+        \"group\": \"Raster (r.*)\",\n+        \"group_id\": \"raster\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"v.class\",\n+        \"name\": \"r.li.edgedensity.ascii\",\n         \"parameters\": [\n-            \"QgsProcessingParameterFeatureSource|map|Input vector layer|-1|None|False\",\n-            \"QgsProcessingParameterField|column|Column name or expression|None|map|-1|False|False\",\n-            \"QgsProcessingParameterString|where|WHERE conditions of SQL statement without 'where' keyword|None|True|True\",\n-            \"QgsProcessingParameterEnum|algorithm|Algorithm to use for classification|int;std;qua;equ|False|0|False\",\n-            \"QgsProcessingParameterNumber|nbclasses|Number of classes to define|QgsProcessingParameterNumber.Integer|3|False|2|None\",\n-            \"QgsProcessingParameterBoolean|-g|Print only class breaks (without min and max)|True\",\n-            \"QgsProcessingParameterFileDestination|html|Classification|Html files (*.html)|report.html|False\"\n+            \"QgsProcessingParameterRasterLayer|input|Name of input raster map|None|False\",\n+            \"QgsProcessingParameterString|config_txt|Landscape structure configuration|None|True|True\",\n+            \"QgsProcessingParameterFile|config|Landscape structure configuration file|QgsProcessingParameterFile.File|txt|None|True\",\n+            \"QgsProcessingParameterString|patch_type|The value of the patch type|None|False|True\",\n+            \"QgsProcessingParameterBoolean|-b|Exclude border edges|False\",\n+            \"QgsProcessingParameterFileDestination|output_txt|Edge Density|Txt files (*.txt)|None|False\"\n         ],\n-        \"short_description\": \"Classifies attribute data, e.g. for thematic mapping.\"\n+        \"short_description\": \"r.li.edgedensity.ascii - Calculates edge density index on a raster map, using a 4 neighbour algorithm\"\n     },\n     {\n-        \"command\": \"i.oif\",\n-        \"display_name\": \"i.oif\",\n-        \"ext_path\": \"i_oif\",\n-        \"group\": \"Imagery (i.*)\",\n-        \"group_id\": \"imagery\",\n+        \"command\": \"r.li.patchdensity\",\n+        \"display_name\": \"r.li.patchdensity\",\n+        \"ext_path\": \"r_li_patchdensity\",\n+        \"group\": \"Raster (r.*)\",\n+        \"group_id\": \"raster\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"i.oif\",\n+        \"name\": \"r.li.patchdensity\",\n         \"parameters\": [\n-            \"QgsProcessingParameterMultipleLayers|input|Name of input raster map(s)|3|None|False\",\n-            \"*QgsProcessingParameterBoolean|-g|Print in shell script style|False\",\n-            \"*QgsProcessingParameterBoolean|-s|Process bands serially (default: run in parallel)|False\",\n-            \"QgsProcessingParameterFileDestination|output|OIF File|Txt files (*.txt)|None|False\"\n+            \"QgsProcessingParameterRasterLayer|input|Name of input raster map|None|False\",\n+            \"QgsProcessingParameterString|config_txt|Landscape structure configuration|None|True|True\",\n+            \"QgsProcessingParameterFile|config|Landscape structure configuration file|QgsProcessingParameterFile.File|txt|None|True\",\n+            \"QgsProcessingParameterRasterDestination|output|Patch Density\"\n         ],\n-        \"short_description\": \"Calculates Optimum-Index-Factor table for spectral bands\"\n+        \"short_description\": \"Calculates patch density index on a raster map, using a 4 neighbour algorithm\"\n     },\n     {\n-        \"command\": \"r.fill.dir\",\n-        \"display_name\": \"r.fill.dir\",\n-        \"ext_path\": null,\n+        \"command\": \"r.drain\",\n+        \"display_name\": \"r.drain\",\n+        \"ext_path\": \"r_drain\",\n         \"group\": \"Raster (r.*)\",\n         \"group_id\": \"raster\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"r.fill.dir\",\n+        \"name\": \"r.drain\",\n         \"parameters\": [\n             \"QgsProcessingParameterRasterLayer|input|Elevation|None|False\",\n-            \"QgsProcessingParameterEnum|format|Output aspect direction format|grass;agnps;answers|False|0|True\",\n-            \"*QgsProcessingParameterBoolean|-f|Find unresolved areas only|False\",\n-            \"QgsProcessingParameterRasterDestination|output|Depressionless DEM\",\n-            \"QgsProcessingParameterRasterDestination|direction|Flow direction\",\n-            \"QgsProcessingParameterRasterDestination|areas|Problem areas\"\n+            \"QgsProcessingParameterRasterLayer|direction|Name of input movement direction map associated with the cost surface|None|True\",\n+            \"QgsProcessingParameterPoint|start_coordinates|Map coordinates of starting point(s) (E,N)|None|True\",\n+            \"QgsProcessingParameterFeatureSource|start_points|Vector layer containing starting point(s)|0|None|True\",\n+            \"QgsProcessingParameterBoolean|-c|Copy input cell values on output|False\",\n+            \"QgsProcessingParameterBoolean|-a|Accumulate input values along the path|False\",\n+            \"QgsProcessingParameterBoolean|-n|Count cell numbers along the path|False\",\n+            \"QgsProcessingParameterBoolean|-d|The input raster map is a cost surface (direction surface must also be specified)|False\",\n+            \"QgsProcessingParameterRasterDestination|output|Least cost path\",\n+            \"QgsProcessingParameterVectorDestination|drain|Drain\"\n         ],\n-        \"short_description\": \"Filters and generates a depressionless elevation layer and a flow direction layer from a given elevation raster layer.\"\n+        \"short_description\": \"Traces a flow through an elevation model on a raster map.\"\n     },\n     {\n-        \"command\": \"r.topidx\",\n-        \"display_name\": \"r.topidx\",\n-        \"ext_path\": null,\n+        \"command\": \"r.li.cwed\",\n+        \"display_name\": \"r.li.cwed\",\n+        \"ext_path\": \"r_li_cwed\",\n         \"group\": \"Raster (r.*)\",\n         \"group_id\": \"raster\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"r.topidx\",\n+        \"name\": \"r.li.cwed\",\n         \"parameters\": [\n-            \"QgsProcessingParameterRasterLayer|input|Input elevation layer|None|False\",\n-            \"QgsProcessingParameterRasterDestination|output|Topographic index\"\n+            \"QgsProcessingParameterRasterLayer|input|Name of input raster map|None|False\",\n+            \"QgsProcessingParameterString|config_txt|Landscape structure configuration|None|True|True\",\n+            \"QgsProcessingParameterFile|config|Landscape structure configuration file|QgsProcessingParameterFile.File|txt|None|True\",\n+            \"QgsProcessingParameterFile|path|Name of file that contains the weight to calculate the index|QgsProcessingParameterFile.File|txt|None|False\",\n+            \"QgsProcessingParameterRasterDestination|output|CWED\"\n         ],\n-        \"short_description\": \"Creates topographic index layer from elevation raster layer\"\n+        \"short_description\": \"Calculates contrast weighted edge density index on a raster map\"\n     },\n     {\n-        \"command\": \"v.mkgrid\",\n-        \"display_name\": \"v.mkgrid\",\n-        \"ext_path\": null,\n-        \"group\": \"Vector (v.*)\",\n-        \"group_id\": \"vector\",\n+        \"command\": \"i.maxlik\",\n+        \"display_name\": \"i.maxlik\",\n+        \"ext_path\": \"i_maxlik\",\n+        \"group\": \"Imagery (i.*)\",\n+        \"group_id\": \"imagery\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"v.mkgrid\",\n+        \"name\": \"i.maxlik\",\n         \"parameters\": [\n-            \"QgsProcessingParameterString|grid|Number of rows and columns in grid|10,10\",\n-            \"QgsProcessingParameterEnum|position|Where to place the grid|coor|False|0|True\",\n-            \"QgsProcessingParameterPoint|coordinates|Lower left easting and northing coordinates of map|None|True\",\n-            \"QgsProcessingParameterString|box|Width and height of boxes in grid|\",\n-            \"QgsProcessingParameterNumber|angle|Angle of rotation (in degrees counter-clockwise)|QgsProcessingParameterNumber.Double|0.0|True|0.0|360.0\",\n-            \"QgsProcessingParameterNumber|breaks|Number of vertex points per grid cell|QgsProcessingParameterNumber.Integer|0|True|0|60\",\n-            \"QgsProcessingParameterEnum|type|Output feature type|point;line;area|False|2|True\",\n-            \"QgsProcessingParameterBoolean|-h|Create hexagons (default: rectangles)|False\",\n-            \"QgsProcessingParameterBoolean|-a|Allow asymmetric hexagons|False\",\n-            \"QgsProcessingParameterVectorDestination|map|Grid\"\n+            \"QgsProcessingParameterMultipleLayers|input|Input rasters|3|None|False\",\n+            \"QgsProcessingParameterFile|signaturefile|Name of input file containing signatures|QgsProcessingParameterFile.File|txt|None|False\",\n+            \"QgsProcessingParameterRasterDestination|output|Classification|None|False\",\n+            \"QgsProcessingParameterRasterDestination|reject|Reject Threshold|None|True\"\n         ],\n-        \"short_description\": \"Creates a GRASS vector layer of a user-defined grid.\"\n+        \"short_description\": \"Classifies the cell spectral reflectances in imagery data.\"\n     },\n     {\n-        \"command\": \"r.walk\",\n-        \"display_name\": \"r.walk.coords\",\n-        \"ext_path\": null,\n+        \"command\": \"r.li.pielou\",\n+        \"display_name\": \"r.li.pielou\",\n+        \"ext_path\": \"r_li_pielou\",\n         \"group\": \"Raster (r.*)\",\n         \"group_id\": \"raster\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"r.walk.coords\",\n+        \"name\": \"r.li.pielou\",\n         \"parameters\": [\n-            \"QgsProcessingParameterRasterLayer|elevation|Name of input elevation raster map|None|False\",\n-            \"QgsProcessingParameterRasterLayer|friction|Name of input raster map containing friction costs|None|False\",\n-            \"QgsProcessingParameterString|start_coordinates|Coordinates of starting point(s) (a list of E,N)|None|False|False\",\n-            \"QgsProcessingParameterString|stop_coordinates|Coordinates of stopping point(s) (a list of E,N)|None|False|True\",\n-            \"QgsProcessingParameterString|walk_coeff|Coefficients for walking energy formula parameters a,b,c,d|0.72,6.0,1.9998,-1.9998|False|True\",\n-            \"QgsProcessingParameterNumber|lambda|Lambda coefficients for combining walking energy and friction cost|QgsProcessingParameterNumber.Double|1.0|True|0.0|None\",\n-            \"QgsProcessingParameterNumber|slope_factor|Slope factor determines travel energy cost per height step|QgsProcessingParameterNumber.Double|-0.2125|True|None|None\",\n-            \"QgsProcessingParameterNumber|max_cost|Maximum cumulative cost|QgsProcessingParameterNumber.Double|0.0|True|None|None\",\n-            \"QgsProcessingParameterNumber|null_cost|Cost assigned to null cells. By default, null cells are excluded|QgsProcessingParameterNumber.Double|None|True|None|None\",\n-            \"*QgsProcessingParameterNumber|memory|Maximum memory to be used in MB|QgsProcessingParameterNumber.Integer|300|True|1|None\",\n-            \"*QgsProcessingParameterBoolean|-k|Use the 'Knight's move'; slower, but more accurate|False\",\n-            \"*QgsProcessingParameterBoolean|-n|Keep null values in output raster layer|False\",\n-            \"QgsProcessingParameterRasterDestination|output|Cumulative cost\",\n-            \"QgsProcessingParameterRasterDestination|outdir|Movement Directions\"\n+            \"QgsProcessingParameterRasterLayer|input|Name of input raster map|None|False\",\n+            \"QgsProcessingParameterString|config_txt|Landscape structure configuration|None|True|True\",\n+            \"QgsProcessingParameterFile|config|Landscape structure configuration file|QgsProcessingParameterFile.File|txt|None|True\",\n+            \"QgsProcessingParameterRasterDestination|output|Pielou\"\n         ],\n-        \"short_description\": \"r.walk.coords - Creates a raster map showing the anisotropic cumulative cost of moving between different geographic locations on an input raster map whose cell category values represent cost from a list of coordinates.\"\n+        \"short_description\": \"Calculates Pielou's diversity index on a raster map\"\n     },\n     {\n-        \"command\": \"i.landsat.toar\",\n-        \"display_name\": \"i.landsat.toar\",\n-        \"ext_path\": \"i_landsat_toar\",\n-        \"group\": \"Imagery (i.*)\",\n-        \"group_id\": \"imagery\",\n+        \"command\": \"r.resamp.bspline\",\n+        \"display_name\": \"r.resamp.bspline\",\n+        \"ext_path\": null,\n+        \"group\": \"Raster (r.*)\",\n+        \"group_id\": \"raster\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"i.landsat.toar\",\n+        \"name\": \"r.resamp.bspline\",\n         \"parameters\": [\n-            \"QgsProcessingParameterMultipleLayers|rasters|Landsat input rasters|3|None|False\",\n-            \"QgsProcessingParameterFile|metfile|Name of Landsat metadata file (.met or MTL.txt)|QgsProcessingParameterFile.File|None|None|True|Landsat metadata (*.met *.MET *.txt *.TXT)\",\n-            \"QgsProcessingParameterEnum|sensor|Spacecraft sensor|mss1;mss2;mss3;mss4;mss5;tm4;tm5;tm7;oli8|False|7|True\",\n-            \"QgsProcessingParameterEnum|method|Atmospheric correction method|uncorrected;dos1;dos2;dos2b;dos3;dos4|False|0|True\",\n-            \"QgsProcessingParameterString|date|Image acquisition date (yyyy-mm-dd)|None|False|True\",\n-            \"QgsProcessingParameterNumber|sun_elevation|Sun elevation in degrees|QgsProcessingParameterNumber.Double|None|True|0.0|360.0\",\n-            \"QgsProcessingParameterString|product_date|Image creation date (yyyy-mm-dd)|None|False|True\",\n-            \"QgsProcessingParameterString|gain|Gain (H/L) of all Landsat ETM+ bands (1-5,61,62,7,8)|None|False|True\",\n-            \"QgsProcessingParameterNumber|percent|Percent of solar radiance in path radiance|QgsProcessingParameterNumber.Double|0.01|True|0.0|100.0\",\n-            \"QgsProcessingParameterNumber|pixel|Minimum pixels to consider digital number as dark object|QgsProcessingParameterNumber.Integer|1000|True|0|None\",\n-            \"QgsProcessingParameterNumber|rayleigh|Rayleigh atmosphere (diffuse sky irradiance)|QgsProcessingParameterNumber.Double|0.0|True|0.0|None\",\n-            \"QgsProcessingParameterNumber|scale|Scale factor for output|QgsProcessingParameterNumber.Double|1.0|True|0.0|None\",\n-            \"*QgsProcessingParameterBoolean|-r|Output at-sensor radiance instead of reflectance for all bands|False\",\n-            \"*QgsProcessingParameterBoolean|-n|Input raster maps use as extension the number of the band instead the code|False\",\n-            \"QgsProcessingParameterFolderDestination|output|Output Directory\"\n+            \"QgsProcessingParameterRasterLayer|input|Input raster layer|None|False\",\n+            \"QgsProcessingParameterRasterLayer|mask|Name of raster map to use for masking. Only cells that are not NULL and not zero are interpolated|None|True\",\n+            \"QgsProcessingParameterEnum|method|Sampling interpolation method|bilinear;bicubic|False|1|False\",\n+            \"QgsProcessingParameterNumber|ew_step|Length (float) of each spline step in the east-west direction|QgsProcessingParameterNumber.Double|None|True|0.0|None\",\n+            \"QgsProcessingParameterNumber|ns_step|Length (float) of each spline step in the north-south direction|QgsProcessingParameterNumber.Double|None|True|0.0|None\",\n+            \"QgsProcessingParameterNumber|lambda|Tykhonov regularization parameter (affects smoothing)|QgsProcessingParameterNumber.Double|0.01|True|0.0|None\",\n+            \"QgsProcessingParameterNumber|memory|Maximum memory to be used (in MB). Cache size for raster rows|QgsProcessingParameterNumber.Integer|300|True|10|None\",\n+            \"*QgsProcessingParameterBoolean|-n|Only interpolate null cells in input raster map|False|True\",\n+            \"*QgsProcessingParameterBoolean|-c|Find the best Tykhonov regularizing parameter using a \\\"leave-one-out\\\" cross validation method|False|True\",\n+            \"QgsProcessingParameterRasterDestination|output|Resampled BSpline\",\n+            \"QgsProcessingParameterVectorDestination|grid|Interpolation Grid\"\n         ],\n-        \"short_description\": \"Calculates top-of-atmosphere radiance or reflectance and temperature for Landsat MSS/TM/ETM+/OLI\"\n+        \"short_description\": \"Performs bilinear or bicubic spline interpolation with Tykhonov regularization.\"\n     },\n     {\n-        \"command\": \"v.lidar.growing\",\n-        \"display_name\": \"v.lidar.growing\",\n-        \"ext_path\": null,\n+        \"command\": \"v.in.geonames\",\n+        \"display_name\": \"v.in.geonames\",\n+        \"ext_path\": \"v_in_geonames\",\n         \"group\": \"Vector (v.*)\",\n         \"group_id\": \"vector\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"v.lidar.growing\",\n+        \"name\": \"v.in.geonames\",\n         \"parameters\": [\n-            \"QgsProcessingParameterFeatureSource|input|Input vector (v.lidar.edgedetection output)|-1|None|False\",\n-            \"QgsProcessingParameterFeatureSource|first|First pulse vector layer|-1|None|False\",\n-            \"QgsProcessingParameterNumber|tj|Threshold for cell object frequency in region growing|QgsProcessingParameterNumber.Double|0.2|True|None|None\",\n-            \"QgsProcessingParameterNumber|td|Threshold for double pulse in region growing|QgsProcessingParameterNumber.Double|0.6|True|None|None\",\n-            \"QgsProcessingParameterVectorDestination|output|Buildings\"\n+            \"QgsProcessingParameterFile|input|Uncompressed geonames file from (with .txt extension)|QgsProcessingParameterFile.File|txt|None|False\",\n+            \"QgsProcessingParameterVectorDestination|output|Geonames\"\n         ],\n-        \"short_description\": \"Building contour determination and Region Growing algorithm for determining the building inside\"\n+        \"short_description\": \"Imports geonames.org country files into a GRASS vector points map.\"\n     },\n     {\n-        \"command\": \"r.mfilter\",\n-        \"display_name\": \"r.mfilter\",\n+        \"command\": \"r.relief\",\n+        \"display_name\": \"r.relief.scaling\",\n         \"ext_path\": null,\n         \"group\": \"Raster (r.*)\",\n         \"group_id\": \"raster\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"r.mfilter\",\n+        \"name\": \"r.relief.scaling\",\n         \"parameters\": [\n-            \"QgsProcessingParameterRasterLayer|input|Input layer|None|False\",\n-            \"QgsProcessingParameterFile|filter|Filter file|QgsProcessingParameterFile.File|txt|None|False\",\n-            \"QgsProcessingParameterNumber|repeat|Number of times to repeat the filter|QgsProcessingParameterNumber.Integer|1|True|1|None\",\n-            \"QgsProcessingParameterBoolean|-z|Apply filter only to zero data values|False\",\n-            \"QgsProcessingParameterRasterDestination|output|Filtered\"\n+            \"QgsProcessingParameterRasterLayer|input|Input elevation layer\",\n+            \"QgsProcessingParameterNumber|altitude|Altitude of the sun in degrees above the horizon|QgsProcessingParameterNumber.Double|30.0|False|0|90\",\n+            \"QgsProcessingParameterNumber|azimuth|Azimuth of the sun in degrees to the east of north|QgsProcessingParameterNumber.Double|270.0|False|0|360\",\n+            \"QgsProcessingParameterNumber|zscale|Factor for exaggerating relief|QgsProcessingParameterNumber.Double|1.0|False|None|None\",\n+            \"QgsProcessingParameterNumber|scale|Scale factor for converting horizontal units to elevation units|QgsProcessingParameterNumber.Double|1.0|False|None|None\",\n+            \"QgsProcessingParameterEnum|units|Elevation units (overrides scale factor)|intl;survey\",\n+            \"QgsProcessingParameterRasterDestination|output|Output shaded relief layer\"\n         ],\n-        \"short_description\": \"Performs raster map matrix filter.\"\n+        \"short_description\": \"r.relief.scaling - Creates shaded relief from an elevation layer (DEM).\"\n     },\n     {\n-        \"command\": \"r.li.patchdensity\",\n-        \"display_name\": \"r.li.patchdensity.ascii\",\n-        \"ext_path\": \"r_li_patchdensity_ascii\",\n+        \"command\": \"r.cross\",\n+        \"display_name\": \"r.cross\",\n+        \"ext_path\": null,\n         \"group\": \"Raster (r.*)\",\n         \"group_id\": \"raster\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"r.li.patchdensity.ascii\",\n+        \"name\": \"r.cross\",\n         \"parameters\": [\n-            \"QgsProcessingParameterRasterLayer|input|Name of input raster map|None|False\",\n-            \"QgsProcessingParameterString|config_txt|Landscape structure configuration|None|True|True\",\n-            \"QgsProcessingParameterFile|config|Landscape structure configuration file|QgsProcessingParameterFile.File|txt|None|True\",\n-            \"QgsProcessingParameterFileDestination|output_txt|Patch Density|Txt files (*.txt)|None|False\"\n+            \"QgsProcessingParameterMultipleLayers|input|Input raster layers|3|None|False\",\n+            \"QgsProcessingParameterBoolean|-z|Non-zero data only|False\",\n+            \"QgsProcessingParameterRasterDestination|output|Cross product\"\n         ],\n-        \"short_description\": \"r.li.patchdensity.ascii - Calculates patch density index on a raster map, using a 4 neighbour algorithm\"\n+        \"short_description\": \"Creates a cross product of the category values from multiple raster map layers.\"\n     },\n     {\n-        \"command\": \"v.to.lines\",\n-        \"display_name\": \"v.to.lines\",\n+        \"command\": \"v.build.polylines\",\n+        \"display_name\": \"v.build.polylines\",\n         \"ext_path\": null,\n         \"group\": \"Vector (v.*)\",\n         \"group_id\": \"vector\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"v.to.lines\",\n+        \"name\": \"v.build.polylines\",\n         \"parameters\": [\n             \"QgsProcessingParameterFeatureSource|input|Name of input vector map|-1|None|False\",\n-            \"QgsProcessingParameterEnum|method|Method used for point interpolation|delaunay|False|0|True\",\n-            \"QgsProcessingParameterVectorDestination|output|Lines\"\n-        ],\n-        \"short_description\": \"Converts vector polygons or points to lines.\"\n-    },\n-    {\n-        \"command\": \"r.statistics\",\n-        \"display_name\": \"r.statistics\",\n-        \"ext_path\": \"r_statistics\",\n-        \"group\": \"Raster (r.*)\",\n-        \"group_id\": \"raster\",\n-        \"hardcoded_strings\": [],\n-        \"name\": \"r.statistics\",\n-        \"parameters\": [\n-            \"QgsProcessingParameterRasterLayer|base|Base raster layer|None|False\",\n-            \"QgsProcessingParameterRasterLayer|cover|Cover raster layer|None|False\",\n-            \"QgsProcessingParameterEnum|method|method|diversity;average;mode;median;avedev;stddev;variance;skewness;kurtosis;min;max;sum|False|0|True\",\n-            \"QgsProcessingParameterBoolean|-c|Cover values extracted from the category labels of the cover map|False\",\n-            \"QgsProcessingParameterRasterDestination|routput|Statistics\"\n+            \"QgsProcessingParameterEnum|cats|Category number mode|no;first;multi;same|False|0|True\",\n+            \"QgsProcessingParameterEnum|type|Input feature type|line;boundary|True|0,1|True\",\n+            \"QgsProcessingParameterVectorDestination|output|Polylines\"\n         ],\n-        \"short_description\": \"Calculates category or object oriented statistics.\"\n+        \"short_description\": \"Builds polylines from lines or boundaries.\"\n     },\n     {\n-        \"command\": \"r.li.dominance\",\n-        \"display_name\": \"r.li.dominance\",\n-        \"ext_path\": \"r_li_dominance\",\n+        \"command\": \"r.li.mps\",\n+        \"display_name\": \"r.li.mps\",\n+        \"ext_path\": \"r_li_mps\",\n         \"group\": \"Raster (r.*)\",\n         \"group_id\": \"raster\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"r.li.dominance\",\n+        \"name\": \"r.li.mps\",\n         \"parameters\": [\n             \"QgsProcessingParameterRasterLayer|input|Name of input raster map|None|False\",\n             \"QgsProcessingParameterString|config_txt|Landscape structure configuration|None|True|True\",\n             \"QgsProcessingParameterFile|config|Landscape structure configuration file|QgsProcessingParameterFile.File|txt|None|True\",\n-            \"QgsProcessingParameterRasterDestination|output|Dominance\"\n+            \"QgsProcessingParameterRasterDestination|output|Mean Patch Size\"\n         ],\n-        \"short_description\": \"Calculates dominance's diversity index on a raster map\"\n+        \"short_description\": \"Calculates mean patch size index on a raster map, using a 4 neighbour algorithm\"\n     },\n     {\n-        \"command\": \"r.spread\",\n-        \"display_name\": \"r.spread\",\n+        \"command\": \"r.ros\",\n+        \"display_name\": \"r.ros\",\n         \"ext_path\": null,\n         \"group\": \"Raster (r.*)\",\n         \"group_id\": \"raster\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"r.spread\",\n+        \"name\": \"r.ros\",\n         \"parameters\": [\n-            \"QgsProcessingParameterRasterLayer|base_ros|Raster map containing base ROS (cm/min)|None|False\",\n-            \"QgsProcessingParameterRasterLayer|max_ros|Raster map containing maximal ROS (cm/min)|None|False\",\n-            \"QgsProcessingParameterRasterLayer|direction_ros|Raster map containing directions of maximal ROS (degree)|None|False\",\n-            \"QgsProcessingParameterRasterLayer|start|Raster map containing starting sources|None|False\",\n-            \"QgsProcessingParameterRasterLayer|spotting_distance|Raster map containing maximal spotting distance (m, required with -s)|None|True\",\n-            \"QgsProcessingParameterRasterLayer|wind_speed|Raster map containing midflame wind speed (ft/min, required with -s)|None|True\",\n-            \"QgsProcessingParameterRasterLayer|fuel_moisture|Raster map containing fine fuel moisture of the cell receiving a spotting firebrand (%, required with -s)|None|True\",\n-            \"QgsProcessingParameterRasterLayer|backdrop|Name of raster map as a display backdrop|None|True\",\n-            \"QgsProcessingParameterEnum|least_size|Basic sampling window size needed to meet certain accuracy (3)|3;5;7;9;11;13;15|False|0|True\",\n-            \"QgsProcessingParameterNumber|comp_dens|Sampling density for additional computing (range: 0.0 - 1.0 (0.5))|QgsProcessingParameterNumber.Double|0.5|True|0.0|1.0\",\n-            \"QgsProcessingParameterNumber|init_time|Initial time for current simulation (0) (min)|QgsProcessingParameterNumber.Integer|0|True|0|None\",\n-            \"QgsProcessingParameterNumber|lag|Simulating time duration LAG (fill the region) (min)|QgsProcessingParameterNumber.Integer|None|True|0|None\",\n-            \"*QgsProcessingParameterBoolean|-s|Consider spotting effect (for wildfires)|False\",\n-            \"*QgsProcessingParameterBoolean|-i|Use start raster map values in output spread time raster map|False\",\n-            \"QgsProcessingParameterRasterDestination|output|Spread Time\",\n-            \"QgsProcessingParameterRasterDestination|x_output|X Back Coordinates\",\n-            \"QgsProcessingParameterRasterDestination|y_output|Y Back Coordinates\"\n+            \"QgsProcessingParameterRasterLayer|model|Raster map containing fuel models|None|False\",\n+            \"QgsProcessingParameterRasterLayer|moisture_1h|Raster map containing the 1-hour fuel moisture (%)|None|True\",\n+            \"QgsProcessingParameterRasterLayer|moisture_10h|Raster map containing the 10-hour fuel moisture (%)|None|True\",\n+            \"QgsProcessingParameterRasterLayer|moisture_100h|Raster map containing the 100-hour fuel moisture (%)|None|True\",\n+            \"QgsProcessingParameterRasterLayer|moisture_live|Raster map containing live fuel moisture (%)|None|False\",\n+            \"QgsProcessingParameterRasterLayer|velocity|Raster map containing midflame wind velocities (ft/min)|None|True\",\n+            \"QgsProcessingParameterRasterLayer|direction|Name of raster map containing wind directions (degree)|None|True\",\n+            \"QgsProcessingParameterRasterLayer|slope|Name of raster map containing slope (degree)|None|True\",\n+            \"QgsProcessingParameterRasterLayer|aspect|Raster map containing aspect (degree, CCW from E)|None|True\",\n+            \"QgsProcessingParameterRasterLayer|elevation|Raster map containing elevation (m, required for spotting)|None|True\",\n+            \"QgsProcessingParameterRasterDestination|base_ros|Base ROS\",\n+            \"QgsProcessingParameterRasterDestination|max_ros|Max ROS\",\n+            \"QgsProcessingParameterRasterDestination|direction_ros|Direction ROS\",\n+            \"QgsProcessingParameterRasterDestination|spotting_distance|Spotting Distance\"\n         ],\n-        \"short_description\": \"Simulates elliptically anisotropic spread.\"\n+        \"short_description\": \"Generates rate of spread raster maps.\"\n     },\n     {\n-        \"command\": \"v.perturb\",\n-        \"display_name\": \"v.perturb\",\n+        \"command\": \"r.walk\",\n+        \"display_name\": \"r.walk.rast\",\n         \"ext_path\": null,\n-        \"group\": \"Vector (v.*)\",\n-        \"group_id\": \"vector\",\n+        \"group\": \"Raster (r.*)\",\n+        \"group_id\": \"raster\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"v.perturb\",\n+        \"name\": \"r.walk.rast\",\n         \"parameters\": [\n-            \"QgsProcessingParameterFeatureSource|input|Vector points to be spatially perturbed|-1|None|False\",\n-            \"QgsProcessingParameterEnum|distribution|Distribution of perturbation|uniform;normal|False|0|True\",\n-            \"QgsProcessingParameterString|parameters|Parameter(s) of distribution (uniform: maximum; normal: mean and stddev)|None|False|True\",\n-            \"QgsProcessingParameterNumber|minimum|Minimum deviation in map units|QgsProcessingParameterNumber.Double|0.0|True|None|None\",\n-            \"QgsProcessingParameterNumber|seed|Seed for random number generation|QgsProcessingParameterNumber.Integer|0|True|None|None\",\n-            \"QgsProcessingParameterVectorDestination|output|Perturbed\"\n+            \"QgsProcessingParameterRasterLayer|elevation|Name of input elevation raster map|None|False\",\n+            \"QgsProcessingParameterRasterLayer|friction|Name of input raster map containing friction costs|None|False\",\n+            \"QgsProcessingParameterRasterLayer|start_raster|Name of starting raster points map (all non-NULL cells are starting points)|None|False\",\n+            \"QgsProcessingParameterString|walk_coeff|Coefficients for walking energy formula parameters a,b,c,d|0.72,6.0,1.9998,-1.9998|False|True\",\n+            \"QgsProcessingParameterNumber|lambda|Lambda coefficients for combining walking energy and friction cost|QgsProcessingParameterNumber.Double|1.0|True|0.0|None\",\n+            \"QgsProcessingParameterNumber|slope_factor|Slope factor determines travel energy cost per height step|QgsProcessingParameterNumber.Double|-0.2125|True|None|None\",\n+            \"QgsProcessingParameterNumber|max_cost|Maximum cumulative cost|QgsProcessingParameterNumber.Double|0.0|True|None|None\",\n+            \"QgsProcessingParameterNumber|null_cost|Cost assigned to null cells. By default, null cells are excluded|QgsProcessingParameterNumber.Double|None|True|None|None\",\n+            \"*QgsProcessingParameterNumber|memory|Maximum memory to be used in MB|QgsProcessingParameterNumber.Integer|300|True|1|None\",\n+            \"*QgsProcessingParameterBoolean|-k|Use the 'Knight's move'; slower, but more accurate|False\",\n+            \"*QgsProcessingParameterBoolean|-n|Keep null values in output raster layer|False\",\n+            \"QgsProcessingParameterRasterDestination|output|Cumulative cost\",\n+            \"QgsProcessingParameterRasterDestination|outdir|Movement Directions\"\n         ],\n-        \"short_description\": \"Random location perturbations of GRASS vector points\"\n+        \"short_description\": \"r.walk.rast - Creates a raster map showing the anisotropic cumulative cost of moving between different geographic locations on an input raster map whose cell category values represent cost from a raster.\"\n     },\n     {\n-        \"command\": \"i.eb.hsebal01\",\n-        \"display_name\": \"i.eb.hsebal01.coords\",\n+        \"command\": \"r.surf.contour\",\n+        \"display_name\": \"r.surf.contour\",\n         \"ext_path\": null,\n-        \"group\": \"Imagery (i.*)\",\n-        \"group_id\": \"imagery\",\n+        \"group\": \"Raster (r.*)\",\n+        \"group_id\": \"raster\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"i.eb.hsebal01.coords\",\n+        \"name\": \"r.surf.contour\",\n         \"parameters\": [\n-            \"QgsProcessingParameterRasterLayer|netradiation|Name of instantaneous net radiation raster map [W/m2]|None|False\",\n-            \"QgsProcessingParameterRasterLayer|soilheatflux|Name of instantaneous soil heat flux raster map [W/m2]|None|False\",\n-            \"QgsProcessingParameterRasterLayer|aerodynresistance|Name of aerodynamic resistance to heat momentum raster map [s/m]|None|False\",\n-            \"QgsProcessingParameterRasterLayer|temperaturemeansealevel|Name of altitude corrected surface temperature raster map [K]|None|False\",\n-            \"QgsProcessingParameterNumber|frictionvelocitystar|Value of the height independent friction velocity (u*) [m/s]|QgsProcessingParameterNumber.Double|0.32407|False|0.0|None\",\n-            \"QgsProcessingParameterRasterLayer|vapourpressureactual|Name of the actual vapour pressure (e_act) map [KPa]|None|False\",\n-            \"QgsProcessingParameterNumber|row_wet_pixel|Row value of the wet pixel|QgsProcessingParameterNumber.Double|None|True|None|None\",\n-            \"QgsProcessingParameterNumber|column_wet_pixel|Column value of the wet pixel|QgsProcessingParameterNumber.Double|None|True|None|None\",\n-            \"QgsProcessingParameterNumber|row_dry_pixel|Row value of the dry pixel|QgsProcessingParameterNumber.Double|None|True|None|None\",\n-            \"QgsProcessingParameterNumber|column_dry_pixel|Column value of the dry pixel|QgsProcessingParameterNumber.Double|None|True|None|None\",\n-            \"*QgsProcessingParameterBoolean|-a|Automatic wet/dry pixel (careful!)|False\",\n-            \"*QgsProcessingParameterBoolean|-c|Dry/Wet pixels coordinates are in image projection, not row/col|False\",\n-            \"QgsProcessingParameterRasterDestination|output|Sensible Heat Flux\"\n+            \"QgsProcessingParameterRasterLayer|input|Raster layer with rasterized contours|None|False\",\n+            \"QgsProcessingParameterRasterDestination|output|DTM from contours\"\n         ],\n-        \"short_description\": \"i.eb.hsebal01.coords - Computes sensible heat flux iteration SEBAL 01. Inline coordinates\"\n+        \"short_description\": \"Surface generation program from rasterized contours.\"\n     },\n     {\n-        \"command\": \"v.db.select\",\n-        \"display_name\": \"v.db.select\",\n+        \"command\": \"r.water.outlet\",\n+        \"display_name\": \"r.water.outlet\",\n         \"ext_path\": null,\n-        \"group\": \"Vector (v.*)\",\n-        \"group_id\": \"vector\",\n-        \"hardcoded_strings\": [],\n-        \"name\": \"v.db.select\",\n-        \"parameters\": [\n-            \"QgsProcessingParameterFeatureSource|map|Input vector map |-1|None|False\",\n-            \"QgsProcessingParameterNumber|layer|Layer Number|QgsProcessingParameterNumber.Double|1|False|None|1\",\n-            \"QgsProcessingParameterString|columns|Name of attribute column(s), comma separated|None|False|True\",\n-            \"*QgsProcessingParameterBoolean|-c|Do not include column names in output|False\",\n-            \"QgsProcessingParameterString|separator|Output field separator|,|False|True\",\n-            \"*QgsProcessingParameterString|where|WHERE conditions of SQL statement without 'where' keyword|None|True|True\",\n-            \"*QgsProcessingParameterString|group|GROUP BY conditions of SQL statement without 'group by' keyword|None|True|True\",\n-            \"*QgsProcessingParameterString|vertical_separator|Output vertical record separator|None|False|True\",\n-            \"*QgsProcessingParameterString|null_value|Null value indicator|None|False|True\",\n-            \"*QgsProcessingParameterBoolean|-v|Vertical output (instead of horizontal)|False\",\n-            \"*QgsProcessingParameterBoolean|-r|Print minimal region extent of selected vector features instead of attributes|False\",\n-            \"QgsProcessingParameterFileDestination|file|Attributes|Txt files (*.txt)|None|False\"\n-        ],\n-        \"short_description\": \"Prints vector map attributes\"\n-    },\n-    {\n-        \"command\": \"g.version\",\n-        \"display_name\": \"g.version\",\n-        \"ext_path\": \"g_version\",\n-        \"group\": \"General (g.*)\",\n-        \"group_id\": \"general\",\n+        \"group\": \"Raster (r.*)\",\n+        \"group_id\": \"raster\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"g.version\",\n+        \"name\": \"r.water.outlet\",\n         \"parameters\": [\n-            \"QgsProcessingParameterBoolean|-c|Print copyright message|False\",\n-            \"QgsProcessingParameterBoolean|-x|Print citation options|False\",\n-            \"QgsProcessingParameterBoolean|-b|Print build information|False\",\n-            \"QgsProcessingParameterBoolean|-r|Print GIS library revision number and date|True\",\n-            \"QgsProcessingParameterBoolean|-e|Print info for additional libraries|True\",\n-            \"QgsProcessingParameterBoolean|-g|Print in shell script style (with Git commit reference)|False\",\n-            \"QgsProcessingParameterBoolean|--verbose|Print verbose output|False\",\n-            \"QgsProcessingParameterFileDestination|html|Output file|Html files (*.html)|grass_version_info.html|True\"\n+            \"QgsProcessingParameterRasterLayer|input|Drainage direction raster|None|False\",\n+            \"QgsProcessingParameterPoint|coordinates|Coordinates of outlet point|0.0,0.0|False\",\n+            \"QgsProcessingParameterRasterDestination|output|Basin\"\n         ],\n-        \"short_description\": \"g.version - Display GRASS GIS version info. <p>Prints only version if run with no options checked.\"\n+        \"short_description\": \"Watershed basin creation program.\"\n     },\n     {\n-        \"command\": \"v.net.allpairs\",\n-        \"display_name\": \"v.net.allpairs\",\n-        \"ext_path\": \"v_net_allpairs\",\n+        \"command\": \"v.in.lines\",\n+        \"display_name\": \"v.in.lines\",\n+        \"ext_path\": null,\n         \"group\": \"Vector (v.*)\",\n         \"group_id\": \"vector\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"v.net.allpairs\",\n+        \"name\": \"v.in.lines\",\n         \"parameters\": [\n-            \"QgsProcessingParameterFeatureSource|input|Input vector line layer (arcs)|1|None|False\",\n-            \"QgsProcessingParameterFeatureSource|points|Centers point layer (nodes)|0|None|False\",\n-            \"QgsProcessingParameterNumber|threshold|Threshold for connecting centers to the network (in map unit)|QgsProcessingParameterNumber.Double|50.0|False|0.0|None\",\n-            \"*QgsProcessingParameterString|cats|Category values|1-10000|False|True\",\n-            \"*QgsProcessingParameterString|where|WHERE condition of SQL statement without 'where' keyword'|None|True|True\",\n-            \"*QgsProcessingParameterField|arc_column|Arc forward/both direction(s) cost column (number)|None|input|0|False|True\",\n-            \"*QgsProcessingParameterField|arc_backward_column|Arc backward direction cost column (number)|None|input|0|False|True\",\n-            \"*QgsProcessingParameterField|node_column|Node cost column (number)|None|points|0|False|True\",\n-            \"*QgsProcessingParameterBoolean|-g|Use geodesic calculation for longitude-latitude locations|False|True\",\n-            \"QgsProcessingParameterVectorDestination|output|Network_Allpairs\"\n+            \"QgsProcessingParameterFile|input|ASCII file to be imported|QgsProcessingParameterFile.File|txt|None|False\",\n+            \"QgsProcessingParameterString|separator|Field separator|pipe|False|True\",\n+            \"*QgsProcessingParameterBoolean|-z|Create 3D vector map|False\",\n+            \"QgsProcessingParameterVectorDestination|output|Lines\"\n         ],\n-        \"short_description\": \"Computes the shortest path between all pairs of nodes in the network\"\n+        \"short_description\": \"Import ASCII x,y[,z] coordinates as a series of lines.\"\n     },\n     {\n-        \"command\": \"r.fill.stats\",\n-        \"display_name\": \"r.fill.stats\",\n+        \"command\": \"v.segment\",\n+        \"display_name\": \"v.segment\",\n         \"ext_path\": null,\n-        \"group\": \"Raster (r.*)\",\n-        \"group_id\": \"raster\",\n+        \"group\": \"Vector (v.*)\",\n+        \"group_id\": \"vector\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"r.fill.stats\",\n+        \"name\": \"v.segment\",\n         \"parameters\": [\n-            \"QgsProcessingParameterRasterLayer|input|Input raster layer with data gaps to fill|None|False\",\n-            \"QgsProcessingParameterBoolean|-k|Preserve original cell values (By default original values are smoothed)|False\",\n-            \"QgsProcessingParameterEnum|mode|Statistic for interpolated cell values|wmean;mean;median;mode|False|0|False\",\n-            \"QgsProcessingParameterBoolean|-m|Interpret distance as map units, not number of cells (Do not select with geodetic coordinates)|False\",\n-            \"QgsProcessingParameterNumber|distance|Distance threshold (default: in cells) for interpolation|QgsProcessingParameterNumber.Integer|3|True|0|100\",\n-            \"QgsProcessingParameterNumber|minimum|Minimum input data value to include in interpolation|QgsProcessingParameterNumber.Double|None|True|None|None\",\n-            \"QgsProcessingParameterNumber|maximum|Maximum input data value to include in interpolation|QgsProcessingParameterNumber.Double|None|True|None|None\",\n-            \"QgsProcessingParameterNumber|power|Power coefficient for IDW interpolation|QgsProcessingParameterNumber.Double|2.0|True|0.0|None\",\n-            \"QgsProcessingParameterNumber|cells|Minimum number of data cells within search radius|QgsProcessingParameterNumber.Integer|8|True|1|100\",\n-            \"QgsProcessingParameterRasterDestination|output|Output Map\",\n-            \"QgsProcessingParameterRasterDestination|uncertainty|Uncertainty Map|None|True\"\n+            \"QgsProcessingParameterFeatureSource|input|Input lines layer|1|None|False\",\n+            \"QgsProcessingParameterFile|rules|File containing segment rules|QgsProcessingParameterFile.File|txt|None|False\",\n+            \"QgsProcessingParameterVectorDestination|output|Segments\"\n         ],\n-        \"short_description\": \"Rapidly fills 'no data' cells (NULLs) of a raster map with interpolated values (IDW).\"\n+        \"short_description\": \"Creates points/segments from input vector lines and positions.\"\n     },\n     {\n-        \"command\": \"r.grow\",\n-        \"display_name\": \"r.grow\",\n+        \"command\": \"r.to.vect\",\n+        \"display_name\": \"r.to.vect\",\n         \"ext_path\": null,\n         \"group\": \"Raster (r.*)\",\n         \"group_id\": \"raster\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"r.grow\",\n+        \"name\": \"r.to.vect\",\n         \"parameters\": [\n-            \"QgsProcessingParameterRasterLayer|input|input raster layer|None|False\",\n-            \"QgsProcessingParameterNumber|radius|Radius of buffer in raster cells|QgsProcessingParameterNumber.Double|1.01|True|None|None\",\n-            \"QgsProcessingParameterEnum|metric|Metric|euclidean;maximum;manhattan|False|0|True\",\n-            \"QgsProcessingParameterNumber|old|Value to write for input cells which are non-NULL (-1 => NULL)|QgsProcessingParameterNumber.Integer|None|True|None|None\",\n-            \"QgsProcessingParameterNumber|new|Value to write for \\\"grown\\\" cells|QgsProcessingParameterNumber.Integer|None|True|None|None\",\n-            \"*QgsProcessingParameterBoolean|-m|Radius is in map units rather than cells|False\",\n-            \"QgsProcessingParameterRasterDestination|output|Expanded\"\n+            \"QgsProcessingParameterRasterLayer|input|Input raster layer|None|False\",\n+            \"QgsProcessingParameterEnum|type|Feature type|line;point;area|False|2|False\",\n+            \"QgsProcessingParameterString|column|Name of attribute column to store value|value|False|True\",\n+            \"QgsProcessingParameterBoolean|-s|Smooth corners of area features|False\",\n+            \"QgsProcessingParameterBoolean|-v|Use raster values as categories instead of unique sequence|False\",\n+            \"QgsProcessingParameterBoolean|-z|Write raster values as z coordinate|False\",\n+            \"QgsProcessingParameterBoolean|-b|Do not build vector topology|False\",\n+            \"QgsProcessingParameterBoolean|-t|Do not create attribute table|False\",\n+            \"QgsProcessingParameterVectorDestination|output|Vectorized\"\n         ],\n-        \"short_description\": \"Generates a raster layer with contiguous areas grown by one cell.\"\n+        \"short_description\": \"Converts a raster into a vector layer.\"\n     },\n     {\n         \"command\": \"v.extrude\",\n         \"display_name\": \"v.extrude\",\n         \"ext_path\": \"v_extrude\",\n         \"group\": \"Vector (v.*)\",\n         \"group_id\": \"vector\",\n@@ -2393,597 +2104,510 @@\n             \"QgsProcessingParameterNumber|null_value|Height for sampled raster NULL values|QgsProcessingParameterNumber.Double|None|True|None|None\",\n             \"*QgsProcessingParameterBoolean|-t|Trace elevation|False\",\n             \"QgsProcessingParameterVectorDestination|output|3D Vector\"\n         ],\n         \"short_description\": \"Extrudes flat vector object to 3D with defined height.\"\n     },\n     {\n-        \"command\": \"r.terraflow\",\n-        \"display_name\": \"r.terraflow\",\n+        \"command\": \"i.rgb.his\",\n+        \"display_name\": \"i.rgb.his\",\n         \"ext_path\": null,\n-        \"group\": \"Raster (r.*)\",\n-        \"group_id\": \"raster\",\n+        \"group\": \"Imagery (i.*)\",\n+        \"group_id\": \"imagery\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"r.terraflow\",\n+        \"name\": \"i.rgb.his\",\n         \"parameters\": [\n-            \"QgsProcessingParameterRasterLayer|elevation|Name of elevation raster map|None|False\",\n-            \"QgsProcessingParameterBoolean|-s|SFD (D8) flow (default is MFD)|False\",\n-            \"QgsProcessingParameterNumber|d8cut|Routing using SFD (D8) direction|QgsProcessingParameterNumber.Double|None|True|None|None\",\n-            \"QgsProcessingParameterNumber|memory|Maximum memory to be used (in MB)|QgsProcessingParameterNumber.Integer|300|True|1|None\",\n-            \"QgsProcessingParameterRasterDestination|filled|Filled (flooded) elevation\",\n-            \"QgsProcessingParameterRasterDestination|direction|Flow direction\",\n-            \"QgsProcessingParameterRasterDestination|swatershed|Sink-watershed\",\n-            \"QgsProcessingParameterRasterDestination|accumulation|Flow accumulation\",\n-            \"QgsProcessingParameterRasterDestination|tci|Topographic convergence index (tci)\",\n-            \"QgsProcessingParameterFileDestination|stats|Runtime statistics|Txt files (*.txt)|None|False\"\n+            \"QgsProcessingParameterRasterLayer|red|Name for input raster map (red)|None|True\",\n+            \"QgsProcessingParameterRasterLayer|green|Name for input raster map (green)|None|True\",\n+            \"QgsProcessingParameterRasterLayer|blue|Name for input raster map (blue)|None|True\",\n+            \"QgsProcessingParameterRasterDestination|hue|Hue|False\",\n+            \"QgsProcessingParameterRasterDestination|intensity|Intensity|False\",\n+            \"QgsProcessingParameterRasterDestination|saturation|Saturation|False\"\n         ],\n-        \"short_description\": \"Flow computation for massive grids.\"\n+        \"short_description\": \"Transforms raster maps from RGB (Red-Green-Blue) color space to HIS (Hue-Intensity-Saturation) color space.\"\n     },\n     {\n-        \"command\": \"r.grow.distance\",\n-        \"display_name\": \"r.grow.distance\",\n+        \"command\": \"i.topo.corr\",\n+        \"display_name\": \"i.topo.corr\",\n         \"ext_path\": null,\n-        \"group\": \"Raster (r.*)\",\n-        \"group_id\": \"raster\",\n+        \"group\": \"Imagery (i.*)\",\n+        \"group_id\": \"imagery\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"r.grow.distance\",\n+        \"name\": \"i.topo.corr\",\n         \"parameters\": [\n-            \"QgsProcessingParameterRasterLayer|input|Input input raster layer|None|False\",\n-            \"QgsProcessingParameterEnum|metric|Metric|euclidean;squared;maximum;manhattan;geodesic|False|0|True\",\n-            \"*QgsProcessingParameterBoolean|-m|Output distances in meters instead of map units|False\",\n-            \"*QgsProcessingParameterBoolean|-n|Calculate distance to nearest NULL cell|False\",\n-            \"QgsProcessingParameterRasterDestination|distance|Distance\",\n-            \"QgsProcessingParameterRasterDestination|value|Value of nearest cell\"\n+            \"QgsProcessingParameterMultipleLayers|input|Name of reflectance raster maps to be corrected topographically|3|None|False\",\n+            \"QgsProcessingParameterRasterLayer|basemap|Name of illumination input base raster map|None|False\",\n+            \"QgsProcessingParameterNumber|zenith|Solar zenith in degrees|QgsProcessingParameterNumber.Double|0.0|False|0.0|360.0\",\n+            \"QgsProcessingParameterEnum|method|Topographic correction method|cosine;minnaert;c-factor;percent|False|0|True\",\n+            \"*QgsProcessingParameterBoolean|-s|Scale output to input and copy color rules|False\",\n+            \"QgsProcessingParameterFolderDestination|output|Output Directory\"\n         ],\n-        \"short_description\": \"Generates a raster layer of distance to features in input layer.\"\n+        \"short_description\": \"Computes topographic correction of reflectance.\"\n     },\n     {\n-        \"command\": \"v.net.salesman\",\n-        \"display_name\": \"v.net.salesman\",\n-        \"ext_path\": \"v_net_salesman\",\n+        \"command\": \"v.surf.idw\",\n+        \"display_name\": \"v.surf.idw\",\n+        \"ext_path\": null,\n         \"group\": \"Vector (v.*)\",\n         \"group_id\": \"vector\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"v.net.salesman\",\n+        \"name\": \"v.surf.idw\",\n         \"parameters\": [\n-            \"QgsProcessingParameterFeatureSource|input|Input vector line layer (arcs)|1|None|False\",\n-            \"QgsProcessingParameterFeatureSource|points|Centers point layer (nodes)|0|None|False\",\n-            \"QgsProcessingParameterNumber|threshold|Threshold for connecting centers to the network (in map unit)|QgsProcessingParameterNumber.Double|50.0|False|0.0|None\",\n-            \"*QgsProcessingParameterEnum|arc_type|Arc type|line;boundary|True|0,1|False\",\n-            \"*QgsProcessingParameterString|center_cats|Category values|1-100000|False|False\",\n-            \"*QgsProcessingParameterField|arc_column|Arc forward/both direction(s) cost column (number)|None|input|0|False|True\",\n-            \"*QgsProcessingParameterField|arc_backward_column|Arc backward direction cost column (number)|None|input|0|False|True\",\n-            \"*QgsProcessingParameterBoolean|-g|Use geodesic calculation for longitude-latitude locations|False|True\",\n-            \"QgsProcessingParameterVectorDestination|output|Network_Salesman\",\n-            \"QgsProcessingParameterFileDestination|sequence|Output file holding node sequence|CSV files (*.csv)|None|True\"\n+            \"QgsProcessingParameterFeatureSource|input|Input vector layer|0|None|False\",\n+            \"QgsProcessingParameterNumber|npoints|Number of interpolation points|QgsProcessingParameterNumber.Integer|12|True|0|None\",\n+            \"QgsProcessingParameterNumber|power|Power parameter; greater values assign greater influence to closer points|QgsProcessingParameterNumber.Double|2.0|True|None|None\",\n+            \"QgsProcessingParameterField|column|Attribute table column with values to interpolate|None|input|-1|False|False\",\n+            \"QgsProcessingParameterBoolean|-n|Don't index points by raster cell|False\",\n+            \"QgsProcessingParameterRasterDestination|output|Interpolated IDW\"\n         ],\n-        \"short_description\": \"Creates a cycle connecting given nodes (Traveling salesman problem)\"\n+        \"short_description\": \"Surface interpolation from vector point data by Inverse Distance Squared Weighting.\"\n     },\n     {\n-        \"command\": \"i.evapo.pm\",\n-        \"display_name\": \"i.evapo.pm\",\n-        \"ext_path\": null,\n+        \"command\": \"i.cluster\",\n+        \"display_name\": \"i.cluster\",\n+        \"ext_path\": \"i_cluster\",\n         \"group\": \"Imagery (i.*)\",\n         \"group_id\": \"imagery\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"i.evapo.pm\",\n+        \"name\": \"i.cluster\",\n         \"parameters\": [\n-            \"QgsProcessingParameterRasterLayer|elevation|Name of input elevation raster map [m a.s.l.]|None|False\",\n-            \"QgsProcessingParameterRasterLayer|temperature|Name of input temperature raster map [C]|None|False\",\n-            \"QgsProcessingParameterRasterLayer|relativehumidity|Name of input relative humidity raster map [%]|None|False\",\n-            \"QgsProcessingParameterRasterLayer|windspeed|Name of input wind speed raster map [m/s]|None|False\",\n-            \"QgsProcessingParameterRasterLayer|netradiation|Name of input net solar radiation raster map [MJ/m2/h]|None|False\",\n-            \"QgsProcessingParameterRasterLayer|cropheight|Name of input crop height raster map [m]|None|False\",\n-            \"*QgsProcessingParameterBoolean|-z|Set negative ETa to zero|False\",\n-            \"*QgsProcessingParameterBoolean|-n|Use Night-time|False\",\n-            \"QgsProcessingParameterRasterDestination|output|Evapotranspiration\"\n+            \"QgsProcessingParameterMultipleLayers|input|Input rasters|3|None|False\",\n+            \"QgsProcessingParameterNumber|classes|Initial number of classes (1-255)|QgsProcessingParameterNumber.Integer|None|False|1|255\",\n+            \"QgsProcessingParameterFile|seed|Name of file containing initial signatures|QgsProcessingParameterFile.File|txt|None|True\",\n+            \"QgsProcessingParameterString|sample|Sampling intervals (by row and col)|None|False|True\",\n+            \"QgsProcessingParameterNumber|iterations|Maximum number of iterations|QgsProcessingParameterNumber.Integer|30|True|1|None\",\n+            \"QgsProcessingParameterNumber|convergence|Percent convergence|QgsProcessingParameterNumber.Double|98.0|True|0.0|100.0\",\n+            \"QgsProcessingParameterNumber|separation|Cluster separation|QgsProcessingParameterNumber.Double|0.0|True|0.0|None\",\n+            \"QgsProcessingParameterNumber|min_size|Minimum number of pixels in a class|QgsProcessingParameterNumber.Integer|17|True|1|None\",\n+            \"QgsProcessingParameterFileDestination|signaturefile|Signature File|Txt files (*.txt)|None|False\",\n+            \"QgsProcessingParameterFileDestination|reportfile|Final Report File|Txt files (*.txt)|None|True\"\n         ],\n-        \"short_description\": \"Computes potential evapotranspiration calculation with hourly Penman-Monteith.\"\n+        \"short_description\": \"Generates spectral signatures for land cover types in an image using a clustering algorithm.\"\n     },\n     {\n-        \"command\": \"r.series\",\n-        \"display_name\": \"r.series\",\n-        \"ext_path\": null,\n+        \"command\": \"r.li.patchdensity\",\n+        \"display_name\": \"r.li.patchdensity.ascii\",\n+        \"ext_path\": \"r_li_patchdensity_ascii\",\n         \"group\": \"Raster (r.*)\",\n         \"group_id\": \"raster\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"r.series\",\n+        \"name\": \"r.li.patchdensity.ascii\",\n         \"parameters\": [\n-            \"QgsProcessingParameterMultipleLayers|input|Input raster layer(s)|3|None|False\",\n-            \"QgsProcessingParameterBoolean|-n|Propagate NULLs|False\",\n-            \"QgsProcessingParameterEnum|method|Aggregate operation|average;count;median;mode;minimum;min_raster;maximum;max_raster;stddev;range;sum;variance;diversity;slope;offset;detcoeff;quart1;quart3;perc90;skewness;kurtosis;quantile;tvalue|True|0|True\",\n-            \"QgsProcessingParameterString|quantile|Quantile to calculate for method=quantile|None|False|True\",\n-            \"QgsProcessingParameterString|weights|Weighting factor for each input map, default value is 1.0|None|False|True\",\n-            \"*QgsProcessingParameterRange|range|Ignore values outside this range (lo,hi)|QgsProcessingParameterNumber.Double|None|True\",\n-            \"QgsProcessingParameterRasterDestination|output|Aggregated\"\n+            \"QgsProcessingParameterRasterLayer|input|Name of input raster map|None|False\",\n+            \"QgsProcessingParameterString|config_txt|Landscape structure configuration|None|True|True\",\n+            \"QgsProcessingParameterFile|config|Landscape structure configuration file|QgsProcessingParameterFile.File|txt|None|True\",\n+            \"QgsProcessingParameterFileDestination|output_txt|Patch Density|Txt files (*.txt)|None|False\"\n         ],\n-        \"short_description\": \"Makes each output cell value a function of the values assigned to the corresponding cells in the input raster layers. Input rasters layers/bands must be separated in different data sources.\"\n+        \"short_description\": \"r.li.patchdensity.ascii - Calculates patch density index on a raster map, using a 4 neighbour algorithm\"\n     },\n     {\n-        \"command\": \"r.li.dominance\",\n-        \"display_name\": \"r.li.dominance.ascii\",\n-        \"ext_path\": \"r_li_dominance_ascii\",\n-        \"group\": \"Raster (r.*)\",\n-        \"group_id\": \"raster\",\n+        \"command\": \"v.normal\",\n+        \"display_name\": \"v.normal\",\n+        \"ext_path\": null,\n+        \"group\": \"Vector (v.*)\",\n+        \"group_id\": \"vector\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"r.li.dominance.ascii\",\n+        \"name\": \"v.normal\",\n         \"parameters\": [\n-            \"QgsProcessingParameterRasterLayer|input|Name of input raster map|None|False\",\n-            \"QgsProcessingParameterString|config_txt|Landscape structure configuration|None|True|True\",\n-            \"QgsProcessingParameterFile|config|Landscape structure configuration file|QgsProcessingParameterFile.File|txt|None|True\",\n-            \"QgsProcessingParameterFileDestination|output_txt|Dominance|Txt files (*.txt)|None|False\"\n+            \"QgsProcessingParameterFeatureSource|map|point vector defining sample points|-1|None|False\",\n+            \"QgsProcessingParameterString|tests|Lists of tests (1-15): e.g. 1,3-8,13|1-3|False|False\",\n+            \"QgsProcessingParameterField|column|Attribute column|None|map|-1|False|False\",\n+            \"QgsProcessingParameterBoolean|-r|Use only points in current region|True\",\n+            \"QgsProcessingParameterBoolean|-l|lognormal|False\",\n+            \"QgsProcessingParameterFileDestination|html|Normality|Html files (*.html)|report.html|False\"\n         ],\n-        \"short_description\": \"r.li.dominance.ascii - Calculates dominance's diversity index on a raster map\"\n+        \"short_description\": \"Tests for normality for points.\"\n     },\n     {\n-        \"command\": \"r.sim.water\",\n-        \"display_name\": \"r.sim.water\",\n+        \"command\": \"r.geomorphon\",\n+        \"display_name\": \"r.geomorphon\",\n         \"ext_path\": null,\n         \"group\": \"Raster (r.*)\",\n         \"group_id\": \"raster\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"r.sim.water\",\n+        \"name\": \"r.geomorphon\",\n         \"parameters\": [\n-            \"QgsProcessingParameterRasterLayer|elevation|Name of the elevation raster map [m]|None|False\",\n-            \"QgsProcessingParameterRasterLayer|dx|Name of the x-derivatives raster map [m/m]|None|False\",\n-            \"QgsProcessingParameterRasterLayer|dy|Name of the y-derivatives raster map [m/m]|None|False\",\n-            \"QgsProcessingParameterRasterLayer|rain|Name of the rainfall excess rate (rain-infilt) raster map [mm/hr]|None|True\",\n-            \"QgsProcessingParameterNumber|rain_value|Rainfall excess rate unique value [mm/hr]|QgsProcessingParameterNumber.Double|50|True|None|None\",\n-            \"QgsProcessingParameterRasterLayer|infil|Name of the runoff infiltration rate raster map [mm/hr]|None|True\",\n-            \"QgsProcessingParameterNumber|infil_value|Runoff infiltration rate unique value [mm/hr]|QgsProcessingParameterNumber.Double|0.0|True|None|None\",\n-            \"QgsProcessingParameterRasterLayer|man|Name of the Mannings n raster map|None|True\",\n-            \"QgsProcessingParameterNumber|man_value|Manning's n unique value|QgsProcessingParameterNumber.Double|0.1|True|None|None\",\n-            \"QgsProcessingParameterRasterLayer|flow_control|Name of the flow controls raster map (permeability ratio 0-1)|None|True\",\n-            \"QgsProcessingParameterFeatureSource|observation|Sampling locations vector points|0|None|True\",\n-            \"QgsProcessingParameterNumber|nwalkers|Number of walkers, default is twice the number of cells|QgsProcessingParameterNumber.Integer|None|True|None|None\",\n-            \"QgsProcessingParameterNumber|niterations|Time used for iterations [minutes]|QgsProcessingParameterNumber.Integer|10|True|None|None\",\n-            \"QgsProcessingParameterNumber|output_step|Time interval for creating output maps [minutes]|QgsProcessingParameterNumber.Integer|2|True|None|None\",\n-            \"QgsProcessingParameterNumber|diffusion_coeff|Water diffusion constant|QgsProcessingParameterNumber.Double|0.8|True|None|None\",\n-            \"QgsProcessingParameterNumber|hmax|Threshold water depth [m]|QgsProcessingParameterNumber.Double|4.0|True|None|None\",\n-            \"QgsProcessingParameterNumber|halpha|Diffusion increase constant|QgsProcessingParameterNumber.Double|4.0|True|None|None\",\n-            \"QgsProcessingParameterNumber|hbeta|Weighting factor for water flow velocity vector|QgsProcessingParameterNumber.Double|0.5|True|None|None\",\n-            \"QgsProcessingParameterBoolean|-t|Time-series output|False\",\n-            \"QgsProcessingParameterRasterDestination|depth|Water depth [m]\",\n-            \"QgsProcessingParameterRasterDestination|discharge|Water discharge [m3/s]\",\n-            \"QgsProcessingParameterRasterDestination|error|Simulation error [m]\",\n-            \"QgsProcessingParameterVectorDestination|walkers_output|Name of the output walkers vector points layer|QgsProcessing.TypeVectorAnyGeometry|None|True\",\n-            \"QgsProcessingParameterFileDestination|logfile|Name for sampling points output text file.|Txt files (*.txt)|None|True\"\n+            \"QgsProcessingParameterRasterLayer|elevation|Name of input elevation raster map|None|False\",\n+            \"QgsProcessingParameterNumber|search|Outer search radius|QgsProcessingParameterNumber.Integer|3|True|3|499\",\n+            \"QgsProcessingParameterNumber|skip|Inner search radius|QgsProcessingParameterNumber.Integer|0|True|0|499\",\n+            \"QgsProcessingParameterNumber|flat|Flatness threshold (degrees)|QgsProcessingParameterNumber.Double|1.0|True|None|None\",\n+            \"QgsProcessingParameterNumber|dist|Flatness distance, zero for none|QgsProcessingParameterNumber.Double|0.0|True|None|None\",\n+            \"QgsProcessingParameterRasterDestination|forms|Most common geomorphic forms\",\n+            \"*QgsProcessingParameterBoolean|-m|Use meters to define search units (default is cells)|False\",\n+            \"*QgsProcessingParameterBoolean|-e|Use extended form correction|False\"\n         ],\n-        \"short_description\": \"Overland flow hydrologic simulation using path sampling method (SIMWE).\"\n+        \"short_description\": \"Calculates geomorphons (terrain forms) and associated geometry using machine vision approach.\"\n     },\n     {\n-        \"command\": \"g.extension\",\n-        \"display_name\": \"g.extension.manage\",\n-        \"ext_path\": \"g_extension_manage\",\n-        \"group\": \"General (g.*)\",\n-        \"group_id\": \"general\",\n+        \"command\": \"r.quantile\",\n+        \"display_name\": \"r.quantile.plain\",\n+        \"ext_path\": null,\n+        \"group\": \"Raster (r.*)\",\n+        \"group_id\": \"raster\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"g.extension.manage\",\n+        \"name\": \"r.quantile.plain\",\n         \"parameters\": [\n-            \"QgsProcessingParameterString|extension|Name of Extension|None|False\",\n-            \"QgsProcessingParameterEnum|operation|Operation|add;remove|False|None|False\",\n-            \"QgsProcessingParameterBoolean|-f|Force (required for removal)|False\",\n-            \"QgsProcessingParameterBoolean|-t|Operate on toolboxes instead of single modules (experimental)|False\"\n+            \"QgsProcessingParameterRasterLayer|input|Input raster layer|None|False\",\n+            \"QgsProcessingParameterNumber|quantiles|Number of quantiles|QgsProcessingParameterNumber.Integer|4|True|2|None\",\n+            \"QgsProcessingParameterString|percentiles|List of percentiles|None|False|True\",\n+            \"QgsProcessingParameterNumber|bins|Number of bins to use|QgsProcessingParameterNumber.Integer|1000000|True|1|None\",\n+            \"*QgsProcessingParameterBoolean|-r|Generate recode rules based on quantile-defined intervals|False\",\n+            \"QgsProcessingParameterFileDestination|file|Quantiles|TXT files (*.txt)|report.txt|False\"\n         ],\n-        \"short_description\": \"g.extension.manage - Install or uninstall GRASS addons.\"\n+        \"short_description\": \"r.quantile.plain - Compute quantiles using two passes and save them as plain text.\"\n     },\n     {\n-        \"command\": \"r.regression.multi\",\n-        \"display_name\": \"r.regression.multi\",\n+        \"command\": \"v.neighbors\",\n+        \"display_name\": \"v.neighbors\",\n         \"ext_path\": null,\n-        \"group\": \"Raster (r.*)\",\n-        \"group_id\": \"raster\",\n+        \"group\": \"Vector (v.*)\",\n+        \"group_id\": \"vector\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"r.regression.multi\",\n+        \"name\": \"v.neighbors\",\n         \"parameters\": [\n-            \"QgsProcessingParameterMultipleLayers|mapx|Map(s) for x coefficient|3|None|False\",\n-            \"QgsProcessingParameterRasterLayer|mapy|Map for y coefficient|None|False\",\n-            \"QgsProcessingParameterRasterDestination|residuals|Residual Map\",\n-            \"QgsProcessingParameterRasterDestination|estimates|Estimates Map\",\n-            \"QgsProcessingParameterFileDestination|html|Regression coefficients|Html files (*.html)|report.html|False\"\n+            \"QgsProcessingParameterFeatureSource|input|Input vector layer|-1|None|False\",\n+            \"QgsProcessingParameterEnum|method|Method for aggregate statistics (count if non given)|count;sum;average;median;mode;minimum;maximum;range;stddev;variance;diversity|False|0|False\",\n+            \"QgsProcessingParameterField|points_column|Column name of points map to use for statistics|None|input|0|False|True\",\n+            \"QgsProcessingParameterNumber|size|Neighborhood diameter in map units|QgsProcessingParameterNumber.Double|0.1|False|0.0|None\",\n+            \"QgsProcessingParameterRasterDestination|output|Neighborhood\"\n         ],\n-        \"short_description\": \"Calculates multiple linear regression from raster maps.\"\n+        \"short_description\": \"Makes each cell value a function of attribute values and stores in an output raster map.\"\n     },\n     {\n-        \"command\": \"v.surf.idw\",\n-        \"display_name\": \"v.surf.idw\",\n-        \"ext_path\": null,\n+        \"command\": \"v.to.3d\",\n+        \"display_name\": \"v.to.3d\",\n+        \"ext_path\": \"v_to_3d\",\n         \"group\": \"Vector (v.*)\",\n         \"group_id\": \"vector\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"v.surf.idw\",\n+        \"name\": \"v.to.3d\",\n         \"parameters\": [\n-            \"QgsProcessingParameterFeatureSource|input|Input vector layer|0|None|False\",\n-            \"QgsProcessingParameterNumber|npoints|Number of interpolation points|QgsProcessingParameterNumber.Integer|12|True|0|None\",\n-            \"QgsProcessingParameterNumber|power|Power parameter; greater values assign greater influence to closer points|QgsProcessingParameterNumber.Double|2.0|True|None|None\",\n-            \"QgsProcessingParameterField|column|Attribute table column with values to interpolate|None|input|-1|False|False\",\n-            \"QgsProcessingParameterBoolean|-n|Don't index points by raster cell|False\",\n-            \"QgsProcessingParameterRasterDestination|output|Interpolated IDW\"\n+            \"QgsProcessingParameterFeatureSource|input|Name of input vector map|-1|None|False\",\n+            \"QgsProcessingParameterEnum|type|Input feature type|point;line;boundary;centroid|True|0,1,2,3|True\",\n+            \"QgsProcessingParameterNumber|height|Fixed height for 3D vector features|QgsProcessingParameterNumber.Double|None|True|None|None\",\n+            \"QgsProcessingParameterField|column|Name of attribute column used for height|None|input|0|False|True\",\n+            \"*QgsProcessingParameterBoolean|-r|Reverse transformation; 3D vector features to 2D|False\",\n+            \"*QgsProcessingParameterBoolean|-t|Do not copy attribute table|False\",\n+            \"QgsProcessingParameterVectorDestination|output|3D\"\n         ],\n-        \"short_description\": \"Surface interpolation from vector point data by Inverse Distance Squared Weighting.\"\n+        \"short_description\": \"Performs transformation of 2D vector features to 3D.\"\n     },\n     {\n-        \"command\": \"r.colors\",\n-        \"display_name\": \"r.colors\",\n-        \"ext_path\": \"r_colors\",\n+        \"command\": \"r.resamp.stats\",\n+        \"display_name\": \"r.resamp.stats\",\n+        \"ext_path\": null,\n         \"group\": \"Raster (r.*)\",\n         \"group_id\": \"raster\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"r.colors\",\n+        \"name\": \"r.resamp.stats\",\n         \"parameters\": [\n-            \"QgsProcessingParameterMultipleLayers|map|Name of raster maps(s)|3|None|False\",\n-            \"QgsProcessingParameterEnum|color|Name of color table|not selected;aspect;aspectcolr;bcyr;bgyr;blues;byg;byr;celsius;corine;curvature;differences;elevation;etopo2;evi;fahrenheit;gdd;greens;grey;grey.eq;grey.log;grey1.0;grey255;gyr;haxby;kelvin;ndvi;ndwi;oranges;population;population_dens;precipitation;precipitation_daily;precipitation_monthly;rainbow;ramp;random;reds;rstcurv;ryb;ryg;sepia;slope;srtm;srtm_plus;terrain;wave|False|0|True\",\n-            \"QgsProcessingParameterString|rules_txt|Color rules|None|True|True\",\n-            \"QgsProcessingParameterFile|rules|Color rules file|QgsProcessingParameterFile.File|txt|None|True\",\n-            \"QgsProcessingParameterRasterLayer|raster|Raster map from which to copy color table|None|True\",\n-            \"QgsProcessingParameterBoolean|-r|Remove existing color table|False\",\n-            \"QgsProcessingParameterBoolean|-w|Only write new color table if it does not already exist|False\",\n-            \"QgsProcessingParameterBoolean|-n|Invert colors|False\",\n-            \"QgsProcessingParameterBoolean|-g|Logarithmic scaling|False\",\n-            \"QgsProcessingParameterBoolean|-a|Logarithmic-absolute scaling|False\",\n-            \"QgsProcessingParameterBoolean|-e|Histogram equalization|False\",\n-            \"QgsProcessingParameterFolderDestination|output_dir|Output Directory|None|False\"\n+            \"QgsProcessingParameterRasterLayer|input|Input raster layer|None|False\",\n+            \"QgsProcessingParameterEnum|method|Aggregation method|average;median;mode;minimum;maximum;quart1;quart3;perc90;sum;variance;stddev;quantile|False|0|True\",\n+            \"QgsProcessingParameterNumber|quantile|Quantile to calculate for method=quantile|QgsProcessingParameterNumber.Double|0.5|True|0.0|1.0\",\n+            \"QgsProcessingParameterBoolean|-n|Propagate NULLs|False\",\n+            \"QgsProcessingParameterBoolean|-w|Weight according to area (slower)|False\",\n+            \"QgsProcessingParameterRasterDestination|output|Resampled aggregated\"\n         ],\n-        \"short_description\": \"Creates/modifies the color table associated with a raster map.\"\n+        \"short_description\": \"Resamples raster layers to a coarser grid using aggregation.\"\n     },\n     {\n-        \"command\": \"v.in.dxf\",\n-        \"display_name\": \"v.in.dxf\",\n+        \"command\": \"v.in.lidar\",\n+        \"display_name\": \"v.in.lidar\",\n         \"ext_path\": null,\n         \"group\": \"Vector (v.*)\",\n         \"group_id\": \"vector\",\n-        \"hardcoded_strings\": [],\n-        \"name\": \"v.in.dxf\",\n-        \"parameters\": [\n-            \"QgsProcessingParameterFile|input|Name of input DXF file|QgsProcessingParameterFile.File|dxf|None|False\",\n-            \"QgsProcessingParameterString|layers|List of layers to import|None|False|True\",\n-            \"QgsProcessingParameterBoolean|-e|Ignore the map extent of DXF file|True\",\n-            \"QgsProcessingParameterBoolean|-t|Do not create attribute tables|False\",\n-            \"QgsProcessingParameterBoolean|-f|Import polyface meshes as 3D wire frame|True\",\n-            \"QgsProcessingParameterBoolean|-l|List available layers and exit|False\",\n-            \"QgsProcessingParameterBoolean|-i|Invert selection by layers (don't import layers in list)|False\",\n-            \"QgsProcessingParameterBoolean|-1|Import all objects into one layer|True\",\n-            \"QgsProcessingParameterVectorDestination|output|Converted\"\n+        \"hardcoded_strings\": [\n+            \"-o\"\n         ],\n-        \"short_description\": \"Converts files in DXF format to GRASS vector map format.\"\n-    },\n-    {\n-        \"command\": \"r.stats.quantile\",\n-        \"display_name\": \"r.stats.quantile.rast\",\n-        \"ext_path\": \"r_stats_quantile_rast\",\n-        \"group\": \"Raster (r.*)\",\n-        \"group_id\": \"raster\",\n-        \"hardcoded_strings\": [],\n-        \"name\": \"r.stats.quantile.rast\",\n+        \"name\": \"v.in.lidar\",\n         \"parameters\": [\n-            \"QgsProcessingParameterRasterLayer|base|Name of base raster map|None|False\",\n-            \"QgsProcessingParameterRasterLayer|cover|Name of cover raster map|None|False\",\n-            \"QgsProcessingParameterNumber|quantiles|Number of quantiles|QgsProcessingParameterNumber.Integer|None|True|0|None\",\n-            \"QgsProcessingParameterString|percentiles|List of percentiles|None|False|True\",\n-            \"QgsProcessingParameterNumber|bins|Number of bins to use|QgsProcessingParameterNumber.Integer|1000|True|0|None\",\n-            \"*QgsProcessingParameterBoolean|-r|Create reclass map with statistics as category labels|False\",\n-            \"QgsProcessingParameterFolderDestination|output|Output Directory\"\n+            \"QgsProcessingParameterFile|input|LiDAR input files in LAS format (*.las or *.laz)|QgsProcessingParameterFile.File||None|False|Lidar files (*.las *.LAS *.laz *.LAZ)\",\n+            \"QgsProcessingParameterExtent|spatial|Import subregion only|None|True\",\n+            \"QgsProcessingParameterRange|zrange|Filter range for z data|QgsProcessingParameterNumber.Double|None|True\",\n+            \"QgsProcessingParameterEnum|return_filter|Only import points of selected return type|first;last;mid|True|None|True\",\n+            \"QgsProcessingParameterString|class_filter|Only import points of selected class(es) (comma separated integers)|None|False|True\",\n+            \"QgsProcessingParameterNumber|skip|Do not import every n-th point|QgsProcessingParameterNumber.Integer|None|True|1|None\",\n+            \"QgsProcessingParameterNumber|preserve|Import only every n-th point|QgsProcessingParameterNumber.Integer|None|True|1|None\",\n+            \"QgsProcessingParameterNumber|offset|Skip first n points|QgsProcessingParameterNumber.Integer|None|True|1|None\",\n+            \"QgsProcessingParameterNumber|limit|Import only n points|QgsProcessingParameterNumber.Integer|None|True|1|None\",\n+            \"*QgsProcessingParameterBoolean|-t|Do not create attribute table|False\",\n+            \"*QgsProcessingParameterBoolean|-c|Do not automatically add unique ID as category to each point|False\",\n+            \"*QgsProcessingParameterBoolean|-b|Do not build topology|False\",\n+            \"Hardcoded|-o\",\n+            \"QgsProcessingParameterVectorDestination|output|Lidar\"\n         ],\n-        \"short_description\": \"r.stats.quantile.rast - Compute category quantiles using two passes and output rasters.\"\n+        \"short_description\": \"Converts LAS LiDAR point clouds to a GRASS vector map with libLAS.\"\n     },\n     {\n-        \"command\": \"r.quant\",\n-        \"display_name\": \"r.quant\",\n+        \"command\": \"r.quantile\",\n+        \"display_name\": \"r.quantile\",\n         \"ext_path\": null,\n         \"group\": \"Raster (r.*)\",\n         \"group_id\": \"raster\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"r.quant\",\n+        \"name\": \"r.quantile\",\n         \"parameters\": [\n-            \"QgsProcessingParameterMultipleLayers|input|Raster layer(s) to be quantized|1|None|False\",\n-            \"QgsProcessingParameterRasterLayer|basemap|Base layer to take quant rules from|None|True\",\n-            \"QgsProcessingParameterRange|fprange|Floating point range: dmin,dmax|QgsProcessingParameterNumber.Double|None|True\",\n-            \"QgsProcessingParameterRange|range|Integer range: min,max|QgsProcessingParameterNumber.Integer|None|True\",\n-            \"QgsProcessingParameterBoolean|-t|Truncate floating point data|False\",\n-            \"QgsProcessingParameterBoolean|-r|Round floating point data|False\",\n-            \"QgsProcessingParameterFolderDestination|output|Quantized raster(s)|None|False\"\n+            \"QgsProcessingParameterRasterLayer|input|Input raster layer|None|False\",\n+            \"QgsProcessingParameterNumber|quantiles|Number of quantiles|QgsProcessingParameterNumber.Integer|4|True|2|None\",\n+            \"QgsProcessingParameterString|percentiles|List of percentiles|None|False|True\",\n+            \"QgsProcessingParameterNumber|bins|Number of bins to use|QgsProcessingParameterNumber.Integer|1000000|True|1|None\",\n+            \"*QgsProcessingParameterBoolean|-r|Generate recode rules based on quantile-defined intervals|False\",\n+            \"QgsProcessingParameterFileDestination|file|Quantiles|Html files (*.html)|report.html|False\"\n         ],\n-        \"short_description\": \"Produces the quantization file for a floating-point map.\"\n+        \"short_description\": \"Compute quantiles using two passes.\"\n     },\n     {\n-        \"command\": \"r.surf.area\",\n-        \"display_name\": \"r.surf.area\",\n-        \"ext_path\": null,\n-        \"group\": \"Raster (r.*)\",\n-        \"group_id\": \"raster\",\n+        \"command\": \"i.segment\",\n+        \"display_name\": \"i.segment\",\n+        \"ext_path\": \"i_segment\",\n+        \"group\": \"Imagery (i.*)\",\n+        \"group_id\": \"imagery\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"r.surf.area\",\n+        \"name\": \"i.segment\",\n         \"parameters\": [\n-            \"QgsProcessingParameterRasterLayer|map|Input layer|None|False\",\n-            \"QgsProcessingParameterNumber|vscale|Vertical scale|QgsProcessingParameterNumber.Double|1.0|True|None|None\",\n-            \"QgsProcessingParameterEnum|units|Units|miles;feet;meters;kilometers;acres;hectares|False|1|True\",\n-            \"QgsProcessingParameterFileDestination|html|Area|Html files (*.html)|report.html|False\"\n+            \"QgsProcessingParameterMultipleLayers|input|Input rasters|3|None|False\",\n+            \"QgsProcessingParameterNumber|threshold|Difference threshold between 0 and 1|QgsProcessingParameterNumber.Double|0.5|False|0.0|1.0\",\n+            \"QgsProcessingParameterEnum|method|Segmentation method|region_growing|False|0|True\",\n+            \"QgsProcessingParameterEnum|similarity|Similarity calculation method|euclidean;manhattan|False|0|True\",\n+            \"QgsProcessingParameterNumber|minsize|Minimum number of cells in a segment|QgsProcessingParameterNumber.Integer|1|True|1|100000\",\n+            \"QgsProcessingParameterNumber|memory|Amount of memory to use in MB|QgsProcessingParameterNumber.Integer|300|True|1|None\",\n+            \"QgsProcessingParameterNumber|iterations|Maximum number of iterations|QgsProcessingParameterNumber.Integer|20|True|1|None\",\n+            \"QgsProcessingParameterRasterLayer|seeds|Name for input raster map with starting seeds|None|True\",\n+            \"QgsProcessingParameterRasterLayer|bounds|Name of input bounding/constraining raster map|None|True\",\n+            \"*QgsProcessingParameterBoolean|-d|Use 8 neighbors (3x3 neighborhood) instead of the default 4 neighbors for each pixel|False\",\n+            \"*QgsProcessingParameterBoolean|-w|Weighted input, do not perform the default scaling of input raster maps|False\",\n+            \"QgsProcessingParameterRasterDestination|output|Segmented Raster|None|False\",\n+            \"QgsProcessingParameterRasterDestination|goodness|Goodness Raster|None|True\"\n         ],\n-        \"short_description\": \"Surface area estimation for rasters.\"\n+        \"short_description\": \"Identifies segments (objects) from imagery data.\"\n     },\n     {\n-        \"command\": \"i.colors.enhance\",\n-        \"display_name\": \"i.colors.enhance\",\n-        \"ext_path\": \"i_colors_enhance\",\n+        \"command\": \"i.gensig\",\n+        \"display_name\": \"i.gensig\",\n+        \"ext_path\": \"i_gensig\",\n         \"group\": \"Imagery (i.*)\",\n         \"group_id\": \"imagery\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"i.colors.enhance\",\n+        \"name\": \"i.gensig\",\n         \"parameters\": [\n-            \"QgsProcessingParameterRasterLayer|red|Name of red channel|None|False\",\n-            \"QgsProcessingParameterRasterLayer|green|Name of green channel|None|False\",\n-            \"QgsProcessingParameterRasterLayer|blue|Name of blue channel|None|False\",\n-            \"QgsProcessingParameterNumber|strength|Cropping intensity (upper brightness level)|QgsProcessingParameterNumber.Double|98.0|True|0.0|100.0\",\n-            \"*QgsProcessingParameterBoolean|-f|Extend colors to full range of data on each channel|False\",\n-            \"*QgsProcessingParameterBoolean|-p|Preserve relative colors, adjust brightness only|False\",\n-            \"*QgsProcessingParameterBoolean|-r|Reset to standard color range|False\",\n-            \"*QgsProcessingParameterBoolean|-s|Process bands serially (default: run in parallel)|False\",\n-            \"QgsProcessingParameterRasterDestination|redoutput|Enhanced Red\",\n-            \"QgsProcessingParameterRasterDestination|greenoutput|Enhanced Green\",\n-            \"QgsProcessingParameterRasterDestination|blueoutput|Enhanced Blue\"\n+            \"QgsProcessingParameterRasterLayer|trainingmap|Ground truth training map|None|False\",\n+            \"QgsProcessingParameterMultipleLayers|input|Input rasters|3|None|False\",\n+            \"QgsProcessingParameterFileDestination|signaturefile|Signature File|Txt files (*.txt)|None|False\"\n         ],\n-        \"short_description\": \"Performs auto-balancing of colors for RGB images.\"\n+        \"short_description\": \"Generates statistics for i.maxlik from raster map.\"\n     },\n     {\n-        \"command\": \"r.stats.quantile\",\n-        \"display_name\": \"r.stats.quantile.out\",\n+        \"command\": \"r.random\",\n+        \"display_name\": \"r.random\",\n         \"ext_path\": null,\n         \"group\": \"Raster (r.*)\",\n         \"group_id\": \"raster\",\n-        \"hardcoded_strings\": [\n-            \"-p\"\n-        ],\n-        \"name\": \"r.stats.quantile.out\",\n+        \"hardcoded_strings\": [],\n+        \"name\": \"r.random\",\n         \"parameters\": [\n-            \"QgsProcessingParameterRasterLayer|base|Name of base raster map|None|False\",\n-            \"QgsProcessingParameterRasterLayer|cover|Name of cover raster map|None|False\",\n-            \"QgsProcessingParameterNumber|quantiles|Number of quantiles|QgsProcessingParameterNumber.Integer|None|True|0|None\",\n-            \"QgsProcessingParameterString|percentiles|List of percentiles|None|False|True\",\n-            \"QgsProcessingParameterNumber|bins|Number of bins to use|QgsProcessingParameterNumber.Integer|1000|True|0|None\",\n-            \"*QgsProcessingParameterBoolean|-r|Create reclass map with statistics as category labels|False\",\n-            \"Hardcoded|-p\",\n-            \"QgsProcessingParameterFileDestination|file|Statistics File|Txt files (*.txt)|None|False\"\n+            \"QgsProcessingParameterRasterLayer|input|Input raster layer|None|False\",\n+            \"QgsProcessingParameterRasterLayer|cover|Input cover raster layer|None|False\",\n+            \"QgsProcessingParameterNumber|npoints|The number of points to allocate|QgsProcessingParameterNumber.Integer|None|False|0|None\",\n+            \"QgsProcessingParameterBoolean|-z|Generate points also for NULL category|False\",\n+            \"QgsProcessingParameterBoolean|-d|Generate vector points as 3D points|False\",\n+            \"QgsProcessingParameterBoolean|-b|Do not build topology|False\",\n+            \"QgsProcessingParameterRasterDestination|raster|Random raster\",\n+            \"QgsProcessingParameterVectorDestination|vector|Random vector\"\n         ],\n-        \"short_description\": \"r.stats.quantile.out - Compute category quantiles using two passes and output statistics\"\n+        \"short_description\": \"Creates a raster layer and vector point map containing randomly located points.\"\n     },\n     {\n-        \"command\": \"r.describe\",\n-        \"display_name\": \"r.describe\",\n+        \"command\": \"v.parallel\",\n+        \"display_name\": \"v.parallel\",\n         \"ext_path\": null,\n-        \"group\": \"Raster (r.*)\",\n-        \"group_id\": \"raster\",\n+        \"group\": \"Vector (v.*)\",\n+        \"group_id\": \"vector\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"r.describe\",\n+        \"name\": \"v.parallel\",\n         \"parameters\": [\n-            \"QgsProcessingParameterRasterLayer|map|input raster layer|None|False\",\n-            \"QgsProcessingParameterString|null_value|String representing NULL value|*|False|True\",\n-            \"QgsProcessingParameterNumber|nsteps|Number of quantization steps|QgsProcessingParameterNumber.Integer|255|True|1|None\",\n-            \"QgsProcessingParameterBoolean|-r|Only print the range of the data|False\",\n-            \"QgsProcessingParameterBoolean|-n|Suppress reporting of any NULLs|False\",\n-            \"QgsProcessingParameterBoolean|-d|Use the current region|False\",\n-            \"QgsProcessingParameterBoolean|-i|Read floating-point map as integer|False\",\n-            \"QgsProcessingParameterFileDestination|html|Categories|Html files (*.html)|report.html|False\"\n+            \"QgsProcessingParameterFeatureSource|input|Input lines|1|None|False\",\n+            \"QgsProcessingParameterNumber|distance|Offset along major axis in map units|QgsProcessingParameterNumber.Double|1.0|False|0.0|100000000.0\",\n+            \"QgsProcessingParameterNumber|minordistance|Offset along minor axis in map units|QgsProcessingParameterNumber.Double|None|True|0.0|100000000.0\",\n+            \"QgsProcessingParameterNumber|angle|Angle of major axis in degrees|QgsProcessingParameterNumber.Double|0.0|True|0.0|360.0\",\n+            \"QgsProcessingParameterEnum|side|Side|left;right;both|False|0|False\",\n+            \"QgsProcessingParameterNumber|tolerance|Tolerance of arc polylines in map units|QgsProcessingParameterNumber.Double|None|True|0.0|100000000.0\",\n+            \"QgsProcessingParameterBoolean|-r|Make outside corners round|False\",\n+            \"QgsProcessingParameterBoolean|-b|Create buffer-like parallel lines|False\",\n+            \"QgsProcessingParameterVectorDestination|output|Parallel lines\"\n         ],\n-        \"short_description\": \"Prints terse list of category values found in a raster layer.\"\n+        \"short_description\": \"Creates parallel line to input vector lines.\"\n     },\n     {\n-        \"command\": \"r.quantile\",\n-        \"display_name\": \"r.quantile.plain\",\n-        \"ext_path\": null,\n+        \"command\": \"r.li.mpa\",\n+        \"display_name\": \"r.li.mpa.ascii\",\n+        \"ext_path\": \"r_li_mpa_ascii\",\n         \"group\": \"Raster (r.*)\",\n         \"group_id\": \"raster\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"r.quantile.plain\",\n+        \"name\": \"r.li.mpa.ascii\",\n         \"parameters\": [\n-            \"QgsProcessingParameterRasterLayer|input|Input raster layer|None|False\",\n-            \"QgsProcessingParameterNumber|quantiles|Number of quantiles|QgsProcessingParameterNumber.Integer|4|True|2|None\",\n-            \"QgsProcessingParameterString|percentiles|List of percentiles|None|False|True\",\n-            \"QgsProcessingParameterNumber|bins|Number of bins to use|QgsProcessingParameterNumber.Integer|1000000|True|1|None\",\n-            \"*QgsProcessingParameterBoolean|-r|Generate recode rules based on quantile-defined intervals|False\",\n-            \"QgsProcessingParameterFileDestination|file|Quantiles|TXT files (*.txt)|report.txt|False\"\n+            \"QgsProcessingParameterRasterLayer|input|Name of input raster map|None|False\",\n+            \"QgsProcessingParameterString|config_txt|Landscape structure configuration|None|True|True\",\n+            \"QgsProcessingParameterFile|config|Landscape structure configuration file|QgsProcessingParameterFile.File|txt|None|True\",\n+            \"QgsProcessingParameterFileDestination|output_txt|Mean Pixel Attribute|Txt files (*.txt)|None|False\"\n         ],\n-        \"short_description\": \"r.quantile.plain - Compute quantiles using two passes and save them as plain text.\"\n+        \"short_description\": \"r.li.mpa.ascii - Calculates mean pixel attribute index on a raster map\"\n     },\n     {\n-        \"command\": \"v.net.timetable\",\n-        \"display_name\": \"v.net.timetable\",\n-        \"ext_path\": null,\n+        \"command\": \"v.net.salesman\",\n+        \"display_name\": \"v.net.salesman\",\n+        \"ext_path\": \"v_net_salesman\",\n         \"group\": \"Vector (v.*)\",\n         \"group_id\": \"vector\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"v.net.timetable\",\n+        \"name\": \"v.net.salesman\",\n         \"parameters\": [\n             \"QgsProcessingParameterFeatureSource|input|Input vector line layer (arcs)|1|None|False\",\n             \"QgsProcessingParameterFeatureSource|points|Centers point layer (nodes)|0|None|False\",\n-            \"QgsProcessingParameterFeatureSource|walk_layer|Layer number or name with walking connections|-1|None|True\",\n             \"QgsProcessingParameterNumber|threshold|Threshold for connecting centers to the network (in map unit)|QgsProcessingParameterNumber.Double|50.0|False|0.0|None\",\n+            \"*QgsProcessingParameterEnum|arc_type|Arc type|line;boundary|True|0,1|False\",\n+            \"*QgsProcessingParameterString|center_cats|Category values|1-100000|False|False\",\n             \"*QgsProcessingParameterField|arc_column|Arc forward/both direction(s) cost column (number)|None|input|0|False|True\",\n             \"*QgsProcessingParameterField|arc_backward_column|Arc backward direction cost column (number)|None|input|0|False|True\",\n-            \"*QgsProcessingParameterField|node_column|Node cost column (number)|None|input|0|False|True\",\n-            \"*QgsProcessingParameterField|route_id|Name of column with route ids|None|input|0|False|True\",\n-            \"*QgsProcessingParameterField|stop_time|Name of column with stop timestamps|None|walk_layer|-1|False|True\",\n-            \"*QgsProcessingParameterField|to_stop|Name of column with stop ids|None|walk_layer|-1|False|True\",\n-            \"*QgsProcessingParameterField|walk_length|Name of column with walk lengths|None|walk_layer|-1|False|True\",\n-            \"QgsProcessingParameterVectorDestination|output|Network Timetable\"\n+            \"*QgsProcessingParameterBoolean|-g|Use geodesic calculation for longitude-latitude locations|False|True\",\n+            \"QgsProcessingParameterVectorDestination|output|Network_Salesman\",\n+            \"QgsProcessingParameterFileDestination|sequence|Output file holding node sequence|CSV files (*.csv)|None|True\"\n         ],\n-        \"short_description\": \"Finds shortest path using timetables.\"\n+        \"short_description\": \"Creates a cycle connecting given nodes (Traveling salesman problem)\"\n     },\n     {\n-        \"command\": \"r.stats.zonal\",\n-        \"display_name\": \"r.stats.zonal\",\n+        \"command\": \"r.sun\",\n+        \"display_name\": \"r.sun.insoltime\",\n         \"ext_path\": null,\n         \"group\": \"Raster (r.*)\",\n         \"group_id\": \"raster\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"r.stats.zonal\",\n+        \"name\": \"r.sun.insoltime\",\n         \"parameters\": [\n-            \"QgsProcessingParameterRasterLayer|base|Base raster|None|False\",\n-            \"QgsProcessingParameterRasterLayer|cover|Cover raster|None|False\",\n-            \"QgsProcessingParameterEnum|method|Method of object-based statistic|count;sum;min;max;range;average;avedev;variance;stddev;skewness;kurtosis;variance2;stddev2;skewness2;kurtosis2|False|0|False\",\n-            \"*QgsProcessingParameterBoolean|-c|Cover values extracted from the category labels of the cover map|False|True\",\n-            \"*QgsProcessingParameterBoolean|-r|Create reclass map with statistics as category labels|False|True\",\n-            \"QgsProcessingParameterRasterDestination|output|Resultant raster\"\n+            \"QgsProcessingParameterRasterLayer|elevation|Elevation layer [meters]|None|False\",\n+            \"QgsProcessingParameterRasterLayer|aspect|Aspect layer [decimal degrees]|None|False\",\n+            \"QgsProcessingParameterNumber|aspect_value|A single value of the orientation (aspect), 270 is south|QgsProcessingParameterNumber.Double|270.0|True|0.0|360.0\",\n+            \"QgsProcessingParameterRasterLayer|slope|Name of the input slope raster map (terrain slope or solar panel inclination) [decimal degrees]|None|False\",\n+            \"QgsProcessingParameterNumber|slope_value|A single value of inclination (slope)|QgsProcessingParameterNumber.Double|0.0|True|0.0|360.0\",\n+            \"QgsProcessingParameterRasterLayer|linke|Name of the Linke atmospheric turbidity coefficient input raster map|None|True\",\n+            \"QgsProcessingParameterRasterLayer|albedo|Name of the ground albedo coefficient input raster map|None|True\",\n+            \"QgsProcessingParameterNumber|albedo_value|A single value of the ground albedo coefficient|QgsProcessingParameterNumber.Double|0.2|True|0.0|360.0\",\n+            \"QgsProcessingParameterRasterLayer|lat|Name of input raster map containing latitudes [decimal degrees]|None|True\",\n+            \"QgsProcessingParameterRasterLayer|long|Name of input raster map containing longitudes [decimal degrees]|None|True\",\n+            \"QgsProcessingParameterRasterLayer|coeff_bh|Name of real-sky beam radiation coefficient input raster map|None|True\",\n+            \"QgsProcessingParameterRasterLayer|coeff_dh|Name of real-sky diffuse radiation coefficient input raster map|None|True\",\n+            \"QgsProcessingParameterRasterLayer|horizon_basemap|The horizon information input map basename|None|True\",\n+            \"QgsProcessingParameterNumber|horizon_step|Angle step size for multidirectional horizon [degrees]|QgsProcessingParameterNumber.Double|None|True|0.0|360.0\",\n+            \"QgsProcessingParameterNumber|day|No. of day of the year (1-365)|QgsProcessingParameterNumber.Integer|1|False|1|365\",\n+            \"*QgsProcessingParameterNumber|step|Time step when computing all-day radiation sums [decimal hours]|QgsProcessingParameterNumber.Double|0.5|True|0\",\n+            \"*QgsProcessingParameterNumber|declination|Declination value (overriding the internally computed value) [radians]|QgsProcessingParameterNumber.Double|None|True|None|None\",\n+            \"*QgsProcessingParameterNumber|distance_step|Sampling distance step coefficient (0.5-1.5)|QgsProcessingParameterNumber.Double|1.0|True|0.5|1.5\",\n+            \"*QgsProcessingParameterNumber|npartitions|Read the input files in this number of chunks|QgsProcessingParameterNumber.Integer|1|True|1|None\",\n+            \"*QgsProcessingParameterNumber|civil_time|Civil time zone value, if none, the time will be local solar time|QgsProcessingParameterNumber.Double|None|True|0.0|None\",\n+            \"QgsProcessingParameterBoolean|-p|Do not incorporate the shadowing effect of terrain|False\",\n+            \"*QgsProcessingParameterBoolean|-m|Use the low-memory version of the program|False\",\n+            \"QgsProcessingParameterRasterDestination|insol_time|Insolation time [h] |None|True\",\n+            \"QgsProcessingParameterRasterDestination|beam_rad|Irradiation raster map [Wh.m-2.day-1]|None|True\",\n+            \"QgsProcessingParameterRasterDestination|diff_rad|Irradiation raster map [Wh.m-2.day-1]|None|True\",\n+            \"QgsProcessingParameterRasterDestination|refl_rad|Irradiation raster map [Wh.m-2.day-1]|None|True\",\n+            \"QgsProcessingParameterRasterDestination|glob_rad|Irradiance/irradiation raster map [Wh.m-2.day-1]|None|True\"\n         ],\n-        \"short_description\": \"Calculates category or object oriented statistics (accumulator-based statistics)\"\n+        \"short_description\": \"r.sun.insoltime - Solar irradiance and irradiation model (daily sums).\"\n     },\n     {\n-        \"command\": \"r.distance\",\n-        \"display_name\": \"r.distance\",\n+        \"command\": \"v.pack\",\n+        \"display_name\": \"v.pack\",\n         \"ext_path\": null,\n-        \"group\": \"Raster (r.*)\",\n-        \"group_id\": \"raster\",\n+        \"group\": \"Vector (v.*)\",\n+        \"group_id\": \"vector\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"r.distance\",\n+        \"name\": \"v.pack\",\n         \"parameters\": [\n-            \"QgsProcessingParameterMultipleLayers|map|Name of two input raster for computing inter-class distances|3|None|False\",\n-            \"QgsProcessingParameterString|separator|Field separator (Special characters: pipe, comma, space, tab, newline)|:|False|True\",\n-            \"QgsProcessingParameterEnum|sort|Sort output by distance|asc;desc|False|0\",\n-            \"*QgsProcessingParameterBoolean|-l|Include category labels in the output|False|True\",\n-            \"*QgsProcessingParameterBoolean|-o|Report zero distance if rasters are overlapping|False|True\",\n-            \"*QgsProcessingParameterBoolean|-n|Report null objects as *|False|True\",\n-            \"QgsProcessingParameterFileDestination|html|Distance|HTML files (*.html)|None|False\"\n+            \"QgsProcessingParameterFeatureSource|input|Name of input vector map to pack|-1|None|False\",\n+            \"*QgsProcessingParameterBoolean|-c|Switch the compression off|False\",\n+            \"QgsProcessingParameterFileDestination|output|Packed archive|Pack files (*.pack)|output.pack|False\"\n         ],\n-        \"short_description\": \"Locates the closest points between objects in two raster maps.\"\n+        \"short_description\": \"Exports a vector map as GRASS GIS specific archive file.\"\n     },\n     {\n-        \"command\": \"r.ros\",\n-        \"display_name\": \"r.ros\",\n-        \"ext_path\": null,\n-        \"group\": \"Raster (r.*)\",\n-        \"group_id\": \"raster\",\n+        \"command\": \"v.voronoi\",\n+        \"display_name\": \"v.voronoi\",\n+        \"ext_path\": \"v_voronoi\",\n+        \"group\": \"Vector (v.*)\",\n+        \"group_id\": \"vector\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"r.ros\",\n+        \"name\": \"v.voronoi\",\n         \"parameters\": [\n-            \"QgsProcessingParameterRasterLayer|model|Raster map containing fuel models|None|False\",\n-            \"QgsProcessingParameterRasterLayer|moisture_1h|Raster map containing the 1-hour fuel moisture (%)|None|True\",\n-            \"QgsProcessingParameterRasterLayer|moisture_10h|Raster map containing the 10-hour fuel moisture (%)|None|True\",\n-            \"QgsProcessingParameterRasterLayer|moisture_100h|Raster map containing the 100-hour fuel moisture (%)|None|True\",\n-            \"QgsProcessingParameterRasterLayer|moisture_live|Raster map containing live fuel moisture (%)|None|False\",\n-            \"QgsProcessingParameterRasterLayer|velocity|Raster map containing midflame wind velocities (ft/min)|None|True\",\n-            \"QgsProcessingParameterRasterLayer|direction|Name of raster map containing wind directions (degree)|None|True\",\n-            \"QgsProcessingParameterRasterLayer|slope|Name of raster map containing slope (degree)|None|True\",\n-            \"QgsProcessingParameterRasterLayer|aspect|Raster map containing aspect (degree, CCW from E)|None|True\",\n-            \"QgsProcessingParameterRasterLayer|elevation|Raster map containing elevation (m, required for spotting)|None|True\",\n-            \"QgsProcessingParameterRasterDestination|base_ros|Base ROS\",\n-            \"QgsProcessingParameterRasterDestination|max_ros|Max ROS\",\n-            \"QgsProcessingParameterRasterDestination|direction_ros|Direction ROS\",\n-            \"QgsProcessingParameterRasterDestination|spotting_distance|Spotting Distance\"\n+            \"QgsProcessingParameterFeatureSource|input|Input points layer|0|None|False\",\n+            \"*QgsProcessingParameterBoolean|-l|Output tessellation as a graph (lines), not areas|False\",\n+            \"*QgsProcessingParameterBoolean|-t|Do not create attribute table|False\",\n+            \"QgsProcessingParameterVectorDestination|output|Voronoi\"\n         ],\n-        \"short_description\": \"Generates rate of spread raster maps.\"\n+        \"short_description\": \"v.voronoi - Creates a Voronoi diagram from an input vector layer containing points.\"\n     },\n     {\n-        \"command\": \"r.li.pielou\",\n-        \"display_name\": \"r.li.pielou\",\n-        \"ext_path\": \"r_li_pielou\",\n+        \"command\": \"r.rgb\",\n+        \"display_name\": \"r.rgb\",\n+        \"ext_path\": \"r_rgb\",\n         \"group\": \"Raster (r.*)\",\n         \"group_id\": \"raster\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"r.li.pielou\",\n+        \"name\": \"r.rgb\",\n         \"parameters\": [\n             \"QgsProcessingParameterRasterLayer|input|Name of input raster map|None|False\",\n-            \"QgsProcessingParameterString|config_txt|Landscape structure configuration|None|True|True\",\n-            \"QgsProcessingParameterFile|config|Landscape structure configuration file|QgsProcessingParameterFile.File|txt|None|True\",\n-            \"QgsProcessingParameterRasterDestination|output|Pielou\"\n-        ],\n-        \"short_description\": \"Calculates Pielou's diversity index on a raster map\"\n-    },\n-    {\n-        \"command\": \"i.topo.corr\",\n-        \"display_name\": \"i.topo.coor.ill\",\n-        \"ext_path\": null,\n-        \"group\": \"Imagery (i.*)\",\n-        \"group_id\": \"imagery\",\n-        \"hardcoded_strings\": [\n-            \"-i\"\n-        ],\n-        \"name\": \"i.topo.coor.ill\",\n-        \"parameters\": [\n-            \"QgsProcessingParameterRasterLayer|basemap|Name of elevation raster map|None|False\",\n-            \"QgsProcessingParameterNumber|zenith|Solar zenith in degrees|QgsProcessingParameterNumber.Double|0.0|False|0.0|360.0\",\n-            \"QgsProcessingParameterNumber|azimuth|Solar azimuth in degrees|QgsProcessingParameterNumber.Double|0.0|True|0.0|360.0\",\n-            \"Hardcoded|-i\",\n-            \"QgsProcessingParameterRasterDestination|output|Illumination Model\"\n+            \"QgsProcessingParameterRasterDestination|red|Red\",\n+            \"QgsProcessingParameterRasterDestination|green|Green\",\n+            \"QgsProcessingParameterRasterDestination|blue|Blue\"\n         ],\n-        \"short_description\": \"i.topo.coor.ill - Creates illumination model for topographic correction of reflectance.\"\n+        \"short_description\": \"Splits a raster map into red, green and blue maps.\"\n     },\n     {\n-        \"command\": \"r.buffer.lowmem\",\n-        \"display_name\": \"r.buffer.lowmem\",\n+        \"command\": \"r.slope.aspect\",\n+        \"display_name\": \"r.slope.aspect\",\n         \"ext_path\": null,\n         \"group\": \"Raster (r.*)\",\n         \"group_id\": \"raster\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"r.buffer.lowmem\",\n-        \"parameters\": [\n-            \"QgsProcessingParameterRasterLayer|input|Input raster layer|None|False\",\n-            \"QgsProcessingParameterString|distances|Distance zone(s) (e.g. 100,200,300)|None|False|False\",\n-            \"QgsProcessingParameterEnum|units|Units of distance|meters;kilometers;feet;miles;nautmiles|False|0|False\",\n-            \"QgsProcessingParameterBoolean|-z|Ignore zero (0) data cells instead of NULL cells|False\",\n-            \"QgsProcessingParameterRasterDestination|output|Buffer\"\n-        ],\n-        \"short_description\": \"Creates a raster map layer showing buffer zones surrounding cells that contain non-NULL category values (low-memory alternative).\"\n-    },\n-    {\n-        \"command\": \"i.eb.soilheatflux\",\n-        \"display_name\": \"i.eb.soilheatflux\",\n-        \"ext_path\": null,\n-        \"group\": \"Imagery (i.*)\",\n-        \"group_id\": \"imagery\",\n-        \"hardcoded_strings\": [],\n-        \"name\": \"i.eb.soilheatflux\",\n+        \"name\": \"r.slope.aspect\",\n         \"parameters\": [\n-            \"QgsProcessingParameterRasterLayer|albedo|Name of albedo raster map [0.0;1.0]|None|False\",\n-            \"QgsProcessingParameterRasterLayer|ndvi|Name of NDVI raster map [-1.0;+1.0]|None|False\",\n-            \"QgsProcessingParameterRasterLayer|temperature|Name of Surface temperature raster map [K]|None|False\",\n-            \"QgsProcessingParameterRasterLayer|netradiation|Name of Net Radiation raster map [W/m2]|None|False\",\n-            \"QgsProcessingParameterRasterLayer|localutctime|Name of time of satellite overpass raster map [local time in UTC]|None|False\",\n-            \"QgsProcessingParameterBoolean|-r|HAPEX-Sahel empirical correction (Roerink, 1995)|False\",\n-            \"QgsProcessingParameterRasterDestination|output|Soil Heat Flux\"\n+            \"QgsProcessingParameterRasterLayer|elevation|Elevation|None|False\",\n+            \"QgsProcessingParameterEnum|format|Format for reporting the slope|degrees;percent|False|0|True\",\n+            \"QgsProcessingParameterEnum|precision|Type of output aspect and slope layer|FCELL;CELL;DCELL|False|0|True\",\n+            \"QgsProcessingParameterBoolean|-a|Do not align the current region to the elevation layer|True\",\n+            \"QgsProcessingParameterBoolean|-e|Compute output at edges and near NULL values|False\",\n+            \"QgsProcessingParameterBoolean|-n|Create aspect as degrees clockwise from North (azimuth), with flat = -9999|False\",\n+            \"QgsProcessingParameterNumber|zscale|Multiplicative factor to convert elevation units to meters|QgsProcessingParameterNumber.Double|1.0|True|None|None\",\n+            \"QgsProcessingParameterNumber|min_slope|Minimum slope val. (in percent) for which aspect is computed|QgsProcessingParameterNumber.Double|0.0|True|None|None\",\n+            \"QgsProcessingParameterRasterDestination|slope|Slope|None|True\",\n+            \"QgsProcessingParameterRasterDestination|aspect|Aspect|None|True\",\n+            \"QgsProcessingParameterRasterDestination|pcurvature|Profile curvature|None|True\",\n+            \"QgsProcessingParameterRasterDestination|tcurvature|Tangential curvature|None|True\",\n+            \"QgsProcessingParameterRasterDestination|dx|First order partial derivative dx (E-W slope)|None|True\",\n+            \"QgsProcessingParameterRasterDestination|dy|First order partial derivative dy (N-S slope)|None|True\",\n+            \"QgsProcessingParameterRasterDestination|dxx|Second order partial derivative dxx|None|True\",\n+            \"QgsProcessingParameterRasterDestination|dyy|Second order partial derivative dyy|None|True\",\n+            \"QgsProcessingParameterRasterDestination|dxy|Second order partial derivative dxy|None|True\"\n         ],\n-        \"short_description\": \"Soil heat flux approximation (Bastiaanssen, 1995).\"\n+        \"short_description\": \"Generates raster layers of slope, aspect, curvatures and partial derivatives from a elevation raster layer.\"\n     },\n     {\n-        \"command\": \"r.sun\",\n-        \"display_name\": \"r.sun.incidout\",\n-        \"ext_path\": null,\n+        \"command\": \"r.what.color\",\n+        \"display_name\": \"r.what.color\",\n+        \"ext_path\": \"r_what_color\",\n         \"group\": \"Raster (r.*)\",\n         \"group_id\": \"raster\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"r.sun.incidout\",\n+        \"name\": \"r.what.color\",\n         \"parameters\": [\n-            \"QgsProcessingParameterRasterLayer|elevation|Elevation layer [meters]|None|False\",\n-            \"QgsProcessingParameterRasterLayer|aspect|Aspect layer [decimal degrees]|None|False\",\n-            \"QgsProcessingParameterNumber|aspect_value|A single value of the orientation (aspect), 270 is south|QgsProcessingParameterNumber.Double|270.0|True|0.0|360.0\",\n-            \"QgsProcessingParameterRasterLayer|slope|Name of the input slope raster map (terrain slope or solar panel inclination) [decimal degrees]|None|False\",\n-            \"QgsProcessingParameterNumber|slope_value|A single value of inclination (slope)|QgsProcessingParameterNumber.Double|0.0|True|0.0|360.0\",\n-            \"QgsProcessingParameterRasterLayer|linke|Name of the Linke atmospheric turbidity coefficient input raster map|None|True\",\n-            \"QgsProcessingParameterRasterLayer|albedo|Name of the ground albedo coefficient input raster map|None|True\",\n-            \"QgsProcessingParameterNumber|albedo_value|A single value of the ground albedo coefficient|QgsProcessingParameterNumber.Double|0.2|True|0.0|360.0\",\n-            \"QgsProcessingParameterRasterLayer|lat|Name of input raster map containing latitudes [decimal degrees]|None|True\",\n-            \"QgsProcessingParameterRasterLayer|long|Name of input raster map containing longitudes [decimal degrees]|None|True\",\n-            \"QgsProcessingParameterRasterLayer|coeff_bh|Name of real-sky beam radiation coefficient input raster map|None|True\",\n-            \"QgsProcessingParameterRasterLayer|coeff_dh|Name of real-sky diffuse radiation coefficient input raster map|None|True\",\n-            \"QgsProcessingParameterRasterLayer|horizon_basemap|The horizon information input map basename|None|True\",\n-            \"QgsProcessingParameterNumber|horizon_step|Angle step size for multidirectional horizon [degrees]|QgsProcessingParameterNumber.Double|None|True|0.0|360.0\",\n-            \"QgsProcessingParameterNumber|day|No. of day of the year (1-365)|QgsProcessingParameterNumber.Integer|1|False|1|365\",\n-            \"*QgsProcessingParameterNumber|step|Time step when computing all-day radiation sums [decimal hours]|QgsProcessingParameterNumber.Double|0.5|True|0\",\n-            \"*QgsProcessingParameterNumber|declination|Declination value (overriding the internally computed value) [radians]|QgsProcessingParameterNumber.Double|None|True|None|None\",\n-            \"*QgsProcessingParameterNumber|distance_step|Sampling distance step coefficient (0.5-1.5)|QgsProcessingParameterNumber.Double|1.0|True|0.5|1.5\",\n-            \"*QgsProcessingParameterNumber|npartitions|Read the input files in this number of chunks|QgsProcessingParameterNumber.Integer|1|True|1|None\",\n-            \"*QgsProcessingParameterNumber|civil_time|Civil time zone value, if none, the time will be local solar time|QgsProcessingParameterNumber.Double|None|True|0.0|None\",\n-            \"QgsProcessingParameterNumber|time|Local (solar) time (decimal hours)|QgsProcessingParameterNumber.Double|None|False|0.0|24.0\",\n-            \"QgsProcessingParameterBoolean|-p|Do not incorporate the shadowing effect of terrain|False\",\n-            \"*QgsProcessingParameterBoolean|-m|Use the low-memory version of the program|False\",\n-            \"QgsProcessingParameterRasterDestination|incidout|incidence angle raster map|None|True\",\n-            \"QgsProcessingParameterRasterDestination|beam_rad|Beam irradiance [W.m-2]|None|True\",\n-            \"QgsProcessingParameterRasterDestination|diff_rad|Diffuse irradiance [W.m-2]|None|True\",\n-            \"QgsProcessingParameterRasterDestination|refl_rad|Ground reflected irradiance [W.m-2]|None|True\",\n-            \"QgsProcessingParameterRasterDestination|glob_rad|Global (total) irradiance/irradiation [W.m-2]|None|True\"\n+            \"QgsProcessingParameterRasterLayer|input|Raster map to query colors|None|False\",\n+            \"QgsProcessingParameterString|value|Values to query colors for (comma separated list)|None|False|True\",\n+            \"QgsProcessingParameterString|format|Output format (printf-style)|%d:%d:%d|False|True\",\n+            \"QgsProcessingParameterFileDestination|html|Colors file|HTML files (*.html)|None|False\"\n         ],\n-        \"short_description\": \"r.sun.incidout - Solar irradiance and irradiation model ( for the set local time).\"\n+        \"short_description\": \"Queries colors for a raster map layer.\"\n     },\n     {\n         \"command\": \"r.sunmask\",\n         \"display_name\": \"r.sunmask.datetime\",\n         \"ext_path\": null,\n         \"group\": \"Raster (r.*)\",\n         \"group_id\": \"raster\",\n@@ -3003,165 +2627,211 @@\n             \"QgsProcessingParameterBoolean|-z|Do not ignore zero elevation|True\",\n             \"QgsProcessingParameterBoolean|-s|Calculate sun position only and exit|False\",\n             \"QgsProcessingParameterRasterDestination|output|Shadows\"\n         ],\n         \"short_description\": \"r.sunmask.datetime - Calculates cast shadow areas from sun position and elevation raster map.\"\n     },\n     {\n-        \"command\": \"r.tile\",\n-        \"display_name\": \"r.tile\",\n+        \"command\": \"r.basins.fill\",\n+        \"display_name\": \"r.basins.fill\",\n         \"ext_path\": null,\n         \"group\": \"Raster (r.*)\",\n         \"group_id\": \"raster\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"r.tile\",\n+        \"name\": \"r.basins.fill\",\n         \"parameters\": [\n-            \"QgsProcessingParameterRasterLayer|input|Name of input raster map|None|False\",\n-            \"QgsProcessingParameterNumber|width|Width of tiles (columns)|QgsProcessingParameterNumber.Integer|1024|False|1|None\",\n-            \"QgsProcessingParameterNumber|height|Height of tiles (rows)|QgsProcessingParameterNumber.Integer|1024|False|1|None\",\n-            \"QgsProcessingParameterNumber|overlap|Overlap of tiles|QgsProcessingParameterNumber.Integer|None|True|0|None\",\n-            \"QgsProcessingParameterFolderDestination|output|Tiles Directory\"\n+            \"QgsProcessingParameterRasterLayer|cnetwork|Input coded stream network raster layer|None|False\",\n+            \"QgsProcessingParameterRasterLayer|tnetwork|Input thinned ridge network raster layer|None|False\",\n+            \"QgsProcessingParameterNumber|number|Number of passes through the dataset|QgsProcessingParameterNumber.Integer|1|False|1|None\",\n+            \"QgsProcessingParameterRasterDestination|output|Watersheds\"\n         ],\n-        \"short_description\": \"Splits a raster map into tiles\"\n+        \"short_description\": \"Generates watershed subbasins raster map.\"\n     },\n     {\n-        \"command\": \"r.what\",\n-        \"display_name\": \"r.what.coords\",\n+        \"command\": \"v.report\",\n+        \"display_name\": \"v.report\",\n+        \"ext_path\": null,\n+        \"group\": \"Vector (v.*)\",\n+        \"group_id\": \"vector\",\n+        \"hardcoded_strings\": [],\n+        \"name\": \"v.report\",\n+        \"parameters\": [\n+            \"QgsProcessingParameterFeatureSource|map|Input layer|-1|None|False\",\n+            \"QgsProcessingParameterEnum|option|Value to calculate|area;length;coor|False|0|False\",\n+            \"QgsProcessingParameterEnum|units|units|miles;feet;meters;kilometers;acres;hectares;percent|False|2|True\",\n+            \"QgsProcessingParameterEnum|sort|Sort the result (ascending, descending)|asc;desc|False|0|True\",\n+            \"QgsProcessingParameterFileDestination|html|Report|Html files (*.html)|report.html|False\"\n+        ],\n+        \"short_description\": \"Reports geometry statistics for vectors.\"\n+    },\n+    {\n+        \"command\": \"r.path\",\n+        \"display_name\": \"r.path.coordinate.txt\",\n         \"ext_path\": null,\n         \"group\": \"Raster (r.*)\",\n         \"group_id\": \"raster\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"r.what.coords\",\n+        \"name\": \"r.path.coordinate.txt\",\n         \"parameters\": [\n-            \"QgsProcessingParameterRasterLayer|map|Name of raster map|None|False\",\n-            \"QgsProcessingParameterPoint|coordinates|Coordinates for query (east, north)|0.0, 0.0|False\",\n-            \"QgsProcessingParameterString|null_value|String representing NULL value|*|False|True\",\n-            \"QgsProcessingParameterString|separator|Field separator. Special characters: pipe, comma, space, tab, newlineString representing NULL value|pipe|False|True\",\n-            \"QgsProcessingParameterNumber|cache|Size of point cache|QgsProcessingParameterNumber.Integer|500|True|0|None\",\n-            \"*QgsProcessingParameterBoolean|-n|Output header row|False|True\",\n-            \"*QgsProcessingParameterBoolean|-f|Show the category labels of the grid cell(s)|False|True\",\n-            \"*QgsProcessingParameterBoolean|-r|Output color values as RRR:GGG:BBB|False|True\",\n-            \"*QgsProcessingParameterBoolean|-i|Output integer category values, not cell values|False|True\",\n-            \"*QgsProcessingParameterBoolean|-c|Turn on cache reporting|False|True\",\n-            \"QgsProcessingParameterFileDestination|output|Raster Value File|Txt files (*.txt)|None|False\"\n+            \"QgsProcessingParameterRasterLayer|input|Name of input direction\",\n+            \"QgsProcessingParameterEnum|format|Format of the input direction map|auto;degree;45degree;bitmask|false|0|false\",\n+            \"QgsProcessingParameterRasterLayer|values|Name of input raster values to be used for output|None|True\",\n+            \"QgsProcessingParameterRasterDestination|raster_path|Name for output raster path map\",\n+            \"QgsProcessingParameterVectorDestination|vector_path|Name for output vector path map\",\n+            \"QgsProcessingParameterPoint|start_coordinates|Map coordinate of starting point (E,N)|None|False\",\n+            \"QgsProcessingParameterBoolean|-c|Copy input cell values on output|False\",\n+            \"QgsProcessingParameterBoolean|-a|Accumulate input values along the path|False\",\n+            \"QgsProcessingParameterBoolean|-n|Count cell numbers along the path|False\"\n         ],\n-        \"short_description\": \"r.what.coords - Queries raster maps on their category values and category labels on a point.\"\n+        \"short_description\": \"r.path.coordinate.txt - Traces paths from starting points following input directions.\"\n     },\n     {\n-        \"command\": \"r.watershed\",\n-        \"display_name\": \"r.watershed\",\n+        \"command\": \"v.proj\",\n+        \"display_name\": \"v.proj\",\n+        \"ext_path\": \"v_proj\",\n+        \"group\": \"Vector (v.*)\",\n+        \"group_id\": \"vector\",\n+        \"hardcoded_strings\": [],\n+        \"name\": \"v.proj\",\n+        \"parameters\": [\n+            \"QgsProcessingParameterFeatureSource|input|Input vector to reproject|-1|None|False\",\n+            \"QgsProcessingParameterCrs|crs|New coordinate reference system|None|False\",\n+            \"QgsProcessingParameterNumber|smax|Maximum segment length in meters in output vector map|QgsProcessingParameterNumber.Double|10000.0|True|0.0|None\",\n+            \"*QgsProcessingParameterBoolean|-z|Assume z coordinate is ellipsoidal height and transform if possible|False|True\",\n+            \"*QgsProcessingParameterBoolean|-w|Disable wrapping to -180,180 for latlon output|False|True\",\n+            \"QgsProcessingParameterVectorDestination|output|Output vector map\"\n+        ],\n+        \"short_description\": \"Re-projects a vector layer to another coordinate reference system\"\n+    },\n+    {\n+        \"command\": \"r.distance\",\n+        \"display_name\": \"r.distance\",\n         \"ext_path\": null,\n         \"group\": \"Raster (r.*)\",\n         \"group_id\": \"raster\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"r.watershed\",\n+        \"name\": \"r.distance\",\n         \"parameters\": [\n-            \"QgsProcessingParameterRasterLayer|elevation|Elevation|None|False\",\n-            \"QgsProcessingParameterRasterLayer|depression|Locations of real depressions|None|True\",\n-            \"QgsProcessingParameterRasterLayer|flow|Amount of overland flow per cell|None|True\",\n-            \"QgsProcessingParameterRasterLayer|disturbed_land|Percent of disturbed land, for USLE|None|True\",\n-            \"QgsProcessingParameterRasterLayer|blocking|Terrain blocking overland surface flow, for USLE|None|True\",\n-            \"QgsProcessingParameterNumber|threshold|Minimum size of exterior watershed basin|QgsProcessingParameterNumber.Integer|None|True|None|None\",\n-            \"QgsProcessingParameterNumber|max_slope_length|Maximum length of surface flow, for USLE|QgsProcessingParameterNumber.Double|None|True|None|None\",\n-            \"QgsProcessingParameterNumber|convergence|Convergence factor for MFD (1-10)|QgsProcessingParameterNumber.Integer|5|True|1|10\",\n-            \"QgsProcessingParameterNumber|memory|Maximum memory to be used with -m flag (in MB)|QgsProcessingParameterNumber.Integer|300|True|1|None\",\n-            \"QgsProcessingParameterBoolean|-s|Enable Single Flow Direction (D8) flow (default is Multiple Flow Direction)|False\",\n-            \"QgsProcessingParameterBoolean|-m|Enable disk swap memory option (-m): Operation is slow|False\",\n-            \"QgsProcessingParameterBoolean|-4|Allow only horizontal and vertical flow of water|False\",\n-            \"QgsProcessingParameterBoolean|-a|Use positive flow accumulation even for likely underestimates|False\",\n-            \"QgsProcessingParameterBoolean|-b|Beautify flat areas|False\",\n-            \"QgsProcessingParameterRasterDestination|accumulation|Number of cells that drain through each cell|None|True\",\n-            \"QgsProcessingParameterRasterDestination|drainage|Drainage direction|None|True\",\n-            \"QgsProcessingParameterRasterDestination|basin|Unique label for each watershed basin|None|True\",\n-            \"QgsProcessingParameterRasterDestination|stream|Stream segments|None|True\",\n-            \"QgsProcessingParameterRasterDestination|half_basin|Half-basins|None|True\",\n-            \"QgsProcessingParameterRasterDestination|length_slope|Slope length and steepness (LS) factor for USLE|None|True\",\n-            \"QgsProcessingParameterRasterDestination|slope_steepness|Slope steepness (S) factor for USLE|None|True\",\n-            \"QgsProcessingParameterRasterDestination|tci|Topographic index ln(a / tan(b))|None|True\",\n-            \"QgsProcessingParameterRasterDestination|spi|Stream power index a * tan(b)|None|True\"\n+            \"QgsProcessingParameterMultipleLayers|map|Name of two input raster for computing inter-class distances|3|None|False\",\n+            \"QgsProcessingParameterString|separator|Field separator (Special characters: pipe, comma, space, tab, newline)|:|False|True\",\n+            \"QgsProcessingParameterEnum|sort|Sort output by distance|asc;desc|False|0\",\n+            \"*QgsProcessingParameterBoolean|-l|Include category labels in the output|False|True\",\n+            \"*QgsProcessingParameterBoolean|-o|Report zero distance if rasters are overlapping|False|True\",\n+            \"*QgsProcessingParameterBoolean|-n|Report null objects as *|False|True\",\n+            \"QgsProcessingParameterFileDestination|html|Distance|HTML files (*.html)|None|False\"\n         ],\n-        \"short_description\": \"Watershed basin analysis program.\"\n+        \"short_description\": \"Locates the closest points between objects in two raster maps.\"\n     },\n     {\n-        \"command\": \"r.rescale\",\n-        \"display_name\": \"r.rescale\",\n+        \"command\": \"r.walk\",\n+        \"display_name\": \"r.walk.points\",\n         \"ext_path\": null,\n         \"group\": \"Raster (r.*)\",\n         \"group_id\": \"raster\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"r.rescale\",\n+        \"name\": \"r.walk.points\",\n         \"parameters\": [\n-            \"QgsProcessingParameterRasterLayer|input|Input raster layer|None|False\",\n-            \"QgsProcessingParameterRange|from|The input data range to be rescaled|QgsProcessingParameterNumber.Double|None|True\",\n-            \"QgsProcessingParameterRange|to|The output data range|QgsProcessingParameterNumber.Double|None|False\",\n-            \"QgsProcessingParameterRasterDestination|output|Rescaled\"\n+            \"QgsProcessingParameterRasterLayer|elevation|Name of input elevation raster map|None|False\",\n+            \"QgsProcessingParameterRasterLayer|friction|Name of input raster map containing friction costs|None|False\",\n+            \"QgsProcessingParameterFeatureSource|start_points|Start points|0|None|False\",\n+            \"QgsProcessingParameterFeatureSource|stop_points|Stop points|0|None|True\",\n+            \"QgsProcessingParameterString|walk_coeff|Coefficients for walking energy formula parameters a,b,c,d|0.72,6.0,1.9998,-1.9998|False|True\",\n+            \"QgsProcessingParameterNumber|lambda|Lambda coefficients for combining walking energy and friction cost|QgsProcessingParameterNumber.Double|1.0|True|0.0|None\",\n+            \"QgsProcessingParameterNumber|slope_factor|Slope factor determines travel energy cost per height step|QgsProcessingParameterNumber.Double|-0.2125|True|None|None\",\n+            \"QgsProcessingParameterNumber|max_cost|Maximum cumulative cost|QgsProcessingParameterNumber.Double|0.0|True|None|None\",\n+            \"QgsProcessingParameterNumber|null_cost|Cost assigned to null cells. By default, null cells are excluded|QgsProcessingParameterNumber.Double|None|True|None|None\",\n+            \"*QgsProcessingParameterNumber|memory|Maximum memory to be used in MB|QgsProcessingParameterNumber.Integer|300|True|1|None\",\n+            \"*QgsProcessingParameterBoolean|-k|Use the 'Knight's move'; slower, but more accurate|False\",\n+            \"*QgsProcessingParameterBoolean|-n|Keep null values in output raster layer|False\",\n+            \"QgsProcessingParameterRasterDestination|output|Cumulative cost\",\n+            \"QgsProcessingParameterRasterDestination|outdir|Movement Directions\"\n         ],\n-        \"short_description\": \"Rescales the range of category values in a raster layer.\"\n+        \"short_description\": \"r.walk.points - Creates a raster map showing the anisotropic cumulative cost of moving between different geographic locations on an input raster map whose cell category values represent cost from point vector layers.\"\n     },\n     {\n-        \"command\": \"r.kappa\",\n-        \"display_name\": \"r.kappa\",\n+        \"command\": \"v.type\",\n+        \"display_name\": \"v.type\",\n+        \"ext_path\": null,\n+        \"group\": \"Vector (v.*)\",\n+        \"group_id\": \"vector\",\n+        \"hardcoded_strings\": [],\n+        \"name\": \"v.type\",\n+        \"parameters\": [\n+            \"QgsProcessingParameterFeatureSource|input|Name of existing vector map|-1|None|False\",\n+            \"QgsProcessingParameterEnum|from_type|Feature type to convert from|point;line;boundary;centroid;face;kernel|False|1|False\",\n+            \"QgsProcessingParameterEnum|to_type|Feature type to convert to|point;line;boundary;centroid;face;kernel|False|2|False\",\n+            \"QgsProcessingParameterVectorDestination|output|Typed\"\n+        ],\n+        \"short_description\": \"Change the type of geometry elements.\"\n+    },\n+    {\n+        \"command\": \"r.stats.zonal\",\n+        \"display_name\": \"r.stats.zonal\",\n         \"ext_path\": null,\n         \"group\": \"Raster (r.*)\",\n         \"group_id\": \"raster\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"r.kappa\",\n+        \"name\": \"r.stats.zonal\",\n         \"parameters\": [\n-            \"QgsProcessingParameterRasterLayer|classification|Raster layer containing classification result|None|False\",\n-            \"QgsProcessingParameterRasterLayer|reference|Raster layer containing reference classes|None|False\",\n-            \"QgsProcessingParameterString|title|Title for error matrix and kappa|ACCURACY ASSESSMENT\",\n-            \"QgsProcessingParameterBoolean|-h|No header in the report|False\",\n-            \"QgsProcessingParameterBoolean|-w|Wide report (132 columns)|False\",\n-            \"QgsProcessingParameterFileDestination|output|Error matrix and kappa|Txt files (*.txt)|None|False\"\n+            \"QgsProcessingParameterRasterLayer|base|Base raster|None|False\",\n+            \"QgsProcessingParameterRasterLayer|cover|Cover raster|None|False\",\n+            \"QgsProcessingParameterEnum|method|Method of object-based statistic|count;sum;min;max;range;average;avedev;variance;stddev;skewness;kurtosis;variance2;stddev2;skewness2;kurtosis2|False|0|False\",\n+            \"*QgsProcessingParameterBoolean|-c|Cover values extracted from the category labels of the cover map|False|True\",\n+            \"*QgsProcessingParameterBoolean|-r|Create reclass map with statistics as category labels|False|True\",\n+            \"QgsProcessingParameterRasterDestination|output|Resultant raster\"\n         ],\n-        \"short_description\": \"Calculate error matrix and kappa parameter for accuracy assessment of classification result.\"\n+        \"short_description\": \"Calculates category or object oriented statistics (accumulator-based statistics)\"\n     },\n     {\n-        \"command\": \"r.stream.extract\",\n-        \"display_name\": \"r.stream.extract\",\n+        \"command\": \"r.series\",\n+        \"display_name\": \"r.series\",\n         \"ext_path\": null,\n         \"group\": \"Raster (r.*)\",\n         \"group_id\": \"raster\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"r.stream.extract\",\n+        \"name\": \"r.series\",\n         \"parameters\": [\n-            \"QgsProcessingParameterRasterLayer|elevation|Input map: elevation map|None|False\",\n-            \"QgsProcessingParameterRasterLayer|accumulation|Input map: accumulation map|None|True\",\n-            \"QgsProcessingParameterRasterLayer|depression|Input map: map with real depressions|None|True\",\n-            \"QgsProcessingParameterNumber|threshold|Minimum flow accumulation for streams|QgsProcessingParameterNumber.Double|1.0|False|0.001|None\",\n-            \"QgsProcessingParameterNumber|mexp|Montgomery exponent for slope|QgsProcessingParameterNumber.Double|0.0|True|None|None\",\n-            \"QgsProcessingParameterNumber|stream_length|Delete stream segments shorter than cells|QgsProcessingParameterNumber.Integer|0|True|0|None\",\n-            \"QgsProcessingParameterNumber|d8cut|Use SFD above this threshold|QgsProcessingParameterNumber.Double|None|True|0|None\",\n-            \"*QgsProcessingParameterNumber|memory|Maximum memory to be used (in MB)|QgsProcessingParameterNumber.Integer|300|True|0|None\",\n-            \"QgsProcessingParameterRasterDestination|stream_raster|Unique stream ids (rast)|None|True\",\n-            \"QgsProcessingParameterVectorDestination|stream_vector|Unique stream ids (vect)|-1|None|True\",\n-            \"QgsProcessingParameterRasterDestination|direction|Flow direction|None|True\"\n+            \"QgsProcessingParameterMultipleLayers|input|Input raster layer(s)|3|None|False\",\n+            \"QgsProcessingParameterBoolean|-n|Propagate NULLs|False\",\n+            \"QgsProcessingParameterEnum|method|Aggregate operation|average;count;median;mode;minimum;min_raster;maximum;max_raster;stddev;range;sum;variance;diversity;slope;offset;detcoeff;quart1;quart3;perc90;skewness;kurtosis;quantile;tvalue|True|0|True\",\n+            \"QgsProcessingParameterString|quantile|Quantile to calculate for method=quantile|None|False|True\",\n+            \"QgsProcessingParameterString|weights|Weighting factor for each input map, default value is 1.0|None|False|True\",\n+            \"*QgsProcessingParameterRange|range|Ignore values outside this range (lo,hi)|QgsProcessingParameterNumber.Double|None|True\",\n+            \"QgsProcessingParameterRasterDestination|output|Aggregated\"\n         ],\n-        \"short_description\": \"Stream network extraction\"\n+        \"short_description\": \"Makes each output cell value a function of the values assigned to the corresponding cells in the input raster layers. Input rasters layers/bands must be separated in different data sources.\"\n     },\n     {\n-        \"command\": \"r.to.vect\",\n-        \"display_name\": \"r.to.vect\",\n+        \"command\": \"r.spread\",\n+        \"display_name\": \"r.spread\",\n         \"ext_path\": null,\n         \"group\": \"Raster (r.*)\",\n         \"group_id\": \"raster\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"r.to.vect\",\n+        \"name\": \"r.spread\",\n         \"parameters\": [\n-            \"QgsProcessingParameterRasterLayer|input|Input raster layer|None|False\",\n-            \"QgsProcessingParameterEnum|type|Feature type|line;point;area|False|2|False\",\n-            \"QgsProcessingParameterString|column|Name of attribute column to store value|value|False|True\",\n-            \"QgsProcessingParameterBoolean|-s|Smooth corners of area features|False\",\n-            \"QgsProcessingParameterBoolean|-v|Use raster values as categories instead of unique sequence|False\",\n-            \"QgsProcessingParameterBoolean|-z|Write raster values as z coordinate|False\",\n-            \"QgsProcessingParameterBoolean|-b|Do not build vector topology|False\",\n-            \"QgsProcessingParameterBoolean|-t|Do not create attribute table|False\",\n-            \"QgsProcessingParameterVectorDestination|output|Vectorized\"\n+            \"QgsProcessingParameterRasterLayer|base_ros|Raster map containing base ROS (cm/min)|None|False\",\n+            \"QgsProcessingParameterRasterLayer|max_ros|Raster map containing maximal ROS (cm/min)|None|False\",\n+            \"QgsProcessingParameterRasterLayer|direction_ros|Raster map containing directions of maximal ROS (degree)|None|False\",\n+            \"QgsProcessingParameterRasterLayer|start|Raster map containing starting sources|None|False\",\n+            \"QgsProcessingParameterRasterLayer|spotting_distance|Raster map containing maximal spotting distance (m, required with -s)|None|True\",\n+            \"QgsProcessingParameterRasterLayer|wind_speed|Raster map containing midflame wind speed (ft/min, required with -s)|None|True\",\n+            \"QgsProcessingParameterRasterLayer|fuel_moisture|Raster map containing fine fuel moisture of the cell receiving a spotting firebrand (%, required with -s)|None|True\",\n+            \"QgsProcessingParameterRasterLayer|backdrop|Name of raster map as a display backdrop|None|True\",\n+            \"QgsProcessingParameterEnum|least_size|Basic sampling window size needed to meet certain accuracy (3)|3;5;7;9;11;13;15|False|0|True\",\n+            \"QgsProcessingParameterNumber|comp_dens|Sampling density for additional computing (range: 0.0 - 1.0 (0.5))|QgsProcessingParameterNumber.Double|0.5|True|0.0|1.0\",\n+            \"QgsProcessingParameterNumber|init_time|Initial time for current simulation (0) (min)|QgsProcessingParameterNumber.Integer|0|True|0|None\",\n+            \"QgsProcessingParameterNumber|lag|Simulating time duration LAG (fill the region) (min)|QgsProcessingParameterNumber.Integer|None|True|0|None\",\n+            \"*QgsProcessingParameterBoolean|-s|Consider spotting effect (for wildfires)|False\",\n+            \"*QgsProcessingParameterBoolean|-i|Use start raster map values in output spread time raster map|False\",\n+            \"QgsProcessingParameterRasterDestination|output|Spread Time\",\n+            \"QgsProcessingParameterRasterDestination|x_output|X Back Coordinates\",\n+            \"QgsProcessingParameterRasterDestination|y_output|Y Back Coordinates\"\n         ],\n-        \"short_description\": \"Converts a raster into a vector layer.\"\n+        \"short_description\": \"Simulates elliptically anisotropic spread.\"\n     },\n     {\n         \"command\": \"i.smap\",\n         \"display_name\": \"i.smap\",\n         \"ext_path\": \"i_smap\",\n         \"group\": \"Imagery (i.*)\",\n         \"group_id\": \"imagery\",\n@@ -3174,585 +2844,677 @@\n             \"*QgsProcessingParameterBoolean|-m|Use maximum likelihood estimation (instead of smap)|False\",\n             \"QgsProcessingParameterRasterDestination|output|Classification|None|False\",\n             \"QgsProcessingParameterRasterDestination|goodness|Goodness_of_fit|None|True\"\n         ],\n         \"short_description\": \"Performs contextual image classification using sequential maximum a posteriori (SMAP) estimation.\"\n     },\n     {\n-        \"command\": \"r.topmodel\",\n-        \"display_name\": \"r.topmodel\",\n+        \"command\": \"g.version\",\n+        \"display_name\": \"g.version\",\n+        \"ext_path\": \"g_version\",\n+        \"group\": \"General (g.*)\",\n+        \"group_id\": \"general\",\n+        \"hardcoded_strings\": [],\n+        \"name\": \"g.version\",\n+        \"parameters\": [\n+            \"QgsProcessingParameterBoolean|-c|Print copyright message|False\",\n+            \"QgsProcessingParameterBoolean|-x|Print citation options|False\",\n+            \"QgsProcessingParameterBoolean|-b|Print build information|False\",\n+            \"QgsProcessingParameterBoolean|-r|Print GIS library revision number and date|True\",\n+            \"QgsProcessingParameterBoolean|-e|Print info for additional libraries|True\",\n+            \"QgsProcessingParameterBoolean|-g|Print in shell script style (with Git commit reference)|False\",\n+            \"QgsProcessingParameterBoolean|--verbose|Print verbose output|False\",\n+            \"QgsProcessingParameterFileDestination|html|Output file|Html files (*.html)|grass_version_info.html|True\"\n+        ],\n+        \"short_description\": \"g.version - Display GRASS GIS version info. <p>Prints only version if run with no options checked.\"\n+    },\n+    {\n+        \"command\": \"r.colors.out\",\n+        \"display_name\": \"r.colors.out\",\n         \"ext_path\": null,\n         \"group\": \"Raster (r.*)\",\n         \"group_id\": \"raster\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"r.topmodel\",\n+        \"name\": \"r.colors.out\",\n         \"parameters\": [\n-            \"QgsProcessingParameterFile|parameters|Name of TOPMODEL parameters file|QgsProcessingParameterFile.File|txt|None|False\",\n-            \"QgsProcessingParameterFile|topidxstats|Name of topographic index statistics file|QgsProcessingParameterFile.File|txt|None|False\",\n-            \"QgsProcessingParameterFile|input|Name of rainfall and potential evapotranspiration data file|QgsProcessingParameterFile.File|txt|None|False\",\n-            \"QgsProcessingParameterNumber|timestep|Time step. Generate output for this time step|QgsProcessingParameterNumber.Integer|None|True|0|None\",\n-            \"QgsProcessingParameterNumber|topidxclass|Topographic index class. Generate output for this topographic index class|QgsProcessingParameterNumber.Integer|None|True|0|None\",\n-            \"QgsProcessingParameterFileDestination|output|TOPMODEL output|Txt files (*.txt)|None|False\"\n+            \"QgsProcessingParameterRasterLayer|map|Name of raster map|None|False\",\n+            \"*QgsProcessingParameterBoolean|-p|Output values as percentages|False|True\",\n+            \"QgsProcessingParameterFileDestination|rules|Color Table|Txt files (*.txt)|None|False\"\n         ],\n-        \"short_description\": \"Simulates TOPMODEL which is a physically based hydrologic model.\"\n+        \"short_description\": \"Exports the color table associated with a raster map.\"\n     },\n     {\n-        \"command\": \"r.texture\",\n-        \"display_name\": \"r.texture\",\n+        \"command\": \"r.reclass.area\",\n+        \"display_name\": \"r.reclass.area\",\n         \"ext_path\": null,\n         \"group\": \"Raster (r.*)\",\n         \"group_id\": \"raster\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"r.texture\",\n+        \"name\": \"r.reclass.area\",\n         \"parameters\": [\n-            \"QgsProcessingParameterRasterLayer|input|Name of input raster map|None|False\",\n-            \"QgsProcessingParameterEnum|method|Textural measurement method(s)|asm;contrast;corr;var;idm;sa;se;sv;entr;dv;de;moc1;moc2|True|0|True\",\n-            \"QgsProcessingParameterNumber|size|The size of moving window (odd and >= 3)|QgsProcessingParameterNumber.Double|3.0|True|3.0|None\",\n-            \"QgsProcessingParameterNumber|distance|The distance between two samples (>= 1)|QgsProcessingParameterNumber.Double|1.0|True|1.0|None\",\n-            \"*QgsProcessingParameterBoolean|-s|Separate output for each angle (0, 45, 90, 135)|False\",\n-            \"*QgsProcessingParameterBoolean|-a|Calculate all textural measurements|False\",\n-            \"QgsProcessingParameterFolderDestination|output|Texture files directory\"\n+            \"QgsProcessingParameterRasterLayer|input|Input raster layer|None|False\",\n+            \"QgsProcessingParameterNumber|value|Value option that sets the area size limit [hectares]|QgsProcessingParameterNumber.Double|1.0|False|0|None\",\n+            \"QgsProcessingParameterEnum|mode|Lesser or greater than specified value|lesser;greater|False|0|False\",\n+            \"QgsProcessingParameterEnum|method|Method used for reclassification|reclass;rmarea|False|0|True\",\n+            \"*QgsProcessingParameterBoolean|-c|Input map is clumped|False\",\n+            \"*QgsProcessingParameterBoolean|-d|Clumps including diagonal neighbors|False\",\n+            \"QgsProcessingParameterRasterDestination|output|Reclassified\"\n         ],\n-        \"short_description\": \"Generate images with textural features from a raster map.\"\n+        \"short_description\": \"Reclassifies a raster layer, greater or less than user specified area size (in hectares)\"\n     },\n     {\n-        \"command\": \"i.cluster\",\n-        \"display_name\": \"i.cluster\",\n-        \"ext_path\": \"i_cluster\",\n-        \"group\": \"Imagery (i.*)\",\n-        \"group_id\": \"imagery\",\n+        \"command\": \"r.li.padsd\",\n+        \"display_name\": \"r.li.padsd\",\n+        \"ext_path\": \"r_li_padsd\",\n+        \"group\": \"Raster (r.*)\",\n+        \"group_id\": \"raster\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"i.cluster\",\n+        \"name\": \"r.li.padsd\",\n         \"parameters\": [\n-            \"QgsProcessingParameterMultipleLayers|input|Input rasters|3|None|False\",\n-            \"QgsProcessingParameterNumber|classes|Initial number of classes (1-255)|QgsProcessingParameterNumber.Integer|None|False|1|255\",\n-            \"QgsProcessingParameterFile|seed|Name of file containing initial signatures|QgsProcessingParameterFile.File|txt|None|True\",\n-            \"QgsProcessingParameterString|sample|Sampling intervals (by row and col)|None|False|True\",\n-            \"QgsProcessingParameterNumber|iterations|Maximum number of iterations|QgsProcessingParameterNumber.Integer|30|True|1|None\",\n-            \"QgsProcessingParameterNumber|convergence|Percent convergence|QgsProcessingParameterNumber.Double|98.0|True|0.0|100.0\",\n-            \"QgsProcessingParameterNumber|separation|Cluster separation|QgsProcessingParameterNumber.Double|0.0|True|0.0|None\",\n-            \"QgsProcessingParameterNumber|min_size|Minimum number of pixels in a class|QgsProcessingParameterNumber.Integer|17|True|1|None\",\n-            \"QgsProcessingParameterFileDestination|signaturefile|Signature File|Txt files (*.txt)|None|False\",\n-            \"QgsProcessingParameterFileDestination|reportfile|Final Report File|Txt files (*.txt)|None|True\"\n+            \"QgsProcessingParameterRasterLayer|input|Name of input raster map|None|False\",\n+            \"QgsProcessingParameterString|config_txt|Landscape structure configuration|None|True|True\",\n+            \"QgsProcessingParameterFile|config|Landscape structure configuration file|QgsProcessingParameterFile.File|txt|None|True\",\n+            \"QgsProcessingParameterRasterDestination|output|Patch Area SD\"\n         ],\n-        \"short_description\": \"Generates spectral signatures for land cover types in an image using a clustering algorithm.\"\n+        \"short_description\": \"Calculates standard deviation of patch area a raster map\"\n     },\n     {\n-        \"command\": \"v.net\",\n-        \"display_name\": \"v.net\",\n-        \"ext_path\": \"v_net\",\n-        \"group\": \"Vector (v.*)\",\n-        \"group_id\": \"vector\",\n+        \"command\": \"r.contour\",\n+        \"display_name\": \"r.contour\",\n+        \"ext_path\": null,\n+        \"group\": \"Raster (r.*)\",\n+        \"group_id\": \"raster\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"v.net\",\n+        \"name\": \"r.contour\",\n         \"parameters\": [\n-            \"QgsProcessingParameterFeatureSource|input|Input vector line layer (arcs)|1|None|True\",\n-            \"QgsProcessingParameterFeatureSource|points|Input vector point layer (nodes)|0|None|True\",\n-            \"QgsProcessingParameterFile|file|Name of input arcs file|QgsProcessingParameterFile.File|txt|None|True\",\n-            \"QgsProcessingParameterEnum|operation|Operation to be performed|nodes;connect;arcs|False|0|False\",\n-            \"QgsProcessingParameterNumber|threshold|Threshold for connecting centers to the network (in map unit)|QgsProcessingParameterNumber.Double|50.0|False|0.0|None\",\n-            \"QgsProcessingParameterEnum|arc_type|Arc type|line;boundary|True|0,1|True\",\n-            \"*QgsProcessingParameterBoolean|-s|Snap points to network|False\",\n-            \"*QgsProcessingParameterBoolean|-c|Assign unique categories to new points|False\",\n-            \"QgsProcessingParameterVectorDestination|output|Network|QgsProcessing.TypeVectorAnyGeometry|None|False\"\n+            \"QgsProcessingParameterRasterLayer|input|Input raster|None|False\",\n+            \"QgsProcessingParameterNumber|step|Increment between contour levels|QgsProcessingParameterNumber.Double|None|True|None|None\",\n+            \"QgsProcessingParameterString|levels|List of contour levels|None|False|True\",\n+            \"QgsProcessingParameterNumber|minlevel|Minimum contour level|QgsProcessingParameterNumber.Double|None|True|None|None\",\n+            \"QgsProcessingParameterNumber|maxlevel|Maximum contour level|QgsProcessingParameterNumber.Double|None|True|None|None\",\n+            \"QgsProcessingParameterNumber|cut|Minimum number of points for a contour line (0 -> no limit)|QgsProcessingParameterNumber.Integer|0|True|0|None\",\n+            \"QgsProcessingParameterVectorDestination|output|Contours\"\n         ],\n-        \"short_description\": \"Performs network maintenance\"\n+        \"short_description\": \"Produces a vector map of specified contours from a raster map.\"\n     },\n     {\n-        \"command\": \"r.covar\",\n-        \"display_name\": \"r.covar\",\n+        \"command\": \"r.regression.multi\",\n+        \"display_name\": \"r.regression.multi\",\n         \"ext_path\": null,\n         \"group\": \"Raster (r.*)\",\n         \"group_id\": \"raster\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"r.covar\",\n+        \"name\": \"r.regression.multi\",\n         \"parameters\": [\n-            \"QgsProcessingParameterMultipleLayers|map|Input layers|3|None|False\",\n-            \"QgsProcessingParameterBoolean|-r|Print correlation matrix|True\",\n-            \"QgsProcessingParameterFileDestination|html|Covariance report|Html files (*.html)|report.html|False\"\n+            \"QgsProcessingParameterMultipleLayers|mapx|Map(s) for x coefficient|3|None|False\",\n+            \"QgsProcessingParameterRasterLayer|mapy|Map for y coefficient|None|False\",\n+            \"QgsProcessingParameterRasterDestination|residuals|Residual Map\",\n+            \"QgsProcessingParameterRasterDestination|estimates|Estimates Map\",\n+            \"QgsProcessingParameterFileDestination|html|Regression coefficients|Html files (*.html)|report.html|False\"\n         ],\n-        \"short_description\": \"Outputs a covariance/correlation matrix for user-specified raster layer(s).\"\n+        \"short_description\": \"Calculates multiple linear regression from raster maps.\"\n     },\n     {\n-        \"command\": \"v.patch\",\n-        \"display_name\": \"v.patch\",\n+        \"command\": \"i.modis.qc\",\n+        \"display_name\": \"i.modis.qc\",\n         \"ext_path\": null,\n-        \"group\": \"Vector (v.*)\",\n-        \"group_id\": \"vector\",\n+        \"group\": \"Imagery (i.*)\",\n+        \"group_id\": \"imagery\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"v.patch\",\n+        \"name\": \"i.modis.qc\",\n         \"parameters\": [\n-            \"QgsProcessingParameterMultipleLayers|input|Input layers|-1|None|False\",\n-            \"QgsProcessingParameterBoolean|-e|Copy also attribute table|True\",\n-            \"QgsProcessingParameterVectorDestination|output|Combined\",\n-            \"QgsProcessingParameterVectorDestination|bbox|Bounding boxes\"\n+            \"QgsProcessingParameterRasterLayer|input|Name of input surface reflectance QC layer [bit array]|None|False\",\n+            \"QgsProcessingParameterEnum|productname|Name of MODIS product type|mod09Q1;mod09A1;mod09A1s;mod09CMG;mod09CMGs;mod09CMGi;mod11A1;mod11A2;mod13A2;mcd43B2;mcd43B2q;mod13Q1|False|8|False\",\n+            \"QgsProcessingParameterEnum|qcname|Name of QC type to extract|adjcorr;atcorr;cloud;data_quality;diff_orbit_from_500m;modland_qa;mandatory_qa_11A1;data_quality_flag_11A1;emis_error_11A1;lst_error_11A1;data_quality_flag_11A2;emis_error_11A2;mandatory_qa_11A2;lst_error_11A2;aerosol_quantity;brdf_correction_performed;cirrus_detected;cloud_shadow;cloud_state;internal_cloud_algorithm;internal_fire_algorithm;internal_snow_mask;land_water;mod35_snow_ice;pixel_adjacent_to_cloud;icm_cloudy;icm_clear;icm_high_clouds;icm_low_clouds;icm_snow;icm_fire;icm_sun_glint;icm_dust;icm_cloud_shadow;icm_pixel_is_adjacent_to_cloud;icm_cirrus;icm_pan_flag;icm_criteria_for_aerosol_retrieval;icm_aot_has_clim_val;modland_qa;vi_usefulness;aerosol_quantity;pixel_adjacent_to_cloud;brdf_correction_performed;mixed_clouds;land_water;possible_snow_ice;possible_shadow;platform;land_water;sun_z_angle_at_local_noon;brdf_correction_performed|False|5|False\",\n+            \"QgsProcessingParameterEnum|band|Band number of MODIS product (mod09Q1=[1,2],mod09A1=[1-7],m[o/y]d09CMG=[1-7], mcd43B2q=[1-7])|1;2;3;4;5;6;7|True|0,1|True\",\n+            \"QgsProcessingParameterRasterDestination|output|QC Classification\"\n         ],\n-        \"short_description\": \"Create a new vector map layer by combining other vector map layers.\"\n+        \"short_description\": \"Extracts quality control parameters from MODIS QC layers.\"\n     },\n     {\n-        \"command\": \"r.composite\",\n-        \"display_name\": \"r.composite\",\n+        \"command\": \"r.out.ppm3\",\n+        \"display_name\": \"r.out.ppm3\",\n         \"ext_path\": null,\n         \"group\": \"Raster (r.*)\",\n         \"group_id\": \"raster\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"r.composite\",\n+        \"name\": \"r.out.ppm3\",\n         \"parameters\": [\n-            \"QgsProcessingParameterRasterLayer|red|Red|None|False\",\n-            \"QgsProcessingParameterRasterLayer|green|Green|None|False\",\n-            \"QgsProcessingParameterRasterLayer|blue|Blue|None|False\",\n-            \"QgsProcessingParameterNumber|levels|Number of levels to be used for each component|QgsProcessingParameterNumber.Integer|32|True|1|256\",\n-            \"QgsProcessingParameterNumber|level_red|Number of levels to be used for <red>|QgsProcessingParameterNumber.Integer|None|True|1|256\",\n-            \"QgsProcessingParameterNumber|level_green|Number of levels to be used for <green>|QgsProcessingParameterNumber.Integer|None|True|1|256\",\n-            \"QgsProcessingParameterNumber|level_blue|Number of levels to be used for <blue>|QgsProcessingParameterNumber.Integer|None|True|1|256\",\n-            \"QgsProcessingParameterBoolean|-d|Dither|False\",\n-            \"QgsProcessingParameterBoolean|-c|Use closest color|False\",\n-            \"QgsProcessingParameterRasterDestination|output|Composite\"\n+            \"QgsProcessingParameterRasterLayer|red|Name of raster map to be used for <red>|None|False\",\n+            \"QgsProcessingParameterRasterLayer|green|Name of raster map to be used for <green>|None|False\",\n+            \"QgsProcessingParameterRasterLayer|blue|Name of raster map to be used for <blue>|None|False\",\n+            \"QgsProcessingParameterBoolean|-c|Add comments to describe the region|False|True\",\n+            \"QgsProcessingParameterFileDestination|output|Name for new PPM file|PPM files (*.ppm)|None|False\"\n         ],\n-        \"short_description\": \"Combines red, green and blue raster maps into a single composite raster map.\"\n+        \"short_description\": \"Converts 3 GRASS raster layers (R,G,B) to a PPM image file\"\n     },\n     {\n-        \"command\": \"r.out.vtk\",\n-        \"display_name\": \"r.out.vtk\",\n+        \"command\": \"r.recode\",\n+        \"display_name\": \"r.recode\",\n         \"ext_path\": null,\n         \"group\": \"Raster (r.*)\",\n         \"group_id\": \"raster\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"r.out.vtk\",\n+        \"name\": \"r.recode\",\n         \"parameters\": [\n-            \"QgsProcessingParameterMultipleLayers|input|Input raster|3|None|False\",\n-            \"QgsProcessingParameterRasterLayer|elevation|Input elevation raster map|None|True\",\n-            \"QgsProcessingParameterNumber|null|Value to represent no data cell|QgsProcessingParameterNumber.Double|-99999.99|True|None|None\",\n-            \"QgsProcessingParameterNumber|z|Constant elevation (if no elevation map is specified)|QgsProcessingParameterNumber.Double|0.0|True|None|None\",\n-            \"QgsProcessingParameterMultipleLayers|rgbmaps|Three (r,g,b) raster maps to create RGB values|3|None|True\",\n-            \"QgsProcessingParameterMultipleLayers|vectormaps|Three (x,y,z) raster maps to create vector values|3|None|True\",\n-            \"QgsProcessingParameterNumber|zscale|Scale factor for elevation|QgsProcessingParameterNumber.Double|1.0|True|None|None\",\n-            \"QgsProcessingParameterNumber|precision|Number of significant digits|QgsProcessingParameterNumber.Integer|12|True|0|20\",\n-            \"*QgsProcessingParameterBoolean|-p|Create VTK point data instead of VTK cell data|False|True\",\n-            \"*QgsProcessingParameterBoolean|-s|Use structured grid for elevation (not recommended)|False|True\",\n-            \"*QgsProcessingParameterBoolean|-t|Use polydata-trianglestrips for elevation grid creation|False|True\",\n-            \"*QgsProcessingParameterBoolean|-v|Use polydata-vertices for elevation grid creation|False|True\",\n-            \"*QgsProcessingParameterBoolean|-o|Scale factor affects the origin (if no elevation map is given)|False|True\",\n-            \"*QgsProcessingParameterBoolean|-c|Correct the coordinates to match the VTK-OpenGL precision|False|True\",\n-            \"QgsProcessingParameterFileDestination|output|VTK File|Vtk files (*.vtk)|None|False\"\n+            \"QgsProcessingParameterRasterLayer|input|Input layer|None|False\",\n+            \"QgsProcessingParameterFile|rules|File containing recode rules|QgsProcessingParameterFile.File|txt|NoneFalse\",\n+            \"*QgsProcessingParameterBoolean|-d|Force output to 'double' raster map type (DCELL)|False\",\n+            \"*QgsProcessingParameterBoolean|-a|Align the current region to the input raster map|False\",\n+            \"QgsProcessingParameterRasterDestination|output|Recoded\"\n         ],\n-        \"short_description\": \"Converts raster maps into the VTK-ASCII format\"\n+        \"short_description\": \"Recodes categorical raster maps.\"\n     },\n     {\n-        \"command\": \"r.random.cells\",\n-        \"display_name\": \"r.random.cells\",\n-        \"ext_path\": null,\n+        \"command\": \"r.li.edgedensity\",\n+        \"display_name\": \"r.li.edgedensity\",\n+        \"ext_path\": \"r_li_edgedensity\",\n         \"group\": \"Raster (r.*)\",\n         \"group_id\": \"raster\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"r.random.cells\",\n+        \"name\": \"r.li.edgedensity\",\n         \"parameters\": [\n-            \"QgsProcessingParameterNumber|distance|Maximum distance of spatial correlation (value(s) >= 0.0)|QgsProcessingParameterNumber.Double|0.0|False|0.0|None\",\n-            \"QgsProcessingParameterNumber|ncells|Maximum number of cells to be created|QgsProcessingParameterNumber.Integer|None|True|1|None\",\n-            \"*QgsProcessingParameterNumber|seed|Random seed (SEED_MIN >= value >= SEED_MAX) (default [random])|QgsProcessingParameterNumber.Integer|None|True|None|None\",\n-            \"QgsProcessingParameterRasterDestination|output|Random\"\n+            \"QgsProcessingParameterRasterLayer|input|Name of input raster map|None|False\",\n+            \"QgsProcessingParameterString|config_txt|Landscape structure configuration|None|True|True\",\n+            \"QgsProcessingParameterFile|config|Landscape structure configuration file|QgsProcessingParameterFile.File|txt|None|True\",\n+            \"QgsProcessingParameterString|patch_type|The value of the patch type|None|False|True\",\n+            \"QgsProcessingParameterBoolean|-b|Exclude border edges|False\",\n+            \"QgsProcessingParameterRasterDestination|output|Edge Density\"\n         ],\n-        \"short_description\": \"Generates random cell values with spatial dependence.\"\n+        \"short_description\": \"Calculates edge density index on a raster map, using a 4 neighbour algorithm\"\n     },\n     {\n-        \"command\": \"r.colors.out\",\n-        \"display_name\": \"r.colors.out\",\n+        \"command\": \"r.terraflow\",\n+        \"display_name\": \"r.terraflow\",\n         \"ext_path\": null,\n         \"group\": \"Raster (r.*)\",\n         \"group_id\": \"raster\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"r.colors.out\",\n+        \"name\": \"r.terraflow\",\n         \"parameters\": [\n-            \"QgsProcessingParameterRasterLayer|map|Name of raster map|None|False\",\n-            \"*QgsProcessingParameterBoolean|-p|Output values as percentages|False|True\",\n-            \"QgsProcessingParameterFileDestination|rules|Color Table|Txt files (*.txt)|None|False\"\n+            \"QgsProcessingParameterRasterLayer|elevation|Name of elevation raster map|None|False\",\n+            \"QgsProcessingParameterBoolean|-s|SFD (D8) flow (default is MFD)|False\",\n+            \"QgsProcessingParameterNumber|d8cut|Routing using SFD (D8) direction|QgsProcessingParameterNumber.Double|None|True|None|None\",\n+            \"QgsProcessingParameterNumber|memory|Maximum memory to be used (in MB)|QgsProcessingParameterNumber.Integer|300|True|1|None\",\n+            \"QgsProcessingParameterRasterDestination|filled|Filled (flooded) elevation\",\n+            \"QgsProcessingParameterRasterDestination|direction|Flow direction\",\n+            \"QgsProcessingParameterRasterDestination|swatershed|Sink-watershed\",\n+            \"QgsProcessingParameterRasterDestination|accumulation|Flow accumulation\",\n+            \"QgsProcessingParameterRasterDestination|tci|Topographic convergence index (tci)\",\n+            \"QgsProcessingParameterFileDestination|stats|Runtime statistics|Txt files (*.txt)|None|False\"\n         ],\n-        \"short_description\": \"Exports the color table associated with a raster map.\"\n+        \"short_description\": \"Flow computation for massive grids.\"\n     },\n     {\n-        \"command\": \"i.maxlik\",\n-        \"display_name\": \"i.maxlik\",\n-        \"ext_path\": \"i_maxlik\",\n+        \"command\": \"i.his.rgb\",\n+        \"display_name\": \"i.his.rgb\",\n+        \"ext_path\": null,\n         \"group\": \"Imagery (i.*)\",\n         \"group_id\": \"imagery\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"i.maxlik\",\n+        \"name\": \"i.his.rgb\",\n         \"parameters\": [\n-            \"QgsProcessingParameterMultipleLayers|input|Input rasters|3|None|False\",\n-            \"QgsProcessingParameterFile|signaturefile|Name of input file containing signatures|QgsProcessingParameterFile.File|txt|None|False\",\n-            \"QgsProcessingParameterRasterDestination|output|Classification|None|False\",\n-            \"QgsProcessingParameterRasterDestination|reject|Reject Threshold|None|True\"\n+            \"QgsProcessingParameterRasterLayer|hue|Name of input raster map (hue)|None|False\",\n+            \"QgsProcessingParameterRasterLayer|intensity|Name of input raster map (intensity)|None|False\",\n+            \"QgsProcessingParameterRasterLayer|saturation|Name of input raster map (saturation)|None|False\",\n+            \"QgsProcessingParameterRasterDestination|red|Red\",\n+            \"QgsProcessingParameterRasterDestination|green|Green\",\n+            \"QgsProcessingParameterRasterDestination|blue|Blue\"\n         ],\n-        \"short_description\": \"Classifies the cell spectral reflectances in imagery data.\"\n+        \"short_description\": \"Transforms raster maps from HIS (Hue-Intensity-Saturation) color space to RGB (Red-Green-Blue) color space.\"\n     },\n     {\n-        \"command\": \"r.li.richness\",\n-        \"display_name\": \"r.li.richness\",\n-        \"ext_path\": \"r_li_richness\",\n-        \"group\": \"Raster (r.*)\",\n-        \"group_id\": \"raster\",\n+        \"command\": \"v.voronoi\",\n+        \"display_name\": \"v.voronoi.skeleton\",\n+        \"ext_path\": null,\n+        \"group\": \"Vector (v.*)\",\n+        \"group_id\": \"vector\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"r.li.richness\",\n+        \"name\": \"v.voronoi.skeleton\",\n         \"parameters\": [\n-            \"QgsProcessingParameterRasterLayer|input|Name of input raster map|None|False\",\n-            \"QgsProcessingParameterString|config_txt|Landscape structure configuration|None|True|True\",\n-            \"QgsProcessingParameterFile|config|Landscape structure configuration file|QgsProcessingParameterFile.File|txt|None|True\",\n-            \"QgsProcessingParameterRasterDestination|output|Richness\"\n+            \"QgsProcessingParameterFeatureSource|input|Input polygons layer|2|None|False\",\n+            \"QgsProcessingParameterNumber|smoothness|Factor for output smoothness|QgsProcessingParameterNumber.Double|0.25|True|None|None\",\n+            \"QgsProcessingParameterNumber|thin|Maximum dangle length of skeletons (-1 will extract the center line)|QgsProcessingParameterNumber.Double|-1.0|True|-1.0|None\",\n+            \"*QgsProcessingParameterBoolean|-a|Create Voronoi diagram for input areas|False\",\n+            \"*QgsProcessingParameterBoolean|-s|Extract skeletons for input areas|True\",\n+            \"*QgsProcessingParameterBoolean|-l|Output tessellation as a graph (lines), not areas|False\",\n+            \"*QgsProcessingParameterBoolean|-t|Do not create attribute table|False\",\n+            \"QgsProcessingParameterVectorDestination|output|Voronoi\"\n         ],\n-        \"short_description\": \"Calculates richness index on a raster map\"\n+        \"short_description\": \"v.voronoi.skeleton - Creates a Voronoi diagram for polygons or compute the center line/skeleton of polygons.\"\n     },\n     {\n-        \"command\": \"r.relief\",\n-        \"display_name\": \"r.relief.scaling\",\n+        \"command\": \"r.grow.distance\",\n+        \"display_name\": \"r.grow.distance\",\n         \"ext_path\": null,\n         \"group\": \"Raster (r.*)\",\n         \"group_id\": \"raster\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"r.relief.scaling\",\n+        \"name\": \"r.grow.distance\",\n         \"parameters\": [\n-            \"QgsProcessingParameterRasterLayer|input|Input elevation layer\",\n-            \"QgsProcessingParameterNumber|altitude|Altitude of the sun in degrees above the horizon|QgsProcessingParameterNumber.Double|30.0|False|0|90\",\n-            \"QgsProcessingParameterNumber|azimuth|Azimuth of the sun in degrees to the east of north|QgsProcessingParameterNumber.Double|270.0|False|0|360\",\n-            \"QgsProcessingParameterNumber|zscale|Factor for exaggerating relief|QgsProcessingParameterNumber.Double|1.0|False|None|None\",\n-            \"QgsProcessingParameterNumber|scale|Scale factor for converting horizontal units to elevation units|QgsProcessingParameterNumber.Double|1.0|False|None|None\",\n-            \"QgsProcessingParameterEnum|units|Elevation units (overrides scale factor)|intl;survey\",\n-            \"QgsProcessingParameterRasterDestination|output|Output shaded relief layer\"\n+            \"QgsProcessingParameterRasterLayer|input|Input input raster layer|None|False\",\n+            \"QgsProcessingParameterEnum|metric|Metric|euclidean;squared;maximum;manhattan;geodesic|False|0|True\",\n+            \"*QgsProcessingParameterBoolean|-m|Output distances in meters instead of map units|False\",\n+            \"*QgsProcessingParameterBoolean|-n|Calculate distance to nearest NULL cell|False\",\n+            \"QgsProcessingParameterRasterDestination|distance|Distance\",\n+            \"QgsProcessingParameterRasterDestination|value|Value of nearest cell\"\n         ],\n-        \"short_description\": \"r.relief.scaling - Creates shaded relief from an elevation layer (DEM).\"\n+        \"short_description\": \"Generates a raster layer of distance to features in input layer.\"\n     },\n     {\n-        \"command\": \"r.li.edgedensity\",\n-        \"display_name\": \"r.li.edgedensity\",\n-        \"ext_path\": \"r_li_edgedensity\",\n-        \"group\": \"Raster (r.*)\",\n-        \"group_id\": \"raster\",\n-        \"hardcoded_strings\": [],\n-        \"name\": \"r.li.edgedensity\",\n+        \"command\": \"i.topo.corr\",\n+        \"display_name\": \"i.topo.coor.ill\",\n+        \"ext_path\": null,\n+        \"group\": \"Imagery (i.*)\",\n+        \"group_id\": \"imagery\",\n+        \"hardcoded_strings\": [\n+            \"-i\"\n+        ],\n+        \"name\": \"i.topo.coor.ill\",\n         \"parameters\": [\n-            \"QgsProcessingParameterRasterLayer|input|Name of input raster map|None|False\",\n-            \"QgsProcessingParameterString|config_txt|Landscape structure configuration|None|True|True\",\n-            \"QgsProcessingParameterFile|config|Landscape structure configuration file|QgsProcessingParameterFile.File|txt|None|True\",\n-            \"QgsProcessingParameterString|patch_type|The value of the patch type|None|False|True\",\n-            \"QgsProcessingParameterBoolean|-b|Exclude border edges|False\",\n-            \"QgsProcessingParameterRasterDestination|output|Edge Density\"\n+            \"QgsProcessingParameterRasterLayer|basemap|Name of elevation raster map|None|False\",\n+            \"QgsProcessingParameterNumber|zenith|Solar zenith in degrees|QgsProcessingParameterNumber.Double|0.0|False|0.0|360.0\",\n+            \"QgsProcessingParameterNumber|azimuth|Solar azimuth in degrees|QgsProcessingParameterNumber.Double|0.0|True|0.0|360.0\",\n+            \"Hardcoded|-i\",\n+            \"QgsProcessingParameterRasterDestination|output|Illumination Model\"\n         ],\n-        \"short_description\": \"Calculates edge density index on a raster map, using a 4 neighbour algorithm\"\n+        \"short_description\": \"i.topo.coor.ill - Creates illumination model for topographic correction of reflectance.\"\n     },\n     {\n-        \"command\": \"r.li.padcv\",\n-        \"display_name\": \"r.li.padcv\",\n-        \"ext_path\": \"r_li_padcv\",\n+        \"command\": \"r.rescale.eq\",\n+        \"display_name\": \"r.rescale.eq\",\n+        \"ext_path\": null,\n         \"group\": \"Raster (r.*)\",\n         \"group_id\": \"raster\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"r.li.padcv\",\n+        \"name\": \"r.rescale.eq\",\n         \"parameters\": [\n-            \"QgsProcessingParameterRasterLayer|input|Name of input raster map|None|False\",\n-            \"QgsProcessingParameterString|config_txt|Landscape structure configuration|None|True|True\",\n-            \"QgsProcessingParameterFile|config|Landscape structure configuration file|QgsProcessingParameterFile.File|txt|None|True\",\n-            \"QgsProcessingParameterRasterDestination|output|PADCV\"\n+            \"QgsProcessingParameterRasterLayer|input|Input raster layer|None|False\",\n+            \"QgsProcessingParameterRange|from|The input data range to be rescaled|QgsProcessingParameterNumber.Double|None|True\",\n+            \"QgsProcessingParameterRange|to|The output data range|QgsProcessingParameterNumber.Double|None|False\",\n+            \"QgsProcessingParameterRasterDestination|output|Rescaled equalized\"\n         ],\n-        \"short_description\": \"Calculates coefficient of variation of patch area on a raster map\"\n+        \"short_description\": \"Rescales histogram equalized the range of category values in a raster  layer.\"\n     },\n     {\n-        \"command\": \"r.quantile\",\n-        \"display_name\": \"r.quantile\",\n+        \"command\": \"r.buffer\",\n+        \"display_name\": \"r.buffer\",\n         \"ext_path\": null,\n         \"group\": \"Raster (r.*)\",\n         \"group_id\": \"raster\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"r.quantile\",\n+        \"name\": \"r.buffer\",\n         \"parameters\": [\n             \"QgsProcessingParameterRasterLayer|input|Input raster layer|None|False\",\n-            \"QgsProcessingParameterNumber|quantiles|Number of quantiles|QgsProcessingParameterNumber.Integer|4|True|2|None\",\n-            \"QgsProcessingParameterString|percentiles|List of percentiles|None|False|True\",\n-            \"QgsProcessingParameterNumber|bins|Number of bins to use|QgsProcessingParameterNumber.Integer|1000000|True|1|None\",\n-            \"*QgsProcessingParameterBoolean|-r|Generate recode rules based on quantile-defined intervals|False\",\n-            \"QgsProcessingParameterFileDestination|file|Quantiles|Html files (*.html)|report.html|False\"\n+            \"QgsProcessingParameterString|distances|Distance zone(s) (e.g. 100,200,300)|None|False|False\",\n+            \"QgsProcessingParameterEnum|units|Units of distance|meters;kilometers;feet;miles;nautmiles|False|0|False\",\n+            \"QgsProcessingParameterBoolean|-z|Ignore zero (0) data cells instead of NULL cells|False\",\n+            \"QgsProcessingParameterRasterDestination|output|Buffer\"\n         ],\n-        \"short_description\": \"Compute quantiles using two passes.\"\n+        \"short_description\": \"Creates a raster map layer showing buffer zones surrounding cells that contain non-NULL category values.\"\n     },\n     {\n-        \"command\": \"r.li.shape\",\n-        \"display_name\": \"r.li.shape\",\n-        \"ext_path\": \"r_li_shape\",\n+        \"command\": \"r.sun\",\n+        \"display_name\": \"r.sun.incidout\",\n+        \"ext_path\": null,\n         \"group\": \"Raster (r.*)\",\n         \"group_id\": \"raster\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"r.li.shape\",\n+        \"name\": \"r.sun.incidout\",\n         \"parameters\": [\n-            \"QgsProcessingParameterRasterLayer|input|Name of input raster map|None|False\",\n-            \"QgsProcessingParameterString|config_txt|Landscape structure configuration|None|True|True\",\n-            \"QgsProcessingParameterFile|config|Landscape structure configuration file|QgsProcessingParameterFile.File|txt|None|True\",\n-            \"QgsProcessingParameterRasterDestination|output|Shape\"\n+            \"QgsProcessingParameterRasterLayer|elevation|Elevation layer [meters]|None|False\",\n+            \"QgsProcessingParameterRasterLayer|aspect|Aspect layer [decimal degrees]|None|False\",\n+            \"QgsProcessingParameterNumber|aspect_value|A single value of the orientation (aspect), 270 is south|QgsProcessingParameterNumber.Double|270.0|True|0.0|360.0\",\n+            \"QgsProcessingParameterRasterLayer|slope|Name of the input slope raster map (terrain slope or solar panel inclination) [decimal degrees]|None|False\",\n+            \"QgsProcessingParameterNumber|slope_value|A single value of inclination (slope)|QgsProcessingParameterNumber.Double|0.0|True|0.0|360.0\",\n+            \"QgsProcessingParameterRasterLayer|linke|Name of the Linke atmospheric turbidity coefficient input raster map|None|True\",\n+            \"QgsProcessingParameterRasterLayer|albedo|Name of the ground albedo coefficient input raster map|None|True\",\n+            \"QgsProcessingParameterNumber|albedo_value|A single value of the ground albedo coefficient|QgsProcessingParameterNumber.Double|0.2|True|0.0|360.0\",\n+            \"QgsProcessingParameterRasterLayer|lat|Name of input raster map containing latitudes [decimal degrees]|None|True\",\n+            \"QgsProcessingParameterRasterLayer|long|Name of input raster map containing longitudes [decimal degrees]|None|True\",\n+            \"QgsProcessingParameterRasterLayer|coeff_bh|Name of real-sky beam radiation coefficient input raster map|None|True\",\n+            \"QgsProcessingParameterRasterLayer|coeff_dh|Name of real-sky diffuse radiation coefficient input raster map|None|True\",\n+            \"QgsProcessingParameterRasterLayer|horizon_basemap|The horizon information input map basename|None|True\",\n+            \"QgsProcessingParameterNumber|horizon_step|Angle step size for multidirectional horizon [degrees]|QgsProcessingParameterNumber.Double|None|True|0.0|360.0\",\n+            \"QgsProcessingParameterNumber|day|No. of day of the year (1-365)|QgsProcessingParameterNumber.Integer|1|False|1|365\",\n+            \"*QgsProcessingParameterNumber|step|Time step when computing all-day radiation sums [decimal hours]|QgsProcessingParameterNumber.Double|0.5|True|0\",\n+            \"*QgsProcessingParameterNumber|declination|Declination value (overriding the internally computed value) [radians]|QgsProcessingParameterNumber.Double|None|True|None|None\",\n+            \"*QgsProcessingParameterNumber|distance_step|Sampling distance step coefficient (0.5-1.5)|QgsProcessingParameterNumber.Double|1.0|True|0.5|1.5\",\n+            \"*QgsProcessingParameterNumber|npartitions|Read the input files in this number of chunks|QgsProcessingParameterNumber.Integer|1|True|1|None\",\n+            \"*QgsProcessingParameterNumber|civil_time|Civil time zone value, if none, the time will be local solar time|QgsProcessingParameterNumber.Double|None|True|0.0|None\",\n+            \"QgsProcessingParameterNumber|time|Local (solar) time (decimal hours)|QgsProcessingParameterNumber.Double|None|False|0.0|24.0\",\n+            \"QgsProcessingParameterBoolean|-p|Do not incorporate the shadowing effect of terrain|False\",\n+            \"*QgsProcessingParameterBoolean|-m|Use the low-memory version of the program|False\",\n+            \"QgsProcessingParameterRasterDestination|incidout|incidence angle raster map|None|True\",\n+            \"QgsProcessingParameterRasterDestination|beam_rad|Beam irradiance [W.m-2]|None|True\",\n+            \"QgsProcessingParameterRasterDestination|diff_rad|Diffuse irradiance [W.m-2]|None|True\",\n+            \"QgsProcessingParameterRasterDestination|refl_rad|Ground reflected irradiance [W.m-2]|None|True\",\n+            \"QgsProcessingParameterRasterDestination|glob_rad|Global (total) irradiance/irradiation [W.m-2]|None|True\"\n         ],\n-        \"short_description\": \"Calculates shape index on a raster map\"\n+        \"short_description\": \"r.sun.incidout - Solar irradiance and irradiation model ( for the set local time).\"\n     },\n     {\n-        \"command\": \"v.random\",\n-        \"display_name\": \"v.random\",\n+        \"command\": \"v.buffer\",\n+        \"display_name\": \"v.buffer\",\n         \"ext_path\": null,\n         \"group\": \"Vector (v.*)\",\n         \"group_id\": \"vector\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"v.random\",\n+        \"name\": \"v.buffer\",\n         \"parameters\": [\n-            \"QgsProcessingParameterNumber|npoints|Number of points to be created|QgsProcessingParameterNumber.Double|100|False|0|None\",\n-            \"QgsProcessingParameterFeatureSource|restrict|Restrict points to areas in input vector|-1|None|True\",\n+            \"QgsProcessingParameterFeatureSource|input|Input vector layer|-1|None|False\",\n+            \"QgsProcessingParameterString|cats|Category values|None|False|True\",\n             \"QgsProcessingParameterString|where|WHERE conditions of SQL statement without 'where' keyword|None|True|True\",\n-            \"QgsProcessingParameterNumber|zmin|Minimum z height for 3D output|QgsProcessingParameterNumber.Double|0.0|True|None|None\",\n-            \"QgsProcessingParameterNumber|zmax|Maximum z height for 3D output|QgsProcessingParameterNumber.Double|0.0|True|None|None\",\n-            \"QgsProcessingParameterNumber|seed|Seed for random number generation|QgsProcessingParameterNumber.Integer|None|True|None|None\",\n-            \"QgsProcessingParameterString|column|Column for Z values|z|False|True\",\n-            \"QgsProcessingParameterEnum|column_type|Type of column for z values|integer;double precision|False|0|True\",\n-            \"QgsProcessingParameterBoolean|-z|Create 3D output|False|True\",\n-            \"QgsProcessingParameterBoolean|-a|Generate n points for each individual area|False|True\",\n-            \"QgsProcessingParameterVectorDestination|output|Random\"\n+            \"QgsProcessingParameterEnum|type|Input feature type|point;line;boundary;centroid;area|True|0,1,4|True\",\n+            \"QgsProcessingParameterNumber|distance|Buffer distance in map units|QgsProcessingParameterNumber.Double|None|True|None|None\",\n+            \"QgsProcessingParameterNumber|minordistance|Buffer distance along minor axis in map units|QgsProcessingParameterNumber.Double|None|True|None|None\",\n+            \"QgsProcessingParameterNumber|angle|Angle of major axis in degrees|QgsProcessingParameterNumber.Double|0.0|True|0.0|360.0\",\n+            \"QgsProcessingParameterString|layer|Layer number or name ('-1' for all layers)|-1|False|False\",\n+            \"QgsProcessingParameterField|column|Name of column to use for buffer distances|None|input|-1|False|True\",\n+            \"QgsProcessingParameterNumber|scale|Scaling factor for attribute column values|QgsProcessingParameterNumber.Double|1.0|True|None|None\",\n+            \"QgsProcessingParameterNumber|tolerance|Maximum distance between theoretical arc and polygon segments as multiple of buffer|QgsProcessingParameterNumber.Double|0.01|True|None|None\",\n+            \"*QgsProcessingParameterBoolean|-s|Make outside corners straight|False\",\n+            \"*QgsProcessingParameterBoolean|-c|Do not make caps at the ends of polylines|False\",\n+            \"*QgsProcessingParameterBoolean|-t|Transfer categories and attributes|False\",\n+            \"QgsProcessingParameterVectorDestination|output|Buffer\"\n         ],\n-        \"short_description\": \"Randomly generate a 2D/3D vector points map.\"\n+        \"short_description\": \"Creates a buffer around vector features of given type.\"\n     },\n     {\n-        \"command\": \"r.null\",\n-        \"display_name\": \"r.null\",\n-        \"ext_path\": \"r_null\",\n+        \"command\": \"r.blend\",\n+        \"display_name\": \"r.blend.combine\",\n+        \"ext_path\": \"r_blend_combine\",\n         \"group\": \"Raster (r.*)\",\n         \"group_id\": \"raster\",\n-        \"hardcoded_strings\": [],\n-        \"name\": \"r.null\",\n+        \"hardcoded_strings\": [\n+            \"-c\"\n+        ],\n+        \"name\": \"r.blend.combine\",\n         \"parameters\": [\n-            \"QgsProcessingParameterRasterLayer|map|Name of raster map for which to edit null values|None|False\",\n-            \"QgsProcessingParameterString|setnull|List of cell values to be set to NULL|None|False|True\",\n-            \"QgsProcessingParameterNumber|null|The value to replace the null value by|QgsProcessingParameterNumber.Double|None|True|None|None\",\n-            \"*QgsProcessingParameterBoolean|-f|Only do the work if the map is floating-point|False|True\",\n-            \"*QgsProcessingParameterBoolean|-i|Only do the work if the map is integer|False|True\",\n-            \"*QgsProcessingParameterBoolean|-n|Only do the work if the map doesn't have a NULL-value bitmap file|False|True\",\n-            \"*QgsProcessingParameterBoolean|-c|Create NULL-value bitmap file validating all data cells|False|True\",\n-            \"*QgsProcessingParameterBoolean|-r|Remove NULL-value bitmap file|False|True\",\n-            \"QgsProcessingParameterRasterDestination|output|NullRaster\"\n+            \"QgsProcessingParameterRasterLayer|first|Name of first raster map for blending|None|False\",\n+            \"QgsProcessingParameterRasterLayer|second|Name of second raster map for blending|None|False\",\n+            \"QgsProcessingParameterNumber|percent|Percentage weight of first map for color blending|QgsProcessingParameterNumber.Double|50.0|True|0.0|100.0\",\n+            \"Hardcoded|-c\",\n+            \"QgsProcessingParameterRasterDestination|output|Blended\"\n         ],\n-        \"short_description\": \"Manages NULL-values of given raster map.\"\n+        \"short_description\": \"r.blend.combine - Blends color components of two raster maps by a given ratio and export into a unique raster.\"\n     },\n     {\n-        \"command\": \"r.horizon\",\n-        \"display_name\": \"r.horizon.height\",\n+        \"command\": \"r.walk\",\n+        \"display_name\": \"r.walk.coords\",\n         \"ext_path\": null,\n         \"group\": \"Raster (r.*)\",\n         \"group_id\": \"raster\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"r.horizon.height\",\n+        \"name\": \"r.walk.coords\",\n         \"parameters\": [\n             \"QgsProcessingParameterRasterLayer|elevation|Name of input elevation raster map|None|False\",\n-            \"QgsProcessingParameterPoint|coordinates|Coordinate for which you want to calculate the horizon|0,0\",\n-            \"QgsProcessingParameterNumber|direction|Direction in which you want to know the horizon height|QgsProcessingParameterNumber.Double|None|True|0.0|360.0\",\n-            \"QgsProcessingParameterNumber|step|Angle step size for multidirectional horizon|QgsProcessingParameterNumber.Double|None|True|0.0|360.0\",\n-            \"QgsProcessingParameterNumber|start|Start angle for multidirectional horizon|QgsProcessingParameterNumber.Double|0.0|True|0.0|360.0\",\n-            \"QgsProcessingParameterNumber|end|End angle for multidirectional horizon|QgsProcessingParameterNumber.Double|360.0|True|0.0|360.0\",\n-            \"QgsProcessingParameterNumber|bufferzone|For horizon rasters, read from the DEM an extra buffer around the present region|QgsProcessingParameterNumber.Double|None|True|0.0|None\",\n-            \"QgsProcessingParameterNumber|e_buff|For horizon rasters, read from the DEM an extra buffer eastward the present region|QgsProcessingParameterNumber.Double|None|True|0.0|None\",\n-            \"QgsProcessingParameterNumber|w_buff|For horizon rasters, read from the DEM an extra buffer westward the present region|QgsProcessingParameterNumber.Double|None|True|0.0|None\",\n-            \"QgsProcessingParameterNumber|n_buff|For horizon rasters, read from the DEM an extra buffer northward the present region|QgsProcessingParameterNumber.Double|None|True|0.0|None\",\n-            \"QgsProcessingParameterNumber|s_buff|For horizon rasters, read from the DEM an extra buffer southward the present region|QgsProcessingParameterNumber.Double|None|True|0.0|None\",\n-            \"QgsProcessingParameterNumber|maxdistance|The maximum distance to consider when finding the horizon height|QgsProcessingParameterNumber.Double|None|True|0.0|None\",\n-            \"QgsProcessingParameterNumber|distance|Sampling distance step coefficient|QgsProcessingParameterNumber.Double|1.0|True|0.5|1.5\",\n-            \"QgsProcessingParameterBoolean|-d|Write output in degrees (default is radians)|False\",\n-            \"QgsProcessingParameterBoolean|-c|Write output in compass orientation (default is CCW, East=0)|False\",\n-            \"QgsProcessingParameterFileDestination|html|Horizon|Html files (*.html)|report.html|False\"\n+            \"QgsProcessingParameterRasterLayer|friction|Name of input raster map containing friction costs|None|False\",\n+            \"QgsProcessingParameterString|start_coordinates|Coordinates of starting point(s) (a list of E,N)|None|False|False\",\n+            \"QgsProcessingParameterString|stop_coordinates|Coordinates of stopping point(s) (a list of E,N)|None|False|True\",\n+            \"QgsProcessingParameterString|walk_coeff|Coefficients for walking energy formula parameters a,b,c,d|0.72,6.0,1.9998,-1.9998|False|True\",\n+            \"QgsProcessingParameterNumber|lambda|Lambda coefficients for combining walking energy and friction cost|QgsProcessingParameterNumber.Double|1.0|True|0.0|None\",\n+            \"QgsProcessingParameterNumber|slope_factor|Slope factor determines travel energy cost per height step|QgsProcessingParameterNumber.Double|-0.2125|True|None|None\",\n+            \"QgsProcessingParameterNumber|max_cost|Maximum cumulative cost|QgsProcessingParameterNumber.Double|0.0|True|None|None\",\n+            \"QgsProcessingParameterNumber|null_cost|Cost assigned to null cells. By default, null cells are excluded|QgsProcessingParameterNumber.Double|None|True|None|None\",\n+            \"*QgsProcessingParameterNumber|memory|Maximum memory to be used in MB|QgsProcessingParameterNumber.Integer|300|True|1|None\",\n+            \"*QgsProcessingParameterBoolean|-k|Use the 'Knight's move'; slower, but more accurate|False\",\n+            \"*QgsProcessingParameterBoolean|-n|Keep null values in output raster layer|False\",\n+            \"QgsProcessingParameterRasterDestination|output|Cumulative cost\",\n+            \"QgsProcessingParameterRasterDestination|outdir|Movement Directions\"\n         ],\n-        \"short_description\": \"r.horizon.height - Horizon angle computation from a digital elevation model.\"\n+        \"short_description\": \"r.walk.coords - Creates a raster map showing the anisotropic cumulative cost of moving between different geographic locations on an input raster map whose cell category values represent cost from a list of coordinates.\"\n     },\n     {\n-        \"command\": \"r.param.scale\",\n-        \"display_name\": \"r.param.scale\",\n+        \"command\": \"v.dissolve\",\n+        \"display_name\": \"v.dissolve\",\n+        \"ext_path\": null,\n+        \"group\": \"Vector (v.*)\",\n+        \"group_id\": \"vector\",\n+        \"hardcoded_strings\": [],\n+        \"name\": \"v.dissolve\",\n+        \"parameters\": [\n+            \"QgsProcessingParameterFeatureSource|input|Input vector layer|2|None|False\",\n+            \"QgsProcessingParameterField|column|Name of column used to dissolve common boundaries|None|input|-1|False|True\",\n+            \"QgsProcessingParameterVectorDestination|output|Dissolved\"\n+        ],\n+        \"short_description\": \"Dissolves boundaries between adjacent areas sharing a common category number or attribute.\"\n+    },\n+    {\n+        \"command\": \"r.kappa\",\n+        \"display_name\": \"r.kappa\",\n         \"ext_path\": null,\n         \"group\": \"Raster (r.*)\",\n         \"group_id\": \"raster\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"r.param.scale\",\n+        \"name\": \"r.kappa\",\n         \"parameters\": [\n-            \"QgsProcessingParameterRasterLayer|input|Name of input raster map|None|False\",\n-            \"QgsProcessingParameterNumber|slope_tolerance|Slope tolerance that defines a 'flat' surface (degrees)|QgsProcessingParameterNumber.Double|1.0|True|None|None\",\n-            \"QgsProcessingParameterNumber|curvature_tolerance|Curvature tolerance that defines 'planar' surface|QgsProcessingParameterNumber.Double|0.0001|True|None|None\",\n-            \"QgsProcessingParameterNumber|size|Size of processing window (odd number only, max: 499)|QgsProcessingParameterNumber.Integer|3|True|3|499\",\n-            \"QgsProcessingParameterEnum|method|Morphometric parameter in 'size' window to calculate|elev;slope;aspect;profc;planc;longc;crosc;minic;maxic;feature|False|0|True\",\n-            \"QgsProcessingParameterNumber|exponent|Exponent for distance weighting (0.0-4.0)|QgsProcessingParameterNumber.Double|0.0|True|0.0|4.0\",\n-            \"QgsProcessingParameterNumber|zscale|Vertical scaling factor|QgsProcessingParameterNumber.Double|1.0|True|None|None\",\n-            \"QgsProcessingParameterBoolean|-c|Constrain model through central window cell|False\",\n-            \"QgsProcessingParameterRasterDestination|output|Morphometric parameter\"\n+            \"QgsProcessingParameterRasterLayer|classification|Raster layer containing classification result|None|False\",\n+            \"QgsProcessingParameterRasterLayer|reference|Raster layer containing reference classes|None|False\",\n+            \"QgsProcessingParameterString|title|Title for error matrix and kappa|ACCURACY ASSESSMENT\",\n+            \"QgsProcessingParameterBoolean|-h|No header in the report|False\",\n+            \"QgsProcessingParameterBoolean|-w|Wide report (132 columns)|False\",\n+            \"QgsProcessingParameterFileDestination|output|Error matrix and kappa|Txt files (*.txt)|None|False\"\n         ],\n-        \"short_description\": \"Extracts terrain parameters from a DEM.\"\n+        \"short_description\": \"Calculate error matrix and kappa parameter for accuracy assessment of classification result.\"\n     },\n     {\n-        \"command\": \"r.latlong\",\n-        \"display_name\": \"r.latlong\",\n+        \"command\": \"i.cca\",\n+        \"display_name\": \"i.cca\",\n+        \"ext_path\": \"i_cca\",\n+        \"group\": \"Imagery (i.*)\",\n+        \"group_id\": \"imagery\",\n+        \"hardcoded_strings\": [],\n+        \"name\": \"i.cca\",\n+        \"parameters\": [\n+            \"QgsProcessingParameterMultipleLayers|input|Input rasters (2 to 8)|3|None|False\",\n+            \"QgsProcessingParameterFile|signature|File containing spectral signatures|QgsProcessingParameterFile.File|txt|None|False\",\n+            \"QgsProcessingParameterFolderDestination|output|Output Directory\"\n+        ],\n+        \"short_description\": \"Canonical components analysis (CCA) program for image processing.\"\n+    },\n+    {\n+        \"command\": \"r.out.png\",\n+        \"display_name\": \"r.out.png\",\n         \"ext_path\": null,\n         \"group\": \"Raster (r.*)\",\n         \"group_id\": \"raster\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"r.latlong\",\n+        \"name\": \"r.out.png\",\n         \"parameters\": [\n-            \"QgsProcessingParameterRasterLayer|input|Name of input raster map|None|False\",\n-            \"QgsProcessingParameterBoolean|-l|Longitude output|False|True\",\n-            \"QgsProcessingParameterRasterDestination|output|LatLong\"\n+            \"QgsProcessingParameterRasterLayer|input|Input raster|None|False\",\n+            \"QgsProcessingParameterNumber|compression|Compression level of PNG file (0 = none, 1 = fastest, 9 = best)|QgsProcessingParameterNumber.Integer|6|True|0|9\",\n+            \"*QgsProcessingParameterBoolean|-t|Make NULL cells transparent|False|True\",\n+            \"*QgsProcessingParameterBoolean|-w|Output world file|False|True\",\n+            \"QgsProcessingParameterFileDestination|output|PNG File|PNG files (*.png)|None|False\"\n         ],\n-        \"short_description\": \"Creates a latitude/longitude raster map.\"\n+        \"short_description\": \"Export a GRASS raster map as a non-georeferenced PNG image\"\n     },\n     {\n-        \"command\": \"r.random.surface\",\n-        \"display_name\": \"r.random.surface\",\n-        \"ext_path\": null,\n+        \"command\": \"r.neighbors\",\n+        \"display_name\": \"r.neighbors\",\n+        \"ext_path\": \"r_neighbors\",\n         \"group\": \"Raster (r.*)\",\n         \"group_id\": \"raster\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"r.random.surface\",\n+        \"name\": \"r.neighbors\",\n         \"parameters\": [\n-            \"QgsProcessingParameterNumber|distance|Maximum distance of spatial correlation|QgsProcessingParameterNumber.Double|0.0|True|0.0|None\",\n-            \"QgsProcessingParameterNumber|exponent|Distance decay exponent|QgsProcessingParameterNumber.Double|1.0|True|0.0|None\",\n-            \"QgsProcessingParameterNumber|flat|Distance filter remains flat before beginning exponent|QgsProcessingParameterNumber.Double|0.0|True|0.0|None\",\n-            \"QgsProcessingParameterNumber|seed|Random seed (SEED_MIN >= value >= SEED_MAX)|QgsProcessingParameterNumber.Integer|None|True|None|None\",\n-            \"QgsProcessingParameterNumber|high|Maximum cell value of distribution|QgsProcessingParameterNumber.Integer|255|True|0|None\",\n-            \"QgsProcessingParameterBoolean|-u|Uniformly distributed cell values|False|True\",\n-            \"QgsProcessingParameterRasterDestination|output|Random_Surface\"\n+            \"QgsProcessingParameterRasterLayer|input|Input raster layer|None|False\",\n+            \"QgsProcessingParameterRasterLayer|selection|Raster layer to select the cells which should be processed|None|True\",\n+            \"QgsProcessingParameterEnum|method|Neighborhood operation|average;median;mode;minimum;maximum;range;stddev;sum;count;variance;diversity;interspersion;quart1;quart3;perc90;quantile|False|0|True\",\n+            \"QgsProcessingParameterNumber|size|Neighborhood size (must be odd)|QgsProcessingParameterNumber.Integer|3|True|1|None\",\n+            \"QgsProcessingParameterNumber|gauss|Sigma (in cells) for Gaussian filter|QgsProcessingParameterNumber.Integer|None|True|0|None\",\n+            \"QgsProcessingParameterString|quantile|Quantile to calculate for method=quantile|None|False|True\",\n+            \"QgsProcessingParameterBoolean|-c|Use circular neighborhood|False\",\n+            \"*QgsProcessingParameterBoolean|-a|Do not align output with the input|False\",\n+            \"*QgsProcessingParameterFile|weight|File containing weights|QgsProcessingParameterFile.File|txt|None|True\",\n+            \"QgsProcessingParameterRasterDestination|output|Neighbors\"\n         ],\n-        \"short_description\": \"Generates random surface(s) with spatial dependence.\"\n+        \"short_description\": \"Makes each cell category value a function of the category values assigned to the cells around it\"\n     },\n     {\n-        \"command\": \"r.volume\",\n-        \"display_name\": \"r.volume\",\n+        \"command\": \"i.landsat.acca\",\n+        \"display_name\": \"i.landsat.acca\",\n+        \"ext_path\": \"i_landsat_acca\",\n+        \"group\": \"Imagery (i.*)\",\n+        \"group_id\": \"imagery\",\n+        \"hardcoded_strings\": [],\n+        \"name\": \"i.landsat.acca\",\n+        \"parameters\": [\n+            \"QgsProcessingParameterMultipleLayers|rasters|Landsat input rasters|3|None|False\",\n+            \"QgsProcessingParameterNumber|b56composite|B56composite (step 6)|QgsProcessingParameterNumber.Double|225.0|True|0.0|None\",\n+            \"QgsProcessingParameterNumber|b45ratio|B45ratio: Desert detection (step 10)|QgsProcessingParameterNumber.Double|1.0|True|0.0|None\",\n+            \"QgsProcessingParameterNumber|histogram|Number of classes in the cloud temperature histogram|QgsProcessingParameterNumber.Integer|100|True|0|None\",\n+            \"*QgsProcessingParameterBoolean|-5|Data is Landsat-5 TM|False\",\n+            \"*QgsProcessingParameterBoolean|-f|Apply post-processing filter to remove small holes|False\",\n+            \"*QgsProcessingParameterBoolean|-x|Always use cloud signature (step 14)|False\",\n+            \"*QgsProcessingParameterBoolean|-2|Bypass second-pass processing, and merge warm (not ambiguous) and cold clouds|False\",\n+            \"*QgsProcessingParameterBoolean|-s|Include a category for cloud shadows|False\",\n+            \"QgsProcessingParameterRasterDestination|output|ACCA Raster\"\n+        ],\n+        \"short_description\": \"Performs Landsat TM/ETM+ Automatic Cloud Cover Assessment (ACCA).\"\n+    },\n+    {\n+        \"command\": \"r.in.lidar\",\n+        \"display_name\": \"r.in.lidar.info\",\n         \"ext_path\": null,\n         \"group\": \"Raster (r.*)\",\n         \"group_id\": \"raster\",\n-        \"hardcoded_strings\": [],\n-        \"name\": \"r.volume\",\n+        \"hardcoded_strings\": [\n+            \"-p\",\n+            \"-g\",\n+            \"-s\"\n+        ],\n+        \"name\": \"r.in.lidar.info\",\n         \"parameters\": [\n-            \"QgsProcessingParameterRasterLayer|input|Name of input raster map representing data that will be summed within clumps|None|False\",\n-            \"QgsProcessingParameterRasterLayer|clump|Clumps layer (preferably the output of r.clump)|None|False\",\n-            \"*QgsProcessingParameterBoolean|-f|Generate unformatted report|False\",\n-            \"QgsProcessingParameterVectorDestination|centroids|Centroids\"\n+            \"QgsProcessingParameterFile|input|LAS input file|QgsProcessingParameterFile.File|las|None|False\",\n+            \"Hardcoded|-p\",\n+            \"Hardcoded|-g\",\n+            \"Hardcoded|-s\",\n+            \"QgsProcessingParameterFileDestination|html|LAS information|Html files (*.html)|report.html|False\"\n         ],\n-        \"short_description\": \"Calculates the volume of data \\\"clumps\\\".\"\n+        \"short_description\": \"r.in.lidar.info - Extract information from LAS file\"\n     },\n     {\n-        \"command\": \"r.li.patchnum\",\n-        \"display_name\": \"r.li.patchnum.ascii\",\n-        \"ext_path\": \"r_li_patchnum_ascii\",\n+        \"command\": \"r.category\",\n+        \"display_name\": \"r.category\",\n+        \"ext_path\": \"r_category\",\n         \"group\": \"Raster (r.*)\",\n         \"group_id\": \"raster\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"r.li.patchnum.ascii\",\n+        \"name\": \"r.category\",\n         \"parameters\": [\n-            \"QgsProcessingParameterRasterLayer|input|Name of input raster map|None|False\",\n-            \"QgsProcessingParameterString|config_txt|Landscape structure configuration|None|True|True\",\n-            \"QgsProcessingParameterFile|config|Landscape structure configuration file|QgsProcessingParameterFile.File|txt|None|True\",\n-            \"QgsProcessingParameterFileDestination|output_txt|Patch Number|Txt files (*.txt)|None|False\"\n+            \"QgsProcessingParameterRasterLayer|map|Name of raster map|None|False\",\n+            \"QgsProcessingParameterString|separator|Field separator (Special characters: pipe, comma, space, tab, newline)|tab|False|True\",\n+            \"QgsProcessingParameterFile|rules|File containing category label rules|QgsProcessingParameterFile.File|txt|None|True\",\n+            \"QgsProcessingParameterString|txtrules|Inline category label rules|None|True|True\",\n+            \"QgsProcessingParameterRasterLayer|raster|Raster map from which to copy category table|None|True\",\n+            \"*QgsProcessingParameterString|format|Default label or format string for dynamic labeling. Used when no explicit label exists for the category|None|False|True\",\n+            \"*QgsProcessingParameterString|coefficients|Dynamic label coefficients. Two pairs of category multiplier and offsets, for $1 and $2|None|False|True\",\n+            \"QgsProcessingParameterRasterDestination|output|Category\"\n         ],\n-        \"short_description\": \"r.li.patchnum.ascii - Calculates patch number index on a raster map, using a 4 neighbour algorithm.\"\n+        \"short_description\": \"Manages category values and labels associated with user-specified raster map layers.\"\n     },\n     {\n-        \"command\": \"v.select\",\n-        \"display_name\": \"v.select\",\n+        \"command\": \"v.net\",\n+        \"display_name\": \"v.net.nreport\",\n         \"ext_path\": null,\n         \"group\": \"Vector (v.*)\",\n         \"group_id\": \"vector\",\n-        \"hardcoded_strings\": [],\n-        \"name\": \"v.select\",\n+        \"hardcoded_strings\": [\n+            \"operation=nreport\"\n+        ],\n+        \"name\": \"v.net.nreport\",\n         \"parameters\": [\n-            \"QgsProcessingParameterFeatureSource|ainput|Input layer (A)|-1|None|False\",\n-            \"QgsProcessingParameterEnum|atype|Input layer (A) Type|point;line;boundary;centroid;area|True|0,1,4|True\",\n-            \"QgsProcessingParameterFeatureSource|binput|Input layer (B)|-1|None|False\",\n-            \"QgsProcessingParameterEnum|btype|Input layer (B) Type|point;line;boundary;centroid;area|True|0,1,4|True\",\n-            \"QgsProcessingParameterEnum|operator|Operator to use|overlap;equals;disjoint;intersect;touches;crosses;within;contains;overlaps;relate|False|0|False\",\n-            \"QgsProcessingParameterString|relate|Intersection Matrix Pattern used for 'relate' operator|None|False|True\",\n-            \"QgsProcessingParameterBoolean|-t|Do not create attribute table|False\",\n-            \"QgsProcessingParameterBoolean|-c|Do not skip features without category|False\",\n-            \"QgsProcessingParameterBoolean|-r|Reverse selection|False\",\n-            \"QgsProcessingParameterVectorDestination|output|Selected\"\n+            \"QgsProcessingParameterFeatureSource|input|Input vector line layer (arcs)|1|None|False\",\n+            \"Hardcoded|operation=nreport\",\n+            \"QgsProcessingParameterFileDestination|output|NReport|Html files (*.html)|None|False\"\n         ],\n-        \"short_description\": \"Selects features from vector map (A) by features from other vector map (B).\"\n+        \"short_description\": \"v.net.nreport - Reports nodes information of a network\"\n     },\n     {\n-        \"command\": \"r.slope.aspect\",\n-        \"display_name\": \"r.slope.aspect\",\n+        \"command\": \"v.kernel\",\n+        \"display_name\": \"v.kernel.vector\",\n         \"ext_path\": null,\n-        \"group\": \"Raster (r.*)\",\n-        \"group_id\": \"raster\",\n+        \"group\": \"Vector (v.*)\",\n+        \"group_id\": \"vector\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"r.slope.aspect\",\n+        \"name\": \"v.kernel.vector\",\n         \"parameters\": [\n-            \"QgsProcessingParameterRasterLayer|elevation|Elevation|None|False\",\n-            \"QgsProcessingParameterEnum|format|Format for reporting the slope|degrees;percent|False|0|True\",\n-            \"QgsProcessingParameterEnum|precision|Type of output aspect and slope layer|FCELL;CELL;DCELL|False|0|True\",\n-            \"QgsProcessingParameterBoolean|-a|Do not align the current region to the elevation layer|True\",\n-            \"QgsProcessingParameterBoolean|-e|Compute output at edges and near NULL values|False\",\n-            \"QgsProcessingParameterBoolean|-n|Create aspect as degrees clockwise from North (azimuth), with flat = -9999|False\",\n-            \"QgsProcessingParameterNumber|zscale|Multiplicative factor to convert elevation units to meters|QgsProcessingParameterNumber.Double|1.0|True|None|None\",\n-            \"QgsProcessingParameterNumber|min_slope|Minimum slope val. (in percent) for which aspect is computed|QgsProcessingParameterNumber.Double|0.0|True|None|None\",\n-            \"QgsProcessingParameterRasterDestination|slope|Slope|None|True\",\n-            \"QgsProcessingParameterRasterDestination|aspect|Aspect|None|True\",\n-            \"QgsProcessingParameterRasterDestination|pcurvature|Profile curvature|None|True\",\n-            \"QgsProcessingParameterRasterDestination|tcurvature|Tangential curvature|None|True\",\n-            \"QgsProcessingParameterRasterDestination|dx|First order partial derivative dx (E-W slope)|None|True\",\n-            \"QgsProcessingParameterRasterDestination|dy|First order partial derivative dy (N-S slope)|None|True\",\n-            \"QgsProcessingParameterRasterDestination|dxx|Second order partial derivative dxx|None|True\",\n-            \"QgsProcessingParameterRasterDestination|dyy|Second order partial derivative dyy|None|True\",\n-            \"QgsProcessingParameterRasterDestination|dxy|Second order partial derivative dxy|None|True\"\n+            \"QgsProcessingParameterFeatureSource|input|Name of input vector map with training points|0|None|False\",\n+            \"QgsProcessingParameterFeatureSource|net|Name of input network vector map|1|None|False\",\n+            \"QgsProcessingParameterNumber|radius|Kernel radius in map units|QgsProcessingParameterNumber.Double|10.0|False|0.0|None\",\n+            \"QgsProcessingParameterNumber|dsize|Discretization error in map units|QgsProcessingParameterNumber.Double|0.0|True|0.0|None\",\n+            \"QgsProcessingParameterNumber|segmax|Maximum length of segment on network|QgsProcessingParameterNumber.Double|100.0|True|0.0|None\",\n+            \"QgsProcessingParameterNumber|distmax|Maximum distance from point to network|QgsProcessingParameterNumber.Double|100.0|True|0.0|None\",\n+            \"QgsProcessingParameterNumber|multiplier|Multiply the density result by this number|QgsProcessingParameterNumber.Double|1.0|True|0.0|None\",\n+            \"QgsProcessingParameterEnum|node|Node method|none;split|False|0|False\",\n+            \"QgsProcessingParameterEnum|kernel|Kernel function|uniform;triangular;epanechnikov;quartic;triweight;gaussian;cosine|False|5|True\",\n+            \"*QgsProcessingParameterBoolean|-o|Try to calculate an optimal radius with given 'radius' taken as maximum (experimental)|False\",\n+            \"*QgsProcessingParameterBoolean|-n|Normalize values by sum of density multiplied by length of each segment.|False\",\n+            \"*QgsProcessingParameterBoolean|-m|Multiply the result by number of input points|False\",\n+            \"QgsProcessingParameterVectorDestination|output|Kernel\"\n         ],\n-        \"short_description\": \"Generates raster layers of slope, aspect, curvatures and partial derivatives from a elevation raster layer.\"\n+        \"short_description\": \"v.kernel.vector - Generates a vector density map from vector points on a vector network.\"\n     },\n     {\n-        \"command\": \"i.group\",\n-        \"display_name\": \"i.group\",\n-        \"ext_path\": \"i_group\",\n-        \"group\": \"Imagery (i.*)\",\n-        \"group_id\": \"imagery\",\n+        \"command\": \"r.topidx\",\n+        \"display_name\": \"r.topidx\",\n+        \"ext_path\": null,\n+        \"group\": \"Raster (r.*)\",\n+        \"group_id\": \"raster\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"i.group\",\n+        \"name\": \"r.topidx\",\n         \"parameters\": [\n-            \"QgsProcessingParameterMultipleLayers|input|Input rasters|3|None|False\",\n-            \"QgsProcessingParameterRasterDestination|group|Multiband raster\"\n+            \"QgsProcessingParameterRasterLayer|input|Input elevation layer|None|False\",\n+            \"QgsProcessingParameterRasterDestination|output|Topographic index\"\n         ],\n-        \"short_description\": \"Regroup multiple mono-band rasters into a single multiband raster.\"\n+        \"short_description\": \"Creates topographic index layer from elevation raster layer\"\n     },\n     {\n-        \"command\": \"i.biomass\",\n-        \"display_name\": \"i.biomass\",\n+        \"command\": \"i.evapo.pm\",\n+        \"display_name\": \"i.evapo.pm\",\n         \"ext_path\": null,\n         \"group\": \"Imagery (i.*)\",\n         \"group_id\": \"imagery\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"i.biomass\",\n+        \"name\": \"i.evapo.pm\",\n         \"parameters\": [\n-            \"QgsProcessingParameterRasterLayer|fpar|Name of fPAR raster map|None|False\",\n-            \"QgsProcessingParameterRasterLayer|lightuse_efficiency|Name of light use efficiency raster map (UZB:cotton=1.9)|None|False\",\n-            \"QgsProcessingParameterRasterLayer|latitude|Name of degree latitude raster map [dd.ddd]|None|False\",\n-            \"QgsProcessingParameterRasterLayer|dayofyear|Name of Day of Year raster map [1-366]|None|False\",\n-            \"QgsProcessingParameterRasterLayer|transmissivity_singleway|Name of single-way transmissivity raster map [0.0-1.0]|None|False\",\n-            \"QgsProcessingParameterRasterLayer|water_availability|Value of water availability raster map [0.0-1.0]|None|False\",\n-            \"QgsProcessingParameterRasterDestination|output|Biomass\"\n+            \"QgsProcessingParameterRasterLayer|elevation|Name of input elevation raster map [m a.s.l.]|None|False\",\n+            \"QgsProcessingParameterRasterLayer|temperature|Name of input temperature raster map [C]|None|False\",\n+            \"QgsProcessingParameterRasterLayer|relativehumidity|Name of input relative humidity raster map [%]|None|False\",\n+            \"QgsProcessingParameterRasterLayer|windspeed|Name of input wind speed raster map [m/s]|None|False\",\n+            \"QgsProcessingParameterRasterLayer|netradiation|Name of input net solar radiation raster map [MJ/m2/h]|None|False\",\n+            \"QgsProcessingParameterRasterLayer|cropheight|Name of input crop height raster map [m]|None|False\",\n+            \"*QgsProcessingParameterBoolean|-z|Set negative ETa to zero|False\",\n+            \"*QgsProcessingParameterBoolean|-n|Use Night-time|False\",\n+            \"QgsProcessingParameterRasterDestination|output|Evapotranspiration\"\n         ],\n-        \"short_description\": \"Computes biomass growth, precursor of crop yield calculation.\"\n+        \"short_description\": \"Computes potential evapotranspiration calculation with hourly Penman-Monteith.\"\n     },\n     {\n-        \"command\": \"v.voronoi\",\n-        \"display_name\": \"v.voronoi.skeleton\",\n+        \"command\": \"r.univar\",\n+        \"display_name\": \"r.univar\",\n         \"ext_path\": null,\n-        \"group\": \"Vector (v.*)\",\n-        \"group_id\": \"vector\",\n-        \"hardcoded_strings\": [],\n-        \"name\": \"v.voronoi.skeleton\",\n+        \"group\": \"Raster (r.*)\",\n+        \"group_id\": \"raster\",\n+        \"hardcoded_strings\": [\n+            \"-t\"\n+        ],\n+        \"name\": \"r.univar\",\n         \"parameters\": [\n-            \"QgsProcessingParameterFeatureSource|input|Input polygons layer|2|None|False\",\n-            \"QgsProcessingParameterNumber|smoothness|Factor for output smoothness|QgsProcessingParameterNumber.Double|0.25|True|None|None\",\n-            \"QgsProcessingParameterNumber|thin|Maximum dangle length of skeletons (-1 will extract the center line)|QgsProcessingParameterNumber.Double|-1.0|True|-1.0|None\",\n-            \"*QgsProcessingParameterBoolean|-a|Create Voronoi diagram for input areas|False\",\n-            \"*QgsProcessingParameterBoolean|-s|Extract skeletons for input areas|True\",\n-            \"*QgsProcessingParameterBoolean|-l|Output tessellation as a graph (lines), not areas|False\",\n-            \"*QgsProcessingParameterBoolean|-t|Do not create attribute table|False\",\n-            \"QgsProcessingParameterVectorDestination|output|Voronoi\"\n+            \"QgsProcessingParameterMultipleLayers|map|Name of raster map(s)|3|None|False\",\n+            \"QgsProcessingParameterRasterLayer|zones|Raster map used for zoning, must be of type CELL|None|True\",\n+            \"QgsProcessingParameterString|percentile|Percentile to calculate (comma separated list if multiple) (requires extended statistics flag)|None|False|True\",\n+            \"QgsProcessingParameterString|separator|Field separator. Special characters: pipe, comma, space, tab, newline|pipe|False|True\",\n+            \"*QgsProcessingParameterBoolean|-e|Calculate extended statistics|False\",\n+            \"Hardcoded|-t\",\n+            \"QgsProcessingParameterFileDestination|output|Univariate results|Txt files (*.txt)|None|False\"\n         ],\n-        \"short_description\": \"v.voronoi.skeleton - Creates a Voronoi diagram for polygons or compute the center line/skeleton of polygons.\"\n+        \"short_description\": \"Calculates univariate statistics from the non-null cells of a raster map.\"\n     },\n     {\n         \"command\": \"v.to.rast\",\n         \"display_name\": \"v.to.rast\",\n         \"ext_path\": null,\n         \"group\": \"Vector (v.*)\",\n         \"group_id\": \"vector\",\n@@ -3769,190 +3531,289 @@\n             \"QgsProcessingParameterNumber|value|Raster value (for use=val)|QgsProcessingParameterNumber.Double|1|True|None|None\",\n             \"QgsProcessingParameterNumber|memory|Maximum memory to be used (in MB)|QgsProcessingParameterNumber.Integer|300|True|1|None\",\n             \"QgsProcessingParameterRasterDestination|output|Rasterized\"\n         ],\n         \"short_description\": \"Converts (rasterize) a vector layer into a raster layer.\"\n     },\n     {\n-        \"command\": \"r.li.mps\",\n-        \"display_name\": \"r.li.mps\",\n-        \"ext_path\": \"r_li_mps\",\n-        \"group\": \"Raster (r.*)\",\n-        \"group_id\": \"raster\",\n+        \"command\": \"v.in.mapgen\",\n+        \"display_name\": \"v.in.mapgen\",\n+        \"ext_path\": null,\n+        \"group\": \"Vector (v.*)\",\n+        \"group_id\": \"vector\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"r.li.mps\",\n+        \"name\": \"v.in.mapgen\",\n         \"parameters\": [\n-            \"QgsProcessingParameterRasterLayer|input|Name of input raster map|None|False\",\n-            \"QgsProcessingParameterString|config_txt|Landscape structure configuration|None|True|True\",\n-            \"QgsProcessingParameterFile|config|Landscape structure configuration file|QgsProcessingParameterFile.File|txt|None|True\",\n-            \"QgsProcessingParameterRasterDestination|output|Mean Patch Size\"\n+            \"QgsProcessingParameterFile|input|Name of input file in Mapgen/Matlab format|QgsProcessingParameterFile.File|txt|None|False\",\n+            \"*QgsProcessingParameterBoolean|-z|Create 3D vector map|False\",\n+            \"*QgsProcessingParameterBoolean|-f|Input map is in Matlab format|False\",\n+            \"QgsProcessingParameterVectorDestination|output|Mapgen\"\n         ],\n-        \"short_description\": \"Calculates mean patch size index on a raster map, using a 4 neighbour algorithm\"\n+        \"short_description\": \"Imports Mapgen or Matlab-ASCII vector maps into GRASS.\"\n     },\n     {\n-        \"command\": \"v.delaunay\",\n-        \"display_name\": \"v.delaunay\",\n+        \"command\": \"r.flow\",\n+        \"display_name\": \"r.flow\",\n         \"ext_path\": null,\n-        \"group\": \"Vector (v.*)\",\n-        \"group_id\": \"vector\",\n+        \"group\": \"Raster (r.*)\",\n+        \"group_id\": \"raster\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"v.delaunay\",\n+        \"name\": \"r.flow\",\n         \"parameters\": [\n-            \"QgsProcessingParameterFeatureSource|input|Input vector layer|0|None|False\",\n-            \"QgsProcessingParameterBoolean|-r|Use only points in current region|False|False\",\n-            \"QgsProcessingParameterBoolean|-l|Output triangulation as a graph (lines), not areas|False|False\",\n-            \"QgsProcessingParameterVectorDestination|output|Delaunay triangulation\"\n+            \"QgsProcessingParameterRasterLayer|elevation|Elevation|None|False\",\n+            \"QgsProcessingParameterRasterLayer|aspect|Aspect|None|True\",\n+            \"QgsProcessingParameterRasterLayer|barrier|Barrier|None|True\",\n+            \"QgsProcessingParameterNumber|skip|Number of cells between flowlines|QgsProcessingParameterNumber.Integer|None|True|None|None\",\n+            \"QgsProcessingParameterNumber|bound|Maximum number of segments per flowline|QgsProcessingParameterNumber.Integer|None|True|None|None\",\n+            \"QgsProcessingParameterBoolean|-u|Compute upslope flowlines instead of default downhill flowlines|False\",\n+            \"QgsProcessingParameterBoolean|-3|3-D lengths instead of 2-D|False\",\n+            \"*QgsProcessingParameterBoolean|-m|Use less memory, at a performance penalty|False\",\n+            \"QgsProcessingParameterVectorDestination|flowline|Flow line|QgsProcessing.TypeVectorLine|None|True\",\n+            \"QgsProcessingParameterRasterDestination|flowlength|Flow path length\",\n+            \"QgsProcessingParameterRasterDestination|flowaccumulation|Flow accumulation\"\n         ],\n-        \"short_description\": \"Creates a Delaunay triangulation from an input vector map containing points or centroids.\"\n+        \"short_description\": \"Construction of flowlines, flowpath lengths, and flowaccumulation (contributing areas) from a raster digital elevation model (DEM).\"\n     },\n     {\n-        \"command\": \"v.extract\",\n-        \"display_name\": \"v.extract\",\n+        \"command\": \"v.surf.rst\",\n+        \"display_name\": \"v.surf.rst\",\n         \"ext_path\": null,\n         \"group\": \"Vector (v.*)\",\n         \"group_id\": \"vector\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"v.extract\",\n+        \"name\": \"v.surf.rst\",\n         \"parameters\": [\n-            \"QgsProcessingParameterFeatureSource|input|Vector layer|-1|None|False\",\n+            \"QgsProcessingParameterFeatureSource|input|Input points layer|0|None|False\",\n+            \"QgsProcessingParameterField|zcolumn|Name of the attribute column with values to be used for approximation|None|input|-1|False|True\",\n             \"QgsProcessingParameterString|where|WHERE conditions of SQL statement without 'where' keyword|None|True|True\",\n-            \"QgsProcessingParameterEnum|type|Input feature type|point;line;boundary;centroid;area;face|True|0,1,3,4,5,6|True\",\n-            \"QgsProcessingParameterFile|file|Input text file with category numbers/number ranges to be extracted|QgsProcessingParameterFile.File|txt|None|True\",\n-            \"QgsProcessingParameterNumber|random|Number of random categories matching vector objects to extract|QgsProcessingParameterNumber.Integer|None|True|0|None\",\n-            \"QgsProcessingParameterNumber|new|Desired new category value (enter -1 to keep original categories)|QgsProcessingParameterNumber.Integer|-1|True|-1|None\",\n-            \"*QgsProcessingParameterBoolean|-d|Dissolve common boundaries|True\",\n-            \"*QgsProcessingParameterBoolean|-t|Do not copy attributes|False\",\n-            \"*QgsProcessingParameterBoolean|-r|Reverse selection|False\",\n-            \"QgsProcessingParameterVectorDestination|output|Selected\"\n+            \"QgsProcessingParameterRasterLayer|mask|Name of the raster map used as mask|None|True\",\n+            \"QgsProcessingParameterNumber|tension|Tension parameter|QgsProcessingParameterNumber.Double|40.0|True|None|None\",\n+            \"QgsProcessingParameterNumber|smooth|Smoothing parameter|QgsProcessingParameterNumber.Double|None|True|None|None\",\n+            \"QgsProcessingParameterField|smooth_column|Name of the attribute column with smoothing parameters|None|input|-1|False|True\",\n+            \"QgsProcessingParameterNumber|segmax|Maximum number of points in a segment|QgsProcessingParameterNumber.Integer|40|True|0|None\",\n+            \"QgsProcessingParameterNumber|npmin|Minimum number of points for approximation in a segment (>segmax)|QgsProcessingParameterNumber.Integer|300|True|0|None\",\n+            \"QgsProcessingParameterNumber|dmin|Minimum distance between points (to remove almost identical points)|QgsProcessingParameterNumber.Double|None|True|0.0|None\",\n+            \"QgsProcessingParameterNumber|dmax|Maximum distance between points on isoline (to insert additional points)|QgsProcessingParameterNumber.Double|None|True|None|None\",\n+            \"QgsProcessingParameterNumber|zscale|Conversion factor for values used for approximation|QgsProcessingParameterNumber.Double|1.0|True|None|None\",\n+            \"QgsProcessingParameterNumber|theta|Anisotropy angle (in degrees counterclockwise from East)|QgsProcessingParameterNumber.Double|None|True|0.0|360.0\",\n+            \"QgsProcessingParameterNumber|scalex|Anisotropy scaling factor|QgsProcessingParameterNumber.Double|None|True|None|None\",\n+            \"QgsProcessingParameterBoolean|-t|Use scale dependent tension|False\",\n+            \"QgsProcessingParameterBoolean|-d|Output partial derivatives instead of topographic parameters|False\",\n+            \"QgsProcessingParameterRasterDestination|elevation|Interpolated RST|None|True\",\n+            \"QgsProcessingParameterRasterDestination|slope|Slope|None|True\",\n+            \"QgsProcessingParameterRasterDestination|aspect|Aspect|None|True\",\n+            \"QgsProcessingParameterRasterDestination|pcurvature|Profile curvature|None|True\",\n+            \"QgsProcessingParameterRasterDestination|tcurvature|Tangential curvature|None|True\",\n+            \"QgsProcessingParameterRasterDestination|mcurvature|Mean curvature|None|True\",\n+            \"QgsProcessingParameterVectorDestination|deviations|Deviations|QgsProcessing.TypeVectorAnyGeometry|None|True\",\n+            \"QgsProcessingParameterVectorDestination|treeseg|Quadtree Segmentation|QgsProcessing.TypeVectorAnyGeometry|None|True\",\n+            \"QgsProcessingParameterVectorDestination|overwin|Overlapping Windows|QgsProcessing.TypeVectorAnyGeometry|None|True\"\n         ],\n-        \"short_description\": \"Selects vector objects from a vector layer and creates a new layer containing only the selected objects.\"\n+        \"short_description\": \"Performs surface interpolation from vector points map by splines.\"\n     },\n     {\n-        \"command\": \"v.net.steiner\",\n-        \"display_name\": \"v.net.steiner\",\n-        \"ext_path\": \"v_net_steiner\",\n-        \"group\": \"Vector (v.*)\",\n-        \"group_id\": \"vector\",\n+        \"command\": \"r.out.vtk\",\n+        \"display_name\": \"r.out.vtk\",\n+        \"ext_path\": null,\n+        \"group\": \"Raster (r.*)\",\n+        \"group_id\": \"raster\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"v.net.steiner\",\n+        \"name\": \"r.out.vtk\",\n         \"parameters\": [\n-            \"QgsProcessingParameterFeatureSource|input|Input vector line layer (arcs)|1|None|False\",\n-            \"QgsProcessingParameterFeatureSource|points|Centers point layer (nodes)|0|None|False\",\n-            \"QgsProcessingParameterNumber|threshold|Threshold for connecting centers to the network (in map unit)|QgsProcessingParameterNumber.Double|50.0|False|0.0|None\",\n-            \"*QgsProcessingParameterEnum|arc_type|Arc type|line;boundary|True|0,1|True\",\n-            \"*QgsProcessingParameterString|terminal_cats|Category values|1-100000|False|False\",\n-            \"*QgsProcessingParameterField|acolumn|Arc forward/both direction(s) cost column (number)|None|input|0|False|True\",\n-            \"*QgsProcessingParameterNumber|npoints|Number of Steiner points|QgsProcessingParameterNumber.Integer|-1|True|-1|None\",\n-            \"*QgsProcessingParameterBoolean|-g|Use geodesic calculation for longitude-latitude locations|False|True\",\n-            \"QgsProcessingParameterVectorDestination|output|Network Steiner\"\n+            \"QgsProcessingParameterMultipleLayers|input|Input raster|3|None|False\",\n+            \"QgsProcessingParameterRasterLayer|elevation|Input elevation raster map|None|True\",\n+            \"QgsProcessingParameterNumber|null|Value to represent no data cell|QgsProcessingParameterNumber.Double|-99999.99|True|None|None\",\n+            \"QgsProcessingParameterNumber|z|Constant elevation (if no elevation map is specified)|QgsProcessingParameterNumber.Double|0.0|True|None|None\",\n+            \"QgsProcessingParameterMultipleLayers|rgbmaps|Three (r,g,b) raster maps to create RGB values|3|None|True\",\n+            \"QgsProcessingParameterMultipleLayers|vectormaps|Three (x,y,z) raster maps to create vector values|3|None|True\",\n+            \"QgsProcessingParameterNumber|zscale|Scale factor for elevation|QgsProcessingParameterNumber.Double|1.0|True|None|None\",\n+            \"QgsProcessingParameterNumber|precision|Number of significant digits|QgsProcessingParameterNumber.Integer|12|True|0|20\",\n+            \"*QgsProcessingParameterBoolean|-p|Create VTK point data instead of VTK cell data|False|True\",\n+            \"*QgsProcessingParameterBoolean|-s|Use structured grid for elevation (not recommended)|False|True\",\n+            \"*QgsProcessingParameterBoolean|-t|Use polydata-trianglestrips for elevation grid creation|False|True\",\n+            \"*QgsProcessingParameterBoolean|-v|Use polydata-vertices for elevation grid creation|False|True\",\n+            \"*QgsProcessingParameterBoolean|-o|Scale factor affects the origin (if no elevation map is given)|False|True\",\n+            \"*QgsProcessingParameterBoolean|-c|Correct the coordinates to match the VTK-OpenGL precision|False|True\",\n+            \"QgsProcessingParameterFileDestination|output|VTK File|Vtk files (*.vtk)|None|False\"\n         ],\n-        \"short_description\": \"Creates Steiner tree for the network and given terminals\"\n+        \"short_description\": \"Converts raster maps into the VTK-ASCII format\"\n     },\n     {\n-        \"command\": \"r.reclass.area\",\n-        \"display_name\": \"r.reclass.area\",\n+        \"command\": \"r.uslek\",\n+        \"display_name\": \"r.uslek\",\n         \"ext_path\": null,\n         \"group\": \"Raster (r.*)\",\n         \"group_id\": \"raster\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"r.reclass.area\",\n+        \"name\": \"r.uslek\",\n         \"parameters\": [\n-            \"QgsProcessingParameterRasterLayer|input|Input raster layer|None|False\",\n-            \"QgsProcessingParameterNumber|value|Value option that sets the area size limit [hectares]|QgsProcessingParameterNumber.Double|1.0|False|0|None\",\n-            \"QgsProcessingParameterEnum|mode|Lesser or greater than specified value|lesser;greater|False|0|False\",\n-            \"QgsProcessingParameterEnum|method|Method used for reclassification|reclass;rmarea|False|0|True\",\n-            \"*QgsProcessingParameterBoolean|-c|Input map is clumped|False\",\n-            \"*QgsProcessingParameterBoolean|-d|Clumps including diagonal neighbors|False\",\n-            \"QgsProcessingParameterRasterDestination|output|Reclassified\"\n+            \"QgsProcessingParameterRasterLayer|psand|Name of soil sand fraction raster map [0.0-1.0]|None|False\",\n+            \"QgsProcessingParameterRasterLayer|pclay|Name of soil clay fraction raster map [0.0-1.0]|None|False\",\n+            \"QgsProcessingParameterRasterLayer|psilt|Name of soil silt fraction raster map [0.0-1.0]|None|False\",\n+            \"QgsProcessingParameterRasterLayer|pomat|Name of soil organic matter raster map [0.0-1.0]|None|False\",\n+            \"QgsProcessingParameterRasterDestination|output|USLE R Raster\"\n         ],\n-        \"short_description\": \"Reclassifies a raster layer, greater or less than user specified area size (in hectares)\"\n+        \"short_description\": \"Computes USLE Soil Erodibility Factor (K).\"\n     },\n     {\n-        \"command\": \"v.build.polylines\",\n-        \"display_name\": \"v.build.polylines\",\n+        \"command\": \"r.sunhours\",\n+        \"display_name\": \"r.sunhours\",\n         \"ext_path\": null,\n+        \"group\": \"Raster (r.*)\",\n+        \"group_id\": \"raster\",\n+        \"hardcoded_strings\": [],\n+        \"name\": \"r.sunhours\",\n+        \"parameters\": [\n+            \"QgsProcessingParameterNumber|year|Year|QgsProcessingParameterNumber.Integer|2017|False|1950|2050\",\n+            \"QgsProcessingParameterNumber|month|Month|QgsProcessingParameterNumber.Integer|1|True|1|12\",\n+            \"QgsProcessingParameterNumber|day|Day|QgsProcessingParameterNumber.Integer|1|False|1|366\",\n+            \"QgsProcessingParameterNumber|hour|Hour|QgsProcessingParameterNumber.Integer|12|True|0|24\",\n+            \"QgsProcessingParameterNumber|minute|Minutes|QgsProcessingParameterNumber.Integer|0|True|0|60\",\n+            \"QgsProcessingParameterNumber|second|Seconds|QgsProcessingParameterNumber.Integer|0|True|0|60\",\n+            \"*QgsProcessingParameterBoolean|-t|Time is local sidereal time, not Greenwich standard time|False\",\n+            \"*QgsProcessingParameterBoolean|-s|Do not use SOLPOS algorithm of NREL|False\",\n+            \"QgsProcessingParameterRasterDestination|elevation|Solar Elevation Angle\",\n+            \"QgsProcessingParameterRasterDestination|azimuth|Solar Azimuth Angle\",\n+            \"QgsProcessingParameterRasterDestination|sunhour|Sunshine Hours\"\n+        ],\n+        \"short_description\": \"Calculates solar elevation, solar azimuth, and sun hours.\"\n+    },\n+    {\n+        \"command\": \"r.li.padrange\",\n+        \"display_name\": \"r.li.padrange.ascii\",\n+        \"ext_path\": \"r_li_padrange_ascii\",\n+        \"group\": \"Raster (r.*)\",\n+        \"group_id\": \"raster\",\n+        \"hardcoded_strings\": [],\n+        \"name\": \"r.li.padrange.ascii\",\n+        \"parameters\": [\n+            \"QgsProcessingParameterRasterLayer|input|Name of input raster map|None|False\",\n+            \"QgsProcessingParameterString|config_txt|Landscape structure configuration|None|True|True\",\n+            \"QgsProcessingParameterFile|config|Landscape structure configuration file|QgsProcessingParameterFile.File|txt|None|True\",\n+            \"QgsProcessingParameterFileDestination|output_txt|Pad Range|Txt files (*.txt)|None|False\"\n+        ],\n+        \"short_description\": \"r.li.padrange.ascii - Calculates range of patch area size on a raster map\"\n+    },\n+    {\n+        \"command\": \"r.li.shape\",\n+        \"display_name\": \"r.li.shape\",\n+        \"ext_path\": \"r_li_shape\",\n+        \"group\": \"Raster (r.*)\",\n+        \"group_id\": \"raster\",\n+        \"hardcoded_strings\": [],\n+        \"name\": \"r.li.shape\",\n+        \"parameters\": [\n+            \"QgsProcessingParameterRasterLayer|input|Name of input raster map|None|False\",\n+            \"QgsProcessingParameterString|config_txt|Landscape structure configuration|None|True|True\",\n+            \"QgsProcessingParameterFile|config|Landscape structure configuration file|QgsProcessingParameterFile.File|txt|None|True\",\n+            \"QgsProcessingParameterRasterDestination|output|Shape\"\n+        ],\n+        \"short_description\": \"Calculates shape index on a raster map\"\n+    },\n+    {\n+        \"command\": \"v.net.centrality\",\n+        \"display_name\": \"v.net.centrality\",\n+        \"ext_path\": \"v_net_centrality\",\n         \"group\": \"Vector (v.*)\",\n         \"group_id\": \"vector\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"v.build.polylines\",\n+        \"name\": \"v.net.centrality\",\n         \"parameters\": [\n-            \"QgsProcessingParameterFeatureSource|input|Name of input vector map|-1|None|False\",\n-            \"QgsProcessingParameterEnum|cats|Category number mode|no;first;multi;same|False|0|True\",\n-            \"QgsProcessingParameterEnum|type|Input feature type|line;boundary|True|0,1|True\",\n-            \"QgsProcessingParameterVectorDestination|output|Polylines\"\n+            \"QgsProcessingParameterFeatureSource|input|Input vector line layer (network)|1|None|False\",\n+            \"QgsProcessingParameterString|degree|Name of output degree centrality column|degree|False|True\",\n+            \"QgsProcessingParameterString|closeness|Name of output closeness centrality column|closeness|False|True\",\n+            \"QgsProcessingParameterString|betweenness|Name of output betweenness centrality column|betweenness|False|True\",\n+            \"QgsProcessingParameterString|eigenvector|Name of output eigenvector centrality column|eigenvector|False|True\",\n+            \"*QgsProcessingParameterNumber|iterations|Maximum number of iterations to compute eigenvector centrality|QgsProcessingParameterNumber.Integer|1000|True|1|None\",\n+            \"*QgsProcessingParameterNumber|error|Cumulative error tolerance for eigenvector centrality|QgsProcessingParameterNumber.Double|0.1|True|0.0|None\",\n+            \"*QgsProcessingParameterString|cats|Category values|None|False|True\",\n+            \"*QgsProcessingParameterString|where|WHERE conditions of SQL statement without 'where' keyword|None|True|True\",\n+            \"*QgsProcessingParameterField|arc_column|Arc forward/both direction(s) cost column (number)|None|input|0|False|True\",\n+            \"*QgsProcessingParameterField|arc_backward_column|Arc backward direction cost column (number)|None|input|0|False|True\",\n+            \"*QgsProcessingParameterField|node_column|Node cost column (number)|None|input|0|False|True\",\n+            \"*QgsProcessingParameterBoolean|-a|Add points on nodes|True|True\",\n+            \"*QgsProcessingParameterBoolean|-g|Use geodesic calculation for longitude-latitude locations|False|True\",\n+            \"QgsProcessingParameterVectorDestination|output|Network Centrality\"\n         ],\n-        \"short_description\": \"Builds polylines from lines or boundaries.\"\n+        \"short_description\": \"Computes degree, centrality, betweenness, closeness and eigenvector centrality measures in the network.\"\n     },\n     {\n-        \"command\": \"r.out.gridatb\",\n-        \"display_name\": \"r.out.gridatb\",\n+        \"command\": \"r.clump\",\n+        \"display_name\": \"r.clump\",\n         \"ext_path\": null,\n         \"group\": \"Raster (r.*)\",\n         \"group_id\": \"raster\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"r.out.gridatb\",\n+        \"name\": \"r.clump\",\n         \"parameters\": [\n-            \"QgsProcessingParameterRasterLayer|input|Name of input raster map|None|False\",\n-            \"QgsProcessingParameterFileDestination|output|GRIDATB|Txt files (*.txt)|None|False\"\n+            \"QgsProcessingParameterRasterLayer|input|Input layer|None|False\",\n+            \"QgsProcessingParameterString|title|Title for output raster map|None|True\",\n+            \"*QgsProcessingParameterBoolean|-d|Clump also diagonal cells|False\",\n+            \"QgsProcessingParameterRasterDestination|output|Clumps\",\n+            \"QgsProcessingParameterNumber|threshold|Threshold to identify similar cells|QgsProcessingParameterNumber.Double|0|False|0|1\"\n         ],\n-        \"short_description\": \"Exports GRASS raster map to GRIDATB.FOR map file (TOPMODEL)\"\n+        \"short_description\": \"Recategorizes data in a raster map by grouping cells that form physically discrete areas into unique categories.\"\n     },\n     {\n-        \"command\": \"r.resamp.filter\",\n-        \"display_name\": \"r.resamp.filter\",\n-        \"ext_path\": \"r_resamp_filter\",\n+        \"command\": \"r.reclass\",\n+        \"display_name\": \"r.reclass\",\n+        \"ext_path\": \"r_reclass\",\n         \"group\": \"Raster (r.*)\",\n         \"group_id\": \"raster\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"r.resamp.filter\",\n+        \"name\": \"r.reclass\",\n         \"parameters\": [\n             \"QgsProcessingParameterRasterLayer|input|Input raster layer|None|False\",\n-            \"QgsProcessingParameterEnum|filter|Filter kernel(s)|box;bartlett;gauss;normal;hermite;sinc;lanczos1;lanczos2;lanczos3;hann;hamming;blackman|True|0|False\",\n-            \"QgsProcessingParameterString|radius|Filter radius for each filter (comma separated list of float if multiple)|None|False|True\",\n-            \"QgsProcessingParameterString|x_radius|Filter radius (horizontal) for each filter (comma separated list of float if multiple)|None|False|True\",\n-            \"QgsProcessingParameterString|y_radius|Filter radius (vertical) for each filter (comma separated list of float if multiple)|None|False|True\",\n-            \"*QgsProcessingParameterBoolean|-n|Propagate NULLs|False|True\",\n-            \"QgsProcessingParameterRasterDestination|output|Resampled Filter\"\n+            \"QgsProcessingParameterFile|rules|File containing reclass rules|QgsProcessingParameterFile.File|txt|None|True\",\n+            \"QgsProcessingParameterString|txtrules|Reclass rules text (if rule file not used)|None|True|True\",\n+            \"QgsProcessingParameterRasterDestination|output|Reclassified\"\n         ],\n-        \"short_description\": \"Resamples raster map layers using an analytic kernel.\"\n+        \"short_description\": \"Creates a new map layer whose category values are based upon a reclassification of the categories in an existing raster map layer.\"\n     },\n     {\n-        \"command\": \"r.carve\",\n-        \"display_name\": \"r.carve\",\n+        \"command\": \"v.surf.bspline\",\n+        \"display_name\": \"v.surf.bspline\",\n         \"ext_path\": null,\n-        \"group\": \"Raster (r.*)\",\n-        \"group_id\": \"raster\",\n+        \"group\": \"Vector (v.*)\",\n+        \"group_id\": \"vector\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"r.carve\",\n+        \"name\": \"v.surf.bspline\",\n         \"parameters\": [\n-            \"QgsProcessingParameterRasterLayer|raster|Elevation|None|False\",\n-            \"QgsProcessingParameterFeatureSource|vector|Vector layer containing stream(s)|1|None|False\",\n-            \"QgsProcessingParameterNumber|width|Stream width (in meters). Default is raster cell width|QgsProcessingParameterNumber.Double|None|True|None|None\",\n-            \"QgsProcessingParameterNumber|depth|Additional stream depth (in meters)|QgsProcessingParameterNumber.Double|None|True|None|None\",\n-            \"QgsProcessingParameterBoolean|-n|No flat areas allowed in flow direction|False\",\n-            \"QgsProcessingParameterRasterDestination|output|Modified elevation\",\n-            \"QgsProcessingParameterVectorDestination|points|Adjusted stream points\"\n+            \"QgsProcessingParameterFeatureSource|input|Input points layer|-1|None|False\",\n+            \"QgsProcessingParameterField|column|Attribute table column with values to interpolate|None|input|-1|False|True\",\n+            \"QgsProcessingParameterFeatureSource|sparse_input|Sparse points layer|-1|None|True\",\n+            \"QgsProcessingParameterNumber|ew_step|Length of each spline step in the east-west direction|QgsProcessingParameterNumber.Double|4.0|True|None|None\",\n+            \"QgsProcessingParameterNumber|ns_step|Length of each spline step in the north-south direction|QgsProcessingParameterNumber.Double|4.0|True|None|None\",\n+            \"QgsProcessingParameterEnum|method|Spline interpolation algorithm|bilinear;bicubic|False|0|True\",\n+            \"QgsProcessingParameterNumber|lambda_i|Tykhonov regularization parameter (affects smoothing)|QgsProcessingParameterNumber.Double|0.01|True|None|None\",\n+            \"QgsProcessingParameterEnum|solver|Type of solver which should solve the symmetric linear equation system|cholesky;cg|False|0|True\",\n+            \"QgsProcessingParameterNumber|maxit|Maximum number of iteration used to solve the linear equation system|QgsProcessingParameterNumber.Integer|10000|True|1|None\",\n+            \"QgsProcessingParameterNumber|error|Error break criteria for iterative solver|QgsProcessingParameterNumber.Double|0.000001|True|0.0|None\",\n+            \"QgsProcessingParameterNumber|memory|Maximum memory to be used (in MB)|QgsProcessingParameterNumber.Integer|300|True|1|None\",\n+            \"QgsProcessingParameterVectorDestination|output|Output vector|QgsProcessing.TypeVectorAnyGeometry|None|True|False\",\n+            \"QgsProcessingParameterRasterDestination|raster_output|Interpolated spline|None|True\"\n         ],\n-        \"short_description\": \"Takes vector stream data, transforms it to raster and subtracts depth from the output DEM.\"\n+        \"short_description\": \"Bicubic or bilinear spline interpolation with Tykhonov regularization.\"\n     },\n     {\n-        \"command\": \"r.li.simpson\",\n-        \"display_name\": \"r.li.simpson.ascii\",\n-        \"ext_path\": \"r_li_simpson_ascii\",\n+        \"command\": \"r.mask\",\n+        \"display_name\": \"r.mask.rast\",\n+        \"ext_path\": \"r_mask_rast\",\n         \"group\": \"Raster (r.*)\",\n         \"group_id\": \"raster\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"r.li.simpson.ascii\",\n+        \"name\": \"r.mask.rast\",\n         \"parameters\": [\n-            \"QgsProcessingParameterRasterLayer|input|Name of input raster map|None|False\",\n-            \"QgsProcessingParameterString|config_txt|Landscape structure configuration|None|True|True\",\n-            \"QgsProcessingParameterFile|config|Landscape structure configuration file|QgsProcessingParameterFile.File|txt|None|True\",\n-            \"QgsProcessingParameterFileDestination|output_txt|Simpson|Txt files (*.txt)|None|False\"\n+            \"QgsProcessingParameterRasterLayer|raster|Name of raster map to use as mask|None|False\",\n+            \"QgsProcessingParameterRasterLayer|input|Name of raster map to which apply the mask|None|False\",\n+            \"QgsProcessingParameterString|maskcats|Raster values to use for mask. Format: 1 2 3 thru 7 *|*|False|True\",\n+            \"*QgsProcessingParameterBoolean|-i|Create inverse mask|False|True\",\n+            \"QgsProcessingParameterRasterDestination|output|Masked\"\n         ],\n-        \"short_description\": \"r.li.simpson.ascii - Calculates Simpson's diversity index on a raster map\"\n+        \"short_description\": \"r.mask.rast - Creates a MASK for limiting raster operation.\"\n     },\n     {\n         \"command\": \"r.series.interp\",\n         \"display_name\": \"r.series.interp\",\n         \"ext_path\": \"r_series_interp\",\n         \"group\": \"Raster (r.*)\",\n         \"group_id\": \"raster\",\n@@ -3967,1433 +3828,1650 @@\n             \"QgsProcessingParameterFile|outfile|Input file with one output raster map name and sample point position per line, field separator between name and sample point is 'pipe'|QgsProcessingParameterFile.File|txt|None|True\",\n             \"QgsProcessingParameterEnum|method|Interpolation method, currently only linear interpolation is supported|linear|False|0|True\",\n             \"QgsProcessingParameterFolderDestination|output_dir|Interpolated rasters|None|False\"\n         ],\n         \"short_description\": \"Interpolates raster maps located (temporal or spatial) in between input raster maps at specific sampling positions.\"\n     },\n     {\n-        \"command\": \"r.li.renyi\",\n-        \"display_name\": \"r.li.renyi\",\n-        \"ext_path\": \"r_li_renyi\",\n-        \"group\": \"Raster (r.*)\",\n-        \"group_id\": \"raster\",\n+        \"command\": \"i.group\",\n+        \"display_name\": \"i.group\",\n+        \"ext_path\": \"i_group\",\n+        \"group\": \"Imagery (i.*)\",\n+        \"group_id\": \"imagery\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"r.li.renyi\",\n+        \"name\": \"i.group\",\n         \"parameters\": [\n-            \"QgsProcessingParameterRasterLayer|input|Name of input raster map|None|False\",\n-            \"QgsProcessingParameterString|config_txt|Landscape structure configuration|None|True|True\",\n-            \"QgsProcessingParameterFile|config|Landscape structure configuration file|QgsProcessingParameterFile.File|txt|None|True\",\n-            \"QgsProcessingParameterString|alpha|Alpha value is the order of the generalized entropy|None|False|False\",\n-            \"QgsProcessingParameterRasterDestination|output|Renyi\"\n+            \"QgsProcessingParameterMultipleLayers|input|Input rasters|3|None|False\",\n+            \"QgsProcessingParameterRasterDestination|group|Multiband raster\"\n         ],\n-        \"short_description\": \"Calculates Renyi's diversity index on a raster map\"\n+        \"short_description\": \"Regroup multiple mono-band rasters into a single multiband raster.\"\n     },\n     {\n-        \"command\": \"r.li.padsd\",\n-        \"display_name\": \"r.li.padsd\",\n-        \"ext_path\": \"r_li_padsd\",\n+        \"command\": \"r.li.richness\",\n+        \"display_name\": \"r.li.richness\",\n+        \"ext_path\": \"r_li_richness\",\n         \"group\": \"Raster (r.*)\",\n         \"group_id\": \"raster\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"r.li.padsd\",\n+        \"name\": \"r.li.richness\",\n         \"parameters\": [\n             \"QgsProcessingParameterRasterLayer|input|Name of input raster map|None|False\",\n             \"QgsProcessingParameterString|config_txt|Landscape structure configuration|None|True|True\",\n             \"QgsProcessingParameterFile|config|Landscape structure configuration file|QgsProcessingParameterFile.File|txt|None|True\",\n-            \"QgsProcessingParameterRasterDestination|output|Patch Area SD\"\n+            \"QgsProcessingParameterRasterDestination|output|Richness\"\n         ],\n-        \"short_description\": \"Calculates standard deviation of patch area a raster map\"\n+        \"short_description\": \"Calculates richness index on a raster map\"\n     },\n     {\n-        \"command\": \"r.out.mat\",\n-        \"display_name\": \"r.out.mat\",\n+        \"command\": \"r.stats.quantile\",\n+        \"display_name\": \"r.stats.quantile.out\",\n         \"ext_path\": null,\n         \"group\": \"Raster (r.*)\",\n         \"group_id\": \"raster\",\n-        \"hardcoded_strings\": [],\n-        \"name\": \"r.out.mat\",\n+        \"hardcoded_strings\": [\n+            \"-p\"\n+        ],\n+        \"name\": \"r.stats.quantile.out\",\n         \"parameters\": [\n-            \"QgsProcessingParameterRasterLayer|input|Input raster|None|False\",\n-            \"QgsProcessingParameterFileDestination|output|MAT File|Mat files (*.mat)|None|False\"\n+            \"QgsProcessingParameterRasterLayer|base|Name of base raster map|None|False\",\n+            \"QgsProcessingParameterRasterLayer|cover|Name of cover raster map|None|False\",\n+            \"QgsProcessingParameterNumber|quantiles|Number of quantiles|QgsProcessingParameterNumber.Integer|None|True|0|None\",\n+            \"QgsProcessingParameterString|percentiles|List of percentiles|None|False|True\",\n+            \"QgsProcessingParameterNumber|bins|Number of bins to use|QgsProcessingParameterNumber.Integer|1000|True|0|None\",\n+            \"*QgsProcessingParameterBoolean|-r|Create reclass map with statistics as category labels|False\",\n+            \"Hardcoded|-p\",\n+            \"QgsProcessingParameterFileDestination|file|Statistics File|Txt files (*.txt)|None|False\"\n         ],\n-        \"short_description\": \"Exports a GRASS raster to a binary MAT-File\"\n+        \"short_description\": \"r.stats.quantile.out - Compute category quantiles using two passes and output statistics\"\n     },\n     {\n-        \"command\": \"r.regression.line\",\n-        \"display_name\": \"r.regression.line\",\n+        \"command\": \"r.surf.idw\",\n+        \"display_name\": \"r.surf.idw\",\n         \"ext_path\": null,\n         \"group\": \"Raster (r.*)\",\n         \"group_id\": \"raster\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"r.regression.line\",\n+        \"name\": \"r.surf.idw\",\n         \"parameters\": [\n-            \"QgsProcessingParameterRasterLayer|mapx|Layer for x coefficient|None|False\",\n-            \"QgsProcessingParameterRasterLayer|mapy|Layer for y coefficient|None|False\",\n-            \"QgsProcessingParameterFileDestination|html|Regression coefficients|Html files (*.html)|report.html|False\"\n+            \"QgsProcessingParameterRasterLayer|input|Name of input raster layer|None|False\",\n+            \"QgsProcessingParameterNumber|npoints|Number of interpolation points|QgsProcessingParameterNumber.Integer|12|True|1|None\",\n+            \"QgsProcessingParameterBoolean|-e|Output is the interpolation error|False\",\n+            \"QgsProcessingParameterRasterDestination|output|Interpolated IDW\"\n         ],\n-        \"short_description\": \"Calculates linear regression from two raster layers : y = a + b*x.\"\n+        \"short_description\": \"Surface interpolation utility for raster layers.\"\n     },\n     {\n-        \"command\": \"r.out.ppm\",\n-        \"display_name\": \"r.out.ppm\",\n+        \"command\": \"v.perturb\",\n+        \"display_name\": \"v.perturb\",\n         \"ext_path\": null,\n-        \"group\": \"Raster (r.*)\",\n-        \"group_id\": \"raster\",\n+        \"group\": \"Vector (v.*)\",\n+        \"group_id\": \"vector\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"r.out.ppm\",\n+        \"name\": \"v.perturb\",\n         \"parameters\": [\n-            \"QgsProcessingParameterRasterLayer|input|Input raster layer|None|False\",\n-            \"QgsProcessingParameterBoolean|-g|Output greyscale instead of color|True\",\n-            \"QgsProcessingParameterFileDestination|output|PPM|PPM files (*.ppm)|None|False\"\n+            \"QgsProcessingParameterFeatureSource|input|Vector points to be spatially perturbed|-1|None|False\",\n+            \"QgsProcessingParameterEnum|distribution|Distribution of perturbation|uniform;normal|False|0|True\",\n+            \"QgsProcessingParameterString|parameters|Parameter(s) of distribution (uniform: maximum; normal: mean and stddev)|None|False|True\",\n+            \"QgsProcessingParameterNumber|minimum|Minimum deviation in map units|QgsProcessingParameterNumber.Double|0.0|True|None|None\",\n+            \"QgsProcessingParameterNumber|seed|Seed for random number generation|QgsProcessingParameterNumber.Integer|0|True|None|None\",\n+            \"QgsProcessingParameterVectorDestination|output|Perturbed\"\n         ],\n-        \"short_description\": \"Converts a raster layer to a PPM image file at the pixel resolution of the currently defined region.\"\n+        \"short_description\": \"Random location perturbations of GRASS vector points\"\n     },\n     {\n-        \"command\": \"r.what\",\n-        \"display_name\": \"r.what.points\",\n+        \"command\": \"i.zc\",\n+        \"display_name\": \"i.zc\",\n         \"ext_path\": null,\n+        \"group\": \"Imagery (i.*)\",\n+        \"group_id\": \"imagery\",\n+        \"hardcoded_strings\": [],\n+        \"name\": \"i.zc\",\n+        \"parameters\": [\n+            \"QgsProcessingParameterRasterLayer|input|Name of input raster map|None|False\",\n+            \"QgsProcessingParameterNumber|width|x-y extent of the Gaussian filter|QgsProcessingParameterNumber.Double|9|True|1|None\",\n+            \"QgsProcessingParameterNumber|threshold|Sensitivity of Gaussian filter|QgsProcessingParameterNumber.Double|10.0|True|0|None\",\n+            \"QgsProcessingParameterNumber|orientations|Number of azimuth directions categorized|QgsProcessingParameterNumber.Double|1|True|0|None\",\n+            \"QgsProcessingParameterRasterDestination|output|Zero crossing\"\n+        ],\n+        \"short_description\": \"Zero-crossing \\\"edge detection\\\" raster function for image processing.\"\n+    },\n+    {\n+        \"command\": \"r.colors.stddev\",\n+        \"display_name\": \"r.colors.stddev\",\n+        \"ext_path\": \"r_colors_stddev\",\n         \"group\": \"Raster (r.*)\",\n         \"group_id\": \"raster\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"r.what.points\",\n+        \"name\": \"r.colors.stddev\",\n         \"parameters\": [\n             \"QgsProcessingParameterRasterLayer|map|Name of raster map|None|False\",\n-            \"QgsProcessingParameterFeatureSource|points|Name of vector points layer for query|0|None|False\",\n-            \"QgsProcessingParameterString|null_value|String representing NULL value|*|False|True\",\n-            \"QgsProcessingParameterString|separator|Field separator. Special characters: pipe, comma, space, tab, newline|pipe|False|True\",\n-            \"QgsProcessingParameterNumber|cache|Size of point cache|QgsProcessingParameterNumber.Integer|500|True|0|None\",\n-            \"*QgsProcessingParameterBoolean|-n|Output header row|False|True\",\n-            \"*QgsProcessingParameterBoolean|-f|Show the category labels of the grid cell(s)|False|True\",\n-            \"*QgsProcessingParameterBoolean|-r|Output color values as RRR:GGG:BBB|False|True\",\n-            \"*QgsProcessingParameterBoolean|-i|Output integer category values, not cell values|False|True\",\n-            \"*QgsProcessingParameterBoolean|-c|Turn on cache reporting|False|True\",\n-            \"QgsProcessingParameterFileDestination|output|Raster Values File|Txt files (*.txt)|None|False\"\n+            \"*QgsProcessingParameterBoolean|-b|Color using standard deviation bands|False\",\n+            \"*QgsProcessingParameterBoolean|-z|Force center at zero|False\",\n+            \"QgsProcessingParameterRasterDestination|output|Stddev Colors\"\n         ],\n-        \"short_description\": \"r.what.points - Queries raster maps on their category values and category labels on a layer of points.\"\n+        \"short_description\": \"Sets color rules based on stddev from a raster map's mean value.\"\n     },\n     {\n-        \"command\": \"r.tileset\",\n-        \"display_name\": \"r.tileset\",\n-        \"ext_path\": \"r_tileset\",\n+        \"command\": \"r.li.patchnum\",\n+        \"display_name\": \"r.li.patchnum.ascii\",\n+        \"ext_path\": \"r_li_patchnum_ascii\",\n         \"group\": \"Raster (r.*)\",\n         \"group_id\": \"raster\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"r.tileset\",\n+        \"name\": \"r.li.patchnum.ascii\",\n         \"parameters\": [\n-            \"QgsProcessingParameterCrs|sourceproj|Source projection|None|False\",\n-            \"QgsProcessingParameterNumber|sourcescale|Conversion factor from units to meters in source projection|QgsProcessingParameterNumber.Double|1.0|True|None|None\",\n-            \"QgsProcessingParameterCrs|destproj|Destination projection|None|True\",\n-            \"QgsProcessingParameterNumber|destscale|Conversion factor from units to meters in destination projection|QgsProcessingParameterNumber.Double|1.0|True|None|None\",\n-            \"QgsProcessingParameterNumber|maxcols|Maximum number of columns for a tile in the source projection|QgsProcessingParameterNumber.Integer|1024|True|1|None\",\n-            \"QgsProcessingParameterNumber|maxrows|Maximum number of rows for a tile in the source projection|QgsProcessingParameterNumber.Integer|1024|True|1|None\",\n-            \"QgsProcessingParameterNumber|overlap|Number of cells tiles should overlap in each direction|QgsProcessingParameterNumber.Integer|0|True|0|None\",\n-            \"QgsProcessingParameterString|separator|Output field separator|pipe|False|True\",\n-            \"*QgsProcessingParameterBoolean|-g|Produces shell script output|False\",\n-            \"*QgsProcessingParameterBoolean|-w|Produces web map server query string output|False\",\n-            \"QgsProcessingParameterFileDestination|html|Tileset|HTML files (*.html)|None|False\"\n+            \"QgsProcessingParameterRasterLayer|input|Name of input raster map|None|False\",\n+            \"QgsProcessingParameterString|config_txt|Landscape structure configuration|None|True|True\",\n+            \"QgsProcessingParameterFile|config|Landscape structure configuration file|QgsProcessingParameterFile.File|txt|None|True\",\n+            \"QgsProcessingParameterFileDestination|output_txt|Patch Number|Txt files (*.txt)|None|False\"\n         ],\n-        \"short_description\": \"Produces tilings of the source projection for use in the destination region and projection.\"\n+        \"short_description\": \"r.li.patchnum.ascii - Calculates patch number index on a raster map, using a 4 neighbour algorithm.\"\n     },\n     {\n-        \"command\": \"r.out.png\",\n-        \"display_name\": \"r.out.png\",\n+        \"command\": \"r.buffer.lowmem\",\n+        \"display_name\": \"r.buffer.lowmem\",\n         \"ext_path\": null,\n         \"group\": \"Raster (r.*)\",\n         \"group_id\": \"raster\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"r.out.png\",\n+        \"name\": \"r.buffer.lowmem\",\n         \"parameters\": [\n-            \"QgsProcessingParameterRasterLayer|input|Input raster|None|False\",\n-            \"QgsProcessingParameterNumber|compression|Compression level of PNG file (0 = none, 1 = fastest, 9 = best)|QgsProcessingParameterNumber.Integer|6|True|0|9\",\n-            \"*QgsProcessingParameterBoolean|-t|Make NULL cells transparent|False|True\",\n-            \"*QgsProcessingParameterBoolean|-w|Output world file|False|True\",\n-            \"QgsProcessingParameterFileDestination|output|PNG File|PNG files (*.png)|None|False\"\n+            \"QgsProcessingParameterRasterLayer|input|Input raster layer|None|False\",\n+            \"QgsProcessingParameterString|distances|Distance zone(s) (e.g. 100,200,300)|None|False|False\",\n+            \"QgsProcessingParameterEnum|units|Units of distance|meters;kilometers;feet;miles;nautmiles|False|0|False\",\n+            \"QgsProcessingParameterBoolean|-z|Ignore zero (0) data cells instead of NULL cells|False\",\n+            \"QgsProcessingParameterRasterDestination|output|Buffer\"\n         ],\n-        \"short_description\": \"Export a GRASS raster map as a non-georeferenced PNG image\"\n+        \"short_description\": \"Creates a raster map layer showing buffer zones surrounding cells that contain non-NULL category values (low-memory alternative).\"\n     },\n     {\n-        \"command\": \"v.in.wfs\",\n-        \"display_name\": \"v.in.wfs\",\n-        \"ext_path\": null,\n-        \"group\": \"Vector (v.*)\",\n-        \"group_id\": \"vector\",\n+        \"command\": \"r.colors\",\n+        \"display_name\": \"r.colors\",\n+        \"ext_path\": \"r_colors\",\n+        \"group\": \"Raster (r.*)\",\n+        \"group_id\": \"raster\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"v.in.wfs\",\n+        \"name\": \"r.colors\",\n         \"parameters\": [\n-            \"QgsProcessingParameterString|url|GetFeature URL starting with 'http'|http://|False|False\",\n-            \"QgsProcessingParameterCrs|srs|Alternate spatial reference system|None|True\",\n-            \"QgsProcessingParameterString|name|Comma separated names of data layers to download|None|False|True\",\n-            \"QgsProcessingParameterNumber|maximum_features|Maximum number of features to download|QgsProcessingParameterNumber.Integer|None|True|1|None\",\n-            \"QgsProcessingParameterNumber|start_index|Skip earlier feature IDs and start downloading at this one|QgsProcessingParameterNumber.Integer|None|True|1|None\",\n-            \"QgsProcessingParameterVectorDestination|output|Converted\"\n+            \"QgsProcessingParameterMultipleLayers|map|Name of raster maps(s)|3|None|False\",\n+            \"QgsProcessingParameterEnum|color|Name of color table|not selected;aspect;aspectcolr;bcyr;bgyr;blues;byg;byr;celsius;corine;curvature;differences;elevation;etopo2;evi;fahrenheit;gdd;greens;grey;grey.eq;grey.log;grey1.0;grey255;gyr;haxby;kelvin;ndvi;ndwi;oranges;population;population_dens;precipitation;precipitation_daily;precipitation_monthly;rainbow;ramp;random;reds;rstcurv;ryb;ryg;sepia;slope;srtm;srtm_plus;terrain;wave|False|0|True\",\n+            \"QgsProcessingParameterString|rules_txt|Color rules|None|True|True\",\n+            \"QgsProcessingParameterFile|rules|Color rules file|QgsProcessingParameterFile.File|txt|None|True\",\n+            \"QgsProcessingParameterRasterLayer|raster|Raster map from which to copy color table|None|True\",\n+            \"QgsProcessingParameterBoolean|-r|Remove existing color table|False\",\n+            \"QgsProcessingParameterBoolean|-w|Only write new color table if it does not already exist|False\",\n+            \"QgsProcessingParameterBoolean|-n|Invert colors|False\",\n+            \"QgsProcessingParameterBoolean|-g|Logarithmic scaling|False\",\n+            \"QgsProcessingParameterBoolean|-a|Logarithmic-absolute scaling|False\",\n+            \"QgsProcessingParameterBoolean|-e|Histogram equalization|False\",\n+            \"QgsProcessingParameterFolderDestination|output_dir|Output Directory|None|False\"\n         ],\n-        \"short_description\": \"Import GetFeature from WFS\"\n+        \"short_description\": \"Creates/modifies the color table associated with a raster map.\"\n     },\n     {\n-        \"command\": \"r.resamp.bspline\",\n-        \"display_name\": \"r.resamp.bspline\",\n+        \"command\": \"i.eb.netrad\",\n+        \"display_name\": \"i.eb.netrad\",\n         \"ext_path\": null,\n+        \"group\": \"Imagery (i.*)\",\n+        \"group_id\": \"imagery\",\n+        \"hardcoded_strings\": [],\n+        \"name\": \"i.eb.netrad\",\n+        \"parameters\": [\n+            \"QgsProcessingParameterRasterLayer|albedo|Name of albedo raster map [0.0;1.0]|None|False\",\n+            \"QgsProcessingParameterRasterLayer|ndvi|Name of NDVI raster map [-1.0;+1.0]|None|False\",\n+            \"QgsProcessingParameterRasterLayer|temperature|Name of surface temperature raster map [K]|None|False\",\n+            \"QgsProcessingParameterRasterLayer|localutctime|Name of time of satellite overpass raster map [local time in UTC]|None|False\",\n+            \"QgsProcessingParameterRasterLayer|temperaturedifference2m|Name of the difference map of temperature from surface skin to about 2 m height [K]|None|False\",\n+            \"QgsProcessingParameterRasterLayer|emissivity|Name of the emissivity map [-]|None|False\",\n+            \"QgsProcessingParameterRasterLayer|transmissivity_singleway|Name of the single-way atmospheric transmissivitymap [-]|None|False\",\n+            \"QgsProcessingParameterRasterLayer|dayofyear|Name of the Day Of Year (DOY) map [-]|None|False\",\n+            \"QgsProcessingParameterRasterLayer|sunzenithangle|Name of the sun zenith angle map [degrees]|None|False\",\n+            \"QgsProcessingParameterRasterDestination|output|Net Radiation\"\n+        ],\n+        \"short_description\": \"Net radiation approximation (Bastiaanssen, 1995).\"\n+    },\n+    {\n+        \"command\": \"r.li.shape\",\n+        \"display_name\": \"r.li.shape.ascii\",\n+        \"ext_path\": \"r_li_shape_ascii\",\n         \"group\": \"Raster (r.*)\",\n         \"group_id\": \"raster\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"r.resamp.bspline\",\n+        \"name\": \"r.li.shape.ascii\",\n         \"parameters\": [\n-            \"QgsProcessingParameterRasterLayer|input|Input raster layer|None|False\",\n-            \"QgsProcessingParameterRasterLayer|mask|Name of raster map to use for masking. Only cells that are not NULL and not zero are interpolated|None|True\",\n-            \"QgsProcessingParameterEnum|method|Sampling interpolation method|bilinear;bicubic|False|1|False\",\n-            \"QgsProcessingParameterNumber|ew_step|Length (float) of each spline step in the east-west direction|QgsProcessingParameterNumber.Double|None|True|0.0|None\",\n-            \"QgsProcessingParameterNumber|ns_step|Length (float) of each spline step in the north-south direction|QgsProcessingParameterNumber.Double|None|True|0.0|None\",\n-            \"QgsProcessingParameterNumber|lambda|Tykhonov regularization parameter (affects smoothing)|QgsProcessingParameterNumber.Double|0.01|True|0.0|None\",\n-            \"QgsProcessingParameterNumber|memory|Maximum memory to be used (in MB). Cache size for raster rows|QgsProcessingParameterNumber.Integer|300|True|10|None\",\n-            \"*QgsProcessingParameterBoolean|-n|Only interpolate null cells in input raster map|False|True\",\n-            \"*QgsProcessingParameterBoolean|-c|Find the best Tykhonov regularizing parameter using a \\\"leave-one-out\\\" cross validation method|False|True\",\n-            \"QgsProcessingParameterRasterDestination|output|Resampled BSpline\",\n-            \"QgsProcessingParameterVectorDestination|grid|Interpolation Grid\"\n+            \"QgsProcessingParameterRasterLayer|input|Name of input raster map|None|False\",\n+            \"QgsProcessingParameterString|config_txt|Landscape structure configuration|None|True|True\",\n+            \"QgsProcessingParameterFile|config|Landscape structure configuration file|QgsProcessingParameterFile.File|txt|None|True\",\n+            \"QgsProcessingParameterFileDestination|output_txt|Shape|Txt files (*.txt)|None|False\"\n         ],\n-        \"short_description\": \"Performs bilinear or bicubic spline interpolation with Tykhonov regularization.\"\n+        \"short_description\": \"r.li.shape.ascii - Calculates shape index on a raster map\"\n     },\n     {\n-        \"command\": \"r.geomorphon\",\n-        \"display_name\": \"r.geomorphon\",\n+        \"command\": \"r.quant\",\n+        \"display_name\": \"r.quant\",\n         \"ext_path\": null,\n         \"group\": \"Raster (r.*)\",\n         \"group_id\": \"raster\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"r.geomorphon\",\n+        \"name\": \"r.quant\",\n         \"parameters\": [\n-            \"QgsProcessingParameterRasterLayer|elevation|Name of input elevation raster map|None|False\",\n-            \"QgsProcessingParameterNumber|search|Outer search radius|QgsProcessingParameterNumber.Integer|3|True|3|499\",\n-            \"QgsProcessingParameterNumber|skip|Inner search radius|QgsProcessingParameterNumber.Integer|0|True|0|499\",\n-            \"QgsProcessingParameterNumber|flat|Flatness threshold (degrees)|QgsProcessingParameterNumber.Double|1.0|True|None|None\",\n-            \"QgsProcessingParameterNumber|dist|Flatness distance, zero for none|QgsProcessingParameterNumber.Double|0.0|True|None|None\",\n-            \"QgsProcessingParameterRasterDestination|forms|Most common geomorphic forms\",\n-            \"*QgsProcessingParameterBoolean|-m|Use meters to define search units (default is cells)|False\",\n-            \"*QgsProcessingParameterBoolean|-e|Use extended form correction|False\"\n+            \"QgsProcessingParameterMultipleLayers|input|Raster layer(s) to be quantized|1|None|False\",\n+            \"QgsProcessingParameterRasterLayer|basemap|Base layer to take quant rules from|None|True\",\n+            \"QgsProcessingParameterRange|fprange|Floating point range: dmin,dmax|QgsProcessingParameterNumber.Double|None|True\",\n+            \"QgsProcessingParameterRange|range|Integer range: min,max|QgsProcessingParameterNumber.Integer|None|True\",\n+            \"QgsProcessingParameterBoolean|-t|Truncate floating point data|False\",\n+            \"QgsProcessingParameterBoolean|-r|Round floating point data|False\",\n+            \"QgsProcessingParameterFolderDestination|output|Quantized raster(s)|None|False\"\n         ],\n-        \"short_description\": \"Calculates geomorphons (terrain forms) and associated geometry using machine vision approach.\"\n+        \"short_description\": \"Produces the quantization file for a floating-point map.\"\n     },\n     {\n-        \"command\": \"v.net.spanningtree\",\n-        \"display_name\": \"v.net.spanningtree\",\n-        \"ext_path\": \"v_net_spanningtree\",\n-        \"group\": \"Vector (v.*)\",\n-        \"group_id\": \"vector\",\n+        \"command\": \"r.mapcalc.simple\",\n+        \"display_name\": \"r.mapcalc.simple\",\n+        \"ext_path\": null,\n+        \"group\": \"Raster (r.*)\",\n+        \"group_id\": \"raster\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"v.net.spanningtree\",\n+        \"name\": \"r.mapcalc.simple\",\n         \"parameters\": [\n-            \"QgsProcessingParameterFeatureSource|input|Input vector line layer (arcs)|1|None|False\",\n-            \"QgsProcessingParameterFeatureSource|points|Input point layer (nodes)|0|None|True\",\n-            \"QgsProcessingParameterNumber|threshold|Threshold for connecting centers to the network (in map unit)|QgsProcessingParameterNumber.Double|50.0|True|0.0|None\",\n-            \"*QgsProcessingParameterField|arc_column|Arc forward/both direction(s) cost column (number)|None|input|0|False|True\",\n-            \"*QgsProcessingParameterField|node_column|Node cost column (number)|None|points|0|False|True\",\n-            \"*QgsProcessingParameterBoolean|-g|Use geodesic calculation for longitude-latitude locations|False|True\",\n-            \"QgsProcessingParameterVectorDestination|output|SpanningTree\"\n+            \"QgsProcessingParameterRasterLayer|a|Raster layer A|None|False\",\n+            \"QgsProcessingParameterRasterLayer|b|Raster layer B|None|True\",\n+            \"QgsProcessingParameterRasterLayer|c|Raster layer C|None|True\",\n+            \"QgsProcessingParameterRasterLayer|d|Raster layer D|None|True\",\n+            \"QgsProcessingParameterRasterLayer|e|Raster layer E|None|True\",\n+            \"QgsProcessingParameterRasterLayer|f|Raster layer F|None|True\",\n+            \"QgsProcessingParameterString|expression|Formula|A*2|False\",\n+            \"QgsProcessingParameterRasterDestination|output|Calculated\"\n         ],\n-        \"short_description\": \"Computes minimum spanning tree for the network.\"\n+        \"short_description\": \"Calculate new raster map from a r.mapcalc expression.\"\n     },\n     {\n-        \"command\": \"v.drape\",\n-        \"display_name\": \"v.drape\",\n-        \"ext_path\": null,\n+        \"command\": \"v.net.components\",\n+        \"display_name\": \"v.net.components\",\n+        \"ext_path\": \"v_net_components\",\n         \"group\": \"Vector (v.*)\",\n         \"group_id\": \"vector\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"v.drape\",\n+        \"name\": \"v.net.components\",\n         \"parameters\": [\n-            \"QgsProcessingParameterFeatureSource|input|Input vector layer|-1|None|False\",\n-            \"QgsProcessingParameterString|where|WHERE conditions of SQL statement without 'where' keyword|None|True|True\",\n-            \"QgsProcessingParameterEnum|type|Input feature type|point;line;boundary;centroid|True|0,1,3,4|True\",\n-            \"QgsProcessingParameterRasterLayer|elevation|Elevation raster map for height extraction|None|False\",\n-            \"QgsProcessingParameterEnum|method|Sampling method|nearest;bilinear;bicubic|False|0|True\",\n-            \"QgsProcessingParameterNumber|scale|Scale factor sampled raster values|QgsProcessingParameterNumber.Double|1.0|True|None|None\",\n-            \"QgsProcessingParameterNumber|null_value|Height for sampled raster NULL values|QgsProcessingParameterNumber.Double|None|True|None|None\",\n-            \"QgsProcessingParameterVectorDestination|output|3D vector\"\n+            \"QgsProcessingParameterFeatureSource|input|Input vector line layer (network)|1|None|False\",\n+            \"QgsProcessingParameterFeatureSource|points|Centers point layer (nodes)|0|None|True\",\n+            \"QgsProcessingParameterNumber|threshold|Threshold for connecting centers to the network (in map unit)|QgsProcessingParameterNumber.Double|50.0|True|0.0|None\",\n+            \"QgsProcessingParameterEnum|method|Type of components|weak;strong|False|0|False\",\n+            \"*QgsProcessingParameterField|arc_column|Arc forward/both direction(s) cost column (number)|None|input|0|False|True\",\n+            \"*QgsProcessingParameterField|arc_backward_column|Arc backward direction cost column (number)|None|input|0|False|True\",\n+            \"*QgsProcessingParameterField|node_column|Node cost column (number)|None|points|0|False|True\",\n+            \"*QgsProcessingParameterBoolean|-a|Add points on nodes|True|True\",\n+            \"QgsProcessingParameterVectorDestination|output|Network_Components_Line\",\n+            \"QgsProcessingParameterVectorDestination|output_point|Network_Components_Point\"\n         ],\n-        \"short_description\": \"Converts 2D vector features to 3D by sampling of elevation raster map.\"\n+        \"short_description\": \"Computes strongly and weakly connected components in the network.\"\n     },\n     {\n-        \"command\": \"v.cluster\",\n-        \"display_name\": \"v.cluster\",\n-        \"ext_path\": null,\n-        \"group\": \"Vector (v.*)\",\n-        \"group_id\": \"vector\",\n+        \"command\": \"r.stats.quantile\",\n+        \"display_name\": \"r.stats.quantile.rast\",\n+        \"ext_path\": \"r_stats_quantile_rast\",\n+        \"group\": \"Raster (r.*)\",\n+        \"group_id\": \"raster\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"v.cluster\",\n+        \"name\": \"r.stats.quantile.rast\",\n         \"parameters\": [\n-            \"QgsProcessingParameterFeatureSource|input|Input layer|-1|None|False\",\n-            \"QgsProcessingParameterNumber|distance|Maximum distance to neighbors|QgsProcessingParameterNumber.Double|None|True|None|None\",\n-            \"QgsProcessingParameterNumber|min|Minimum number of points to create a cluster|QgsProcessingParameterNumber.Integer|None|True|0|None\",\n-            \"QgsProcessingParameterEnum|method|Clustering method|dbscan;dbscan2;density;optics;optics2|True|0|True\",\n-            \"*QgsProcessingParameterBoolean|-2|Force 2D clustering|False\",\n-            \"*QgsProcessingParameterBoolean|-b|Do not build topology|False\",\n-            \"*QgsProcessingParameterBoolean|-t|Do not create attribute table|False\",\n-            \"QgsProcessingParameterVectorDestination|output|Clustered\"\n+            \"QgsProcessingParameterRasterLayer|base|Name of base raster map|None|False\",\n+            \"QgsProcessingParameterRasterLayer|cover|Name of cover raster map|None|False\",\n+            \"QgsProcessingParameterNumber|quantiles|Number of quantiles|QgsProcessingParameterNumber.Integer|None|True|0|None\",\n+            \"QgsProcessingParameterString|percentiles|List of percentiles|None|False|True\",\n+            \"QgsProcessingParameterNumber|bins|Number of bins to use|QgsProcessingParameterNumber.Integer|1000|True|0|None\",\n+            \"*QgsProcessingParameterBoolean|-r|Create reclass map with statistics as category labels|False\",\n+            \"QgsProcessingParameterFolderDestination|output|Output Directory\"\n         ],\n-        \"short_description\": \"Performs cluster identification\"\n+        \"short_description\": \"r.stats.quantile.rast - Compute category quantiles using two passes and output rasters.\"\n     },\n     {\n-        \"command\": \"r.li.edgedensity\",\n-        \"display_name\": \"r.li.edgedensity.ascii\",\n-        \"ext_path\": \"r_li_edgedensity_ascii\",\n+        \"command\": \"r.li.padrange\",\n+        \"display_name\": \"r.li.padrange\",\n+        \"ext_path\": \"r_li_padrange\",\n         \"group\": \"Raster (r.*)\",\n         \"group_id\": \"raster\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"r.li.edgedensity.ascii\",\n+        \"name\": \"r.li.padrange\",\n         \"parameters\": [\n             \"QgsProcessingParameterRasterLayer|input|Name of input raster map|None|False\",\n             \"QgsProcessingParameterString|config_txt|Landscape structure configuration|None|True|True\",\n             \"QgsProcessingParameterFile|config|Landscape structure configuration file|QgsProcessingParameterFile.File|txt|None|True\",\n-            \"QgsProcessingParameterString|patch_type|The value of the patch type|None|False|True\",\n-            \"QgsProcessingParameterBoolean|-b|Exclude border edges|False\",\n-            \"QgsProcessingParameterFileDestination|output_txt|Edge Density|Txt files (*.txt)|None|False\"\n+            \"QgsProcessingParameterRasterDestination|output|Pad Range\"\n         ],\n-        \"short_description\": \"r.li.edgedensity.ascii - Calculates edge density index on a raster map, using a 4 neighbour algorithm\"\n+        \"short_description\": \"Calculates range of patch area size on a raster map\"\n     },\n     {\n-        \"command\": \"v.net.bridge\",\n-        \"display_name\": \"v.net.bridge\",\n-        \"ext_path\": \"v_net_bridge\",\n-        \"group\": \"Vector (v.*)\",\n-        \"group_id\": \"vector\",\n+        \"command\": \"r.his\",\n+        \"display_name\": \"r.his\",\n+        \"ext_path\": null,\n+        \"group\": \"Raster (r.*)\",\n+        \"group_id\": \"raster\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"v.net.bridge\",\n+        \"name\": \"r.his\",\n         \"parameters\": [\n-            \"QgsProcessingParameterFeatureSource|input|Input vector line layer (network)|1|None|False\",\n-            \"QgsProcessingParameterFeatureSource|points|Centers point layer (nodes)|0|None|True\",\n-            \"QgsProcessingParameterEnum|method|Feature type|bridge;articulation|False|0|False\",\n-            \"QgsProcessingParameterNumber|threshold|Threshold for connecting centers to the network (in map unit)|QgsProcessingParameterNumber.Double|50.0|True|0.0|None\",\n-            \"*QgsProcessingParameterField|arc_column|Arc forward/both direction(s) cost column (name)|None|input|0|False|True\",\n-            \"*QgsProcessingParameterField|arc_backward_column|Arc backward direction cost column (name)|None|input|0|False|True\",\n-            \"*QgsProcessingParameterField|node_column|Node cost column (number)|None|points|0|False|True\",\n-            \"QgsProcessingParameterVectorDestination|output|Bridge\"\n+            \"QgsProcessingParameterRasterLayer|hue|Hue|None|False\",\n+            \"QgsProcessingParameterRasterLayer|intensity|Intensity|None|False\",\n+            \"QgsProcessingParameterRasterLayer|saturation|Saturation|None|False\",\n+            \"QgsProcessingParameterString|bgcolor|Color to use instead of NULL values. Either a standard color name, R:G:B triplet, or \\\"none\\\"|None|False|True\",\n+            \"QgsProcessingParameterBoolean|-c|Use colors from color tables for NULL values|False\",\n+            \"QgsProcessingParameterRasterDestination|red|Red\",\n+            \"QgsProcessingParameterRasterDestination|green|Green\",\n+            \"QgsProcessingParameterRasterDestination|blue|Blue\"\n         ],\n-        \"short_description\": \"Computes bridges and articulation points in the network.\"\n+        \"short_description\": \"Generates red, green and blue raster layers combining hue, intensity and saturation (HIS) values from user-specified input raster layers.\"\n     },\n     {\n-        \"command\": \"r.li.simpson\",\n-        \"display_name\": \"r.li.simpson\",\n-        \"ext_path\": \"r_li_simpson\",\n+        \"command\": \"r.li.pielou\",\n+        \"display_name\": \"r.li.pielou.ascii\",\n+        \"ext_path\": \"r_li_pielou_ascii\",\n         \"group\": \"Raster (r.*)\",\n         \"group_id\": \"raster\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"r.li.simpson\",\n+        \"name\": \"r.li.pielou.ascii\",\n         \"parameters\": [\n             \"QgsProcessingParameterRasterLayer|input|Name of input raster map|None|False\",\n             \"QgsProcessingParameterString|config_txt|Landscape structure configuration|None|True|True\",\n             \"QgsProcessingParameterFile|config|Landscape structure configuration file|QgsProcessingParameterFile.File|txt|None|True\",\n-            \"QgsProcessingParameterRasterDestination|output|Simpson\"\n+            \"QgsProcessingParameterFileDestination|output_txt|Pielou|Txt files (*.txt)|None|False\"\n         ],\n-        \"short_description\": \"Calculates Simpson's diversity index on a raster map\"\n+        \"short_description\": \"r.li.pielou.ascii - Calculates Pielou's diversity index on a raster map\"\n     },\n     {\n-        \"command\": \"r.random\",\n-        \"display_name\": \"r.random\",\n+        \"command\": \"v.db.select\",\n+        \"display_name\": \"v.db.select\",\n         \"ext_path\": null,\n-        \"group\": \"Raster (r.*)\",\n-        \"group_id\": \"raster\",\n+        \"group\": \"Vector (v.*)\",\n+        \"group_id\": \"vector\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"r.random\",\n+        \"name\": \"v.db.select\",\n         \"parameters\": [\n-            \"QgsProcessingParameterRasterLayer|input|Input raster layer|None|False\",\n-            \"QgsProcessingParameterRasterLayer|cover|Input cover raster layer|None|False\",\n-            \"QgsProcessingParameterNumber|npoints|The number of points to allocate|QgsProcessingParameterNumber.Integer|None|False|0|None\",\n-            \"QgsProcessingParameterBoolean|-z|Generate points also for NULL category|False\",\n-            \"QgsProcessingParameterBoolean|-d|Generate vector points as 3D points|False\",\n-            \"QgsProcessingParameterBoolean|-b|Do not build topology|False\",\n-            \"QgsProcessingParameterRasterDestination|raster|Random raster\",\n-            \"QgsProcessingParameterVectorDestination|vector|Random vector\"\n+            \"QgsProcessingParameterFeatureSource|map|Input vector map |-1|None|False\",\n+            \"QgsProcessingParameterNumber|layer|Layer Number|QgsProcessingParameterNumber.Double|1|False|None|1\",\n+            \"QgsProcessingParameterString|columns|Name of attribute column(s), comma separated|None|False|True\",\n+            \"*QgsProcessingParameterBoolean|-c|Do not include column names in output|False\",\n+            \"QgsProcessingParameterString|separator|Output field separator|,|False|True\",\n+            \"*QgsProcessingParameterString|where|WHERE conditions of SQL statement without 'where' keyword|None|True|True\",\n+            \"*QgsProcessingParameterString|group|GROUP BY conditions of SQL statement without 'group by' keyword|None|True|True\",\n+            \"*QgsProcessingParameterString|vertical_separator|Output vertical record separator|None|False|True\",\n+            \"*QgsProcessingParameterString|null_value|Null value indicator|None|False|True\",\n+            \"*QgsProcessingParameterBoolean|-v|Vertical output (instead of horizontal)|False\",\n+            \"*QgsProcessingParameterBoolean|-r|Print minimal region extent of selected vector features instead of attributes|False\",\n+            \"QgsProcessingParameterFileDestination|file|Attributes|Txt files (*.txt)|None|False\"\n         ],\n-        \"short_description\": \"Creates a raster layer and vector point map containing randomly located points.\"\n+        \"short_description\": \"Prints vector map attributes\"\n     },\n     {\n-        \"command\": \"v.out.vtk\",\n-        \"display_name\": \"v.out.vtk\",\n+        \"command\": \"v.lidar.edgedetection\",\n+        \"display_name\": \"v.lidar.edgedetection\",\n         \"ext_path\": null,\n         \"group\": \"Vector (v.*)\",\n         \"group_id\": \"vector\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"v.out.vtk\",\n+        \"name\": \"v.lidar.edgedetection\",\n         \"parameters\": [\n-            \"QgsProcessingParameterFeatureSource|input|Name of input vector map|-1|None|False\",\n-            \"QgsProcessingParameterEnum|type|Input feature type|point;kernel;centroid;line;boundary;area;face|True|0,1,2,3,4,5,6|True\",\n-            \"QgsProcessingParameterNumber|precision|Number of significant digits (floating point only)|QgsProcessingParameterNumber.Integer|2|True|0|None\",\n-            \"QgsProcessingParameterNumber|zscale|Scale factor for elevation|QgsProcessingParameterNumber.Double|1.0|True|0.0|None\",\n-            \"*QgsProcessingParameterBoolean|-c|Correct the coordinates to fit the VTK-OpenGL precision|False\",\n-            \"*QgsProcessingParameterBoolean|-n|Export numeric attribute table fields as VTK scalar variables|False\",\n-            \"QgsProcessingParameterFileDestination|output|VTK File|Vtk files (*.vtk)|None|False\"\n+            \"QgsProcessingParameterFeatureSource|input|Input vector layer|0|None|False\",\n+            \"QgsProcessingParameterNumber|ew_step|Length of each spline step in the east-west direction|QgsProcessingParameterNumber.Double|4.0|True|0.0|None\",\n+            \"QgsProcessingParameterNumber|ns_step|Length of each spline step in the north-south direction|QgsProcessingParameterNumber.Double|4.0|True|0.0|None\",\n+            \"QgsProcessingParameterNumber|lambda_g|Regularization weight in gradient evaluation|QgsProcessingParameterNumber.Double|0.01|True|0.0|None\",\n+            \"QgsProcessingParameterNumber|tgh|High gradient threshold for edge classification|QgsProcessingParameterNumber.Double|6.0|True|0.0|None\",\n+            \"QgsProcessingParameterNumber|tgl|Low gradient threshold for edge classification|QgsProcessingParameterNumber.Double|3.0|True|0.0|None\",\n+            \"QgsProcessingParameterNumber|theta_g|Angle range for same direction detection|QgsProcessingParameterNumber.Double|0.26|True|0.0|360.0\",\n+            \"QgsProcessingParameterNumber|lambda_r|Regularization weight in residual evaluation|QgsProcessingParameterNumber.Double|2.0|True|0.0|None\",\n+            \"QgsProcessingParameterBoolean|-e|Estimate point density and distance|False\",\n+            \"QgsProcessingParameterVectorDestination|output|Edges\"\n         ],\n-        \"short_description\": \"Converts a vector map to VTK ASCII output.\"\n+        \"short_description\": \"Detects the object's edges from a LIDAR data set.\"\n     },\n     {\n-        \"command\": \"r.solute.transport\",\n-        \"display_name\": \"r.solute.transport\",\n+        \"command\": \"r.path\",\n+        \"display_name\": \"r.path\",\n         \"ext_path\": null,\n         \"group\": \"Raster (r.*)\",\n         \"group_id\": \"raster\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"r.solute.transport\",\n+        \"name\": \"r.path\",\n         \"parameters\": [\n-            \"QgsProcessingParameterRasterLayer|c|The initial concentration in [kg/m^3]|None|False\",\n-            \"QgsProcessingParameterRasterLayer|phead|The piezometric head in [m]|None|False\",\n-            \"QgsProcessingParameterRasterLayer|hc_x|The x-part of the hydraulic conductivity tensor in [m/s]|None|False\",\n-            \"QgsProcessingParameterRasterLayer|hc_y|The y-part of the hydraulic conductivity tensor in [m/s]|None|False\",\n-            \"QgsProcessingParameterRasterLayer|status|The status for each cell, = 0 - inactive cell, 1 - active cell, 2 - dirichlet- and 3 - transfer boundary condition|None|False\",\n-            \"QgsProcessingParameterRasterLayer|diff_x|The x-part of the diffusion tensor in [m^2/s]|None|False\",\n-            \"QgsProcessingParameterRasterLayer|diff_y|The y-part of the diffusion tensor in [m^2/s]|None|False\",\n-            \"QgsProcessingParameterRasterLayer|q|Groundwater sources and sinks in [m^3/s]|None|True\",\n-            \"QgsProcessingParameterRasterLayer|cin|Concentration sources and sinks bounded to a water source or sink in [kg/s]|None|True\",\n-            \"QgsProcessingParameterRasterLayer|cs|Concentration of inner sources and inner sinks in [kg/s] (i.e. a chemical reaction)|None|False\",\n-            \"QgsProcessingParameterRasterLayer|rd|Retardation factor [-]|None|False\",\n-            \"QgsProcessingParameterRasterLayer|nf|Effective porosity [-]|None|False\",\n-            \"QgsProcessingParameterRasterLayer|top|Top surface of the aquifer in [m]|None|False\",\n-            \"QgsProcessingParameterRasterLayer|bottom|Bottom surface of the aquifer in [m]|None|False\",\n-            \"QgsProcessingParameterNumber|dtime|Calculation time (in seconds)|QgsProcessingParameterNumber.Double|86400.0|False|0.0|None\",\n-            \"QgsProcessingParameterNumber|maxit|Maximum number of iteration used to solve the linear equation system|QgsProcessingParameterNumber.Integer|10000|True|1|None\",\n-            \"QgsProcessingParameterNumber|error|Error break criteria for iterative solver|QgsProcessingParameterNumber.Double|0.000001|True|0.0|None\",\n-            \"QgsProcessingParameterEnum|solver|The type of solver which should solve the linear equation system|gauss;lu;jacobi;sor;bicgstab|False|4\",\n-            \"QgsProcessingParameterNumber|relax|The relaxation parameter used by the jacobi and sor solver for speedup or stabilizing|QgsProcessingParameterNumber.Double|1.0|True|0.0|None\",\n-            \"QgsProcessingParameterNumber|al|The longitudinal dispersivity length. [m]|QgsProcessingParameterNumber.Double|0.0|True|0.0|None\",\n-            \"QgsProcessingParameterNumber|at|The transversal dispersivity length. [m]|QgsProcessingParameterNumber.Double|0.0|True|0.0|None\",\n-            \"QgsProcessingParameterNumber|loops|Use this number of time loops if the CFL flag is off. The timestep will become dt/loops.|QgsProcessingParameterNumber.Double|1.0|True|0.0|None\",\n-            \"QgsProcessingParameterEnum|stab|Set the flow stabilizing scheme (full or exponential upwinding).|full;exp|False|0|True\",\n-            \"*QgsProcessingParameterBoolean|-c|Use the Courant-Friedrichs-Lewy criteria for time step calculation|False\",\n-            \"*QgsProcessingParameterBoolean|-f|Use a full filled quadratic linear equation system, default is a sparse linear equation system.|False\",\n-            \"QgsProcessingParameterRasterDestination|output|Solute Transport\",\n-            \"QgsProcessingParameterRasterDestination|vx|Calculate and store the groundwater filter velocity vector part in x direction [m/s]|None|True\",\n-            \"QgsProcessingParameterRasterDestination|vy|Calculate and store the groundwater filter velocity vector part in y direction [m/s]|None|True\"\n+            \"QgsProcessingParameterRasterLayer|input|Name of input direction\",\n+            \"QgsProcessingParameterEnum|format|Format of the input direction map|auto;degree;45degree;bitmask|false|0|false\",\n+            \"QgsProcessingParameterRasterLayer|values|Name of input raster values to be used for output|None|True\",\n+            \"QgsProcessingParameterRasterDestination|raster_path|Name for output raster path map\",\n+            \"QgsProcessingParameterVectorDestination|vector_path|Name for output vector path map\",\n+            \"QgsProcessingParameterFeatureSource|start_points|Vector layer containing starting point(s)|0|None|False\",\n+            \"QgsProcessingParameterBoolean|-c|Copy input cell values on output|False\",\n+            \"QgsProcessingParameterBoolean|-a|Accumulate input values along the path|False\",\n+            \"QgsProcessingParameterBoolean|-n|Count cell numbers along the path|False\"\n         ],\n-        \"short_description\": \"Numerical calculation program for transient, confined and unconfined solute transport in two dimensions\"\n+        \"short_description\": \"Traces paths from starting points following input directions.\"\n     },\n     {\n-        \"command\": \"r.li.mps\",\n-        \"display_name\": \"r.li.mps.ascii\",\n-        \"ext_path\": \"r_li_mps_ascii\",\n-        \"group\": \"Raster (r.*)\",\n-        \"group_id\": \"raster\",\n+        \"command\": \"g.extension\",\n+        \"display_name\": \"g.extension.manage\",\n+        \"ext_path\": \"g_extension_manage\",\n+        \"group\": \"General (g.*)\",\n+        \"group_id\": \"general\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"r.li.mps.ascii\",\n+        \"name\": \"g.extension.manage\",\n         \"parameters\": [\n-            \"QgsProcessingParameterRasterLayer|input|Name of input raster map|None|False\",\n-            \"QgsProcessingParameterString|config_txt|Landscape structure configuration|None|True|True\",\n-            \"QgsProcessingParameterFile|config|Landscape structure configuration file|QgsProcessingParameterFile.File|txt|None\",\n-            \"QgsProcessingParameterFileDestination|output_txt|Mean Patch Size|Txt files (*.txt)|None|False\"\n+            \"QgsProcessingParameterString|extension|Name of Extension|None|False\",\n+            \"QgsProcessingParameterEnum|operation|Operation|add;remove|False|None|False\",\n+            \"QgsProcessingParameterBoolean|-f|Force (required for removal)|False\",\n+            \"QgsProcessingParameterBoolean|-t|Operate on toolboxes instead of single modules (experimental)|False\"\n         ],\n-        \"short_description\": \"r.li.mps.ascii - Calculates mean patch size index on a raster map, using a 4 neighbour algorithm\"\n+        \"short_description\": \"g.extension.manage - Install or uninstall GRASS addons.\"\n     },\n     {\n-        \"command\": \"r.flow\",\n-        \"display_name\": \"r.flow\",\n-        \"ext_path\": null,\n-        \"group\": \"Raster (r.*)\",\n-        \"group_id\": \"raster\",\n+        \"command\": \"v.rectify\",\n+        \"display_name\": \"v.rectify\",\n+        \"ext_path\": \"v_rectify\",\n+        \"group\": \"Vector (v.*)\",\n+        \"group_id\": \"vector\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"r.flow\",\n+        \"name\": \"v.rectify\",\n         \"parameters\": [\n-            \"QgsProcessingParameterRasterLayer|elevation|Elevation|None|False\",\n-            \"QgsProcessingParameterRasterLayer|aspect|Aspect|None|True\",\n-            \"QgsProcessingParameterRasterLayer|barrier|Barrier|None|True\",\n-            \"QgsProcessingParameterNumber|skip|Number of cells between flowlines|QgsProcessingParameterNumber.Integer|None|True|None|None\",\n-            \"QgsProcessingParameterNumber|bound|Maximum number of segments per flowline|QgsProcessingParameterNumber.Integer|None|True|None|None\",\n-            \"QgsProcessingParameterBoolean|-u|Compute upslope flowlines instead of default downhill flowlines|False\",\n-            \"QgsProcessingParameterBoolean|-3|3-D lengths instead of 2-D|False\",\n-            \"*QgsProcessingParameterBoolean|-m|Use less memory, at a performance penalty|False\",\n-            \"QgsProcessingParameterVectorDestination|flowline|Flow line|QgsProcessing.TypeVectorLine|None|True\",\n-            \"QgsProcessingParameterRasterDestination|flowlength|Flow path length\",\n-            \"QgsProcessingParameterRasterDestination|flowaccumulation|Flow accumulation\"\n+            \"QgsProcessingParameterFeatureSource|input|Name of input vector map|-1|None|False\",\n+            \"QgsProcessingParameterString|inline_points|Inline control points|None|True|True\",\n+            \"QgsProcessingParameterFile|points|Name of input file with control points|QgsProcessingParameterFile.File|txt|None|True\",\n+            \"QgsProcessingParameterNumber|order|Rectification polynomial order|QgsProcessingParameterNumber.Integer|1|True|1|3\",\n+            \"QgsProcessingParameterString|separator|Field separator for RMS report|pipe|False|True\",\n+            \"*QgsProcessingParameterBoolean|-3|Perform 3D transformation|False\",\n+            \"*QgsProcessingParameterBoolean|-o|Perform orthogonal 3D transformation|False\",\n+            \"*QgsProcessingParameterBoolean|-b|Do not build topology|False\",\n+            \"QgsProcessingParameterVectorDestination|output|Rectified\",\n+            \"QgsProcessingParameterFileDestination|rmsfile|Root Mean Square errors file|Txt files (*.txt)|None|False\"\n         ],\n-        \"short_description\": \"Construction of flowlines, flowpath lengths, and flowaccumulation (contributing areas) from a raster digital elevation model (DEM).\"\n+        \"short_description\": \"Rectifies a vector by computing a coordinate transformation for each object in the vector based on the control points.\"\n     },\n     {\n-        \"command\": \"r.out.pov\",\n-        \"display_name\": \"r.out.pov\",\n+        \"command\": \"v.generalize\",\n+        \"display_name\": \"v.generalize\",\n         \"ext_path\": null,\n-        \"group\": \"Raster (r.*)\",\n-        \"group_id\": \"raster\",\n+        \"group\": \"Vector (v.*)\",\n+        \"group_id\": \"vector\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"r.out.pov\",\n+        \"name\": \"v.generalize\",\n         \"parameters\": [\n-            \"QgsProcessingParameterRasterLayer|input|Input raster|None|False\",\n-            \"QgsProcessingParameterNumber|hftype|Height-field type (0=actual heights 1=normalized)|QgsProcessingParameterNumber.Integer|0|True|0|1\",\n-            \"QgsProcessingParameterNumber|bias|Elevation bias|QgsProcessingParameterNumber.Double|None|True|None|None\",\n-            \"QgsProcessingParameterNumber|scale|Vertical scaling factor|QgsProcessingParameterNumber.Double|None|True|None|None\",\n-            \"QgsProcessingParameterFileDestination|output|Name of output povray file (TGA height field file)|Povray files (*.pov)|None|False\"\n+            \"QgsProcessingParameterFeatureSource|input|Input layer|-1|None|False\",\n+            \"QgsProcessingParameterEnum|type|Input feature type|line;boundary;area|True|0,1,2|True\",\n+            \"QgsProcessingParameterString|cats|Category values|None|False|True\",\n+            \"QgsProcessingParameterString|where|WHERE conditions of SQL statement without 'where' keyword|None|True|True\",\n+            \"QgsProcessingParameterEnum|method|Generalization algorithm|douglas;douglas_reduction;lang;reduction;reumann;boyle;sliding_averaging;distance_weighting;chaiken;hermite;snakes;network;displacement|False|0|False\",\n+            \"QgsProcessingParameterNumber|threshold|Maximal tolerance value|QgsProcessingParameterNumber.Double|1.0|False|0.0|1000000000.0\",\n+            \"QgsProcessingParameterNumber|look_ahead|Look-ahead parameter|QgsProcessingParameterNumber.Integer|7|True|None|None\",\n+            \"QgsProcessingParameterNumber|reduction|Percentage of the points in the output of 'douglas_reduction' algorithm|QgsProcessingParameterNumber.Double|50.0|True|0.0|100.0\",\n+            \"QgsProcessingParameterNumber|slide|Slide of computed point toward the original point|QgsProcessingParameterNumber.Double|0.5|True|0.0|1.0\",\n+            \"QgsProcessingParameterNumber|angle_thresh|Minimum angle between two consecutive segments in Hermite method|QgsProcessingParameterNumber.Double|3.0|True|0.0|180.0\",\n+            \"QgsProcessingParameterNumber|degree_thresh|Degree threshold in network generalization|QgsProcessingParameterNumber.Integer|0|True|0|None\",\n+            \"QgsProcessingParameterNumber|closeness_thresh|Closeness threshold in network generalization|QgsProcessingParameterNumber.Double|0.0|True|0.0|1.0\",\n+            \"QgsProcessingParameterNumber|betweeness_thresh|Betweenness threshold in network generalization|QgsProcessingParameterNumber.Double|0.0|True|None|None\",\n+            \"QgsProcessingParameterNumber|alpha|Snakes alpha parameter|QgsProcessingParameterNumber.Double|1.0|True|None|None\",\n+            \"QgsProcessingParameterNumber|beta|Snakes beta parameter|QgsProcessingParameterNumber.Double|1.0|True|None|None\",\n+            \"QgsProcessingParameterNumber|iterations|Number of iterations|QgsProcessingParameterNumber.Integer|1|True|1|None\",\n+            \"*QgsProcessingParameterBoolean|-t|Do not copy attributes|False\",\n+            \"*QgsProcessingParameterBoolean|-l|Disable loop support|True\",\n+            \"QgsProcessingParameterVectorDestination|output|Generalized\",\n+            \"QgsProcessingParameterVectorDestination|error|Errors\"\n         ],\n-        \"short_description\": \"Converts a raster map layer into a height-field file for POV-Ray\"\n+        \"short_description\": \"Vector based generalization.\"\n     },\n     {\n-        \"command\": \"r.cost\",\n-        \"display_name\": \"r.cost\",\n+        \"command\": \"r.grow\",\n+        \"display_name\": \"r.grow\",\n         \"ext_path\": null,\n         \"group\": \"Raster (r.*)\",\n         \"group_id\": \"raster\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"r.cost\",\n+        \"name\": \"r.grow\",\n         \"parameters\": [\n-            \"QgsProcessingParameterRasterLayer|input|Unit cost layer|None|False\",\n-            \"QgsProcessingParameterPoint|start_coordinates|Coordinates of starting point(s) (E,N)||True\",\n-            \"QgsProcessingParameterPoint|stop_coordinates|Coordinates of stopping point(s) (E,N)||True\",\n-            \"QgsProcessingParameterBoolean|-k|Use the 'Knight's move'; slower, but more accurate|False\",\n-            \"QgsProcessingParameterBoolean|-n|Keep null values in output raster layer|True\",\n-            \"QgsProcessingParameterFeatureSource|start_points|Start points|0|None|True\",\n-            \"QgsProcessingParameterFeatureSource|stop_points|Stop points|0|None|True\",\n-            \"QgsProcessingParameterRasterLayer|start_raster|Name of starting raster points map|None|True\",\n-            \"QgsProcessingParameterNumber|max_cost|Maximum cumulative cost|QgsProcessingParameterNumber.Double|0.0|True|None|None\",\n-            \"QgsProcessingParameterNumber|null_cost|Cost assigned to null cells. By default, null cells are excluded|QgsProcessingParameterNumber.Double|None|True|None|None\",\n-            \"QgsProcessingParameterNumber|memory|Maximum memory to be used in MB|QgsProcessingParameterNumber.Integer|300|True|1|None\",\n-            \"QgsProcessingParameterRasterDestination|output|Cumulative cost|None|True\",\n-            \"QgsProcessingParameterRasterDestination|nearest|Cost allocation map|None|True\",\n-            \"QgsProcessingParameterRasterDestination|outdir|Movement directions|None|True\"\n+            \"QgsProcessingParameterRasterLayer|input|input raster layer|None|False\",\n+            \"QgsProcessingParameterNumber|radius|Radius of buffer in raster cells|QgsProcessingParameterNumber.Double|1.01|True|None|None\",\n+            \"QgsProcessingParameterEnum|metric|Metric|euclidean;maximum;manhattan|False|0|True\",\n+            \"QgsProcessingParameterNumber|old|Value to write for input cells which are non-NULL (-1 => NULL)|QgsProcessingParameterNumber.Integer|None|True|None|None\",\n+            \"QgsProcessingParameterNumber|new|Value to write for \\\"grown\\\" cells|QgsProcessingParameterNumber.Integer|None|True|None|None\",\n+            \"*QgsProcessingParameterBoolean|-m|Radius is in map units rather than cells|False\",\n+            \"QgsProcessingParameterRasterDestination|output|Expanded\"\n         ],\n-        \"short_description\": \"Creates a raster layer of cumulative cost of moving across a raster layer whose cell values represent cost.\"\n+        \"short_description\": \"Generates a raster layer with contiguous areas grown by one cell.\"\n     },\n     {\n-        \"command\": \"v.split\",\n-        \"display_name\": \"v.split\",\n-        \"ext_path\": null,\n+        \"command\": \"v.what.rast\",\n+        \"display_name\": \"v.what.rast\",\n+        \"ext_path\": \"v_what_rast\",\n         \"group\": \"Vector (v.*)\",\n         \"group_id\": \"vector\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"v.split\",\n+        \"name\": \"v.what.rast\",\n         \"parameters\": [\n-            \"QgsProcessingParameterFeatureSource|input|Input lines layer|1|None|False\",\n-            \"QgsProcessingParameterNumber|length|Maximum segment length|QgsProcessingParameterNumber.Double|None|True|None|None\",\n-            \"QgsProcessingParameterEnum|units|Length units|map;meters;kilometers;feet;surveyfeet;miles;nautmiles|False|0|True\",\n-            \"QgsProcessingParameterNumber|vertices|Maximum number of vertices in segment|QgsProcessingParameterNumber.Integer|None|True|None|None\",\n-            \"QgsProcessingParameterBoolean|-n|Add new vertices, but do not split|False|True\",\n-            \"QgsProcessingParameterBoolean|-f|Force segments to be exactly of given length, except for last one|False|True\",\n-            \"QgsProcessingParameterVectorDestination|output|Split by length\"\n+            \"QgsProcessingParameterFeatureSource|map|Name of vector points map for which to edit attributes|-1|None|False\",\n+            \"QgsProcessingParameterRasterLayer|raster|Raster map to be sampled|None|False\",\n+            \"QgsProcessingParameterEnum|type|Input feature type|point;centroid|False|0|False\",\n+            \"QgsProcessingParameterField|column|Name of attribute column to be updated with the query result|None|map|0|False|False\",\n+            \"QgsProcessingParameterString|where|WHERE conditions of SQL statement without 'where' keyword|None|True|True\",\n+            \"*QgsProcessingParameterBoolean|-i|Interpolate values from the nearest four cells|False|True\",\n+            \"QgsProcessingParameterVectorDestination|output|Sampled\"\n         ],\n-        \"short_description\": \"Split lines to shorter segments by length.\"\n+        \"short_description\": \"Uploads raster values at positions of vector centroids to the table.\"\n     },\n     {\n-        \"command\": \"r.his\",\n-        \"display_name\": \"r.his\",\n+        \"command\": \"r.thin\",\n+        \"display_name\": \"r.thin\",\n         \"ext_path\": null,\n         \"group\": \"Raster (r.*)\",\n         \"group_id\": \"raster\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"r.his\",\n+        \"name\": \"r.thin\",\n         \"parameters\": [\n-            \"QgsProcessingParameterRasterLayer|hue|Hue|None|False\",\n-            \"QgsProcessingParameterRasterLayer|intensity|Intensity|None|False\",\n-            \"QgsProcessingParameterRasterLayer|saturation|Saturation|None|False\",\n-            \"QgsProcessingParameterString|bgcolor|Color to use instead of NULL values. Either a standard color name, R:G:B triplet, or \\\"none\\\"|None|False|True\",\n-            \"QgsProcessingParameterBoolean|-c|Use colors from color tables for NULL values|False\",\n-            \"QgsProcessingParameterRasterDestination|red|Red\",\n-            \"QgsProcessingParameterRasterDestination|green|Green\",\n-            \"QgsProcessingParameterRasterDestination|blue|Blue\"\n+            \"QgsProcessingParameterRasterLayer|input|Input raster layer to thin|None|False\",\n+            \"QgsProcessingParameterNumber|iterations|Maximum number of iterations|QgsProcessingParameterNumber.Integer|200|True|1|None\",\n+            \"QgsProcessingParameterRasterDestination|output|Thinned\"\n         ],\n-        \"short_description\": \"Generates red, green and blue raster layers combining hue, intensity and saturation (HIS) values from user-specified input raster layers.\"\n+        \"short_description\": \"Thins non-zero cells that denote linear features in a raster layer.\"\n     },\n     {\n-        \"command\": \"i.image.mosaic\",\n-        \"display_name\": \"i.image.mosaic\",\n-        \"ext_path\": null,\n+        \"command\": \"i.gensigset\",\n+        \"display_name\": \"i.gensigset\",\n+        \"ext_path\": \"i_gensigset\",\n         \"group\": \"Imagery (i.*)\",\n         \"group_id\": \"imagery\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"i.image.mosaic\",\n+        \"name\": \"i.gensigset\",\n         \"parameters\": [\n+            \"QgsProcessingParameterRasterLayer|trainingmap|Ground truth training map|None|False\",\n             \"QgsProcessingParameterMultipleLayers|input|Input rasters|3|None|False\",\n-            \"QgsProcessingParameterRasterDestination|output|Mosaic Raster\"\n+            \"QgsProcessingParameterNumber|maxsig|Maximum number of sub-signatures in any class|QgsProcessingParameterNumber.Integer|5|True|0|None\",\n+            \"QgsProcessingParameterFileDestination|signaturefile|Signature File|Txt files (*.txt)|None|False\"\n         ],\n-        \"short_description\": \"Mosaics several images and extends colormap.\"\n+        \"short_description\": \"Generates statistics for i.smap from raster map.\"\n     },\n     {\n-        \"command\": \"i.emissivity\",\n-        \"display_name\": \"i.emissivity\",\n+        \"command\": \"v.decimate\",\n+        \"display_name\": \"v.decimate\",\n         \"ext_path\": null,\n-        \"group\": \"Imagery (i.*)\",\n-        \"group_id\": \"imagery\",\n+        \"group\": \"Vector (v.*)\",\n+        \"group_id\": \"vector\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"i.emissivity\",\n+        \"name\": \"v.decimate\",\n         \"parameters\": [\n-            \"QgsProcessingParameterRasterLayer|input|Name of NDVI raster map [-]|None|False\",\n-            \"QgsProcessingParameterRasterDestination|output|Emissivity\"\n+            \"QgsProcessingParameterFeatureSource|input|Input vector|1|None|False\",\n+            \"QgsProcessingParameterRange|zrange|Filter range for z data (min,max)|QgsProcessingParameterNumber.Double|None|True\",\n+            \"QgsProcessingParameterString|cats|Category values|None|False|True\",\n+            \"QgsProcessingParameterNumber|skip|Throw away every n-th point|QgsProcessingParameterNumber.Integer|None|True|0|None\",\n+            \"QgsProcessingParameterNumber|preserve|Preserve only every n-th point|QgsProcessingParameterNumber.Integer|None|True|0|None\",\n+            \"QgsProcessingParameterNumber|offset|Skip first n points|QgsProcessingParameterNumber.Integer|None|True|0|None\",\n+            \"QgsProcessingParameterNumber|limit|Copy only n points|QgsProcessingParameterNumber.Integer|None|True|0|None\",\n+            \"QgsProcessingParameterNumber|zdiff|Minimal difference of z values|QgsProcessingParameterNumber.Double|None|True|None|None\",\n+            \"QgsProcessingParameterNumber|cell_limit|Preserve only n points per grid cell|QgsProcessingParameterNumber.Integer|None|True|0|None\",\n+            \"*QgsProcessingParameterBoolean|-g|Apply grid-based decimation|False|True\",\n+            \"*QgsProcessingParameterBoolean|-f|Use only first point in grid cell during grid-based decimation|False|True\",\n+            \"*QgsProcessingParameterBoolean|-c|Only one point per cat in grid cell|False|True\",\n+            \"*QgsProcessingParameterBoolean|-z|Use z in grid decimation|False|True\",\n+            \"*QgsProcessingParameterBoolean|-x|Store only the coordinates, throw away categories|False|True\",\n+            \"*QgsProcessingParameterBoolean|-b|Do not build topology|False|True\",\n+            \"QgsProcessingParameterVectorDestination|output|Output vector map\"\n         ],\n-        \"short_description\": \"Computes emissivity from NDVI, generic method for sparse land.\"\n+        \"short_description\": \"Decimates a point cloud\"\n     },\n     {\n-        \"command\": \"r.out.mpeg\",\n-        \"display_name\": \"r.out.mpeg\",\n+        \"command\": \"r.info\",\n+        \"display_name\": \"r.info\",\n         \"ext_path\": null,\n         \"group\": \"Raster (r.*)\",\n         \"group_id\": \"raster\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"r.out.mpeg\",\n+        \"name\": \"r.info\",\n         \"parameters\": [\n-            \"QgsProcessingParameterMultipleLayers|view1|Name of input raster map(s) for view no.1|3|None|False\",\n-            \"QgsProcessingParameterMultipleLayers|view2|Name of input raster map(s) for view no.2|3|None|True\",\n-            \"QgsProcessingParameterMultipleLayers|view3|Name of input raster map(s) for view no.3|3|None|True\",\n-            \"QgsProcessingParameterMultipleLayers|view4|Name of input raster map(s) for view no.4|3|None|True\",\n-            \"QgsProcessingParameterNumber|quality|Quality factor (1 = highest quality, lowest compression)|QgsProcessingParameterNumber.Integer|3|True|1|5\",\n-            \"QgsProcessingParameterFileDestination|output|MPEG file|MPEG files (*.mpeg;*.mpg)|None|False\"\n+            \"QgsProcessingParameterRasterLayer|map|Raster layer|None|False\",\n+            \"QgsProcessingParameterBoolean|-r|Print range only|False\",\n+            \"QgsProcessingParameterBoolean|-g|Print raster array information in shell script style|False\",\n+            \"QgsProcessingParameterBoolean|-h|Print raster history instead of info|False\",\n+            \"QgsProcessingParameterBoolean|-e|Print extended metadata information in shell script style|False\",\n+            \"QgsProcessingParameterFileDestination|html|Basic information|Html files (*.html)|report.html|False\"\n         ],\n-        \"short_description\": \"Converts raster map series to MPEG movie\"\n+        \"short_description\": \"Output basic information about a raster layer.\"\n     },\n     {\n-        \"command\": \"v.net\",\n-        \"display_name\": \"v.net.nreport\",\n-        \"ext_path\": null,\n+        \"command\": \"v.net.flow\",\n+        \"display_name\": \"v.net.flow\",\n+        \"ext_path\": \"v_net_flow\",\n         \"group\": \"Vector (v.*)\",\n         \"group_id\": \"vector\",\n-        \"hardcoded_strings\": [\n-            \"operation=nreport\"\n+        \"hardcoded_strings\": [],\n+        \"name\": \"v.net.flow\",\n+        \"parameters\": [\n+            \"QgsProcessingParameterFeatureSource|input|Input vector line layer (network)|1|None|False\",\n+            \"QgsProcessingParameterFeatureSource|points|Input vector point layer (flow nodes)|0|None|False\",\n+            \"QgsProcessingParameterNumber|threshold|Threshold for connecting centers to the network (in map unit)|QgsProcessingParameterNumber.Double|50|False|0.0|None\",\n+            \"QgsProcessingParameterString|source_cats|Source Category values|None|False|True\",\n+            \"QgsProcessingParameterString|source_where|Source WHERE conditions of SQL statement without 'where' keyword|None|True|True\",\n+            \"QgsProcessingParameterString|sink_cats|Sink Category values|None|False|True\",\n+            \"QgsProcessingParameterString|sink_where|Sink WHERE conditions of SQL statement without 'where' keyword|None|True|True\",\n+            \"*QgsProcessingParameterField|arc_column|Arc forward/both direction(s) cost column (number)|None|input|0|False|True\",\n+            \"*QgsProcessingParameterField|arc_backward_column|Arc backward direction cost column (number)|None|input|0|False|True\",\n+            \"*QgsProcessingParameterField|node_column|Node cost column (number)|None|points|0|False|True\",\n+            \"QgsProcessingParameterVectorDestination|output|Network_Flow\",\n+            \"QgsProcessingParameterVectorDestination|cut|Network_Cut\"\n         ],\n-        \"name\": \"v.net.nreport\",\n+        \"short_description\": \"Computes the maximum flow between two sets of nodes in the network.\"\n+    },\n+    {\n+        \"command\": \"r.profile\",\n+        \"display_name\": \"r.profile\",\n+        \"ext_path\": null,\n+        \"group\": \"Raster (r.*)\",\n+        \"group_id\": \"raster\",\n+        \"hardcoded_strings\": [],\n+        \"name\": \"r.profile\",\n         \"parameters\": [\n-            \"QgsProcessingParameterFeatureSource|input|Input vector line layer (arcs)|1|None|False\",\n-            \"Hardcoded|operation=nreport\",\n-            \"QgsProcessingParameterFileDestination|output|NReport|Html files (*.html)|None|False\"\n+            \"QgsProcessingParameterRasterLayer|input|Input raster layer|None|False\",\n+            \"QgsProcessingParameterString|coordinates|Profile coordinate pairs|0,0,1,1|True|True\",\n+            \"QgsProcessingParameterNumber|resolution|Resolution along profile|QgsProcessingParameterNumber.Double|None|True|None|0\",\n+            \"QgsProcessingParameterString|null_value|Character to represent no data cell|*|False|True\",\n+            \"QgsProcessingParameterFile|file|Name of input file containing coordinate pairs|QgsProcessingParameterFile.File|txt|None|True\",\n+            \"QgsProcessingParameterBoolean|-g|Output easting and northing in first two columns of four column output|False\",\n+            \"QgsProcessingParameterBoolean|-c|Output RRR:GGG:BBB color values for each profile point|False\",\n+            \"QgsProcessingParameterFileDestination|output|Profile|Txt files (*.txt)|None|False\"\n         ],\n-        \"short_description\": \"v.net.nreport - Reports nodes information of a network\"\n+        \"short_description\": \"Outputs the raster layer values lying on user-defined line(s).\"\n     },\n     {\n-        \"command\": \"i.albedo\",\n-        \"display_name\": \"i.albedo\",\n-        \"ext_path\": \"i_albedo\",\n+        \"command\": \"i.pansharpen\",\n+        \"display_name\": \"i.pansharpen\",\n+        \"ext_path\": \"i_pansharpen\",\n         \"group\": \"Imagery (i.*)\",\n         \"group_id\": \"imagery\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"i.albedo\",\n+        \"name\": \"i.pansharpen\",\n         \"parameters\": [\n-            \"QgsProcessingParameterMultipleLayers|input|Name of input raster maps|3|None|False\",\n-            \"QgsProcessingParameterBoolean|-m|MODIS (7 input bands:1,2,3,4,5,6,7)|False\",\n-            \"QgsProcessingParameterBoolean|-n|NOAA AVHRR (2 input bands:1,2)|False\",\n-            \"QgsProcessingParameterBoolean|-l|Landsat 5+7 (6 input bands:1,2,3,4,5,7)|False\",\n-            \"QgsProcessingParameterBoolean|-8|Landsat 8 (7 input bands:1,2,3,4,5,6,7)|False\",\n-            \"QgsProcessingParameterBoolean|-a|ASTER (6 input bands:1,3,5,6,8,9)|False\",\n-            \"QgsProcessingParameterBoolean|-c|Aggressive mode (Landsat)|False\",\n-            \"QgsProcessingParameterBoolean|-d|Soft mode (MODIS)|False\",\n-            \"QgsProcessingParameterRasterDestination|output|Albedo\"\n+            \"QgsProcessingParameterRasterLayer|red|Name of red channel|None|False\",\n+            \"QgsProcessingParameterRasterLayer|green|Name of green channel|None|False\",\n+            \"QgsProcessingParameterRasterLayer|blue|Name of blue channel|None|False\",\n+            \"QgsProcessingParameterRasterLayer|pan|Name of raster map to be used for high resolution panchromatic channel|None|False\",\n+            \"QgsProcessingParameterEnum|method|Method|brovey;ihs;pca|False|1|False\",\n+            \"*QgsProcessingParameterBoolean|-l|Rebalance blue channel for LANDSAT|False\",\n+            \"*QgsProcessingParameterBoolean|-s|Process bands serially (default: run in parallel)|False\",\n+            \"QgsProcessingParameterRasterDestination|redoutput|Enhanced Red\",\n+            \"QgsProcessingParameterRasterDestination|greenoutput|Enhanced Green\",\n+            \"QgsProcessingParameterRasterDestination|blueoutput|Enhanced Blue\"\n         ],\n-        \"short_description\": \"Computes broad band albedo from surface reflectance.\"\n+        \"short_description\": \"Image fusion algorithms to sharpen multispectral with high-res panchromatic channels\"\n     },\n     {\n-        \"command\": \"v.in.lidar\",\n-        \"display_name\": \"v.in.lidar\",\n+        \"command\": \"i.ifft\",\n+        \"display_name\": \"i.ifft\",\n         \"ext_path\": null,\n-        \"group\": \"Vector (v.*)\",\n-        \"group_id\": \"vector\",\n-        \"hardcoded_strings\": [\n-            \"-o\"\n-        ],\n-        \"name\": \"v.in.lidar\",\n+        \"group\": \"Imagery (i.*)\",\n+        \"group_id\": \"imagery\",\n+        \"hardcoded_strings\": [],\n+        \"name\": \"i.ifft\",\n         \"parameters\": [\n-            \"QgsProcessingParameterFile|input|LiDAR input files in LAS format (*.las or *.laz)|QgsProcessingParameterFile.File||None|False|Lidar files (*.las *.LAS *.laz *.LAZ)\",\n-            \"QgsProcessingParameterExtent|spatial|Import subregion only|None|True\",\n-            \"QgsProcessingParameterRange|zrange|Filter range for z data|QgsProcessingParameterNumber.Double|None|True\",\n-            \"QgsProcessingParameterEnum|return_filter|Only import points of selected return type|first;last;mid|True|None|True\",\n-            \"QgsProcessingParameterString|class_filter|Only import points of selected class(es) (comma separated integers)|None|False|True\",\n-            \"QgsProcessingParameterNumber|skip|Do not import every n-th point|QgsProcessingParameterNumber.Integer|None|True|1|None\",\n-            \"QgsProcessingParameterNumber|preserve|Import only every n-th point|QgsProcessingParameterNumber.Integer|None|True|1|None\",\n-            \"QgsProcessingParameterNumber|offset|Skip first n points|QgsProcessingParameterNumber.Integer|None|True|1|None\",\n-            \"QgsProcessingParameterNumber|limit|Import only n points|QgsProcessingParameterNumber.Integer|None|True|1|None\",\n-            \"*QgsProcessingParameterBoolean|-t|Do not create attribute table|False\",\n-            \"*QgsProcessingParameterBoolean|-c|Do not automatically add unique ID as category to each point|False\",\n-            \"*QgsProcessingParameterBoolean|-b|Do not build topology|False\",\n-            \"Hardcoded|-o\",\n-            \"QgsProcessingParameterVectorDestination|output|Lidar\"\n+            \"QgsProcessingParameterRasterLayer|real|Name of input raster map (image fft, real part)|None|False\",\n+            \"QgsProcessingParameterRasterLayer|imaginary|Name of input raster map (image fft, imaginary part)|None|False\",\n+            \"QgsProcessingParameterRasterDestination|output|Inverse Fast Fourier Transform\"\n         ],\n-        \"short_description\": \"Converts LAS LiDAR point clouds to a GRASS vector map with libLAS.\"\n+        \"short_description\": \"Inverse Fast Fourier Transform (IFFT) for image processing.\"\n     },\n     {\n-        \"command\": \"r.resamp.stats\",\n-        \"display_name\": \"r.resamp.stats\",\n+        \"command\": \"r.out.pov\",\n+        \"display_name\": \"r.out.pov\",\n         \"ext_path\": null,\n         \"group\": \"Raster (r.*)\",\n         \"group_id\": \"raster\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"r.resamp.stats\",\n+        \"name\": \"r.out.pov\",\n         \"parameters\": [\n-            \"QgsProcessingParameterRasterLayer|input|Input raster layer|None|False\",\n-            \"QgsProcessingParameterEnum|method|Aggregation method|average;median;mode;minimum;maximum;quart1;quart3;perc90;sum;variance;stddev;quantile|False|0|True\",\n-            \"QgsProcessingParameterNumber|quantile|Quantile to calculate for method=quantile|QgsProcessingParameterNumber.Double|0.5|True|0.0|1.0\",\n-            \"QgsProcessingParameterBoolean|-n|Propagate NULLs|False\",\n-            \"QgsProcessingParameterBoolean|-w|Weight according to area (slower)|False\",\n-            \"QgsProcessingParameterRasterDestination|output|Resampled aggregated\"\n+            \"QgsProcessingParameterRasterLayer|input|Input raster|None|False\",\n+            \"QgsProcessingParameterNumber|hftype|Height-field type (0=actual heights 1=normalized)|QgsProcessingParameterNumber.Integer|0|True|0|1\",\n+            \"QgsProcessingParameterNumber|bias|Elevation bias|QgsProcessingParameterNumber.Double|None|True|None|None\",\n+            \"QgsProcessingParameterNumber|scale|Vertical scaling factor|QgsProcessingParameterNumber.Double|None|True|None|None\",\n+            \"QgsProcessingParameterFileDestination|output|Name of output povray file (TGA height field file)|Povray files (*.pov)|None|False\"\n         ],\n-        \"short_description\": \"Resamples raster layers to a coarser grid using aggregation.\"\n+        \"short_description\": \"Converts a raster map layer into a height-field file for POV-Ray\"\n     },\n     {\n-        \"command\": \"r.li.padrange\",\n-        \"display_name\": \"r.li.padrange\",\n-        \"ext_path\": \"r_li_padrange\",\n+        \"command\": \"r.param.scale\",\n+        \"display_name\": \"r.param.scale\",\n+        \"ext_path\": null,\n         \"group\": \"Raster (r.*)\",\n         \"group_id\": \"raster\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"r.li.padrange\",\n+        \"name\": \"r.param.scale\",\n         \"parameters\": [\n             \"QgsProcessingParameterRasterLayer|input|Name of input raster map|None|False\",\n-            \"QgsProcessingParameterString|config_txt|Landscape structure configuration|None|True|True\",\n-            \"QgsProcessingParameterFile|config|Landscape structure configuration file|QgsProcessingParameterFile.File|txt|None|True\",\n-            \"QgsProcessingParameterRasterDestination|output|Pad Range\"\n+            \"QgsProcessingParameterNumber|slope_tolerance|Slope tolerance that defines a 'flat' surface (degrees)|QgsProcessingParameterNumber.Double|1.0|True|None|None\",\n+            \"QgsProcessingParameterNumber|curvature_tolerance|Curvature tolerance that defines 'planar' surface|QgsProcessingParameterNumber.Double|0.0001|True|None|None\",\n+            \"QgsProcessingParameterNumber|size|Size of processing window (odd number only, max: 499)|QgsProcessingParameterNumber.Integer|3|True|3|499\",\n+            \"QgsProcessingParameterEnum|method|Morphometric parameter in 'size' window to calculate|elev;slope;aspect;profc;planc;longc;crosc;minic;maxic;feature|False|0|True\",\n+            \"QgsProcessingParameterNumber|exponent|Exponent for distance weighting (0.0-4.0)|QgsProcessingParameterNumber.Double|0.0|True|0.0|4.0\",\n+            \"QgsProcessingParameterNumber|zscale|Vertical scaling factor|QgsProcessingParameterNumber.Double|1.0|True|None|None\",\n+            \"QgsProcessingParameterBoolean|-c|Constrain model through central window cell|False\",\n+            \"QgsProcessingParameterRasterDestination|output|Morphometric parameter\"\n         ],\n-        \"short_description\": \"Calculates range of patch area size on a raster map\"\n+        \"short_description\": \"Extracts terrain parameters from a DEM.\"\n     },\n     {\n-        \"command\": \"r.relief\",\n-        \"display_name\": \"r.relief\",\n-        \"ext_path\": null,\n+        \"command\": \"r.shade\",\n+        \"display_name\": \"r.shade\",\n+        \"ext_path\": \"r_shade\",\n         \"group\": \"Raster (r.*)\",\n         \"group_id\": \"raster\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"r.relief\",\n+        \"name\": \"r.shade\",\n         \"parameters\": [\n-            \"QgsProcessingParameterRasterLayer|input|Input elevation layer\",\n-            \"QgsProcessingParameterNumber|altitude|Altitude of the sun in degrees above the horizon|QgsProcessingParameterNumber.Double|30.0|True|0.0|90.0\",\n-            \"QgsProcessingParameterNumber|azimuth|Azimuth of the sun in degrees to the east of north|QgsProcessingParameterNumber.Double|270.0|True|0.0|360.0\",\n-            \"QgsProcessingParameterNumber|zscale|Factor for exaggerating relief|QgsProcessingParameterNumber.Double|1.0|True|None|None\",\n-            \"QgsProcessingParameterNumber|scale|Scale factor for converting horizontal units to elevation units|QgsProcessingParameterNumber.Double|1.0|True|None|None\",\n-            \"QgsProcessingParameterEnum|units|Elevation units (overrides scale factor)|intl;survey|False|0|True\",\n-            \"QgsProcessingParameterRasterDestination|output|Output shaded relief layer\"\n+            \"QgsProcessingParameterRasterLayer|shade|Name of shaded relief or aspect raster map|None|False\",\n+            \"QgsProcessingParameterRasterLayer|color|Name of raster to drape over relief raster map|None|False\",\n+            \"QgsProcessingParameterNumber|brighten|Percent to brighten|QgsProcessingParameterNumber.Integer|0|True|-99|99\",\n+            \"QgsProcessingParameterString|bgcolor|Color to use instead of NULL values. Either a standard color name, R:G:B triplet, or \\\"none\\\"|None|False|True\",\n+            \"*QgsProcessingParameterBoolean|-c|Use colors from color tables for NULL values|False\",\n+            \"QgsProcessingParameterRasterDestination|output|Shaded\"\n         ],\n-        \"short_description\": \"Creates shaded relief from an elevation layer (DEM).\"\n+        \"short_description\": \"Drapes a color raster over an shaded relief or aspect map.\"\n     },\n     {\n-        \"command\": \"r.transect\",\n-        \"display_name\": \"r.transect\",\n+        \"command\": \"r.rescale\",\n+        \"display_name\": \"r.rescale\",\n         \"ext_path\": null,\n         \"group\": \"Raster (r.*)\",\n         \"group_id\": \"raster\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"r.transect\",\n+        \"name\": \"r.rescale\",\n         \"parameters\": [\n-            \"QgsProcessingParameterRasterLayer|map|Raster map to be queried|None|False\",\n-            \"QgsProcessingParameterString|line|Transect definition: east,north,azimuth,distance[,east,north,azimuth,distance,...]|None|False|False\",\n-            \"QgsProcessingParameterString|null_value|String representing NULL value|*|False|True\",\n-            \"*QgsProcessingParameterBoolean|-g|Output easting and northing in first two columns of four column output|False\",\n-            \"QgsProcessingParameterFileDestination|html|Transect file|HTML files (*.html)|None|False\"\n+            \"QgsProcessingParameterRasterLayer|input|Input raster layer|None|False\",\n+            \"QgsProcessingParameterRange|from|The input data range to be rescaled|QgsProcessingParameterNumber.Double|None|True\",\n+            \"QgsProcessingParameterRange|to|The output data range|QgsProcessingParameterNumber.Double|None|False\",\n+            \"QgsProcessingParameterRasterDestination|output|Rescaled\"\n         ],\n-        \"short_description\": \"Outputs raster map layer values lying along user defined transect line(s).\"\n+        \"short_description\": \"Rescales the range of category values in a raster layer.\"\n     },\n     {\n-        \"command\": \"r.reclass\",\n-        \"display_name\": \"r.reclass\",\n-        \"ext_path\": \"r_reclass\",\n+        \"command\": \"r.out.vrml\",\n+        \"display_name\": \"r.out.vrml\",\n+        \"ext_path\": null,\n         \"group\": \"Raster (r.*)\",\n         \"group_id\": \"raster\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"r.reclass\",\n+        \"name\": \"r.out.vrml\",\n         \"parameters\": [\n-            \"QgsProcessingParameterRasterLayer|input|Input raster layer|None|False\",\n-            \"QgsProcessingParameterFile|rules|File containing reclass rules|QgsProcessingParameterFile.File|txt|None|True\",\n-            \"QgsProcessingParameterString|txtrules|Reclass rules text (if rule file not used)|None|True|True\",\n-            \"QgsProcessingParameterRasterDestination|output|Reclassified\"\n+            \"QgsProcessingParameterRasterLayer|elevation|Elevation layer|None|False\",\n+            \"QgsProcessingParameterRasterLayer|color|Color layer|None|False\",\n+            \"QgsProcessingParameterNumber|exaggeration|Vertical exaggeration|QgsProcessingParameterNumber.Double|1.0|True|None|None\",\n+            \"QgsProcessingParameterFileDestination|output|VRML|Txt files (*.txt)|None|False\"\n         ],\n-        \"short_description\": \"Creates a new map layer whose category values are based upon a reclassification of the categories in an existing raster map layer.\"\n+        \"short_description\": \"Export a raster layer to the Virtual Reality Modeling Language (VRML)\"\n     },\n     {\n-        \"command\": \"r.lake\",\n-        \"display_name\": \"r.lake\",\n-        \"ext_path\": null,\n+        \"command\": \"r.null\",\n+        \"display_name\": \"r.null\",\n+        \"ext_path\": \"r_null\",\n         \"group\": \"Raster (r.*)\",\n         \"group_id\": \"raster\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"r.lake\",\n+        \"name\": \"r.null\",\n         \"parameters\": [\n-            \"QgsProcessingParameterRasterLayer|elevation|Elevation|None|False\",\n-            \"QgsProcessingParameterNumber|water_level|Water level|QgsProcessingParameterNumber.Double|None|False|None|None\",\n-            \"QgsProcessingParameterPoint|coordinates|Seed point coordinates||True\",\n-            \"QgsProcessingParameterRasterLayer|seed|Raster layer with starting point(s) (at least 1 cell > 0)|None|True\",\n-            \"QgsProcessingParameterBoolean|-n|Use negative depth values for lake raster layer|False\",\n-            \"QgsProcessingParameterRasterDestination|lake|Lake\"\n+            \"QgsProcessingParameterRasterLayer|map|Name of raster map for which to edit null values|None|False\",\n+            \"QgsProcessingParameterString|setnull|List of cell values to be set to NULL|None|False|True\",\n+            \"QgsProcessingParameterNumber|null|The value to replace the null value by|QgsProcessingParameterNumber.Double|None|True|None|None\",\n+            \"*QgsProcessingParameterBoolean|-f|Only do the work if the map is floating-point|False|True\",\n+            \"*QgsProcessingParameterBoolean|-i|Only do the work if the map is integer|False|True\",\n+            \"*QgsProcessingParameterBoolean|-n|Only do the work if the map doesn't have a NULL-value bitmap file|False|True\",\n+            \"*QgsProcessingParameterBoolean|-c|Create NULL-value bitmap file validating all data cells|False|True\",\n+            \"*QgsProcessingParameterBoolean|-r|Remove NULL-value bitmap file|False|True\",\n+            \"QgsProcessingParameterRasterDestination|output|NullRaster\"\n         ],\n-        \"short_description\": \"Fills lake at given point to given level.\"\n+        \"short_description\": \"Manages NULL-values of given raster map.\"\n     },\n     {\n-        \"command\": \"r.category\",\n-        \"display_name\": \"r.category.out\",\n+        \"command\": \"r.out.xyz\",\n+        \"display_name\": \"r.out.xyz\",\n         \"ext_path\": null,\n         \"group\": \"Raster (r.*)\",\n         \"group_id\": \"raster\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"r.category.out\",\n+        \"name\": \"r.out.xyz\",\n         \"parameters\": [\n-            \"QgsProcessingParameterRasterLayer|map|Name of raster map|None|False\",\n-            \"QgsProcessingParameterString|cats|Category values (for Integer rasters). Example: 1,3,7-9,13|None|False|True\",\n-            \"QgsProcessingParameterString|values|Comma separated value list (for float rasters). Example: 1.4,3.8,13|None|False|True\",\n-            \"QgsProcessingParameterString|separator|Field separator (Special characters: pipe, comma, space, tab, newline)|tab|False|True\",\n-            \"QgsProcessingParameterFileDestination|html|Category|HTML files (*.html)|None|False\"\n+            \"QgsProcessingParameterMultipleLayers|input|Input raster(s)|3|None|False\",\n+            \"QgsProcessingParameterString|separator|Field separator|pipe|False|True\",\n+            \"*QgsProcessingParameterBoolean|-i|Include no data values|False|True\",\n+            \"QgsProcessingParameterFileDestination|output|XYZ File|XYZ files (*.xyz *.txt)|None|False\"\n         ],\n-        \"short_description\": \"r.category.out - Exports category values and labels associated with user-specified raster map layers.\"\n+        \"short_description\": \"Exports a raster map to a text file as x,y,z values based on cell centers\"\n     },\n     {\n-        \"command\": \"v.net.path\",\n-        \"display_name\": \"v.net.path\",\n-        \"ext_path\": \"v_net_path\",\n+        \"command\": \"v.build\",\n+        \"display_name\": \"v.build.check\",\n+        \"ext_path\": null,\n+        \"group\": \"Vector (v.*)\",\n+        \"group_id\": \"vector\",\n+        \"hardcoded_strings\": [\n+            \"-e\"\n+        ],\n+        \"name\": \"v.build.check\",\n+        \"parameters\": [\n+            \"QgsProcessingParameterFeatureSource|map|Name of vector map|-1|None|False\",\n+            \"Hardcoded|-e\",\n+            \"QgsProcessingParameterVectorDestination|error|Topological errors\"\n+        ],\n+        \"short_description\": \"v.build.check - Checks for topological errors.\"\n+    },\n+    {\n+        \"command\": \"v.patch\",\n+        \"display_name\": \"v.patch\",\n+        \"ext_path\": null,\n         \"group\": \"Vector (v.*)\",\n         \"group_id\": \"vector\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"v.net.path\",\n+        \"name\": \"v.patch\",\n         \"parameters\": [\n-            \"QgsProcessingParameterFeatureSource|input|Input vector line layer (arcs)|1|None|False\",\n-            \"QgsProcessingParameterFeatureSource|points|Centers point layer (nodes)|0|None|False\",\n-            \"QgsProcessingParameterFile|file|Name of file containing start and end points|QgsProcessingParameterFile.File|txt|None|False\",\n-            \"QgsProcessingParameterNumber|threshold|Threshold for connecting centers to the network (in map unit)|QgsProcessingParameterNumber.Double|50.0|False|0.0|None\",\n-            \"*QgsProcessingParameterEnum|arc_type|Arc type|line;boundary|True|0,1|False\",\n-            \"*QgsProcessingParameterField|arc_column|Arc forward/both direction(s) cost column (number)|None|input|0|False|True\",\n-            \"*QgsProcessingParameterField|arc_backward_column|Arc backward direction cost column (number)|None|input|0|False|True\",\n-            \"*QgsProcessingParameterField|node_column|Node cost column (number)|None|points|0|False|True\",\n-            \"*QgsProcessingParameterNumber|dmax|Maximum distance to the network|QgsProcessingParameterNumber.Double|1000.0|True|0.0|None\",\n-            \"*QgsProcessingParameterBoolean|-g|Use geodesic calculation for longitude-latitude locations|False|True\",\n-            \"*QgsProcessingParameterBoolean|-s|Write output as original input segments, not each path as one line|False|True\",\n-            \"QgsProcessingParameterVectorDestination|output|Network_Path\"\n+            \"QgsProcessingParameterMultipleLayers|input|Input layers|-1|None|False\",\n+            \"QgsProcessingParameterBoolean|-e|Copy also attribute table|True\",\n+            \"QgsProcessingParameterVectorDestination|output|Combined\",\n+            \"QgsProcessingParameterVectorDestination|bbox|Bounding boxes\"\n         ],\n-        \"short_description\": \"Finds shortest path on vector network\"\n+        \"short_description\": \"Create a new vector map layer by combining other vector map layers.\"\n     },\n     {\n-        \"command\": \"r.mapcalc.simple\",\n-        \"display_name\": \"r.mapcalc.simple\",\n+        \"command\": \"i.oif\",\n+        \"display_name\": \"i.oif\",\n+        \"ext_path\": \"i_oif\",\n+        \"group\": \"Imagery (i.*)\",\n+        \"group_id\": \"imagery\",\n+        \"hardcoded_strings\": [],\n+        \"name\": \"i.oif\",\n+        \"parameters\": [\n+            \"QgsProcessingParameterMultipleLayers|input|Name of input raster map(s)|3|None|False\",\n+            \"*QgsProcessingParameterBoolean|-g|Print in shell script style|False\",\n+            \"*QgsProcessingParameterBoolean|-s|Process bands serially (default: run in parallel)|False\",\n+            \"QgsProcessingParameterFileDestination|output|OIF File|Txt files (*.txt)|None|False\"\n+        ],\n+        \"short_description\": \"Calculates Optimum-Index-Factor table for spectral bands\"\n+    },\n+    {\n+        \"command\": \"v.in.dxf\",\n+        \"display_name\": \"v.in.dxf\",\n         \"ext_path\": null,\n-        \"group\": \"Raster (r.*)\",\n-        \"group_id\": \"raster\",\n+        \"group\": \"Vector (v.*)\",\n+        \"group_id\": \"vector\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"r.mapcalc.simple\",\n+        \"name\": \"v.in.dxf\",\n         \"parameters\": [\n-            \"QgsProcessingParameterRasterLayer|a|Raster layer A|None|False\",\n-            \"QgsProcessingParameterRasterLayer|b|Raster layer B|None|True\",\n-            \"QgsProcessingParameterRasterLayer|c|Raster layer C|None|True\",\n-            \"QgsProcessingParameterRasterLayer|d|Raster layer D|None|True\",\n-            \"QgsProcessingParameterRasterLayer|e|Raster layer E|None|True\",\n-            \"QgsProcessingParameterRasterLayer|f|Raster layer F|None|True\",\n-            \"QgsProcessingParameterString|expression|Formula|A*2|False\",\n-            \"QgsProcessingParameterRasterDestination|output|Calculated\"\n+            \"QgsProcessingParameterFile|input|Name of input DXF file|QgsProcessingParameterFile.File|dxf|None|False\",\n+            \"QgsProcessingParameterString|layers|List of layers to import|None|False|True\",\n+            \"QgsProcessingParameterBoolean|-e|Ignore the map extent of DXF file|True\",\n+            \"QgsProcessingParameterBoolean|-t|Do not create attribute tables|False\",\n+            \"QgsProcessingParameterBoolean|-f|Import polyface meshes as 3D wire frame|True\",\n+            \"QgsProcessingParameterBoolean|-l|List available layers and exit|False\",\n+            \"QgsProcessingParameterBoolean|-i|Invert selection by layers (don't import layers in list)|False\",\n+            \"QgsProcessingParameterBoolean|-1|Import all objects into one layer|True\",\n+            \"QgsProcessingParameterVectorDestination|output|Converted\"\n         ],\n-        \"short_description\": \"Calculate new raster map from a r.mapcalc expression.\"\n+        \"short_description\": \"Converts files in DXF format to GRASS vector map format.\"\n     },\n     {\n-        \"command\": \"v.neighbors\",\n-        \"display_name\": \"v.neighbors\",\n+        \"command\": \"v.kcv\",\n+        \"display_name\": \"v.kcv\",\n         \"ext_path\": null,\n         \"group\": \"Vector (v.*)\",\n         \"group_id\": \"vector\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"v.neighbors\",\n+        \"name\": \"v.kcv\",\n         \"parameters\": [\n-            \"QgsProcessingParameterFeatureSource|input|Input vector layer|-1|None|False\",\n-            \"QgsProcessingParameterEnum|method|Method for aggregate statistics (count if non given)|count;sum;average;median;mode;minimum;maximum;range;stddev;variance;diversity|False|0|False\",\n-            \"QgsProcessingParameterField|points_column|Column name of points map to use for statistics|None|input|0|False|True\",\n-            \"QgsProcessingParameterNumber|size|Neighborhood diameter in map units|QgsProcessingParameterNumber.Double|0.1|False|0.0|None\",\n-            \"QgsProcessingParameterRasterDestination|output|Neighborhood\"\n+            \"QgsProcessingParameterFeatureSource|map|Input layer|-1|None|False\",\n+            \"QgsProcessingParameterNumber|npartitions|Number of partitions|QgsProcessingParameterNumber.Integer|10|False|2|None\",\n+            \"QgsProcessingParameterString|column|Name for new column to which partition number is written|part|False|True\",\n+            \"QgsProcessingParameterVectorDestination|output|Partition\"\n         ],\n-        \"short_description\": \"Makes each cell value a function of attribute values and stores in an output raster map.\"\n+        \"short_description\": \"Randomly partition points into test/train sets.\"\n     },\n     {\n-        \"command\": \"r.colors.stddev\",\n-        \"display_name\": \"r.colors.stddev\",\n-        \"ext_path\": \"r_colors_stddev\",\n+        \"command\": \"v.edit\",\n+        \"display_name\": \"v.edit\",\n+        \"ext_path\": \"v_edit\",\n+        \"group\": \"Vector (v.*)\",\n+        \"group_id\": \"vector\",\n+        \"hardcoded_strings\": [],\n+        \"name\": \"v.edit\",\n+        \"parameters\": [\n+            \"QgsProcessingParameterFeatureSource|map|Name of vector layer|-1|None|False\",\n+            \"QgsProcessingParameterEnum|type|Input feature type|point;line;boundary;centroid|True|0,1,2,3|True\",\n+            \"QgsProcessingParameterEnum|tool|Tool|create;add;delete;copy;move;flip;catadd;catdel;merge;break;snap;connect;chtype;vertexadd;vertexdel;vertexmove;areadel;zbulk;select|False|0|False\",\n+            \"QgsProcessingParameterFile|input|ASCII file for add tool|QgsProcessingParameterFile.File|txt|None|True\",\n+            \"QgsProcessingParameterString|move|Difference in x,y,z direction for moving feature or vertex|None|False|True\",\n+            \"QgsProcessingParameterString|threshold|Threshold distance (coords,snap,query)|None|False|True\",\n+            \"QgsProcessingParameterString|ids|Feature ids|None|False|True\",\n+            \"QgsProcessingParameterString|cats|Category values|None|False|True\",\n+            \"QgsProcessingParameterString|coords|List of point coordinates|None|False|True\",\n+            \"QgsProcessingParameterExtent|bbox|Bounding box for selecting features|None|True\",\n+            \"QgsProcessingParameterString|polygon|Polygon for selecting features|None|False|True\",\n+            \"QgsProcessingParameterString|where|WHERE conditions of SQL statement without 'where' keyword|None|True|True\",\n+            \"QgsProcessingParameterEnum|query|Query tool|length;dangle|False|None|True\",\n+            \"QgsProcessingParameterFeatureSource|bgmap|Name of background vector map|-1|None|True\",\n+            \"QgsProcessingParameterEnum|snap|Snap added or modified features in the given threshold to the nearest existing feature|no;node;vertex|False|0|True\",\n+            \"QgsProcessingParameterString|zbulk|Starting value and step for z bulk-labeling. Pair: value,step (e.g. 1100,10)|None|False|True\",\n+            \"QgsProcessingParameterBoolean|-r|Reverse selection|False\",\n+            \"QgsProcessingParameterBoolean|-c|Close added boundaries (using threshold distance)|False\",\n+            \"QgsProcessingParameterBoolean|-n|Do not expect header of input data|False\",\n+            \"QgsProcessingParameterBoolean|-b|Do not build topology|False\",\n+            \"QgsProcessingParameterBoolean|-1|Modify only first found feature in bounding box|False\",\n+            \"QgsProcessingParameterVectorDestination|output|Edited\"\n+        ],\n+        \"short_description\": \"Edits a vector map, allows adding, deleting and modifying selected vector features.\"\n+    },\n+    {\n+        \"command\": \"r.fill.dir\",\n+        \"display_name\": \"r.fill.dir\",\n+        \"ext_path\": null,\n         \"group\": \"Raster (r.*)\",\n         \"group_id\": \"raster\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"r.colors.stddev\",\n+        \"name\": \"r.fill.dir\",\n         \"parameters\": [\n-            \"QgsProcessingParameterRasterLayer|map|Name of raster map|None|False\",\n-            \"*QgsProcessingParameterBoolean|-b|Color using standard deviation bands|False\",\n-            \"*QgsProcessingParameterBoolean|-z|Force center at zero|False\",\n-            \"QgsProcessingParameterRasterDestination|output|Stddev Colors\"\n+            \"QgsProcessingParameterRasterLayer|input|Elevation|None|False\",\n+            \"QgsProcessingParameterEnum|format|Output aspect direction format|grass;agnps;answers|False|0|True\",\n+            \"*QgsProcessingParameterBoolean|-f|Find unresolved areas only|False\",\n+            \"QgsProcessingParameterRasterDestination|output|Depressionless DEM\",\n+            \"QgsProcessingParameterRasterDestination|direction|Flow direction\",\n+            \"QgsProcessingParameterRasterDestination|areas|Problem areas\"\n         ],\n-        \"short_description\": \"Sets color rules based on stddev from a raster map's mean value.\"\n+        \"short_description\": \"Filters and generates a depressionless elevation layer and a flow direction layer from a given elevation raster layer.\"\n     },\n     {\n-        \"command\": \"i.zc\",\n-        \"display_name\": \"i.zc\",\n+        \"command\": \"r.transect\",\n+        \"display_name\": \"r.transect\",\n         \"ext_path\": null,\n-        \"group\": \"Imagery (i.*)\",\n-        \"group_id\": \"imagery\",\n+        \"group\": \"Raster (r.*)\",\n+        \"group_id\": \"raster\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"i.zc\",\n+        \"name\": \"r.transect\",\n         \"parameters\": [\n-            \"QgsProcessingParameterRasterLayer|input|Name of input raster map|None|False\",\n-            \"QgsProcessingParameterNumber|width|x-y extent of the Gaussian filter|QgsProcessingParameterNumber.Double|9|True|1|None\",\n-            \"QgsProcessingParameterNumber|threshold|Sensitivity of Gaussian filter|QgsProcessingParameterNumber.Double|10.0|True|0|None\",\n-            \"QgsProcessingParameterNumber|orientations|Number of azimuth directions categorized|QgsProcessingParameterNumber.Double|1|True|0|None\",\n-            \"QgsProcessingParameterRasterDestination|output|Zero crossing\"\n+            \"QgsProcessingParameterRasterLayer|map|Raster map to be queried|None|False\",\n+            \"QgsProcessingParameterString|line|Transect definition: east,north,azimuth,distance[,east,north,azimuth,distance,...]|None|False|False\",\n+            \"QgsProcessingParameterString|null_value|String representing NULL value|*|False|True\",\n+            \"*QgsProcessingParameterBoolean|-g|Output easting and northing in first two columns of four column output|False\",\n+            \"QgsProcessingParameterFileDestination|html|Transect file|HTML files (*.html)|None|False\"\n         ],\n-        \"short_description\": \"Zero-crossing \\\"edge detection\\\" raster function for image processing.\"\n+        \"short_description\": \"Outputs raster map layer values lying along user defined transect line(s).\"\n     },\n     {\n-        \"command\": \"v.out.svg\",\n-        \"display_name\": \"v.out.svg\",\n+        \"command\": \"v.out.postgis\",\n+        \"display_name\": \"v.out.postgis\",\n         \"ext_path\": null,\n         \"group\": \"Vector (v.*)\",\n         \"group_id\": \"vector\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"v.out.svg\",\n+        \"name\": \"v.out.postgis\",\n         \"parameters\": [\n             \"QgsProcessingParameterFeatureSource|input|Name of input vector map|-1|None|False\",\n-            \"QgsProcessingParameterEnum|type|Output type|poly;line;point|False|0|False\",\n-            \"QgsProcessingParameterNumber|precision|Coordinate precision|QgsProcessingParameterNumber.Integer|6|True|0|None\",\n-            \"QgsProcessingParameterField|attribute|Attribute(s) to include in output SVG|None|input|-1|True|True\",\n-            \"QgsProcessingParameterFileDestination|output|SVG File|SVG files (*.svg)|None|False\"\n+            \"QgsProcessingParameterEnum|type|Input feature type|point;line;boundary;centroid;area;face;kernel;auto|True|7|True\",\n+            \"QgsProcessingParameterString|output|Name for output PostGIS datasource|PG:dbname=grass|False|False\",\n+            \"QgsProcessingParameterString|output_layer|Name for output PostGIS layer|None|False|True\",\n+            \"QgsProcessingParameterString|options|Creation options|None|True|True\",\n+            \"*QgsProcessingParameterBoolean|-t|Do not export attribute table|False\",\n+            \"*QgsProcessingParameterBoolean|-l|Export PostGIS topology instead of simple features|False\",\n+            \"*QgsProcessingParameterBoolean|-2|Force 2D output even if input is 3D|False\"\n         ],\n-        \"short_description\": \"Exports a vector map to SVG file.\"\n+        \"short_description\": \"Exports a vector map layer to PostGIS feature table.\"\n     },\n     {\n-        \"command\": \"i.rgb.his\",\n-        \"display_name\": \"i.rgb.his\",\n+        \"command\": \"v.mkgrid\",\n+        \"display_name\": \"v.mkgrid\",\n         \"ext_path\": null,\n-        \"group\": \"Imagery (i.*)\",\n-        \"group_id\": \"imagery\",\n+        \"group\": \"Vector (v.*)\",\n+        \"group_id\": \"vector\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"i.rgb.his\",\n+        \"name\": \"v.mkgrid\",\n         \"parameters\": [\n-            \"QgsProcessingParameterRasterLayer|red|Name for input raster map (red)|None|True\",\n-            \"QgsProcessingParameterRasterLayer|green|Name for input raster map (green)|None|True\",\n-            \"QgsProcessingParameterRasterLayer|blue|Name for input raster map (blue)|None|True\",\n-            \"QgsProcessingParameterRasterDestination|hue|Hue|False\",\n-            \"QgsProcessingParameterRasterDestination|intensity|Intensity|False\",\n-            \"QgsProcessingParameterRasterDestination|saturation|Saturation|False\"\n+            \"QgsProcessingParameterString|grid|Number of rows and columns in grid|10,10\",\n+            \"QgsProcessingParameterEnum|position|Where to place the grid|coor|False|0|True\",\n+            \"QgsProcessingParameterPoint|coordinates|Lower left easting and northing coordinates of map|None|True\",\n+            \"QgsProcessingParameterString|box|Width and height of boxes in grid|\",\n+            \"QgsProcessingParameterNumber|angle|Angle of rotation (in degrees counter-clockwise)|QgsProcessingParameterNumber.Double|0.0|True|0.0|360.0\",\n+            \"QgsProcessingParameterNumber|breaks|Number of vertex points per grid cell|QgsProcessingParameterNumber.Integer|0|True|0|60\",\n+            \"QgsProcessingParameterEnum|type|Output feature type|point;line;area|False|2|True\",\n+            \"QgsProcessingParameterBoolean|-h|Create hexagons (default: rectangles)|False\",\n+            \"QgsProcessingParameterBoolean|-a|Allow asymmetric hexagons|False\",\n+            \"QgsProcessingParameterVectorDestination|map|Grid\"\n         ],\n-        \"short_description\": \"Transforms raster maps from RGB (Red-Green-Blue) color space to HIS (Hue-Intensity-Saturation) color space.\"\n+        \"short_description\": \"Creates a GRASS vector layer of a user-defined grid.\"\n     },\n     {\n-        \"command\": \"r.shade\",\n-        \"display_name\": \"r.shade\",\n-        \"ext_path\": \"r_shade\",\n+        \"command\": \"r.patch\",\n+        \"display_name\": \"r.patch\",\n+        \"ext_path\": null,\n         \"group\": \"Raster (r.*)\",\n         \"group_id\": \"raster\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"r.shade\",\n+        \"name\": \"r.patch\",\n         \"parameters\": [\n-            \"QgsProcessingParameterRasterLayer|shade|Name of shaded relief or aspect raster map|None|False\",\n-            \"QgsProcessingParameterRasterLayer|color|Name of raster to drape over relief raster map|None|False\",\n-            \"QgsProcessingParameterNumber|brighten|Percent to brighten|QgsProcessingParameterNumber.Integer|0|True|-99|99\",\n-            \"QgsProcessingParameterString|bgcolor|Color to use instead of NULL values. Either a standard color name, R:G:B triplet, or \\\"none\\\"|None|False|True\",\n-            \"*QgsProcessingParameterBoolean|-c|Use colors from color tables for NULL values|False\",\n-            \"QgsProcessingParameterRasterDestination|output|Shaded\"\n+            \"QgsProcessingParameterMultipleLayers|input|Raster layers to be patched together|3|None|False\",\n+            \"QgsProcessingParameterBoolean|-z|Use zero (0) for transparency instead of NULL|False\",\n+            \"QgsProcessingParameterRasterDestination|output|Patched\"\n         ],\n-        \"short_description\": \"Drapes a color raster over an shaded relief or aspect map.\"\n+        \"short_description\": \"Creates a composite raster layer by using one (or more) layer(s) to fill in areas of \\\"no data\\\" in another map layer.\"\n     },\n     {\n-        \"command\": \"v.buffer\",\n-        \"display_name\": \"v.buffer\",\n+        \"command\": \"r.mfilter\",\n+        \"display_name\": \"r.mfilter\",\n+        \"ext_path\": null,\n+        \"group\": \"Raster (r.*)\",\n+        \"group_id\": \"raster\",\n+        \"hardcoded_strings\": [],\n+        \"name\": \"r.mfilter\",\n+        \"parameters\": [\n+            \"QgsProcessingParameterRasterLayer|input|Input layer|None|False\",\n+            \"QgsProcessingParameterFile|filter|Filter file|QgsProcessingParameterFile.File|txt|None|False\",\n+            \"QgsProcessingParameterNumber|repeat|Number of times to repeat the filter|QgsProcessingParameterNumber.Integer|1|True|1|None\",\n+            \"QgsProcessingParameterBoolean|-z|Apply filter only to zero data values|False\",\n+            \"QgsProcessingParameterRasterDestination|output|Filtered\"\n+        ],\n+        \"short_description\": \"Performs raster map matrix filter.\"\n+    },\n+    {\n+        \"command\": \"v.hull\",\n+        \"display_name\": \"v.hull\",\n         \"ext_path\": null,\n         \"group\": \"Vector (v.*)\",\n         \"group_id\": \"vector\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"v.buffer\",\n+        \"name\": \"v.hull\",\n         \"parameters\": [\n-            \"QgsProcessingParameterFeatureSource|input|Input vector layer|-1|None|False\",\n-            \"QgsProcessingParameterString|cats|Category values|None|False|True\",\n+            \"QgsProcessingParameterFeatureSource|input|Input layer|0|None|False\",\n             \"QgsProcessingParameterString|where|WHERE conditions of SQL statement without 'where' keyword|None|True|True\",\n-            \"QgsProcessingParameterEnum|type|Input feature type|point;line;boundary;centroid;area|True|0,1,4|True\",\n-            \"QgsProcessingParameterNumber|distance|Buffer distance in map units|QgsProcessingParameterNumber.Double|None|True|None|None\",\n-            \"QgsProcessingParameterNumber|minordistance|Buffer distance along minor axis in map units|QgsProcessingParameterNumber.Double|None|True|None|None\",\n-            \"QgsProcessingParameterNumber|angle|Angle of major axis in degrees|QgsProcessingParameterNumber.Double|0.0|True|0.0|360.0\",\n-            \"QgsProcessingParameterString|layer|Layer number or name ('-1' for all layers)|-1|False|False\",\n-            \"QgsProcessingParameterField|column|Name of column to use for buffer distances|None|input|-1|False|True\",\n-            \"QgsProcessingParameterNumber|scale|Scaling factor for attribute column values|QgsProcessingParameterNumber.Double|1.0|True|None|None\",\n-            \"QgsProcessingParameterNumber|tolerance|Maximum distance between theoretical arc and polygon segments as multiple of buffer|QgsProcessingParameterNumber.Double|0.01|True|None|None\",\n-            \"*QgsProcessingParameterBoolean|-s|Make outside corners straight|False\",\n-            \"*QgsProcessingParameterBoolean|-c|Do not make caps at the ends of polylines|False\",\n-            \"*QgsProcessingParameterBoolean|-t|Transfer categories and attributes|False\",\n-            \"QgsProcessingParameterVectorDestination|output|Buffer\"\n+            \"QgsProcessingParameterBoolean|-f|Create a 'flat' 2D hull even if the input is 3D points|False\",\n+            \"QgsProcessingParameterVectorDestination|output|Convex hull\"\n         ],\n-        \"short_description\": \"Creates a buffer around vector features of given type.\"\n+        \"short_description\": \"Produces a convex hull for a given vector map.\"\n     },\n     {\n-        \"command\": \"r.drain\",\n-        \"display_name\": \"r.drain\",\n-        \"ext_path\": \"r_drain\",\n+        \"command\": \"r.cost\",\n+        \"display_name\": \"r.cost\",\n+        \"ext_path\": null,\n         \"group\": \"Raster (r.*)\",\n         \"group_id\": \"raster\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"r.drain\",\n+        \"name\": \"r.cost\",\n         \"parameters\": [\n-            \"QgsProcessingParameterRasterLayer|input|Elevation|None|False\",\n-            \"QgsProcessingParameterRasterLayer|direction|Name of input movement direction map associated with the cost surface|None|True\",\n-            \"QgsProcessingParameterPoint|start_coordinates|Map coordinates of starting point(s) (E,N)|None|True\",\n-            \"QgsProcessingParameterFeatureSource|start_points|Vector layer containing starting point(s)|0|None|True\",\n-            \"QgsProcessingParameterBoolean|-c|Copy input cell values on output|False\",\n-            \"QgsProcessingParameterBoolean|-a|Accumulate input values along the path|False\",\n-            \"QgsProcessingParameterBoolean|-n|Count cell numbers along the path|False\",\n-            \"QgsProcessingParameterBoolean|-d|The input raster map is a cost surface (direction surface must also be specified)|False\",\n-            \"QgsProcessingParameterRasterDestination|output|Least cost path\",\n-            \"QgsProcessingParameterVectorDestination|drain|Drain\"\n+            \"QgsProcessingParameterRasterLayer|input|Unit cost layer|None|False\",\n+            \"QgsProcessingParameterPoint|start_coordinates|Coordinates of starting point(s) (E,N)||True\",\n+            \"QgsProcessingParameterPoint|stop_coordinates|Coordinates of stopping point(s) (E,N)||True\",\n+            \"QgsProcessingParameterBoolean|-k|Use the 'Knight's move'; slower, but more accurate|False\",\n+            \"QgsProcessingParameterBoolean|-n|Keep null values in output raster layer|True\",\n+            \"QgsProcessingParameterFeatureSource|start_points|Start points|0|None|True\",\n+            \"QgsProcessingParameterFeatureSource|stop_points|Stop points|0|None|True\",\n+            \"QgsProcessingParameterRasterLayer|start_raster|Name of starting raster points map|None|True\",\n+            \"QgsProcessingParameterNumber|max_cost|Maximum cumulative cost|QgsProcessingParameterNumber.Double|0.0|True|None|None\",\n+            \"QgsProcessingParameterNumber|null_cost|Cost assigned to null cells. By default, null cells are excluded|QgsProcessingParameterNumber.Double|None|True|None|None\",\n+            \"QgsProcessingParameterNumber|memory|Maximum memory to be used in MB|QgsProcessingParameterNumber.Integer|300|True|1|None\",\n+            \"QgsProcessingParameterRasterDestination|output|Cumulative cost|None|True\",\n+            \"QgsProcessingParameterRasterDestination|nearest|Cost allocation map|None|True\",\n+            \"QgsProcessingParameterRasterDestination|outdir|Movement directions|None|True\"\n         ],\n-        \"short_description\": \"Traces a flow through an elevation model on a raster map.\"\n+        \"short_description\": \"Creates a raster layer of cumulative cost of moving across a raster layer whose cell values represent cost.\"\n     },\n     {\n-        \"command\": \"v.dissolve\",\n-        \"display_name\": \"v.dissolve\",\n+        \"command\": \"r.latlong\",\n+        \"display_name\": \"r.latlong\",\n         \"ext_path\": null,\n-        \"group\": \"Vector (v.*)\",\n-        \"group_id\": \"vector\",\n+        \"group\": \"Raster (r.*)\",\n+        \"group_id\": \"raster\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"v.dissolve\",\n+        \"name\": \"r.latlong\",\n         \"parameters\": [\n-            \"QgsProcessingParameterFeatureSource|input|Input vector layer|2|None|False\",\n-            \"QgsProcessingParameterField|column|Name of column used to dissolve common boundaries|None|input|-1|False|True\",\n-            \"QgsProcessingParameterVectorDestination|output|Dissolved\"\n+            \"QgsProcessingParameterRasterLayer|input|Name of input raster map|None|False\",\n+            \"QgsProcessingParameterBoolean|-l|Longitude output|False|True\",\n+            \"QgsProcessingParameterRasterDestination|output|LatLong\"\n         ],\n-        \"short_description\": \"Dissolves boundaries between adjacent areas sharing a common category number or attribute.\"\n+        \"short_description\": \"Creates a latitude/longitude raster map.\"\n     },\n     {\n-        \"command\": \"r.rescale.eq\",\n-        \"display_name\": \"r.rescale.eq\",\n-        \"ext_path\": null,\n+        \"command\": \"r.li.richness\",\n+        \"display_name\": \"r.li.richness.ascii\",\n+        \"ext_path\": \"r_li_richness_ascii\",\n         \"group\": \"Raster (r.*)\",\n         \"group_id\": \"raster\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"r.rescale.eq\",\n+        \"name\": \"r.li.richness.ascii\",\n         \"parameters\": [\n-            \"QgsProcessingParameterRasterLayer|input|Input raster layer|None|False\",\n-            \"QgsProcessingParameterRange|from|The input data range to be rescaled|QgsProcessingParameterNumber.Double|None|True\",\n-            \"QgsProcessingParameterRange|to|The output data range|QgsProcessingParameterNumber.Double|None|False\",\n-            \"QgsProcessingParameterRasterDestination|output|Rescaled equalized\"\n+            \"QgsProcessingParameterRasterLayer|input|Name of input raster map|None|False\",\n+            \"QgsProcessingParameterString|config_txt|Landscape structure configuration|None|True|True\",\n+            \"QgsProcessingParameterFile|config|Landscape structure configuration file|QgsProcessingParameterFile.File|txt|None|True\",\n+            \"QgsProcessingParameterFileDestination|output_txt|Richness|Txt files (*.txt)|None|False\"\n         ],\n-        \"short_description\": \"Rescales histogram equalized the range of category values in a raster  layer.\"\n+        \"short_description\": \"r.li.richness.ascii - Calculates richness index on a raster map\"\n     },\n     {\n-        \"command\": \"v.net.distance\",\n-        \"display_name\": \"v.net.distance\",\n-        \"ext_path\": \"v_net_distance\",\n+        \"command\": \"v.net.path\",\n+        \"display_name\": \"v.net.path\",\n+        \"ext_path\": \"v_net_path\",\n         \"group\": \"Vector (v.*)\",\n         \"group_id\": \"vector\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"v.net.distance\",\n+        \"name\": \"v.net.path\",\n         \"parameters\": [\n-            \"QgsProcessingParameterFeatureSource|input|Input vector line layer (network)|1|None|False\",\n-            \"QgsProcessingParameterFeatureSource|flayer|Input vector from points layer (from)|0|None|False\",\n-            \"QgsProcessingParameterFeatureSource|tlayer|Input vector to layer (to)|-1|None|False\",\n-            \"QgsProcessingParameterNumber|threshold|Threshold for connecting nodes to the network (in map unit)|QgsProcessingParameterNumber.Double|50.0|False|0.0|None\",\n-            \"*QgsProcessingParameterEnum|arc_type|Arc type|line;boundary|True|0,1|True\",\n-            \"*QgsProcessingParameterString|from_cats|From Category values|None|False|True\",\n-            \"*QgsProcessingParameterString|from_where|From WHERE conditions of SQL statement without 'where' keyword|None|True|True\",\n-            \"*QgsProcessingParameterEnum|to_type|To feature type|point;line;boundary|True|0|True\",\n-            \"*QgsProcessingParameterString|to_cats|To Category values|None|False|True\",\n-            \"*QgsProcessingParameterString|to_where|To WHERE conditions of SQL statement without 'where' keyword|None|True|True\",\n+            \"QgsProcessingParameterFeatureSource|input|Input vector line layer (arcs)|1|None|False\",\n+            \"QgsProcessingParameterFeatureSource|points|Centers point layer (nodes)|0|None|False\",\n+            \"QgsProcessingParameterFile|file|Name of file containing start and end points|QgsProcessingParameterFile.File|txt|None|False\",\n+            \"QgsProcessingParameterNumber|threshold|Threshold for connecting centers to the network (in map unit)|QgsProcessingParameterNumber.Double|50.0|False|0.0|None\",\n+            \"*QgsProcessingParameterEnum|arc_type|Arc type|line;boundary|True|0,1|False\",\n             \"*QgsProcessingParameterField|arc_column|Arc forward/both direction(s) cost column (number)|None|input|0|False|True\",\n             \"*QgsProcessingParameterField|arc_backward_column|Arc backward direction cost column (number)|None|input|0|False|True\",\n-            \"*QgsProcessingParameterField|node_column|Node cost column (number)|None|flayer|0|False|True\",\n+            \"*QgsProcessingParameterField|node_column|Node cost column (number)|None|points|0|False|True\",\n+            \"*QgsProcessingParameterNumber|dmax|Maximum distance to the network|QgsProcessingParameterNumber.Double|1000.0|True|0.0|None\",\n             \"*QgsProcessingParameterBoolean|-g|Use geodesic calculation for longitude-latitude locations|False|True\",\n-            \"*QgsProcessingParameterBoolean|-l|Write each output path as one line, not as original input segments|False|True\",\n-            \"QgsProcessingParameterVectorDestination|output|Network_Distance\"\n+            \"*QgsProcessingParameterBoolean|-s|Write output as original input segments, not each path as one line|False|True\",\n+            \"QgsProcessingParameterVectorDestination|output|Network_Path\"\n         ],\n-        \"short_description\": \"Computes shortest distance via the network between the given sets of features.\"\n+        \"short_description\": \"Finds shortest path on vector network\"\n     },\n     {\n-        \"command\": \"nviz\",\n-        \"display_name\": \"nviz\",\n+        \"command\": \"v.out.svg\",\n+        \"display_name\": \"v.out.svg\",\n         \"ext_path\": null,\n-        \"group\": \"Visualization(NVIZ)\",\n-        \"group_id\": \"visualization\",\n+        \"group\": \"Vector (v.*)\",\n+        \"group_id\": \"vector\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"nviz\",\n+        \"name\": \"v.out.svg\",\n         \"parameters\": [\n-            \"QgsProcessingParameterMultipleLayers|elevation|Name of elevation raster map|3|None|False\",\n-            \"QgsProcessingParameterMultipleLayers|color|Name of raster map(s) for Color|3|None|False\",\n-            \"QgsProcessingParameterMultipleLayers|vector|Name of vector lines/areas overlay map(s)|-1|None|False\",\n-            \"QgsProcessingParameterMultipleLayers|point|Name of vector points overlay file(s)|0|None|True\",\n-            \"QgsProcessingParameterMultipleLayers|volume|Name of existing 3d raster map|3|None|True\"\n+            \"QgsProcessingParameterFeatureSource|input|Name of input vector map|-1|None|False\",\n+            \"QgsProcessingParameterEnum|type|Output type|poly;line;point|False|0|False\",\n+            \"QgsProcessingParameterNumber|precision|Coordinate precision|QgsProcessingParameterNumber.Integer|6|True|0|None\",\n+            \"QgsProcessingParameterField|attribute|Attribute(s) to include in output SVG|None|input|-1|True|True\",\n+            \"QgsProcessingParameterFileDestination|output|SVG File|SVG files (*.svg)|None|False\"\n         ],\n-        \"short_description\": \"Visualization and animation tool for GRASS data.\"\n+        \"short_description\": \"Exports a vector map to SVG file.\"\n     },\n     {\n-        \"command\": \"v.parallel\",\n-        \"display_name\": \"v.parallel\",\n-        \"ext_path\": null,\n+        \"command\": \"v.net.alloc\",\n+        \"display_name\": \"v.net.alloc\",\n+        \"ext_path\": \"v_net_alloc\",\n         \"group\": \"Vector (v.*)\",\n         \"group_id\": \"vector\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"v.parallel\",\n+        \"name\": \"v.net.alloc\",\n         \"parameters\": [\n-            \"QgsProcessingParameterFeatureSource|input|Input lines|1|None|False\",\n-            \"QgsProcessingParameterNumber|distance|Offset along major axis in map units|QgsProcessingParameterNumber.Double|1.0|False|0.0|100000000.0\",\n-            \"QgsProcessingParameterNumber|minordistance|Offset along minor axis in map units|QgsProcessingParameterNumber.Double|None|True|0.0|100000000.0\",\n-            \"QgsProcessingParameterNumber|angle|Angle of major axis in degrees|QgsProcessingParameterNumber.Double|0.0|True|0.0|360.0\",\n-            \"QgsProcessingParameterEnum|side|Side|left;right;both|False|0|False\",\n-            \"QgsProcessingParameterNumber|tolerance|Tolerance of arc polylines in map units|QgsProcessingParameterNumber.Double|None|True|0.0|100000000.0\",\n-            \"QgsProcessingParameterBoolean|-r|Make outside corners round|False\",\n-            \"QgsProcessingParameterBoolean|-b|Create buffer-like parallel lines|False\",\n-            \"QgsProcessingParameterVectorDestination|output|Parallel lines\"\n+            \"QgsProcessingParameterFeatureSource|input|Input vector line layer (arcs)|1|None|False\",\n+            \"QgsProcessingParameterFeatureSource|points|Centers point layer (nodes)|0|None|False\",\n+            \"QgsProcessingParameterNumber|threshold|Threshold for connecting centers to the network (in map unit)|QgsProcessingParameterNumber.Double|50.0|False|0.0|None\",\n+            \"*QgsProcessingParameterString|center_cats|Category values|1-100000|False|False\",\n+            \"*QgsProcessingParameterEnum|arc_type|Arc type|line;boundary|True|0,1|False\",\n+            \"*QgsProcessingParameterEnum|method|Use costs from centers or costs to centers|from;to|False|0|True\",\n+            \"*QgsProcessingParameterField|arc_column|Arc forward/both direction(s) cost column (number)|None|input|0|False|True\",\n+            \"*QgsProcessingParameterField|arc_backward_column|Arc backward direction cost column (number)|None|input|0|False|True\",\n+            \"*QgsProcessingParameterField|node_column|Node cost column (number)|None|points|0|False|True\",\n+            \"*QgsProcessingParameterBoolean|-g|Use geodesic calculation for longitude-latitude locations|False|True\",\n+            \"QgsProcessingParameterVectorDestination|output|Network Alloction\"\n         ],\n-        \"short_description\": \"Creates parallel line to input vector lines.\"\n+        \"short_description\": \"Allocates subnets for nearest centers\"\n     },\n     {\n-        \"command\": \"r.surf.fractal\",\n-        \"display_name\": \"r.surf.fractal\",\n+        \"command\": \"v.net.allpairs\",\n+        \"display_name\": \"v.net.allpairs\",\n+        \"ext_path\": \"v_net_allpairs\",\n+        \"group\": \"Vector (v.*)\",\n+        \"group_id\": \"vector\",\n+        \"hardcoded_strings\": [],\n+        \"name\": \"v.net.allpairs\",\n+        \"parameters\": [\n+            \"QgsProcessingParameterFeatureSource|input|Input vector line layer (arcs)|1|None|False\",\n+            \"QgsProcessingParameterFeatureSource|points|Centers point layer (nodes)|0|None|False\",\n+            \"QgsProcessingParameterNumber|threshold|Threshold for connecting centers to the network (in map unit)|QgsProcessingParameterNumber.Double|50.0|False|0.0|None\",\n+            \"*QgsProcessingParameterString|cats|Category values|1-10000|False|True\",\n+            \"*QgsProcessingParameterString|where|WHERE condition of SQL statement without 'where' keyword'|None|True|True\",\n+            \"*QgsProcessingParameterField|arc_column|Arc forward/both direction(s) cost column (number)|None|input|0|False|True\",\n+            \"*QgsProcessingParameterField|arc_backward_column|Arc backward direction cost column (number)|None|input|0|False|True\",\n+            \"*QgsProcessingParameterField|node_column|Node cost column (number)|None|points|0|False|True\",\n+            \"*QgsProcessingParameterBoolean|-g|Use geodesic calculation for longitude-latitude locations|False|True\",\n+            \"QgsProcessingParameterVectorDestination|output|Network_Allpairs\"\n+        ],\n+        \"short_description\": \"Computes the shortest path between all pairs of nodes in the network\"\n+    },\n+    {\n+        \"command\": \"r.random.cells\",\n+        \"display_name\": \"r.random.cells\",\n         \"ext_path\": null,\n         \"group\": \"Raster (r.*)\",\n         \"group_id\": \"raster\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"r.surf.fractal\",\n+        \"name\": \"r.random.cells\",\n         \"parameters\": [\n-            \"QgsProcessingParameterNumber|dimension|Fractal dimension of surface (2 < D < 3)|QgsProcessingParameterNumber.Double|2.05|True|2.0|3.0\",\n-            \"QgsProcessingParameterNumber|number|Number of intermediate images to produce|QgsProcessingParameterNumber.Integer|0|True|0|None\",\n-            \"QgsProcessingParameterRasterDestination|output|Fractal Surface\"\n+            \"QgsProcessingParameterNumber|distance|Maximum distance of spatial correlation (value(s) >= 0.0)|QgsProcessingParameterNumber.Double|0.0|False|0.0|None\",\n+            \"QgsProcessingParameterNumber|ncells|Maximum number of cells to be created|QgsProcessingParameterNumber.Integer|None|True|1|None\",\n+            \"*QgsProcessingParameterNumber|seed|Random seed (SEED_MIN >= value >= SEED_MAX) (default [random])|QgsProcessingParameterNumber.Integer|None|True|None|None\",\n+            \"QgsProcessingParameterRasterDestination|output|Random\"\n         ],\n-        \"short_description\": \"Creates a fractal surface of a given fractal dimension.\"\n+        \"short_description\": \"Generates random cell values with spatial dependence.\"\n     },\n     {\n-        \"command\": \"r.resamp.interp\",\n-        \"display_name\": \"r.resamp.interp\",\n+        \"command\": \"r.sim.sediment\",\n+        \"display_name\": \"r.sim.sediment\",\n         \"ext_path\": null,\n         \"group\": \"Raster (r.*)\",\n         \"group_id\": \"raster\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"r.resamp.interp\",\n+        \"name\": \"r.sim.sediment\",\n         \"parameters\": [\n-            \"QgsProcessingParameterRasterLayer|input|Input raster layer|None|False\",\n-            \"QgsProcessingParameterEnum|method|Sampling interpolation method|nearest;bilinear;bicubic;lanczos|False|1|True\",\n-            \"QgsProcessingParameterRasterDestination|output|Resampled interpolated\"\n+            \"QgsProcessingParameterRasterLayer|elevation|Name of the elevation raster map [m]|None|False\",\n+            \"QgsProcessingParameterRasterLayer|water_depth|Name of the water depth raster map [m]|None|False\",\n+            \"QgsProcessingParameterRasterLayer|dx|Name of the x-derivatives raster map [m/m]|None|False\",\n+            \"QgsProcessingParameterRasterLayer|dy|Name of the y-derivatives raster map [m/m]|None|False\",\n+            \"QgsProcessingParameterRasterLayer|detachment_coeff|Name of the detachment capacity coefficient raster map [s/m]|None|False\",\n+            \"QgsProcessingParameterRasterLayer|transport_coeff|Name of the transport capacity coefficient raster map [s]|None|False\",\n+            \"QgsProcessingParameterRasterLayer|shear_stress|Name of the critical shear stress raster map [Pa]|None|False\",\n+            \"QgsProcessingParameterRasterLayer|man|Name of the Mannings n raster map|None|True\",\n+            \"QgsProcessingParameterNumber|man_value|Name of the Mannings n value|QgsProcessingParameterNumber.Double|0.1|True|None|None\",\n+            \"QgsProcessingParameterFeatureSource|observation|Sampling locations vector points|0|None|True\",\n+            \"QgsProcessingParameterNumber|nwalkers|Number of walkers|QgsProcessingParameterNumber.Integer|None|True|None|None\",\n+            \"QgsProcessingParameterNumber|niterations|Time used for iterations [minutes]|QgsProcessingParameterNumber.Integer|10|True|None|None\",\n+            \"QgsProcessingParameterNumber|output_step|Time interval for creating output maps [minutes]|QgsProcessingParameterNumber.Integer|2|True|None|None\",\n+            \"QgsProcessingParameterNumber|diffusion_coeff|Water diffusion constant|QgsProcessingParameterNumber.Double|0.8|True|None|None\",\n+            \"QgsProcessingParameterRasterDestination|transport_capacity|Transport capacity [kg/ms]\",\n+            \"QgsProcessingParameterRasterDestination|tlimit_erosion_deposition|Transport limited erosion-deposition [kg/m2s]\",\n+            \"QgsProcessingParameterRasterDestination|sediment_concentration|Sediment concentration [particle/m3]\",\n+            \"QgsProcessingParameterRasterDestination|sediment_flux|Sediment flux [kg/ms]\",\n+            \"QgsProcessingParameterRasterDestination|erosion_deposition|Erosion-deposition [kg/m2s]\",\n+            \"QgsProcessingParameterVectorDestination|walkers_output|Name of the output walkers vector points layer|QgsProcessing.TypeVectorAnyGeometry|None|True\",\n+            \"QgsProcessingParameterFileDestination|logfile|Name for sampling points output text file.|Txt files (*.txt)|None|True\"\n         ],\n-        \"short_description\": \"Resamples raster map to a finer grid using interpolation.\"\n+        \"short_description\": \"Sediment transport and erosion/deposition simulation using path sampling method (SIMWE).\"\n     },\n     {\n-        \"command\": \"i.modis.qc\",\n-        \"display_name\": \"i.modis.qc\",\n+        \"command\": \"v.distance\",\n+        \"display_name\": \"v.distance\",\n+        \"ext_path\": \"v_distance\",\n+        \"group\": \"Vector (v.*)\",\n+        \"group_id\": \"vector\",\n+        \"hardcoded_strings\": [],\n+        \"name\": \"v.distance\",\n+        \"parameters\": [\n+            \"QgsProcessingParameterFeatureSource|from|'from' vector map|-1|None|False\",\n+            \"*QgsProcessingParameterEnum|from_type|'from' feature type|point;line;boundary;area;centroid|True|0,1,3|True\",\n+            \"QgsProcessingParameterFeatureSource|to|'to' vector map|-1|None|False\",\n+            \"*QgsProcessingParameterEnum|to_type|'to' feature type|point;line;boundary;area;centroid|True|0,1,3|True\",\n+            \"QgsProcessingParameterNumber|dmax|Maximum distance or -1.0 for no limit|QgsProcessingParameterNumber.Double|-1.0|True|-1.0|None\",\n+            \"QgsProcessingParameterNumber|dmin|Minimum distance or -1.0 for no limit|QgsProcessingParameterNumber.Double|-1.0|True|-1.0|None\",\n+            \"QgsProcessingParameterEnum|upload|'upload': Values describing the relation between two nearest features|cat;dist;to_x;to_y;to_along;to_angle;to_attr|True|0|False\",\n+            \"QgsProcessingParameterField|column|Column name(s) where values specified by 'upload' option will be uploaded|None|from|0|True|False\",\n+            \"QgsProcessingParameterField|to_column|Column name of nearest feature (used with upload=to_attr)|None|to|-1|False|True\",\n+            \"QgsProcessingParameterVectorDestination|from_output|Nearest\",\n+            \"QgsProcessingParameterVectorDestination|output|Distance\"\n+        ],\n+        \"short_description\": \"Finds the nearest element in vector map 'to' for elements in vector map 'from'.\"\n+    },\n+    {\n+        \"command\": \"v.transform\",\n+        \"display_name\": \"v.transform\",\n+        \"ext_path\": \"v_transform\",\n+        \"group\": \"Vector (v.*)\",\n+        \"group_id\": \"vector\",\n+        \"hardcoded_strings\": [],\n+        \"name\": \"v.transform\",\n+        \"parameters\": [\n+            \"QgsProcessingParameterFeatureSource|input|Input vector layer|-1|None|False\",\n+            \"QgsProcessingParameterNumber|xshift|X shift|QgsProcessingParameterNumber.Double|0.0|True|None|None\",\n+            \"QgsProcessingParameterNumber|yshift|Y shift|QgsProcessingParameterNumber.Double|0.0|True|None|None\",\n+            \"QgsProcessingParameterNumber|zshift|Z shift|QgsProcessingParameterNumber.Double|0.0|True|None|None\",\n+            \"QgsProcessingParameterNumber|xscale|X scale|QgsProcessingParameterNumber.Double|1.0|True|None|None\",\n+            \"QgsProcessingParameterNumber|yscale|Y scale|QgsProcessingParameterNumber.Double|1.0|True|None|None\",\n+            \"QgsProcessingParameterNumber|zscale|Z scale|QgsProcessingParameterNumber.Double|1.0|True|None|None\",\n+            \"QgsProcessingParameterNumber|zrotation|Rotation around z axis in degrees counterclockwise|QgsProcessingParameterNumber.Double|0.0|True|None|None\",\n+            \"QgsProcessingParameterString|columns|Name of attribute column(s) used as transformation parameters (Format: parameter:column, e.g. xshift:xs,yshift:ys,zrot:zr)|None|True|True\",\n+            \"*QgsProcessingParameterBoolean|-t|Shift all z values to bottom=0|False\",\n+            \"*QgsProcessingParameterBoolean|-w|Swap coordinates x, y and then apply other parameters|False\",\n+            \"*QgsProcessingParameterBoolean|-x|Swap coordinates x, z and then apply other parameters|False\",\n+            \"*QgsProcessingParameterBoolean|-y|Swap coordinates y, z and then apply other parameters|False\",\n+            \"*QgsProcessingParameterBoolean|-a|Swap coordinates after the other transformations|False\",\n+            \"*QgsProcessingParameterBoolean|-b|Do not build topology|False\",\n+            \"QgsProcessingParameterVectorDestination|output|Transformed\"\n+        ],\n+        \"short_description\": \"Performs an affine transformation on a vector layer.\"\n+    },\n+    {\n+        \"command\": \"i.evapo.pt\",\n+        \"display_name\": \"i.evapo.pt\",\n         \"ext_path\": null,\n         \"group\": \"Imagery (i.*)\",\n         \"group_id\": \"imagery\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"i.modis.qc\",\n+        \"name\": \"i.evapo.pt\",\n         \"parameters\": [\n-            \"QgsProcessingParameterRasterLayer|input|Name of input surface reflectance QC layer [bit array]|None|False\",\n-            \"QgsProcessingParameterEnum|productname|Name of MODIS product type|mod09Q1;mod09A1;mod09A1s;mod09CMG;mod09CMGs;mod09CMGi;mod11A1;mod11A2;mod13A2;mcd43B2;mcd43B2q;mod13Q1|False|8|False\",\n-            \"QgsProcessingParameterEnum|qcname|Name of QC type to extract|adjcorr;atcorr;cloud;data_quality;diff_orbit_from_500m;modland_qa;mandatory_qa_11A1;data_quality_flag_11A1;emis_error_11A1;lst_error_11A1;data_quality_flag_11A2;emis_error_11A2;mandatory_qa_11A2;lst_error_11A2;aerosol_quantity;brdf_correction_performed;cirrus_detected;cloud_shadow;cloud_state;internal_cloud_algorithm;internal_fire_algorithm;internal_snow_mask;land_water;mod35_snow_ice;pixel_adjacent_to_cloud;icm_cloudy;icm_clear;icm_high_clouds;icm_low_clouds;icm_snow;icm_fire;icm_sun_glint;icm_dust;icm_cloud_shadow;icm_pixel_is_adjacent_to_cloud;icm_cirrus;icm_pan_flag;icm_criteria_for_aerosol_retrieval;icm_aot_has_clim_val;modland_qa;vi_usefulness;aerosol_quantity;pixel_adjacent_to_cloud;brdf_correction_performed;mixed_clouds;land_water;possible_snow_ice;possible_shadow;platform;land_water;sun_z_angle_at_local_noon;brdf_correction_performed|False|5|False\",\n-            \"QgsProcessingParameterEnum|band|Band number of MODIS product (mod09Q1=[1,2],mod09A1=[1-7],m[o/y]d09CMG=[1-7], mcd43B2q=[1-7])|1;2;3;4;5;6;7|True|0,1|True\",\n-            \"QgsProcessingParameterRasterDestination|output|QC Classification\"\n+            \"QgsProcessingParameterRasterLayer|net_radiation|Name of input net radiation raster map [W/m2]|None|False\",\n+            \"QgsProcessingParameterRasterLayer|soil_heatflux|Name of input soil heat flux raster map [W/m2]|None|False\",\n+            \"QgsProcessingParameterRasterLayer|air_temperature|Name of input air temperature raster map [K]|None|False\",\n+            \"QgsProcessingParameterRasterLayer|atmospheric_pressure|Name of input atmospheric pressure raster map [millibars]|None|False\",\n+            \"QgsProcessingParameterNumber|priestley_taylor_coeff|Priestley-Taylor coefficient|QgsProcessingParameterNumber.Double|1.26|False|0.0|None\",\n+            \"*QgsProcessingParameterBoolean|-z|Set negative ETa to zero|False\",\n+            \"QgsProcessingParameterRasterDestination|output|Evapotranspiration\"\n         ],\n-        \"short_description\": \"Extracts quality control parameters from MODIS QC layers.\"\n+        \"short_description\": \"Computes evapotranspiration calculation Priestley and Taylor formulation, 1972.\"\n     },\n     {\n-        \"command\": \"r.sunmask\",\n-        \"display_name\": \"r.sunmask.position\",\n+        \"command\": \"r.texture\",\n+        \"display_name\": \"r.texture\",\n         \"ext_path\": null,\n         \"group\": \"Raster (r.*)\",\n         \"group_id\": \"raster\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"r.sunmask.position\",\n+        \"name\": \"r.texture\",\n         \"parameters\": [\n-            \"QgsProcessingParameterRasterLayer|elevation|Elevation raster layer [meters]|None|False\",\n-            \"QgsProcessingParameterNumber|altitude|Altitude of the sun in degrees above the horizon|QgsProcessingParameterNumber.Double|None|True|0.0|89.999\",\n-            \"QgsProcessingParameterNumber|azimuth|Azimuth of the sun in degrees from north|QgsProcessingParameterNumber.Double|None|True|0.0|360.0\",\n-            \"QgsProcessingParameterString|east|Easting coordinate (point of interest)|False|False\",\n-            \"QgsProcessingParameterString|north|Northing coordinate (point of interest)|False|False\",\n-            \"QgsProcessingParameterBoolean|-z|Do not ignore zero elevation|True\",\n-            \"QgsProcessingParameterBoolean|-s|Calculate sun position only and exit|False\",\n-            \"QgsProcessingParameterRasterDestination|output|Shadows\"\n+            \"QgsProcessingParameterRasterLayer|input|Name of input raster map|None|False\",\n+            \"QgsProcessingParameterEnum|method|Textural measurement method(s)|asm;contrast;corr;var;idm;sa;se;sv;entr;dv;de;moc1;moc2|True|0|True\",\n+            \"QgsProcessingParameterNumber|size|The size of moving window (odd and >= 3)|QgsProcessingParameterNumber.Double|3.0|True|3.0|None\",\n+            \"QgsProcessingParameterNumber|distance|The distance between two samples (>= 1)|QgsProcessingParameterNumber.Double|1.0|True|1.0|None\",\n+            \"*QgsProcessingParameterBoolean|-s|Separate output for each angle (0, 45, 90, 135)|False\",\n+            \"*QgsProcessingParameterBoolean|-a|Calculate all textural measurements|False\",\n+            \"QgsProcessingParameterFolderDestination|output|Texture files directory\"\n         ],\n-        \"short_description\": \"r.sunmask.position - Calculates cast shadow areas from sun position and elevation raster map.\"\n+        \"short_description\": \"Generate images with textural features from a raster map.\"\n     },\n     {\n-        \"command\": \"r.surf.gauss\",\n-        \"display_name\": \"r.surf.gauss\",\n+        \"command\": \"v.in.wfs\",\n+        \"display_name\": \"v.in.wfs\",\n         \"ext_path\": null,\n-        \"group\": \"Raster (r.*)\",\n-        \"group_id\": \"raster\",\n+        \"group\": \"Vector (v.*)\",\n+        \"group_id\": \"vector\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"r.surf.gauss\",\n+        \"name\": \"v.in.wfs\",\n         \"parameters\": [\n-            \"QgsProcessingParameterNumber|mean|Distribution mean|QgsProcessingParameterNumber.Double|0.0|True|None|None\",\n-            \"QgsProcessingParameterNumber|sigma|Standard deviation|QgsProcessingParameterNumber.Double|1.0|True|None|None\",\n-            \"QgsProcessingParameterRasterDestination|output|Gaussian deviates\"\n+            \"QgsProcessingParameterString|url|GetFeature URL starting with 'http'|http://|False|False\",\n+            \"QgsProcessingParameterCrs|srs|Alternate spatial reference system|None|True\",\n+            \"QgsProcessingParameterString|name|Comma separated names of data layers to download|None|False|True\",\n+            \"QgsProcessingParameterNumber|maximum_features|Maximum number of features to download|QgsProcessingParameterNumber.Integer|None|True|1|None\",\n+            \"QgsProcessingParameterNumber|start_index|Skip earlier feature IDs and start downloading at this one|QgsProcessingParameterNumber.Integer|None|True|1|None\",\n+            \"QgsProcessingParameterVectorDestination|output|Converted\"\n         ],\n-        \"short_description\": \"Creates a raster layer of Gaussian deviates.\"\n+        \"short_description\": \"Import GetFeature from WFS\"\n     },\n     {\n-        \"command\": \"v.proj\",\n-        \"display_name\": \"v.proj\",\n-        \"ext_path\": \"v_proj\",\n+        \"command\": \"v.random\",\n+        \"display_name\": \"v.random\",\n+        \"ext_path\": null,\n         \"group\": \"Vector (v.*)\",\n         \"group_id\": \"vector\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"v.proj\",\n+        \"name\": \"v.random\",\n         \"parameters\": [\n-            \"QgsProcessingParameterFeatureSource|input|Input vector to reproject|-1|None|False\",\n-            \"QgsProcessingParameterCrs|crs|New coordinate reference system|None|False\",\n-            \"QgsProcessingParameterNumber|smax|Maximum segment length in meters in output vector map|QgsProcessingParameterNumber.Double|10000.0|True|0.0|None\",\n-            \"*QgsProcessingParameterBoolean|-z|Assume z coordinate is ellipsoidal height and transform if possible|False|True\",\n-            \"*QgsProcessingParameterBoolean|-w|Disable wrapping to -180,180 for latlon output|False|True\",\n-            \"QgsProcessingParameterVectorDestination|output|Output vector map\"\n+            \"QgsProcessingParameterNumber|npoints|Number of points to be created|QgsProcessingParameterNumber.Double|100|False|0|None\",\n+            \"QgsProcessingParameterFeatureSource|restrict|Restrict points to areas in input vector|-1|None|True\",\n+            \"QgsProcessingParameterString|where|WHERE conditions of SQL statement without 'where' keyword|None|True|True\",\n+            \"QgsProcessingParameterNumber|zmin|Minimum z height for 3D output|QgsProcessingParameterNumber.Double|0.0|True|None|None\",\n+            \"QgsProcessingParameterNumber|zmax|Maximum z height for 3D output|QgsProcessingParameterNumber.Double|0.0|True|None|None\",\n+            \"QgsProcessingParameterNumber|seed|Seed for random number generation|QgsProcessingParameterNumber.Integer|None|True|None|None\",\n+            \"QgsProcessingParameterString|column|Column for Z values|z|False|True\",\n+            \"QgsProcessingParameterEnum|column_type|Type of column for z values|integer;double precision|False|0|True\",\n+            \"QgsProcessingParameterBoolean|-z|Create 3D output|False|True\",\n+            \"QgsProcessingParameterBoolean|-a|Generate n points for each individual area|False|True\",\n+            \"QgsProcessingParameterVectorDestination|output|Random\"\n         ],\n-        \"short_description\": \"Re-projects a vector layer to another coordinate reference system\"\n+        \"short_description\": \"Randomly generate a 2D/3D vector points map.\"\n     },\n     {\n-        \"command\": \"v.net.alloc\",\n-        \"display_name\": \"v.net.alloc\",\n-        \"ext_path\": \"v_net_alloc\",\n+        \"command\": \"v.net.visibility\",\n+        \"display_name\": \"v.net.visibility\",\n+        \"ext_path\": \"v_net_visibility\",\n         \"group\": \"Vector (v.*)\",\n         \"group_id\": \"vector\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"v.net.alloc\",\n+        \"name\": \"v.net.visibility\",\n+        \"parameters\": [\n+            \"QgsProcessingParameterFeatureSource|input|Input vector line layer (arcs)|-1|None|False\",\n+            \"QgsProcessingParameterString|coordinates|Coordinates|None|False|True\",\n+            \"QgsProcessingParameterFeatureSource|visibility|Input vector line layer containing visible points|1|None|True\",\n+            \"QgsProcessingParameterVectorDestination|output|Network Visibility\"\n+        ],\n+        \"short_description\": \"Performs visibility graph construction.\"\n+    },\n+    {\n+        \"command\": \"v.net.steiner\",\n+        \"display_name\": \"v.net.steiner\",\n+        \"ext_path\": \"v_net_steiner\",\n+        \"group\": \"Vector (v.*)\",\n+        \"group_id\": \"vector\",\n+        \"hardcoded_strings\": [],\n+        \"name\": \"v.net.steiner\",\n         \"parameters\": [\n             \"QgsProcessingParameterFeatureSource|input|Input vector line layer (arcs)|1|None|False\",\n             \"QgsProcessingParameterFeatureSource|points|Centers point layer (nodes)|0|None|False\",\n             \"QgsProcessingParameterNumber|threshold|Threshold for connecting centers to the network (in map unit)|QgsProcessingParameterNumber.Double|50.0|False|0.0|None\",\n-            \"*QgsProcessingParameterString|center_cats|Category values|1-100000|False|False\",\n-            \"*QgsProcessingParameterEnum|arc_type|Arc type|line;boundary|True|0,1|False\",\n-            \"*QgsProcessingParameterEnum|method|Use costs from centers or costs to centers|from;to|False|0|True\",\n-            \"*QgsProcessingParameterField|arc_column|Arc forward/both direction(s) cost column (number)|None|input|0|False|True\",\n-            \"*QgsProcessingParameterField|arc_backward_column|Arc backward direction cost column (number)|None|input|0|False|True\",\n-            \"*QgsProcessingParameterField|node_column|Node cost column (number)|None|points|0|False|True\",\n+            \"*QgsProcessingParameterEnum|arc_type|Arc type|line;boundary|True|0,1|True\",\n+            \"*QgsProcessingParameterString|terminal_cats|Category values|1-100000|False|False\",\n+            \"*QgsProcessingParameterField|acolumn|Arc forward/both direction(s) cost column (number)|None|input|0|False|True\",\n+            \"*QgsProcessingParameterNumber|npoints|Number of Steiner points|QgsProcessingParameterNumber.Integer|-1|True|-1|None\",\n             \"*QgsProcessingParameterBoolean|-g|Use geodesic calculation for longitude-latitude locations|False|True\",\n-            \"QgsProcessingParameterVectorDestination|output|Network Alloction\"\n+            \"QgsProcessingParameterVectorDestination|output|Network Steiner\"\n         ],\n-        \"short_description\": \"Allocates subnets for nearest centers\"\n+        \"short_description\": \"Creates Steiner tree for the network and given terminals\"\n     },\n     {\n-        \"command\": \"v.net.centrality\",\n-        \"display_name\": \"v.net.centrality\",\n-        \"ext_path\": \"v_net_centrality\",\n+        \"command\": \"v.net.timetable\",\n+        \"display_name\": \"v.net.timetable\",\n+        \"ext_path\": null,\n         \"group\": \"Vector (v.*)\",\n         \"group_id\": \"vector\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"v.net.centrality\",\n+        \"name\": \"v.net.timetable\",\n         \"parameters\": [\n-            \"QgsProcessingParameterFeatureSource|input|Input vector line layer (network)|1|None|False\",\n-            \"QgsProcessingParameterString|degree|Name of output degree centrality column|degree|False|True\",\n-            \"QgsProcessingParameterString|closeness|Name of output closeness centrality column|closeness|False|True\",\n-            \"QgsProcessingParameterString|betweenness|Name of output betweenness centrality column|betweenness|False|True\",\n-            \"QgsProcessingParameterString|eigenvector|Name of output eigenvector centrality column|eigenvector|False|True\",\n-            \"*QgsProcessingParameterNumber|iterations|Maximum number of iterations to compute eigenvector centrality|QgsProcessingParameterNumber.Integer|1000|True|1|None\",\n-            \"*QgsProcessingParameterNumber|error|Cumulative error tolerance for eigenvector centrality|QgsProcessingParameterNumber.Double|0.1|True|0.0|None\",\n-            \"*QgsProcessingParameterString|cats|Category values|None|False|True\",\n-            \"*QgsProcessingParameterString|where|WHERE conditions of SQL statement without 'where' keyword|None|True|True\",\n+            \"QgsProcessingParameterFeatureSource|input|Input vector line layer (arcs)|1|None|False\",\n+            \"QgsProcessingParameterFeatureSource|points|Centers point layer (nodes)|0|None|False\",\n+            \"QgsProcessingParameterFeatureSource|walk_layer|Layer number or name with walking connections|-1|None|True\",\n+            \"QgsProcessingParameterNumber|threshold|Threshold for connecting centers to the network (in map unit)|QgsProcessingParameterNumber.Double|50.0|False|0.0|None\",\n             \"*QgsProcessingParameterField|arc_column|Arc forward/both direction(s) cost column (number)|None|input|0|False|True\",\n             \"*QgsProcessingParameterField|arc_backward_column|Arc backward direction cost column (number)|None|input|0|False|True\",\n             \"*QgsProcessingParameterField|node_column|Node cost column (number)|None|input|0|False|True\",\n-            \"*QgsProcessingParameterBoolean|-a|Add points on nodes|True|True\",\n-            \"*QgsProcessingParameterBoolean|-g|Use geodesic calculation for longitude-latitude locations|False|True\",\n-            \"QgsProcessingParameterVectorDestination|output|Network Centrality\"\n+            \"*QgsProcessingParameterField|route_id|Name of column with route ids|None|input|0|False|True\",\n+            \"*QgsProcessingParameterField|stop_time|Name of column with stop timestamps|None|walk_layer|-1|False|True\",\n+            \"*QgsProcessingParameterField|to_stop|Name of column with stop ids|None|walk_layer|-1|False|True\",\n+            \"*QgsProcessingParameterField|walk_length|Name of column with walk lengths|None|walk_layer|-1|False|True\",\n+            \"QgsProcessingParameterVectorDestination|output|Network Timetable\"\n         ],\n-        \"short_description\": \"Computes degree, centrality, betweenness, closeness and eigenvector centrality measures in the network.\"\n+        \"short_description\": \"Finds shortest path using timetables.\"\n     },\n     {\n-        \"command\": \"v.in.ascii\",\n-        \"display_name\": \"v.in.ascii\",\n-        \"ext_path\": null,\n+        \"command\": \"v.sample\",\n+        \"display_name\": \"v.sample\",\n+        \"ext_path\": \"v_sample\",\n         \"group\": \"Vector (v.*)\",\n         \"group_id\": \"vector\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"v.in.ascii\",\n+        \"name\": \"v.sample\",\n         \"parameters\": [\n-            \"QgsProcessingParameterFile|input|ASCII file to be imported|QgsProcessingParameterFile.File|txt|None|False\",\n-            \"QgsProcessingParameterEnum|format|Input file format|point;standard|False|0|True\",\n-            \"QgsProcessingParameterString|separator|Field separator|pipe|False|True\",\n-            \"QgsProcessingParameterString|text|Text delimiter|None|False|True\",\n-            \"QgsProcessingParameterNumber|skip|Number of header lines to skip at top of input file|QgsProcessingParameterNumber.Integer|0|True|0|None\",\n-            \"QgsProcessingParameterString|columns|Column definition in SQL style (example: 'x double precision, y double precision, cat int, name varchar(10)')|None|False|True\",\n-            \"QgsProcessingParameterNumber|x|Number of column used as x coordinate|QgsProcessingParameterNumber.Integer|1|True|1|None\",\n-            \"QgsProcessingParameterNumber|y|Number of column used as y coordinate|QgsProcessingParameterNumber.Integer|2|True|1|None\",\n-            \"QgsProcessingParameterNumber|z|Number of column used as z coordinate|QgsProcessingParameterNumber.Integer|0|True|0|None\",\n-            \"QgsProcessingParameterNumber|cat|Number of column used as category|QgsProcessingParameterNumber.Integer|0|True|0|None\",\n-            \"*QgsProcessingParameterBoolean|-z|Create 3D vector map|False\",\n-            \"*QgsProcessingParameterBoolean|-n|Do not expect a header when reading in standard format|False\",\n-            \"*QgsProcessingParameterBoolean|-t|Do not create table in points mode|False\",\n-            \"*QgsProcessingParameterBoolean|-b|Do not build topology in points mode|False\",\n-            \"*QgsProcessingParameterBoolean|-r|Only import points falling within current region (points mode)|False\",\n-            \"*QgsProcessingParameterBoolean|-i|Ignore broken line(s) in points mode|False\",\n-            \"QgsProcessingParameterVectorDestination|output|ASCII\"\n+            \"QgsProcessingParameterFeatureSource|input|Vector layer defining sample points|0|None|False\",\n+            \"QgsProcessingParameterField|column|Vector layer attribute column to use for comparison|None|input|-1|False|False\",\n+            \"QgsProcessingParameterRasterLayer|raster|Raster map to be sampled|None|False\",\n+            \"QgsProcessingParameterNumber|zscale|Sampled raster values will be multiplied by this factor|QgsProcessingParameterNumber.Double|1.0|True|None|None\",\n+            \"QgsProcessingParameterEnum|method|Sampling interpolation method|nearest;bilinear;bicubic|False|0|True\",\n+            \"QgsProcessingParameterVectorDestination|output|Sampled|QgsProcessing.TypeVectorPoint|None|True\"\n         ],\n-        \"short_description\": \"Creates a vector map from an ASCII points file or ASCII vector file.\"\n+        \"short_description\": \"Samples a raster layer at vector point locations.\"\n     },\n     {\n-        \"command\": \"r.univar\",\n-        \"display_name\": \"r.univar\",\n+        \"command\": \"r.covar\",\n+        \"display_name\": \"r.covar\",\n         \"ext_path\": null,\n         \"group\": \"Raster (r.*)\",\n         \"group_id\": \"raster\",\n-        \"hardcoded_strings\": [\n-            \"-t\"\n-        ],\n-        \"name\": \"r.univar\",\n+        \"hardcoded_strings\": [],\n+        \"name\": \"r.covar\",\n         \"parameters\": [\n-            \"QgsProcessingParameterMultipleLayers|map|Name of raster map(s)|3|None|False\",\n-            \"QgsProcessingParameterRasterLayer|zones|Raster map used for zoning, must be of type CELL|None|True\",\n-            \"QgsProcessingParameterString|percentile|Percentile to calculate (comma separated list if multiple) (requires extended statistics flag)|None|False|True\",\n-            \"QgsProcessingParameterString|separator|Field separator. Special characters: pipe, comma, space, tab, newline|pipe|False|True\",\n-            \"*QgsProcessingParameterBoolean|-e|Calculate extended statistics|False\",\n-            \"Hardcoded|-t\",\n-            \"QgsProcessingParameterFileDestination|output|Univariate results|Txt files (*.txt)|None|False\"\n+            \"QgsProcessingParameterMultipleLayers|map|Input layers|3|None|False\",\n+            \"QgsProcessingParameterBoolean|-r|Print correlation matrix|True\",\n+            \"QgsProcessingParameterFileDestination|html|Covariance report|Html files (*.html)|report.html|False\"\n         ],\n-        \"short_description\": \"Calculates univariate statistics from the non-null cells of a raster map.\"\n+        \"short_description\": \"Outputs a covariance/correlation matrix for user-specified raster layer(s).\"\n     },\n     {\n-        \"command\": \"r.uslek\",\n-        \"display_name\": \"r.uslek\",\n+        \"command\": \"r.usler\",\n+        \"display_name\": \"r.usler\",\n         \"ext_path\": null,\n         \"group\": \"Raster (r.*)\",\n         \"group_id\": \"raster\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"r.uslek\",\n+        \"name\": \"r.usler\",\n         \"parameters\": [\n-            \"QgsProcessingParameterRasterLayer|psand|Name of soil sand fraction raster map [0.0-1.0]|None|False\",\n-            \"QgsProcessingParameterRasterLayer|pclay|Name of soil clay fraction raster map [0.0-1.0]|None|False\",\n-            \"QgsProcessingParameterRasterLayer|psilt|Name of soil silt fraction raster map [0.0-1.0]|None|False\",\n-            \"QgsProcessingParameterRasterLayer|pomat|Name of soil organic matter raster map [0.0-1.0]|None|False\",\n+            \"QgsProcessingParameterRasterLayer|input|Name of annual precipitation raster map [mm/year]|None|False\",\n+            \"QgsProcessingParameterEnum|method|Name of USLE R equation|roose;morgan;foster;elswaify|False|0|False\",\n             \"QgsProcessingParameterRasterDestination|output|USLE R Raster\"\n         ],\n-        \"short_description\": \"Computes USLE Soil Erodibility Factor (K).\"\n+        \"short_description\": \"Computes USLE R factor, Rainfall erosivity index.\"\n     },\n     {\n-        \"command\": \"v.kcv\",\n-        \"display_name\": \"v.kcv\",\n+        \"command\": \"v.lidar.growing\",\n+        \"display_name\": \"v.lidar.growing\",\n         \"ext_path\": null,\n         \"group\": \"Vector (v.*)\",\n         \"group_id\": \"vector\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"v.kcv\",\n+        \"name\": \"v.lidar.growing\",\n         \"parameters\": [\n-            \"QgsProcessingParameterFeatureSource|map|Input layer|-1|None|False\",\n-            \"QgsProcessingParameterNumber|npartitions|Number of partitions|QgsProcessingParameterNumber.Integer|10|False|2|None\",\n-            \"QgsProcessingParameterString|column|Name for new column to which partition number is written|part|False|True\",\n-            \"QgsProcessingParameterVectorDestination|output|Partition\"\n+            \"QgsProcessingParameterFeatureSource|input|Input vector (v.lidar.edgedetection output)|-1|None|False\",\n+            \"QgsProcessingParameterFeatureSource|first|First pulse vector layer|-1|None|False\",\n+            \"QgsProcessingParameterNumber|tj|Threshold for cell object frequency in region growing|QgsProcessingParameterNumber.Double|0.2|True|None|None\",\n+            \"QgsProcessingParameterNumber|td|Threshold for double pulse in region growing|QgsProcessingParameterNumber.Double|0.6|True|None|None\",\n+            \"QgsProcessingParameterVectorDestination|output|Buildings\"\n         ],\n-        \"short_description\": \"Randomly partition points into test/train sets.\"\n+        \"short_description\": \"Building contour determination and Region Growing algorithm for determining the building inside\"\n     },\n     {\n-        \"command\": \"i.tasscap\",\n-        \"display_name\": \"i.tasscap\",\n-        \"ext_path\": \"i_tasscap\",\n+        \"command\": \"i.atcorr\",\n+        \"display_name\": \"i.atcorr\",\n+        \"ext_path\": null,\n         \"group\": \"Imagery (i.*)\",\n         \"group_id\": \"imagery\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"i.tasscap\",\n+        \"name\": \"i.atcorr\",\n         \"parameters\": [\n-            \"QgsProcessingParameterMultipleLayers|input|Input rasters. Landsat4-7: bands 1,2,3,4,5,7; Landsat8: bands 2,3,4,5,6,7; MODIS: bands 1,2,3,4,5,6,7|3|None|False\",\n-            \"QgsProcessingParameterEnum|sensor|Satellite sensor|landsat4_tm;landsat5_tm;landsat7_etm;landsat8_oli;modis|False|0|False\",\n-            \"QgsProcessingParameterFolderDestination|output|Output Directory\"\n+            \"QgsProcessingParameterRasterLayer|input|Name of input raster map|None|False\",\n+            \"QgsProcessingParameterRange|range|Input imagery range [0,255]|QgsProcessingParameterNumber.Integer|0,255|True\",\n+            \"QgsProcessingParameterRasterLayer|elevation|Input altitude raster map in m (optional)|None|True\",\n+            \"QgsProcessingParameterRasterLayer|visibility|Input visibility raster map in km (optional)|None|True\",\n+            \"QgsProcessingParameterFile|parameters|Name of input text file|QgsProcessingParameterFile.File|txt|None|False\",\n+            \"QgsProcessingParameterRange|rescale|Rescale output raster map [0,255]|QgsProcessingParameterNumber.Integer|0,255|True\",\n+            \"QgsProcessingParameterRasterDestination|output|Atmospheric correction\",\n+            \"*QgsProcessingParameterBoolean|-i|Output raster map as integer|False\",\n+            \"*QgsProcessingParameterBoolean|-r|Input raster map converted to reflectance (default is radiance)|False\",\n+            \"*QgsProcessingParameterBoolean|-a|Input from ETM+ image taken after July 1, 2000|False\",\n+            \"*QgsProcessingParameterBoolean|-b|Input from ETM+ image taken before July 1, 2000|False\"\n         ],\n-        \"short_description\": \"Performs Tasseled Cap (Kauth Thomas) transformation.\"\n+        \"short_description\": \"Performs atmospheric correction using the 6S algorithm.\"\n     },\n     {\n-        \"command\": \"r.in.lidar\",\n-        \"display_name\": \"r.in.lidar\",\n-        \"ext_path\": null,\n+        \"command\": \"r.horizon\",\n+        \"display_name\": \"r.horizon\",\n+        \"ext_path\": \"r_horizon\",\n         \"group\": \"Raster (r.*)\",\n         \"group_id\": \"raster\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"r.in.lidar\",\n-        \"parameters\": [\n-            \"QgsProcessingParameterFile|input|LAS input file|QgsProcessingParameterFile.File|las|None|False\",\n-            \"QgsProcessingParameterEnum|method|Statistic to use for raster values|n;min;max;range;sum;mean;stddev;variance;coeff_var;median;percentile;skewness;trimmean|False|5|True\",\n-            \"QgsProcessingParameterEnum|type|Storage type for resultant raster map|CELL;FCELL;DCELL|False|1|True\",\n-            \"QgsProcessingParameterRasterLayer|base_raster|Subtract raster values from the Z coordinates|None|True\",\n-            \"QgsProcessingParameterRange|zrange|Filter range for z data (min, max)|QgsProcessingParameterNumber.Double|None|True\",\n-            \"QgsProcessingParameterNumber|zscale|Scale to apply to z data|QgsProcessingParameterNumber.Double|1.0|True|0.0|None\",\n-            \"QgsProcessingParameterRange|intensity_range|Filter range for intensity values (min, max)|QgsProcessingParameterNumber.Double|None|True\",\n-            \"QgsProcessingParameterNumber|intensity_scale|Scale to apply to intensity values|QgsProcessingParameterNumber.Double|1.0|True|1.0|None\",\n-            \"QgsProcessingParameterNumber|percent|Percent of map to keep in memory|QgsProcessingParameterNumber.Integer|100|True|1|100\",\n-            \"QgsProcessingParameterNumber|pth|pth percentile of the values (between 1 and 100)|QgsProcessingParameterNumber.Integer|None|True|1|100\",\n-            \"QgsProcessingParameterNumber|trim|Discard <trim> percent of the smallest and <trim> percent of the largest observations (0-50)|QgsProcessingParameterNumber.Double|None|True|0.0|50.0\",\n-            \"QgsProcessingParameterNumber|resolution|Output raster resolution|QgsProcessingParameterNumber.Double|None|True|1.0|None\",\n-            \"QgsProcessingParameterString|return_filter|Only import points of selected return type Options: first, last, mid|None|False|True\",\n-            \"QgsProcessingParameterString|class_filter|Only import points of selected class(es) (comma separated integers)|None|False|True\",\n-            \"*QgsProcessingParameterBoolean|-e|Use the extent of the input for the raster extent|False\",\n-            \"*QgsProcessingParameterBoolean|-n|Set computation region to match the new raster map|False\",\n-            \"*QgsProcessingParameterBoolean|-o|Override projection check (use current location's projection)|False\",\n-            \"*QgsProcessingParameterBoolean|-i|Use intensity values rather than Z values|False\",\n-            \"*QgsProcessingParameterBoolean|-j|Use Z values for filtering, but intensity values for statistics|False\",\n-            \"*QgsProcessingParameterBoolean|-d|Use base raster resolution instead of computational region|False\",\n-            \"*QgsProcessingParameterBoolean|-v|Use only valid points|False\",\n-            \"QgsProcessingParameterRasterDestination|output|Lidar Raster\"\n-        ],\n-        \"short_description\": \"Creates a raster map from LAS LiDAR points using univariate statistics.\"\n-    },\n-    {\n-        \"command\": \"v.distance\",\n-        \"display_name\": \"v.distance\",\n-        \"ext_path\": \"v_distance\",\n-        \"group\": \"Vector (v.*)\",\n-        \"group_id\": \"vector\",\n-        \"hardcoded_strings\": [],\n-        \"name\": \"v.distance\",\n+        \"name\": \"r.horizon\",\n         \"parameters\": [\n-            \"QgsProcessingParameterFeatureSource|from|'from' vector map|-1|None|False\",\n-            \"*QgsProcessingParameterEnum|from_type|'from' feature type|point;line;boundary;area;centroid|True|0,1,3|True\",\n-            \"QgsProcessingParameterFeatureSource|to|'to' vector map|-1|None|False\",\n-            \"*QgsProcessingParameterEnum|to_type|'to' feature type|point;line;boundary;area;centroid|True|0,1,3|True\",\n-            \"QgsProcessingParameterNumber|dmax|Maximum distance or -1.0 for no limit|QgsProcessingParameterNumber.Double|-1.0|True|-1.0|None\",\n-            \"QgsProcessingParameterNumber|dmin|Minimum distance or -1.0 for no limit|QgsProcessingParameterNumber.Double|-1.0|True|-1.0|None\",\n-            \"QgsProcessingParameterEnum|upload|'upload': Values describing the relation between two nearest features|cat;dist;to_x;to_y;to_along;to_angle;to_attr|True|0|False\",\n-            \"QgsProcessingParameterField|column|Column name(s) where values specified by 'upload' option will be uploaded|None|from|0|True|False\",\n-            \"QgsProcessingParameterField|to_column|Column name of nearest feature (used with upload=to_attr)|None|to|-1|False|True\",\n-            \"QgsProcessingParameterVectorDestination|from_output|Nearest\",\n-            \"QgsProcessingParameterVectorDestination|output|Distance\"\n+            \"QgsProcessingParameterRasterLayer|elevation|Name of input elevation raster map|None|False\",\n+            \"QgsProcessingParameterNumber|direction|Direction in which you want to know the horizon height|QgsProcessingParameterNumber.Double|None|True|0.0|360.0\",\n+            \"QgsProcessingParameterNumber|step|Angle step size for multidirectional horizon|QgsProcessingParameterNumber.Double|None|True|0.0|360.0\",\n+            \"QgsProcessingParameterNumber|start|Start angle for multidirectional horizon|QgsProcessingParameterNumber.Double|0.0|True|0.0|360.0\",\n+            \"QgsProcessingParameterNumber|end|End angle for multidirectional horizon|QgsProcessingParameterNumber.Double|360.0|True|0.0|360.0\",\n+            \"QgsProcessingParameterNumber|bufferzone|For horizon rasters, read from the DEM an extra buffer around the present region|QgsProcessingParameterNumber.Double|None|True|0.0|None\",\n+            \"QgsProcessingParameterNumber|e_buff|For horizon rasters, read from the DEM an extra buffer eastward the present region|QgsProcessingParameterNumber.Double|None|True|0.0|None\",\n+            \"QgsProcessingParameterNumber|w_buff|For horizon rasters, read from the DEM an extra buffer westward the present region|QgsProcessingParameterNumber.Double|None|True|0.0|None\",\n+            \"QgsProcessingParameterNumber|n_buff|For horizon rasters, read from the DEM an extra buffer northward the present region|QgsProcessingParameterNumber.Double|None|True|0.0|None\",\n+            \"QgsProcessingParameterNumber|s_buff|For horizon rasters, read from the DEM an extra buffer southward the present region|QgsProcessingParameterNumber.Double|None|True|0.0|None\",\n+            \"QgsProcessingParameterNumber|maxdistance|The maximum distance to consider when finding the horizon height|QgsProcessingParameterNumber.Double|None|True|0.0|None\",\n+            \"QgsProcessingParameterNumber|distance|Sampling distance step coefficient|QgsProcessingParameterNumber.Double|1.0|True|0.5|1.5\",\n+            \"QgsProcessingParameterBoolean|-d|Write output in degrees (default is radians)|False\",\n+            \"QgsProcessingParameterBoolean|-c|Write output in compass orientation (default is CCW, East=0)|False\",\n+            \"QgsProcessingParameterFolderDestination|output|Folder to get horizon rasters\"\n         ],\n-        \"short_description\": \"Finds the nearest element in vector map 'to' for elements in vector map 'from'.\"\n+        \"short_description\": \"Horizon angle computation from a digital elevation model.\"\n     },\n     {\n-        \"command\": \"v.net.components\",\n-        \"display_name\": \"v.net.components\",\n-        \"ext_path\": \"v_net_components\",\n-        \"group\": \"Vector (v.*)\",\n-        \"group_id\": \"vector\",\n+        \"command\": \"r.li.padsd\",\n+        \"display_name\": \"r.li.padsd.ascii\",\n+        \"ext_path\": \"r_li_padsd_ascii\",\n+        \"group\": \"Raster (r.*)\",\n+        \"group_id\": \"raster\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"v.net.components\",\n+        \"name\": \"r.li.padsd.ascii\",\n         \"parameters\": [\n-            \"QgsProcessingParameterFeatureSource|input|Input vector line layer (network)|1|None|False\",\n-            \"QgsProcessingParameterFeatureSource|points|Centers point layer (nodes)|0|None|True\",\n-            \"QgsProcessingParameterNumber|threshold|Threshold for connecting centers to the network (in map unit)|QgsProcessingParameterNumber.Double|50.0|True|0.0|None\",\n-            \"QgsProcessingParameterEnum|method|Type of components|weak;strong|False|0|False\",\n-            \"*QgsProcessingParameterField|arc_column|Arc forward/both direction(s) cost column (number)|None|input|0|False|True\",\n-            \"*QgsProcessingParameterField|arc_backward_column|Arc backward direction cost column (number)|None|input|0|False|True\",\n-            \"*QgsProcessingParameterField|node_column|Node cost column (number)|None|points|0|False|True\",\n-            \"*QgsProcessingParameterBoolean|-a|Add points on nodes|True|True\",\n-            \"QgsProcessingParameterVectorDestination|output|Network_Components_Line\",\n-            \"QgsProcessingParameterVectorDestination|output_point|Network_Components_Point\"\n+            \"QgsProcessingParameterRasterLayer|input|Name of input raster map|None|False\",\n+            \"QgsProcessingParameterString|config_txt|Landscape structure configuration|None|True|True\",\n+            \"QgsProcessingParameterFile|config|Landscape structure configuration file|QgsProcessingParameterFile.File|txt|None|True\",\n+            \"QgsProcessingParameterFileDestination|output_txt|Patch Area SD|Txt files (*.txt)|None|False\"\n         ],\n-        \"short_description\": \"Computes strongly and weakly connected components in the network.\"\n+        \"short_description\": \"r.li.padsd.ascii - Calculates standard deviation of patch area a raster map\"\n     },\n     {\n-        \"command\": \"r.li.patchdensity\",\n-        \"display_name\": \"r.li.patchdensity\",\n-        \"ext_path\": \"r_li_patchdensity\",\n+        \"command\": \"r.gwflow\",\n+        \"display_name\": \"r.gwflow\",\n+        \"ext_path\": null,\n         \"group\": \"Raster (r.*)\",\n         \"group_id\": \"raster\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"r.li.patchdensity\",\n+        \"name\": \"r.gwflow\",\n         \"parameters\": [\n-            \"QgsProcessingParameterRasterLayer|input|Name of input raster map|None|False\",\n-            \"QgsProcessingParameterString|config_txt|Landscape structure configuration|None|True|True\",\n-            \"QgsProcessingParameterFile|config|Landscape structure configuration file|QgsProcessingParameterFile.File|txt|None|True\",\n-            \"QgsProcessingParameterRasterDestination|output|Patch Density\"\n+            \"QgsProcessingParameterRasterLayer|phead|The initial piezometric head in [m]|None|False\",\n+            \"QgsProcessingParameterRasterLayer|status|Boundary condition status, 0-inactive, 1-active, 2-dirichlet|None|False\",\n+            \"QgsProcessingParameterRasterLayer|hc_x|X-part of the hydraulic conductivity tensor in [m/s]|None|False\",\n+            \"QgsProcessingParameterRasterLayer|hc_y|Y-part of the hydraulic conductivity tensor in [m/s]|None|False\",\n+            \"QgsProcessingParameterRasterLayer|q|Water sources and sinks in [m^3/s]|None|True\",\n+            \"QgsProcessingParameterRasterLayer|s|Specific yield in [1/m]|None|False\",\n+            \"QgsProcessingParameterRasterLayer|recharge|Recharge map e.g: 6*10^-9 per cell in [m^3/s*m^2]|None|True\",\n+            \"QgsProcessingParameterRasterLayer|top|Top surface of the aquifer in [m]|None|False\",\n+            \"QgsProcessingParameterRasterLayer|bottom|Bottom surface of the aquifer in [m]|None|False\",\n+            \"QgsProcessingParameterEnum|type|The type of groundwater flow|confined;unconfined|False|0|False\",\n+            \"QgsProcessingParameterRasterLayer|river_bed|The height of the river bed in [m]|None|True\",\n+            \"QgsProcessingParameterRasterLayer|river_head|Water level (head) of the river with leakage connection in [m]|None|True\",\n+            \"QgsProcessingParameterRasterLayer|river_leak|The leakage coefficient of the river bed in [1/s]|None|True\",\n+            \"QgsProcessingParameterRasterLayer|drain_bed|The height of the drainage bed in [m]|None|True\",\n+            \"QgsProcessingParameterRasterLayer|drain_leak|The leakage coefficient of the drainage bed in [1/s]|None|True\",\n+            \"QgsProcessingParameterNumber|dtime|The calculation time in seconds|QgsProcessingParameterNumber.Double|86400.0|False|0.0|None\",\n+            \"QgsProcessingParameterNumber|maxit|Maximum number of iteration used to solver the linear equation system|QgsProcessingParameterNumber.Integer|100000|True|1|None\",\n+            \"QgsProcessingParameterNumber|error|Error break criteria for iterative solvers (jacobi, sor, cg or bicgstab)|QgsProcessingParameterNumber.Double|0.000001|True|None|None\",\n+            \"QgsProcessingParameterEnum|solver|The type of solver which should solve the symmetric linear equation system|cg;pcg;cholesky|False|0|True\",\n+            \"QgsProcessingParameterString|relax|The relaxation parameter used by the jacobi and sor solver for speedup or stabilizing|1\",\n+            \"QgsProcessingParameterBoolean|-f|Allocate a full quadratic linear equation system, default is a sparse linear equation system|False\",\n+            \"QgsProcessingParameterRasterDestination|output|Groundwater flow\",\n+            \"QgsProcessingParameterRasterDestination|vx|Groundwater filter velocity vector part in x direction [m/s]\",\n+            \"QgsProcessingParameterRasterDestination|vy|Groundwater filter velocity vector part in y direction [m/s]\",\n+            \"QgsProcessingParameterRasterDestination|budget|Groundwater budget for each cell [m^3/s]\"\n         ],\n-        \"short_description\": \"Calculates patch density index on a raster map, using a 4 neighbour algorithm\"\n+        \"short_description\": \"Numerical calculation program for transient, confined and unconfined groundwater flow in two dimensions.\"\n     },\n     {\n-        \"command\": \"v.in.mapgen\",\n-        \"display_name\": \"v.in.mapgen\",\n-        \"ext_path\": null,\n+        \"command\": \"v.what.vect\",\n+        \"display_name\": \"v.what.vect\",\n+        \"ext_path\": \"v_what_vect\",\n         \"group\": \"Vector (v.*)\",\n         \"group_id\": \"vector\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"v.in.mapgen\",\n+        \"name\": \"v.what.vect\",\n         \"parameters\": [\n-            \"QgsProcessingParameterFile|input|Name of input file in Mapgen/Matlab format|QgsProcessingParameterFile.File|txt|None|False\",\n-            \"*QgsProcessingParameterBoolean|-z|Create 3D vector map|False\",\n-            \"*QgsProcessingParameterBoolean|-f|Input map is in Matlab format|False\",\n-            \"QgsProcessingParameterVectorDestination|output|Mapgen\"\n+            \"QgsProcessingParameterFeatureSource|map|Name of vector points map for which to edit attributes|0|None|False\",\n+            \"QgsProcessingParameterField|column|Column to be updated with the query result|None|map|-1|False|False\",\n+            \"QgsProcessingParameterFeatureSource|query_map|Vector map to be queried|-1|None|False\",\n+            \"QgsProcessingParameterField|query_column|Column to be queried|None|query_map|-1|False|False\",\n+            \"QgsProcessingParameterNumber|dmax|Maximum query distance in map units|QgsProcessingParameterNumber.Double|0.0|True|0.0|None\",\n+            \"QgsProcessingParameterVectorDestination|output|Updated\"\n         ],\n-        \"short_description\": \"Imports Mapgen or Matlab-ASCII vector maps into GRASS.\"\n+        \"short_description\": \"Uploads vector values at positions of vector points to the table.\"\n     },\n     {\n-        \"command\": \"i.eb.netrad\",\n-        \"display_name\": \"i.eb.netrad\",\n-        \"ext_path\": null,\n-        \"group\": \"Imagery (i.*)\",\n-        \"group_id\": \"imagery\",\n+        \"command\": \"v.vect.stats\",\n+        \"display_name\": \"v.vect.stats\",\n+        \"ext_path\": \"v_vect_stats\",\n+        \"group\": \"Vector (v.*)\",\n+        \"group_id\": \"vector\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"i.eb.netrad\",\n+        \"name\": \"v.vect.stats\",\n         \"parameters\": [\n-            \"QgsProcessingParameterRasterLayer|albedo|Name of albedo raster map [0.0;1.0]|None|False\",\n-            \"QgsProcessingParameterRasterLayer|ndvi|Name of NDVI raster map [-1.0;+1.0]|None|False\",\n-            \"QgsProcessingParameterRasterLayer|temperature|Name of surface temperature raster map [K]|None|False\",\n-            \"QgsProcessingParameterRasterLayer|localutctime|Name of time of satellite overpass raster map [local time in UTC]|None|False\",\n-            \"QgsProcessingParameterRasterLayer|temperaturedifference2m|Name of the difference map of temperature from surface skin to about 2 m height [K]|None|False\",\n-            \"QgsProcessingParameterRasterLayer|emissivity|Name of the emissivity map [-]|None|False\",\n-            \"QgsProcessingParameterRasterLayer|transmissivity_singleway|Name of the single-way atmospheric transmissivitymap [-]|None|False\",\n-            \"QgsProcessingParameterRasterLayer|dayofyear|Name of the Day Of Year (DOY) map [-]|None|False\",\n-            \"QgsProcessingParameterRasterLayer|sunzenithangle|Name of the sun zenith angle map [degrees]|None|False\",\n-            \"QgsProcessingParameterRasterDestination|output|Net Radiation\"\n+            \"QgsProcessingParameterFeatureSource|points|Name of existing vector map with points|0|None|False\",\n+            \"QgsProcessingParameterFeatureSource|areas|Name of existing vector map with areas|2|None|False\",\n+            \"QgsProcessingParameterEnum|type|Input feature type|point;centroid|True|0|False\",\n+            \"QgsProcessingParameterEnum|method|Method for aggregate statistics|sum;average;median;mode;minimum;min_cat;maximum;max_cat;range;stddev;variance;diversity|False|0\",\n+            \"QgsProcessingParameterField|points_column|Column name of points map to use for statistics|None|points|0|False|False\",\n+            \"QgsProcessingParameterString|count_column|Column name to upload points count (integer, created if doesn't exists)|None|False|False\",\n+            \"QgsProcessingParameterString|stats_column|Column name to upload statistics (double, created if doesn't exists)|None|False|False\",\n+            \"QgsProcessingParameterVectorDestination|output|Updated\"\n         ],\n-        \"short_description\": \"Net radiation approximation (Bastiaanssen, 1995).\"\n+        \"short_description\": \"Count points in areas and calculate statistics.\"\n     },\n     {\n         \"command\": \"r.viewshed\",\n         \"display_name\": \"r.viewshed\",\n         \"ext_path\": null,\n         \"group\": \"Raster (r.*)\",\n         \"group_id\": \"raster\",\n@@ -5412,145 +5490,159 @@\n             \"*QgsProcessingParameterBoolean|-b|Output format is invisible = 0, visible = 1|False\",\n             \"*QgsProcessingParameterBoolean|-e|Output format is invisible = NULL, else current elev - viewpoint_elev|False\",\n             \"QgsProcessingParameterRasterDestination|output|Intervisibility\"\n         ],\n         \"short_description\": \"Computes the viewshed of a point on an elevation raster map.\"\n     },\n     {\n-        \"command\": \"v.net.flow\",\n-        \"display_name\": \"v.net.flow\",\n-        \"ext_path\": \"v_net_flow\",\n-        \"group\": \"Vector (v.*)\",\n-        \"group_id\": \"vector\",\n+        \"command\": \"i.vi\",\n+        \"display_name\": \"i.vi\",\n+        \"ext_path\": null,\n+        \"group\": \"Imagery (i.*)\",\n+        \"group_id\": \"imagery\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"v.net.flow\",\n+        \"name\": \"i.vi\",\n         \"parameters\": [\n-            \"QgsProcessingParameterFeatureSource|input|Input vector line layer (network)|1|None|False\",\n-            \"QgsProcessingParameterFeatureSource|points|Input vector point layer (flow nodes)|0|None|False\",\n-            \"QgsProcessingParameterNumber|threshold|Threshold for connecting centers to the network (in map unit)|QgsProcessingParameterNumber.Double|50|False|0.0|None\",\n-            \"QgsProcessingParameterString|source_cats|Source Category values|None|False|True\",\n-            \"QgsProcessingParameterString|source_where|Source WHERE conditions of SQL statement without 'where' keyword|None|True|True\",\n-            \"QgsProcessingParameterString|sink_cats|Sink Category values|None|False|True\",\n-            \"QgsProcessingParameterString|sink_where|Sink WHERE conditions of SQL statement without 'where' keyword|None|True|True\",\n-            \"*QgsProcessingParameterField|arc_column|Arc forward/both direction(s) cost column (number)|None|input|0|False|True\",\n-            \"*QgsProcessingParameterField|arc_backward_column|Arc backward direction cost column (number)|None|input|0|False|True\",\n-            \"*QgsProcessingParameterField|node_column|Node cost column (number)|None|points|0|False|True\",\n-            \"QgsProcessingParameterVectorDestination|output|Network_Flow\",\n-            \"QgsProcessingParameterVectorDestination|cut|Network_Cut\"\n+            \"QgsProcessingParameterRasterLayer|red|Name of input red channel surface reflectance map [0.0-1.0]|None|True\",\n+            \"QgsProcessingParameterEnum|viname|Type of vegetation index|arvi;dvi;evi;evi2;gvi;gari;gemi;ipvi;msavi;msavi2;ndvi;pvi;savi;sr;vari;wdvi|False|10|False\",\n+            \"QgsProcessingParameterRasterLayer|nir|Name of input nir channel surface reflectance map [0.0-1.0]|None|True\",\n+            \"QgsProcessingParameterRasterLayer|green|Name of input green channel surface reflectance map [0.0-1.0]|None|True\",\n+            \"QgsProcessingParameterRasterLayer|blue|Name of input blue channel surface reflectance map [0.0-1.0]|None|True\",\n+            \"QgsProcessingParameterRasterLayer|band5|Name of input 5th channel surface reflectance map [0.0-1.0]|None|True\",\n+            \"QgsProcessingParameterRasterLayer|band7|Name of input 7th channel surface reflectance map [0.0-1.0]|None|True\",\n+            \"QgsProcessingParameterNumber|soil_line_slope|Value of the slope of the soil line (MSAVI2 only)|QgsProcessingParameterNumber.Double|None|True|None|None\",\n+            \"QgsProcessingParameterNumber|soil_line_intercept|Value of the factor of reduction of soil noise (MSAVI2 only)|QgsProcessingParameterNumber.Double|None|True|None|None\",\n+            \"QgsProcessingParameterNumber|soil_noise_reduction|Value of the slope of the soil line (MSAVI2 only)|QgsProcessingParameterNumber.Double|None|True|None|None\",\n+            \"QgsProcessingParameterEnum|storage_bit|Maximum bits for digital numbers|7;8;9;10;16|False|1|True\",\n+            \"QgsProcessingParameterRasterDestination|output|Vegetation Index\"\n         ],\n-        \"short_description\": \"Computes the maximum flow between two sets of nodes in the network.\"\n+        \"short_description\": \"Calculates different types of vegetation indices.\"\n     },\n     {\n-        \"command\": \"r.out.xyz\",\n-        \"display_name\": \"r.out.xyz\",\n+        \"command\": \"r.report\",\n+        \"display_name\": \"r.report\",\n         \"ext_path\": null,\n         \"group\": \"Raster (r.*)\",\n         \"group_id\": \"raster\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"r.out.xyz\",\n+        \"name\": \"r.report\",\n         \"parameters\": [\n-            \"QgsProcessingParameterMultipleLayers|input|Input raster(s)|3|None|False\",\n-            \"QgsProcessingParameterString|separator|Field separator|pipe|False|True\",\n-            \"*QgsProcessingParameterBoolean|-i|Include no data values|False|True\",\n-            \"QgsProcessingParameterFileDestination|output|XYZ File|XYZ files (*.xyz *.txt)|None|False\"\n+            \"QgsProcessingParameterMultipleLayers|map|Raster layer(s) to report on|3|None|False\",\n+            \"QgsProcessingParameterEnum|units|Units|mi;me;k;a;h;c;p|False|1|True\",\n+            \"QgsProcessingParameterString|null_value|Character representing no data cell value|*|False|True\",\n+            \"QgsProcessingParameterNumber|page_length|Page length|QgsProcessingParameterNumber.Integer|0|True|0|None\",\n+            \"QgsProcessingParameterNumber|page_width|Page width|QgsProcessingParameterNumber.Integer|79|True|0|None\",\n+            \"QgsProcessingParameterNumber|nsteps|Number of fp subranges to collect stats from|QgsProcessingParameterNumber.Integer|255|True|1|None\",\n+            \"QgsProcessingParameterEnum|sort|Sort output statistics by cell counts|asc;desc|False|0|True\",\n+            \"QgsProcessingParameterBoolean|-h|Suppress page headers|False|True\",\n+            \"QgsProcessingParameterBoolean|-f|Use formfeeds between pages|False|True\",\n+            \"QgsProcessingParameterBoolean|-e|Scientific format|False|True\",\n+            \"QgsProcessingParameterBoolean|-n|Do not report no data cells|False|True\",\n+            \"QgsProcessingParameterBoolean|-a|Do not report cells where all maps have no data|False|True\",\n+            \"QgsProcessingParameterBoolean|-c|Report for cats floating-point ranges (floating-point maps only)|False|True\",\n+            \"QgsProcessingParameterBoolean|-i|Read floating-point map as integer (use map's quant rules)|False|True\",\n+            \"QgsProcessingParameterFileDestination|output|Name for output file to hold the report|Txt files (*.txt)|None|True\"\n         ],\n-        \"short_description\": \"Exports a raster map to a text file as x,y,z values based on cell centers\"\n+        \"short_description\": \"Reports statistics for raster layers.\"\n     },\n     {\n-        \"command\": \"r.recode\",\n-        \"display_name\": \"r.recode\",\n+        \"command\": \"v.to.points\",\n+        \"display_name\": \"v.to.points\",\n         \"ext_path\": null,\n+        \"group\": \"Vector (v.*)\",\n+        \"group_id\": \"vector\",\n+        \"hardcoded_strings\": [],\n+        \"name\": \"v.to.points\",\n+        \"parameters\": [\n+            \"QgsProcessingParameterFeatureSource|input|Input lines layer|1|None|False\",\n+            \"QgsProcessingParameterEnum|type|Input feature type|point;line;boundary;centroid;area;face;kernel|True|0,1,2,3,5|True\",\n+            \"QgsProcessingParameterEnum|use|Use line nodes or vertices only|node;vertex|False|0|True\",\n+            \"QgsProcessingParameterNumber|dmax|Maximum distance between points in map units|QgsProcessingParameterNumber.Double|100.0|True|0.0|None\",\n+            \"QgsProcessingParameterBoolean|-i|Interpolate points between line vertices|False\",\n+            \"QgsProcessingParameterBoolean|-t|Do not create attribute table|False\",\n+            \"QgsProcessingParameterVectorDestination|output|Points along lines\"\n+        ],\n+        \"short_description\": \"Create points along input lines\"\n+    },\n+    {\n+        \"command\": \"r.statistics\",\n+        \"display_name\": \"r.statistics\",\n+        \"ext_path\": \"r_statistics\",\n         \"group\": \"Raster (r.*)\",\n         \"group_id\": \"raster\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"r.recode\",\n+        \"name\": \"r.statistics\",\n         \"parameters\": [\n-            \"QgsProcessingParameterRasterLayer|input|Input layer|None|False\",\n-            \"QgsProcessingParameterFile|rules|File containing recode rules|QgsProcessingParameterFile.File|txt|NoneFalse\",\n-            \"*QgsProcessingParameterBoolean|-d|Force output to 'double' raster map type (DCELL)|False\",\n-            \"*QgsProcessingParameterBoolean|-a|Align the current region to the input raster map|False\",\n-            \"QgsProcessingParameterRasterDestination|output|Recoded\"\n+            \"QgsProcessingParameterRasterLayer|base|Base raster layer|None|False\",\n+            \"QgsProcessingParameterRasterLayer|cover|Cover raster layer|None|False\",\n+            \"QgsProcessingParameterEnum|method|method|diversity;average;mode;median;avedev;stddev;variance;skewness;kurtosis;min;max;sum|False|0|True\",\n+            \"QgsProcessingParameterBoolean|-c|Cover values extracted from the category labels of the cover map|False\",\n+            \"QgsProcessingParameterRasterDestination|routput|Statistics\"\n         ],\n-        \"short_description\": \"Recodes categorical raster maps.\"\n+        \"short_description\": \"Calculates category or object oriented statistics.\"\n     },\n     {\n-        \"command\": \"r.surf.contour\",\n-        \"display_name\": \"r.surf.contour\",\n+        \"command\": \"r.tile\",\n+        \"display_name\": \"r.tile\",\n         \"ext_path\": null,\n         \"group\": \"Raster (r.*)\",\n         \"group_id\": \"raster\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"r.surf.contour\",\n+        \"name\": \"r.tile\",\n         \"parameters\": [\n-            \"QgsProcessingParameterRasterLayer|input|Raster layer with rasterized contours|None|False\",\n-            \"QgsProcessingParameterRasterDestination|output|DTM from contours\"\n+            \"QgsProcessingParameterRasterLayer|input|Name of input raster map|None|False\",\n+            \"QgsProcessingParameterNumber|width|Width of tiles (columns)|QgsProcessingParameterNumber.Integer|1024|False|1|None\",\n+            \"QgsProcessingParameterNumber|height|Height of tiles (rows)|QgsProcessingParameterNumber.Integer|1024|False|1|None\",\n+            \"QgsProcessingParameterNumber|overlap|Overlap of tiles|QgsProcessingParameterNumber.Integer|None|True|0|None\",\n+            \"QgsProcessingParameterFolderDestination|output|Tiles Directory\"\n         ],\n-        \"short_description\": \"Surface generation program from rasterized contours.\"\n+        \"short_description\": \"Splits a raster map into tiles\"\n     },\n     {\n-        \"command\": \"v.overlay\",\n-        \"display_name\": \"v.overlay\",\n+        \"command\": \"v.kernel\",\n+        \"display_name\": \"v.kernel.rast\",\n         \"ext_path\": null,\n         \"group\": \"Vector (v.*)\",\n         \"group_id\": \"vector\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"v.overlay\",\n+        \"name\": \"v.kernel.rast\",\n         \"parameters\": [\n-            \"QgsProcessingParameterFeatureSource|ainput|Input layer (A)|-1|None|False\",\n-            \"QgsProcessingParameterEnum|atype|Input layer (A) Type|area;line;auto|False|0|True\",\n-            \"QgsProcessingParameterFeatureSource|binput|Input layer (B)|2|None|False\",\n-            \"QgsProcessingParameterEnum|btype|Input layer (B) Type|area|False|0|True\",\n-            \"QgsProcessingParameterEnum|operator|Operator to use|and;or;not;xor|False|0|False\",\n-            \"QgsProcessingParameterNumber|snap|Snapping threshold for boundaries|QgsProcessingParameterNumber.Double|0.00000001|True|-1|None\",\n-            \"QgsProcessingParameterBoolean|-t|Do not create attribute table|False\",\n-            \"QgsProcessingParameterVectorDestination|output|Overlay\"\n+            \"QgsProcessingParameterFeatureSource|input|Name of input vector map with training points|0|None|False\",\n+            \"QgsProcessingParameterNumber|radius|Kernel radius in map units|QgsProcessingParameterNumber.Double|10.0|False|0.0|None\",\n+            \"QgsProcessingParameterNumber|dsize|Discretization error in map units|QgsProcessingParameterNumber.Double|0.0|True|0.0|None\",\n+            \"QgsProcessingParameterNumber|segmax|Maximum length of segment on network|QgsProcessingParameterNumber.Double|100.0|True|0.0|None\",\n+            \"QgsProcessingParameterNumber|distmax|Maximum distance from point to network|QgsProcessingParameterNumber.Double|100.0|True|0.0|None\",\n+            \"QgsProcessingParameterNumber|multiplier|Multiply the density result by this number|QgsProcessingParameterNumber.Double|1.0|True|0.0|None\",\n+            \"QgsProcessingParameterEnum|node|Node method|none;split|False|0|False\",\n+            \"QgsProcessingParameterEnum|kernel|Kernel function|uniform;triangular;epanechnikov;quartic;triweight;gaussian;cosine|False|5|True\",\n+            \"*QgsProcessingParameterBoolean|-o|Try to calculate an optimal radius with given 'radius' taken as maximum (experimental)|False\",\n+            \"QgsProcessingParameterRasterDestination|output|Kernel\"\n         ],\n-        \"short_description\": \"Overlays two vector maps.\"\n+        \"short_description\": \"v.kernel.rast - Generates a raster density map from vector points map.\"\n     },\n     {\n-        \"command\": \"r.path\",\n-        \"display_name\": \"r.path.coordinate.txt\",\n+        \"command\": \"r.fillnulls\",\n+        \"display_name\": \"r.fillnulls\",\n         \"ext_path\": null,\n         \"group\": \"Raster (r.*)\",\n         \"group_id\": \"raster\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"r.path.coordinate.txt\",\n-        \"parameters\": [\n-            \"QgsProcessingParameterRasterLayer|input|Name of input direction\",\n-            \"QgsProcessingParameterEnum|format|Format of the input direction map|auto;degree;45degree;bitmask|false|0|false\",\n-            \"QgsProcessingParameterRasterLayer|values|Name of input raster values to be used for output|None|True\",\n-            \"QgsProcessingParameterRasterDestination|raster_path|Name for output raster path map\",\n-            \"QgsProcessingParameterVectorDestination|vector_path|Name for output vector path map\",\n-            \"QgsProcessingParameterPoint|start_coordinates|Map coordinate of starting point (E,N)|None|False\",\n-            \"QgsProcessingParameterBoolean|-c|Copy input cell values on output|False\",\n-            \"QgsProcessingParameterBoolean|-a|Accumulate input values along the path|False\",\n-            \"QgsProcessingParameterBoolean|-n|Count cell numbers along the path|False\"\n-        ],\n-        \"short_description\": \"r.path.coordinate.txt - Traces paths from starting points following input directions.\"\n-    },\n-    {\n-        \"command\": \"r.blend\",\n-        \"display_name\": \"r.blend.rgb\",\n-        \"ext_path\": \"r_blend_rgb\",\n-        \"group\": \"Raster (r.*)\",\n-        \"group_id\": \"raster\",\n-        \"hardcoded_strings\": [\n-            \"output=blended\"\n-        ],\n-        \"name\": \"r.blend.rgb\",\n+        \"name\": \"r.fillnulls\",\n         \"parameters\": [\n-            \"QgsProcessingParameterRasterLayer|first|Name of first raster map for blending|None|False\",\n-            \"QgsProcessingParameterRasterLayer|second|Name of second raster map for blending|None|False\",\n-            \"QgsProcessingParameterNumber|percent|Percentage weight of first map for color blending|QgsProcessingParameterNumber.Double|50.0|True|0.0|100.0\",\n-            \"Hardcoded|output=blended\",\n-            \"QgsProcessingParameterRasterDestination|output_red|Blended Red\",\n-            \"QgsProcessingParameterRasterDestination|output_green|Blended Green\",\n-            \"QgsProcessingParameterRasterDestination|output_blue|Blended Blue\"\n+            \"QgsProcessingParameterRasterLayer|input|Input raster layer to fill|None|False\",\n+            \"QgsProcessingParameterEnum|method|Interpolation method to use|bilinear;bicubic;rst|False|2|False\",\n+            \"QgsProcessingParameterNumber|tension|Spline tension parameter|QgsProcessingParameterNumber.Double|40.0|True|None|None\",\n+            \"QgsProcessingParameterNumber|smooth|Spline smoothing parameter|QgsProcessingParameterNumber.Double|0.1|True|None|None\",\n+            \"QgsProcessingParameterNumber|edge|Width of hole edge used for interpolation (in cells)|QgsProcessingParameterNumber.Integer|3|True|2|100\",\n+            \"QgsProcessingParameterNumber|npmin|Minimum number of points for approximation in a segment (>segmax)|QgsProcessingParameterNumber.Integer|600|True|2|10000\",\n+            \"QgsProcessingParameterNumber|segmax|Maximum number of points in a segment|QgsProcessingParameterNumber.Integer|300|True|2|10000\",\n+            \"QgsProcessingParameterNumber|lambda|Tykhonov regularization parameter (affects smoothing)|QgsProcessingParameterNumber.Double|0.01|True|0.0|None\",\n+            \"QgsProcessingParameterRasterDestination|output|Filled\"\n         ],\n-        \"short_description\": \"r.blend.rgb - Blends color components of two raster maps by a given ratio and exports into three rasters.\"\n+        \"short_description\": \"Fills no-data areas in raster maps using spline interpolation.\"\n     },\n     {\n         \"command\": \"r.mask\",\n         \"display_name\": \"r.mask.vect\",\n         \"ext_path\": \"r_mask_vect\",\n         \"group\": \"Raster (r.*)\",\n         \"group_id\": \"raster\",\n@@ -5563,491 +5655,399 @@\n             \"*QgsProcessingParameterString|where|WHERE conditions of SQL statement without 'where' keyword|None|True|True\",\n             \"*QgsProcessingParameterBoolean|-i|Create inverse mask|False|True\",\n             \"QgsProcessingParameterRasterDestination|output|Masked\"\n         ],\n         \"short_description\": \"r.mask.vect - Creates a MASK for limiting raster operation with a vector layer.\"\n     },\n     {\n-        \"command\": \"v.voronoi\",\n-        \"display_name\": \"v.voronoi\",\n-        \"ext_path\": \"v_voronoi\",\n-        \"group\": \"Vector (v.*)\",\n-        \"group_id\": \"vector\",\n-        \"hardcoded_strings\": [],\n-        \"name\": \"v.voronoi\",\n-        \"parameters\": [\n-            \"QgsProcessingParameterFeatureSource|input|Input points layer|0|None|False\",\n-            \"*QgsProcessingParameterBoolean|-l|Output tessellation as a graph (lines), not areas|False\",\n-            \"*QgsProcessingParameterBoolean|-t|Do not create attribute table|False\",\n-            \"QgsProcessingParameterVectorDestination|output|Voronoi\"\n-        ],\n-        \"short_description\": \"v.voronoi - Creates a Voronoi diagram from an input vector layer containing points.\"\n-    },\n-    {\n-        \"command\": \"v.generalize\",\n-        \"display_name\": \"v.generalize\",\n+        \"command\": \"v.cluster\",\n+        \"display_name\": \"v.cluster\",\n         \"ext_path\": null,\n         \"group\": \"Vector (v.*)\",\n         \"group_id\": \"vector\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"v.generalize\",\n+        \"name\": \"v.cluster\",\n         \"parameters\": [\n             \"QgsProcessingParameterFeatureSource|input|Input layer|-1|None|False\",\n-            \"QgsProcessingParameterEnum|type|Input feature type|line;boundary;area|True|0,1,2|True\",\n-            \"QgsProcessingParameterString|cats|Category values|None|False|True\",\n-            \"QgsProcessingParameterString|where|WHERE conditions of SQL statement without 'where' keyword|None|True|True\",\n-            \"QgsProcessingParameterEnum|method|Generalization algorithm|douglas;douglas_reduction;lang;reduction;reumann;boyle;sliding_averaging;distance_weighting;chaiken;hermite;snakes;network;displacement|False|0|False\",\n-            \"QgsProcessingParameterNumber|threshold|Maximal tolerance value|QgsProcessingParameterNumber.Double|1.0|False|0.0|1000000000.0\",\n-            \"QgsProcessingParameterNumber|look_ahead|Look-ahead parameter|QgsProcessingParameterNumber.Integer|7|True|None|None\",\n-            \"QgsProcessingParameterNumber|reduction|Percentage of the points in the output of 'douglas_reduction' algorithm|QgsProcessingParameterNumber.Double|50.0|True|0.0|100.0\",\n-            \"QgsProcessingParameterNumber|slide|Slide of computed point toward the original point|QgsProcessingParameterNumber.Double|0.5|True|0.0|1.0\",\n-            \"QgsProcessingParameterNumber|angle_thresh|Minimum angle between two consecutive segments in Hermite method|QgsProcessingParameterNumber.Double|3.0|True|0.0|180.0\",\n-            \"QgsProcessingParameterNumber|degree_thresh|Degree threshold in network generalization|QgsProcessingParameterNumber.Integer|0|True|0|None\",\n-            \"QgsProcessingParameterNumber|closeness_thresh|Closeness threshold in network generalization|QgsProcessingParameterNumber.Double|0.0|True|0.0|1.0\",\n-            \"QgsProcessingParameterNumber|betweeness_thresh|Betweenness threshold in network generalization|QgsProcessingParameterNumber.Double|0.0|True|None|None\",\n-            \"QgsProcessingParameterNumber|alpha|Snakes alpha parameter|QgsProcessingParameterNumber.Double|1.0|True|None|None\",\n-            \"QgsProcessingParameterNumber|beta|Snakes beta parameter|QgsProcessingParameterNumber.Double|1.0|True|None|None\",\n-            \"QgsProcessingParameterNumber|iterations|Number of iterations|QgsProcessingParameterNumber.Integer|1|True|1|None\",\n-            \"*QgsProcessingParameterBoolean|-t|Do not copy attributes|False\",\n-            \"*QgsProcessingParameterBoolean|-l|Disable loop support|True\",\n-            \"QgsProcessingParameterVectorDestination|output|Generalized\",\n-            \"QgsProcessingParameterVectorDestination|error|Errors\"\n+            \"QgsProcessingParameterNumber|distance|Maximum distance to neighbors|QgsProcessingParameterNumber.Double|None|True|None|None\",\n+            \"QgsProcessingParameterNumber|min|Minimum number of points to create a cluster|QgsProcessingParameterNumber.Integer|None|True|0|None\",\n+            \"QgsProcessingParameterEnum|method|Clustering method|dbscan;dbscan2;density;optics;optics2|True|0|True\",\n+            \"*QgsProcessingParameterBoolean|-2|Force 2D clustering|False\",\n+            \"*QgsProcessingParameterBoolean|-b|Do not build topology|False\",\n+            \"*QgsProcessingParameterBoolean|-t|Do not create attribute table|False\",\n+            \"QgsProcessingParameterVectorDestination|output|Clustered\"\n         ],\n-        \"short_description\": \"Vector based generalization.\"\n+        \"short_description\": \"Performs cluster identification\"\n     },\n     {\n-        \"command\": \"r.li.shape\",\n-        \"display_name\": \"r.li.shape.ascii\",\n-        \"ext_path\": \"r_li_shape_ascii\",\n+        \"command\": \"r.random.surface\",\n+        \"display_name\": \"r.random.surface\",\n+        \"ext_path\": null,\n         \"group\": \"Raster (r.*)\",\n         \"group_id\": \"raster\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"r.li.shape.ascii\",\n+        \"name\": \"r.random.surface\",\n         \"parameters\": [\n-            \"QgsProcessingParameterRasterLayer|input|Name of input raster map|None|False\",\n-            \"QgsProcessingParameterString|config_txt|Landscape structure configuration|None|True|True\",\n-            \"QgsProcessingParameterFile|config|Landscape structure configuration file|QgsProcessingParameterFile.File|txt|None|True\",\n-            \"QgsProcessingParameterFileDestination|output_txt|Shape|Txt files (*.txt)|None|False\"\n+            \"QgsProcessingParameterNumber|distance|Maximum distance of spatial correlation|QgsProcessingParameterNumber.Double|0.0|True|0.0|None\",\n+            \"QgsProcessingParameterNumber|exponent|Distance decay exponent|QgsProcessingParameterNumber.Double|1.0|True|0.0|None\",\n+            \"QgsProcessingParameterNumber|flat|Distance filter remains flat before beginning exponent|QgsProcessingParameterNumber.Double|0.0|True|0.0|None\",\n+            \"QgsProcessingParameterNumber|seed|Random seed (SEED_MIN >= value >= SEED_MAX)|QgsProcessingParameterNumber.Integer|None|True|None|None\",\n+            \"QgsProcessingParameterNumber|high|Maximum cell value of distribution|QgsProcessingParameterNumber.Integer|255|True|0|None\",\n+            \"QgsProcessingParameterBoolean|-u|Uniformly distributed cell values|False|True\",\n+            \"QgsProcessingParameterRasterDestination|output|Random_Surface\"\n         ],\n-        \"short_description\": \"r.li.shape.ascii - Calculates shape index on a raster map\"\n+        \"short_description\": \"Generates random surface(s) with spatial dependence.\"\n     },\n     {\n-        \"command\": \"v.qcount\",\n-        \"display_name\": \"v.qcount\",\n-        \"ext_path\": null,\n-        \"group\": \"Vector (v.*)\",\n-        \"group_id\": \"vector\",\n+        \"command\": \"r.proj\",\n+        \"display_name\": \"r.proj\",\n+        \"ext_path\": \"r_proj\",\n+        \"group\": \"Raster (r.*)\",\n+        \"group_id\": \"raster\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"v.qcount\",\n+        \"name\": \"r.proj\",\n         \"parameters\": [\n-            \"QgsProcessingParameterFeatureSource|input|Vector points layer|0|None|False\",\n-            \"QgsProcessingParameterNumber|nquadrats|Number of quadrats|QgsProcessingParameterNumber.Integer|4|False|0|None\",\n-            \"QgsProcessingParameterNumber|radius|Quadrat radius|QgsProcessingParameterNumber.Double|10.0|False|0.0|None\",\n-            \"QgsProcessingParameterVectorDestination|output|Quadrats\"\n+            \"QgsProcessingParameterRasterLayer|input|Input raster to reproject|None|False\",\n+            \"QgsProcessingParameterCrs|crs|New coordinate reference system|None|False\",\n+            \"QgsProcessingParameterEnum|method|Interpolation method to use|nearest;bilinear;bicubic;lanczos;bilinear_f;bicubic_f;lanczos_f|False|0|True\",\n+            \"QgsProcessingParameterNumber|memory|Maximum memory to be used (in MB)|QgsProcessingParameterNumber.Integer|300|True|0|None\",\n+            \"QgsProcessingParameterNumber|resolution|Resolution of output raster map|QgsProcessingParameterNumber.Double|None|True|0.0|None\",\n+            \"*QgsProcessingParameterBoolean|-n|Do not perform region cropping optimization|False|True\",\n+            \"QgsProcessingParameterRasterDestination|output|Reprojected raster\"\n         ],\n-        \"short_description\": \"Indices for quadrat counts of vector point lists.\"\n+        \"short_description\": \"Re-projects a raster layer to another coordinate reference system\"\n     },\n     {\n-        \"command\": \"v.kernel\",\n-        \"display_name\": \"v.kernel.vector\",\n-        \"ext_path\": null,\n-        \"group\": \"Vector (v.*)\",\n-        \"group_id\": \"vector\",\n+        \"command\": \"i.colors.enhance\",\n+        \"display_name\": \"i.colors.enhance\",\n+        \"ext_path\": \"i_colors_enhance\",\n+        \"group\": \"Imagery (i.*)\",\n+        \"group_id\": \"imagery\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"v.kernel.vector\",\n+        \"name\": \"i.colors.enhance\",\n         \"parameters\": [\n-            \"QgsProcessingParameterFeatureSource|input|Name of input vector map with training points|0|None|False\",\n-            \"QgsProcessingParameterFeatureSource|net|Name of input network vector map|1|None|False\",\n-            \"QgsProcessingParameterNumber|radius|Kernel radius in map units|QgsProcessingParameterNumber.Double|10.0|False|0.0|None\",\n-            \"QgsProcessingParameterNumber|dsize|Discretization error in map units|QgsProcessingParameterNumber.Double|0.0|True|0.0|None\",\n-            \"QgsProcessingParameterNumber|segmax|Maximum length of segment on network|QgsProcessingParameterNumber.Double|100.0|True|0.0|None\",\n-            \"QgsProcessingParameterNumber|distmax|Maximum distance from point to network|QgsProcessingParameterNumber.Double|100.0|True|0.0|None\",\n-            \"QgsProcessingParameterNumber|multiplier|Multiply the density result by this number|QgsProcessingParameterNumber.Double|1.0|True|0.0|None\",\n-            \"QgsProcessingParameterEnum|node|Node method|none;split|False|0|False\",\n-            \"QgsProcessingParameterEnum|kernel|Kernel function|uniform;triangular;epanechnikov;quartic;triweight;gaussian;cosine|False|5|True\",\n-            \"*QgsProcessingParameterBoolean|-o|Try to calculate an optimal radius with given 'radius' taken as maximum (experimental)|False\",\n-            \"*QgsProcessingParameterBoolean|-n|Normalize values by sum of density multiplied by length of each segment.|False\",\n-            \"*QgsProcessingParameterBoolean|-m|Multiply the result by number of input points|False\",\n-            \"QgsProcessingParameterVectorDestination|output|Kernel\"\n+            \"QgsProcessingParameterRasterLayer|red|Name of red channel|None|False\",\n+            \"QgsProcessingParameterRasterLayer|green|Name of green channel|None|False\",\n+            \"QgsProcessingParameterRasterLayer|blue|Name of blue channel|None|False\",\n+            \"QgsProcessingParameterNumber|strength|Cropping intensity (upper brightness level)|QgsProcessingParameterNumber.Double|98.0|True|0.0|100.0\",\n+            \"*QgsProcessingParameterBoolean|-f|Extend colors to full range of data on each channel|False\",\n+            \"*QgsProcessingParameterBoolean|-p|Preserve relative colors, adjust brightness only|False\",\n+            \"*QgsProcessingParameterBoolean|-r|Reset to standard color range|False\",\n+            \"*QgsProcessingParameterBoolean|-s|Process bands serially (default: run in parallel)|False\",\n+            \"QgsProcessingParameterRasterDestination|redoutput|Enhanced Red\",\n+            \"QgsProcessingParameterRasterDestination|greenoutput|Enhanced Green\",\n+            \"QgsProcessingParameterRasterDestination|blueoutput|Enhanced Blue\"\n         ],\n-        \"short_description\": \"v.kernel.vector - Generates a vector density map from vector points on a vector network.\"\n+        \"short_description\": \"Performs auto-balancing of colors for RGB images.\"\n     },\n     {\n-        \"command\": \"i.fft\",\n-        \"display_name\": \"i.fft\",\n-        \"ext_path\": null,\n+        \"command\": \"i.albedo\",\n+        \"display_name\": \"i.albedo\",\n+        \"ext_path\": \"i_albedo\",\n         \"group\": \"Imagery (i.*)\",\n         \"group_id\": \"imagery\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"i.fft\",\n+        \"name\": \"i.albedo\",\n         \"parameters\": [\n-            \"QgsProcessingParameterRasterLayer|input|Name of input raster map|None|False\",\n-            \"QgsProcessingParameterRasterDestination|real|Real part arrays\",\n-            \"QgsProcessingParameterRasterDestination|imaginary|Imaginary part arrays\"\n+            \"QgsProcessingParameterMultipleLayers|input|Name of input raster maps|3|None|False\",\n+            \"QgsProcessingParameterBoolean|-m|MODIS (7 input bands:1,2,3,4,5,6,7)|False\",\n+            \"QgsProcessingParameterBoolean|-n|NOAA AVHRR (2 input bands:1,2)|False\",\n+            \"QgsProcessingParameterBoolean|-l|Landsat 5+7 (6 input bands:1,2,3,4,5,7)|False\",\n+            \"QgsProcessingParameterBoolean|-8|Landsat 8 (7 input bands:1,2,3,4,5,6,7)|False\",\n+            \"QgsProcessingParameterBoolean|-a|ASTER (6 input bands:1,3,5,6,8,9)|False\",\n+            \"QgsProcessingParameterBoolean|-c|Aggressive mode (Landsat)|False\",\n+            \"QgsProcessingParameterBoolean|-d|Soft mode (MODIS)|False\",\n+            \"QgsProcessingParameterRasterDestination|output|Albedo\"\n         ],\n-        \"short_description\": \"Fast Fourier Transform (FFT) for image processing.\"\n+        \"short_description\": \"Computes broad band albedo from surface reflectance.\"\n     },\n     {\n-        \"command\": \"v.what.rast\",\n-        \"display_name\": \"v.what.rast\",\n-        \"ext_path\": \"v_what_rast\",\n-        \"group\": \"Vector (v.*)\",\n-        \"group_id\": \"vector\",\n+        \"command\": \"r.li.dominance\",\n+        \"display_name\": \"r.li.dominance\",\n+        \"ext_path\": \"r_li_dominance\",\n+        \"group\": \"Raster (r.*)\",\n+        \"group_id\": \"raster\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"v.what.rast\",\n+        \"name\": \"r.li.dominance\",\n         \"parameters\": [\n-            \"QgsProcessingParameterFeatureSource|map|Name of vector points map for which to edit attributes|-1|None|False\",\n-            \"QgsProcessingParameterRasterLayer|raster|Raster map to be sampled|None|False\",\n-            \"QgsProcessingParameterEnum|type|Input feature type|point;centroid|False|0|False\",\n-            \"QgsProcessingParameterField|column|Name of attribute column to be updated with the query result|None|map|0|False|False\",\n-            \"QgsProcessingParameterString|where|WHERE conditions of SQL statement without 'where' keyword|None|True|True\",\n-            \"*QgsProcessingParameterBoolean|-i|Interpolate values from the nearest four cells|False|True\",\n-            \"QgsProcessingParameterVectorDestination|output|Sampled\"\n+            \"QgsProcessingParameterRasterLayer|input|Name of input raster map|None|False\",\n+            \"QgsProcessingParameterString|config_txt|Landscape structure configuration|None|True|True\",\n+            \"QgsProcessingParameterFile|config|Landscape structure configuration file|QgsProcessingParameterFile.File|txt|None|True\",\n+            \"QgsProcessingParameterRasterDestination|output|Dominance\"\n         ],\n-        \"short_description\": \"Uploads raster values at positions of vector centroids to the table.\"\n+        \"short_description\": \"Calculates dominance's diversity index on a raster map\"\n     },\n     {\n-        \"command\": \"r.walk\",\n-        \"display_name\": \"r.walk.rast\",\n+        \"command\": \"r.surf.gauss\",\n+        \"display_name\": \"r.surf.gauss\",\n         \"ext_path\": null,\n         \"group\": \"Raster (r.*)\",\n         \"group_id\": \"raster\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"r.walk.rast\",\n-        \"parameters\": [\n-            \"QgsProcessingParameterRasterLayer|elevation|Name of input elevation raster map|None|False\",\n-            \"QgsProcessingParameterRasterLayer|friction|Name of input raster map containing friction costs|None|False\",\n-            \"QgsProcessingParameterRasterLayer|start_raster|Name of starting raster points map (all non-NULL cells are starting points)|None|False\",\n-            \"QgsProcessingParameterString|walk_coeff|Coefficients for walking energy formula parameters a,b,c,d|0.72,6.0,1.9998,-1.9998|False|True\",\n-            \"QgsProcessingParameterNumber|lambda|Lambda coefficients for combining walking energy and friction cost|QgsProcessingParameterNumber.Double|1.0|True|0.0|None\",\n-            \"QgsProcessingParameterNumber|slope_factor|Slope factor determines travel energy cost per height step|QgsProcessingParameterNumber.Double|-0.2125|True|None|None\",\n-            \"QgsProcessingParameterNumber|max_cost|Maximum cumulative cost|QgsProcessingParameterNumber.Double|0.0|True|None|None\",\n-            \"QgsProcessingParameterNumber|null_cost|Cost assigned to null cells. By default, null cells are excluded|QgsProcessingParameterNumber.Double|None|True|None|None\",\n-            \"*QgsProcessingParameterNumber|memory|Maximum memory to be used in MB|QgsProcessingParameterNumber.Integer|300|True|1|None\",\n-            \"*QgsProcessingParameterBoolean|-k|Use the 'Knight's move'; slower, but more accurate|False\",\n-            \"*QgsProcessingParameterBoolean|-n|Keep null values in output raster layer|False\",\n-            \"QgsProcessingParameterRasterDestination|output|Cumulative cost\",\n-            \"QgsProcessingParameterRasterDestination|outdir|Movement Directions\"\n-        ],\n-        \"short_description\": \"r.walk.rast - Creates a raster map showing the anisotropic cumulative cost of moving between different geographic locations on an input raster map whose cell category values represent cost from a raster.\"\n-    },\n-    {\n-        \"command\": \"v.rast.stats\",\n-        \"display_name\": \"v.rast.stats\",\n-        \"ext_path\": \"v_rast_stats\",\n-        \"group\": \"Vector (v.*)\",\n-        \"group_id\": \"vector\",\n-        \"hardcoded_strings\": [\n-            \"-c\"\n-        ],\n-        \"name\": \"v.rast.stats\",\n+        \"name\": \"r.surf.gauss\",\n         \"parameters\": [\n-            \"QgsProcessingParameterFeatureSource|map|Name of vector polygon map|-1|None|False\",\n-            \"QgsProcessingParameterRasterLayer|raster|Name of raster map to calculate statistics from|None|False\",\n-            \"QgsProcessingParameterString|column_prefix|Column prefix for new attribute columns|None|False|False\",\n-            \"QgsProcessingParameterEnum|method|The methods to use|number;minimum;maximum;range;average;stddev;variance;coeff_var;sum;first_quartile;median;third_quartile;percentile|True|0,1,2,3,4,5,6,7,8,9,10,11,12|True\",\n-            \"QgsProcessingParameterNumber|percentile|Percentile to calculate|QgsProcessingParameterNumber.Integer|90|True|0|100\",\n-            \"Hardcoded|-c\",\n-            \"QgsProcessingParameterVectorDestination|output|Rast stats\"\n+            \"QgsProcessingParameterNumber|mean|Distribution mean|QgsProcessingParameterNumber.Double|0.0|True|None|None\",\n+            \"QgsProcessingParameterNumber|sigma|Standard deviation|QgsProcessingParameterNumber.Double|1.0|True|None|None\",\n+            \"QgsProcessingParameterRasterDestination|output|Gaussian deviates\"\n         ],\n-        \"short_description\": \"Calculates univariate statistics from a raster map based on vector polygons and uploads statistics to new attribute columns.\"\n+        \"short_description\": \"Creates a raster layer of Gaussian deviates.\"\n     },\n     {\n-        \"command\": \"i.evapo.time\",\n-        \"display_name\": \"i.evapo.time\",\n+        \"command\": \"r.coin\",\n+        \"display_name\": \"r.coin\",\n         \"ext_path\": null,\n-        \"group\": \"Imagery (i.*)\",\n-        \"group_id\": \"imagery\",\n+        \"group\": \"Raster (r.*)\",\n+        \"group_id\": \"raster\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"i.evapo.time\",\n-        \"parameters\": [\n-            \"QgsProcessingParameterMultipleLayers|eta|Names of satellite ETa raster maps [mm/d or cm/d]|3|None|False\",\n-            \"QgsProcessingParameterMultipleLayers|eta_doy|Names of satellite ETa Day of Year (DOY) raster maps [0-400] [-]|3|None|False\",\n-            \"QgsProcessingParameterMultipleLayers|eto|Names of meteorological station ETo raster maps [0-400] [mm/d or cm/d]|3|None|False\",\n-            \"QgsProcessingParameterNumber|eto_doy_min|Value of DOY for ETo first day|QgsProcessingParameterNumber.Double|1|False|0|366\",\n-            \"QgsProcessingParameterNumber|start_period|Value of DOY for the first day of the period studied|QgsProcessingParameterNumber.Double|1.0|False|0.0|366.0\",\n-            \"QgsProcessingParameterNumber|end_period|Value of DOY for the last day of the period studied|QgsProcessingParameterNumber.Double|1.0|False|0.0|366.0\",\n-            \"QgsProcessingParameterRasterDestination|output|Temporal integration\"\n-        ],\n-        \"short_description\": \"Computes temporal integration of satellite ET actual (ETa) following the daily ET reference (ETo) from meteorological station(s).\"\n-    },\n-    {\n-        \"command\": \"v.net\",\n-        \"display_name\": \"v.net.report\",\n-        \"ext_path\": null,\n-        \"group\": \"Vector (v.*)\",\n-        \"group_id\": \"vector\",\n-        \"hardcoded_strings\": [\n-            \"operation=report\"\n-        ],\n-        \"name\": \"v.net.report\",\n+        \"name\": \"r.coin\",\n         \"parameters\": [\n-            \"QgsProcessingParameterFeatureSource|input|Input vector line layer (arcs)|1|None|False\",\n-            \"Hardcoded|operation=report\",\n-            \"QgsProcessingParameterFileDestination|html|Report|Html files (*.html)|None|False\"\n+            \"QgsProcessingParameterRasterLayer|first|Name of first raster map|None|False\",\n+            \"QgsProcessingParameterRasterLayer|second|Name of second raster map|None|False\",\n+            \"QgsProcessingParameterEnum|units|Unit of measure|c;p;x;y;a;h;k;m\",\n+            \"QgsProcessingParameterBoolean|-w|Wide report, 132 columns (default: 80)|False\",\n+            \"QgsProcessingParameterFileDestination|html|Coincidence report|Html files (*.html)|report.html|False\"\n         ],\n-        \"short_description\": \"v.net.report - Reports lines information of a network\"\n+        \"short_description\": \"Tabulates the mutual occurrence (coincidence) of categories for two raster map layers.\"\n     },\n     {\n-        \"command\": \"r.rgb\",\n-        \"display_name\": \"r.rgb\",\n-        \"ext_path\": \"r_rgb\",\n+        \"command\": \"r.li.shannon\",\n+        \"display_name\": \"r.li.shannon\",\n+        \"ext_path\": \"r_li_shannon\",\n         \"group\": \"Raster (r.*)\",\n         \"group_id\": \"raster\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"r.rgb\",\n+        \"name\": \"r.li.shannon\",\n         \"parameters\": [\n             \"QgsProcessingParameterRasterLayer|input|Name of input raster map|None|False\",\n-            \"QgsProcessingParameterRasterDestination|red|Red\",\n-            \"QgsProcessingParameterRasterDestination|green|Green\",\n-            \"QgsProcessingParameterRasterDestination|blue|Blue\"\n+            \"QgsProcessingParameterString|config_txt|Landscape structure configuration|None|True|True\",\n+            \"QgsProcessingParameterFile|config|Landscape structure configuration file|QgsProcessingParameterFile.File|txt|None|True\",\n+            \"QgsProcessingParameterRasterDestination|output|Shannon\"\n         ],\n-        \"short_description\": \"Splits a raster map into red, green and blue maps.\"\n+        \"short_description\": \"Calculates Shannon's diversity index on a raster map\"\n     },\n     {\n-        \"command\": \"i.evapo.mh\",\n-        \"display_name\": \"i.evapo.mh\",\n-        \"ext_path\": \"i_evapo_mh\",\n-        \"group\": \"Imagery (i.*)\",\n-        \"group_id\": \"imagery\",\n+        \"command\": \"r.li.shannon\",\n+        \"display_name\": \"r.li.shannon.ascii\",\n+        \"ext_path\": \"r_li_shannon_ascii\",\n+        \"group\": \"Raster (r.*)\",\n+        \"group_id\": \"raster\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"i.evapo.mh\",\n+        \"name\": \"r.li.shannon.ascii\",\n         \"parameters\": [\n-            \"QgsProcessingParameterRasterLayer|netradiation_diurnal|Name of input diurnal net radiation raster map [W/m2/d]|None|False\",\n-            \"QgsProcessingParameterRasterLayer|average_temperature|Name of input average air temperature raster map [C]|None|False\",\n-            \"QgsProcessingParameterRasterLayer|minimum_temperature|Name of input minimum air temperature raster map [C]|None|False\",\n-            \"QgsProcessingParameterRasterLayer|maximum_temperature|Name of input maximum air temperature raster map [C]|None|False\",\n-            \"QgsProcessingParameterRasterLayer|precipitation|Name of precipitation raster map [mm/month]|None|True\",\n-            \"*QgsProcessingParameterBoolean|-z|Set negative ETa to zero|False\",\n-            \"*QgsProcessingParameterBoolean|-h|Use original Hargreaves (1985)|False\",\n-            \"*QgsProcessingParameterBoolean|-s|Use Hargreaves-Samani (1985)|False\",\n-            \"QgsProcessingParameterRasterDestination|output|Evapotranspiration\"\n+            \"QgsProcessingParameterRasterLayer|input|Name of input raster map|None|False\",\n+            \"QgsProcessingParameterString|config_txt|Landscape structure configuration|None|True|True\",\n+            \"QgsProcessingParameterFile|config|Landscape structure configuration file|QgsProcessingParameterFile.File|txt|None|True\",\n+            \"QgsProcessingParameterFileDestination|output_txt|Shannon|Txt files (*.txt)|None|False\"\n         ],\n-        \"short_description\": \"Computes evapotranspiration calculation modified or original Hargreaves formulation, 2001.\"\n+        \"short_description\": \"r.li.shannon.ascii - Calculates Shannon's diversity index on a raster map\"\n     },\n     {\n-        \"command\": \"i.cca\",\n-        \"display_name\": \"i.cca\",\n-        \"ext_path\": \"i_cca\",\n-        \"group\": \"Imagery (i.*)\",\n-        \"group_id\": \"imagery\",\n+        \"command\": \"r.li.cwed\",\n+        \"display_name\": \"r.li.cwed.ascii\",\n+        \"ext_path\": \"r_li_cwed_ascii\",\n+        \"group\": \"Raster (r.*)\",\n+        \"group_id\": \"raster\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"i.cca\",\n+        \"name\": \"r.li.cwed.ascii\",\n         \"parameters\": [\n-            \"QgsProcessingParameterMultipleLayers|input|Input rasters (2 to 8)|3|None|False\",\n-            \"QgsProcessingParameterFile|signature|File containing spectral signatures|QgsProcessingParameterFile.File|txt|None|False\",\n-            \"QgsProcessingParameterFolderDestination|output|Output Directory\"\n+            \"QgsProcessingParameterRasterLayer|input|Name of input raster map|None|False\",\n+            \"QgsProcessingParameterString|config_txt|Landscape structure configuration|None|True|True\",\n+            \"QgsProcessingParameterFile|config|Landscape structure configuration file|QgsProcessingParameterFile.File|txt|None|True\",\n+            \"QgsProcessingParameterFile|path|Name of file that contains the weight to calculate the index|QgsProcessingParameterFile.File|txt|None|False\",\n+            \"QgsProcessingParameterFileDestination|output_txt|CWED|Txt files (*.txt)|None|False\"\n         ],\n-        \"short_description\": \"Canonical components analysis (CCA) program for image processing.\"\n+        \"short_description\": \"r.li.cwed.ascii - Calculates contrast weighted edge density index on a raster map\"\n     },\n     {\n-        \"command\": \"v.in.geonames\",\n-        \"display_name\": \"v.in.geonames\",\n-        \"ext_path\": \"v_in_geonames\",\n-        \"group\": \"Vector (v.*)\",\n-        \"group_id\": \"vector\",\n+        \"command\": \"r.out.gridatb\",\n+        \"display_name\": \"r.out.gridatb\",\n+        \"ext_path\": null,\n+        \"group\": \"Raster (r.*)\",\n+        \"group_id\": \"raster\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"v.in.geonames\",\n+        \"name\": \"r.out.gridatb\",\n         \"parameters\": [\n-            \"QgsProcessingParameterFile|input|Uncompressed geonames file from (with .txt extension)|QgsProcessingParameterFile.File|txt|None|False\",\n-            \"QgsProcessingParameterVectorDestination|output|Geonames\"\n+            \"QgsProcessingParameterRasterLayer|input|Name of input raster map|None|False\",\n+            \"QgsProcessingParameterFileDestination|output|GRIDATB|Txt files (*.txt)|None|False\"\n         ],\n-        \"short_description\": \"Imports geonames.org country files into a GRASS vector points map.\"\n+        \"short_description\": \"Exports GRASS raster map to GRIDATB.FOR map file (TOPMODEL)\"\n     },\n     {\n-        \"command\": \"v.report\",\n-        \"display_name\": \"v.report\",\n+        \"command\": \"r.spreadpath\",\n+        \"display_name\": \"r.spreadpath\",\n         \"ext_path\": null,\n-        \"group\": \"Vector (v.*)\",\n-        \"group_id\": \"vector\",\n+        \"group\": \"Raster (r.*)\",\n+        \"group_id\": \"raster\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"v.report\",\n+        \"name\": \"r.spreadpath\",\n         \"parameters\": [\n-            \"QgsProcessingParameterFeatureSource|map|Input layer|-1|None|False\",\n-            \"QgsProcessingParameterEnum|option|Value to calculate|area;length;coor|False|0|False\",\n-            \"QgsProcessingParameterEnum|units|units|miles;feet;meters;kilometers;acres;hectares;percent|False|2|True\",\n-            \"QgsProcessingParameterEnum|sort|Sort the result (ascending, descending)|asc;desc|False|0|True\",\n-            \"QgsProcessingParameterFileDestination|html|Report|Html files (*.html)|report.html|False\"\n+            \"QgsProcessingParameterRasterLayer|x_input|x_input|None|False\",\n+            \"QgsProcessingParameterRasterLayer|y_input|y_input|None|False\",\n+            \"QgsProcessingParameterPoint|coordinates|coordinate|0,0|True\",\n+            \"QgsProcessingParameterRasterDestination|output|Backward least cost\"\n         ],\n-        \"short_description\": \"Reports geometry statistics for vectors.\"\n+        \"short_description\": \"Recursively traces the least cost path backwards to cells from which the cumulative cost was determined.\"\n     },\n     {\n-        \"command\": \"i.aster.toar\",\n-        \"display_name\": \"i.aster.toar\",\n+        \"command\": \"i.fft\",\n+        \"display_name\": \"i.fft\",\n         \"ext_path\": null,\n         \"group\": \"Imagery (i.*)\",\n         \"group_id\": \"imagery\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"i.aster.toar\",\n+        \"name\": \"i.fft\",\n         \"parameters\": [\n-            \"QgsProcessingParameterMultipleLayers|input|Names of ASTER DN layers (15 layers)|3|None|False\",\n-            \"QgsProcessingParameterNumber|dayofyear|Day of Year of satellite overpass [0-366]|QgsProcessingParameterNumber.Integer|0|False|0|366\",\n-            \"QgsProcessingParameterNumber|sun_elevation|Sun elevation angle (degrees, < 90.0)|QgsProcessingParameterNumber.Double|None|False|0.0|90.0\",\n-            \"QgsProcessingParameterBoolean|-r|Output is radiance (W/m2)|False\",\n-            \"QgsProcessingParameterBoolean|-a|VNIR is High Gain|False\",\n-            \"QgsProcessingParameterBoolean|-b|SWIR is High Gain|False\",\n-            \"QgsProcessingParameterBoolean|-c|VNIR is Low Gain 1|False\",\n-            \"QgsProcessingParameterBoolean|-d|SWIR is Low Gain 1|False\",\n-            \"QgsProcessingParameterBoolean|-e|SWIR is Low Gain 2|False\",\n-            \"QgsProcessingParameterFolderDestination|output|Output Directory\"\n+            \"QgsProcessingParameterRasterLayer|input|Name of input raster map|None|False\",\n+            \"QgsProcessingParameterRasterDestination|real|Real part arrays\",\n+            \"QgsProcessingParameterRasterDestination|imaginary|Imaginary part arrays\"\n         ],\n-        \"short_description\": \"Calculates Top of Atmosphere Radiance/Reflectance/Brightness Temperature from ASTER DN.\"\n+        \"short_description\": \"Fast Fourier Transform (FFT) for image processing.\"\n     },\n     {\n-        \"command\": \"v.reclass\",\n-        \"display_name\": \"v.reclass\",\n-        \"ext_path\": \"v_reclass\",\n+        \"command\": \"v.net.spanningtree\",\n+        \"display_name\": \"v.net.spanningtree\",\n+        \"ext_path\": \"v_net_spanningtree\",\n         \"group\": \"Vector (v.*)\",\n         \"group_id\": \"vector\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"v.reclass\",\n+        \"name\": \"v.net.spanningtree\",\n         \"parameters\": [\n-            \"QgsProcessingParameterFeatureSource|input|Input layer|-1|None|False\",\n-            \"QgsProcessingParameterEnum|type|Input feature type|point;line;boundary;centroid|True|0,1,2,3|True\",\n-            \"QgsProcessingParameterField|column|The name of the column whose values are to be used as new categories|None|input|-1|False|True\",\n-            \"QgsProcessingParameterFile|rules|Reclass rule file|QgsProcessingParameterFile.File|txt|None|True\",\n-            \"QgsProcessingParameterVectorDestination|output|Reclassified\"\n+            \"QgsProcessingParameterFeatureSource|input|Input vector line layer (arcs)|1|None|False\",\n+            \"QgsProcessingParameterFeatureSource|points|Input point layer (nodes)|0|None|True\",\n+            \"QgsProcessingParameterNumber|threshold|Threshold for connecting centers to the network (in map unit)|QgsProcessingParameterNumber.Double|50.0|True|0.0|None\",\n+            \"*QgsProcessingParameterField|arc_column|Arc forward/both direction(s) cost column (number)|None|input|0|False|True\",\n+            \"*QgsProcessingParameterField|node_column|Node cost column (number)|None|points|0|False|True\",\n+            \"*QgsProcessingParameterBoolean|-g|Use geodesic calculation for longitude-latitude locations|False|True\",\n+            \"QgsProcessingParameterVectorDestination|output|SpanningTree\"\n         ],\n-        \"short_description\": \"Changes vector category values for an existing vector map according to results of SQL queries or a value in attribute table column.\"\n+        \"short_description\": \"Computes minimum spanning tree for the network.\"\n     },\n     {\n-        \"command\": \"i.topo.corr\",\n-        \"display_name\": \"i.topo.corr\",\n+        \"command\": \"r.describe\",\n+        \"display_name\": \"r.describe\",\n         \"ext_path\": null,\n-        \"group\": \"Imagery (i.*)\",\n-        \"group_id\": \"imagery\",\n+        \"group\": \"Raster (r.*)\",\n+        \"group_id\": \"raster\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"i.topo.corr\",\n+        \"name\": \"r.describe\",\n         \"parameters\": [\n-            \"QgsProcessingParameterMultipleLayers|input|Name of reflectance raster maps to be corrected topographically|3|None|False\",\n-            \"QgsProcessingParameterRasterLayer|basemap|Name of illumination input base raster map|None|False\",\n-            \"QgsProcessingParameterNumber|zenith|Solar zenith in degrees|QgsProcessingParameterNumber.Double|0.0|False|0.0|360.0\",\n-            \"QgsProcessingParameterEnum|method|Topographic correction method|cosine;minnaert;c-factor;percent|False|0|True\",\n-            \"*QgsProcessingParameterBoolean|-s|Scale output to input and copy color rules|False\",\n-            \"QgsProcessingParameterFolderDestination|output|Output Directory\"\n+            \"QgsProcessingParameterRasterLayer|map|input raster layer|None|False\",\n+            \"QgsProcessingParameterString|null_value|String representing NULL value|*|False|True\",\n+            \"QgsProcessingParameterNumber|nsteps|Number of quantization steps|QgsProcessingParameterNumber.Integer|255|True|1|None\",\n+            \"QgsProcessingParameterBoolean|-r|Only print the range of the data|False\",\n+            \"QgsProcessingParameterBoolean|-n|Suppress reporting of any NULLs|False\",\n+            \"QgsProcessingParameterBoolean|-d|Use the current region|False\",\n+            \"QgsProcessingParameterBoolean|-i|Read floating-point map as integer|False\",\n+            \"QgsProcessingParameterFileDestination|html|Categories|Html files (*.html)|report.html|False\"\n         ],\n-        \"short_description\": \"Computes topographic correction of reflectance.\"\n+        \"short_description\": \"Prints terse list of category values found in a raster layer.\"\n     },\n     {\n-        \"command\": \"r.li.padsd\",\n-        \"display_name\": \"r.li.padsd.ascii\",\n-        \"ext_path\": \"r_li_padsd_ascii\",\n+        \"command\": \"r.li.mpa\",\n+        \"display_name\": \"r.li.mpa\",\n+        \"ext_path\": \"r_li_mpa\",\n         \"group\": \"Raster (r.*)\",\n         \"group_id\": \"raster\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"r.li.padsd.ascii\",\n+        \"name\": \"r.li.mpa\",\n         \"parameters\": [\n             \"QgsProcessingParameterRasterLayer|input|Name of input raster map|None|False\",\n             \"QgsProcessingParameterString|config_txt|Landscape structure configuration|None|True|True\",\n             \"QgsProcessingParameterFile|config|Landscape structure configuration file|QgsProcessingParameterFile.File|txt|None|True\",\n-            \"QgsProcessingParameterFileDestination|output_txt|Patch Area SD|Txt files (*.txt)|None|False\"\n+            \"QgsProcessingParameterRasterDestination|output|Mean Pixel Attribute\"\n         ],\n-        \"short_description\": \"r.li.padsd.ascii - Calculates standard deviation of patch area a raster map\"\n+        \"short_description\": \"Calculates mean pixel attribute index on a raster map\"\n     },\n     {\n-        \"command\": \"r.basins.fill\",\n-        \"display_name\": \"r.basins.fill\",\n-        \"ext_path\": null,\n-        \"group\": \"Raster (r.*)\",\n-        \"group_id\": \"raster\",\n+        \"command\": \"v.net.bridge\",\n+        \"display_name\": \"v.net.bridge\",\n+        \"ext_path\": \"v_net_bridge\",\n+        \"group\": \"Vector (v.*)\",\n+        \"group_id\": \"vector\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"r.basins.fill\",\n+        \"name\": \"v.net.bridge\",\n         \"parameters\": [\n-            \"QgsProcessingParameterRasterLayer|cnetwork|Input coded stream network raster layer|None|False\",\n-            \"QgsProcessingParameterRasterLayer|tnetwork|Input thinned ridge network raster layer|None|False\",\n-            \"QgsProcessingParameterNumber|number|Number of passes through the dataset|QgsProcessingParameterNumber.Integer|1|False|1|None\",\n-            \"QgsProcessingParameterRasterDestination|output|Watersheds\"\n+            \"QgsProcessingParameterFeatureSource|input|Input vector line layer (network)|1|None|False\",\n+            \"QgsProcessingParameterFeatureSource|points|Centers point layer (nodes)|0|None|True\",\n+            \"QgsProcessingParameterEnum|method|Feature type|bridge;articulation|False|0|False\",\n+            \"QgsProcessingParameterNumber|threshold|Threshold for connecting centers to the network (in map unit)|QgsProcessingParameterNumber.Double|50.0|True|0.0|None\",\n+            \"*QgsProcessingParameterField|arc_column|Arc forward/both direction(s) cost column (name)|None|input|0|False|True\",\n+            \"*QgsProcessingParameterField|arc_backward_column|Arc backward direction cost column (name)|None|input|0|False|True\",\n+            \"*QgsProcessingParameterField|node_column|Node cost column (number)|None|points|0|False|True\",\n+            \"QgsProcessingParameterVectorDestination|output|Bridge\"\n         ],\n-        \"short_description\": \"Generates watershed subbasins raster map.\"\n+        \"short_description\": \"Computes bridges and articulation points in the network.\"\n     },\n     {\n-        \"command\": \"r.thin\",\n-        \"display_name\": \"r.thin\",\n+        \"command\": \"r.relief\",\n+        \"display_name\": \"r.relief\",\n         \"ext_path\": null,\n         \"group\": \"Raster (r.*)\",\n         \"group_id\": \"raster\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"r.thin\",\n+        \"name\": \"r.relief\",\n         \"parameters\": [\n-            \"QgsProcessingParameterRasterLayer|input|Input raster layer to thin|None|False\",\n-            \"QgsProcessingParameterNumber|iterations|Maximum number of iterations|QgsProcessingParameterNumber.Integer|200|True|1|None\",\n-            \"QgsProcessingParameterRasterDestination|output|Thinned\"\n+            \"QgsProcessingParameterRasterLayer|input|Input elevation layer\",\n+            \"QgsProcessingParameterNumber|altitude|Altitude of the sun in degrees above the horizon|QgsProcessingParameterNumber.Double|30.0|True|0.0|90.0\",\n+            \"QgsProcessingParameterNumber|azimuth|Azimuth of the sun in degrees to the east of north|QgsProcessingParameterNumber.Double|270.0|True|0.0|360.0\",\n+            \"QgsProcessingParameterNumber|zscale|Factor for exaggerating relief|QgsProcessingParameterNumber.Double|1.0|True|None|None\",\n+            \"QgsProcessingParameterNumber|scale|Scale factor for converting horizontal units to elevation units|QgsProcessingParameterNumber.Double|1.0|True|None|None\",\n+            \"QgsProcessingParameterEnum|units|Elevation units (overrides scale factor)|intl;survey|False|0|True\",\n+            \"QgsProcessingParameterRasterDestination|output|Output shaded relief layer\"\n         ],\n-        \"short_description\": \"Thins non-zero cells that denote linear features in a raster layer.\"\n+        \"short_description\": \"Creates shaded relief from an elevation layer (DEM).\"\n     },\n     {\n-        \"command\": \"v.edit\",\n-        \"display_name\": \"v.edit\",\n-        \"ext_path\": \"v_edit\",\n-        \"group\": \"Vector (v.*)\",\n-        \"group_id\": \"vector\",\n+        \"command\": \"r.mode\",\n+        \"display_name\": \"r.mode\",\n+        \"ext_path\": null,\n+        \"group\": \"Raster (r.*)\",\n+        \"group_id\": \"raster\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"v.edit\",\n+        \"name\": \"r.mode\",\n         \"parameters\": [\n-            \"QgsProcessingParameterFeatureSource|map|Name of vector layer|-1|None|False\",\n-            \"QgsProcessingParameterEnum|type|Input feature type|point;line;boundary;centroid|True|0,1,2,3|True\",\n-            \"QgsProcessingParameterEnum|tool|Tool|create;add;delete;copy;move;flip;catadd;catdel;merge;break;snap;connect;chtype;vertexadd;vertexdel;vertexmove;areadel;zbulk;select|False|0|False\",\n-            \"QgsProcessingParameterFile|input|ASCII file for add tool|QgsProcessingParameterFile.File|txt|None|True\",\n-            \"QgsProcessingParameterString|move|Difference in x,y,z direction for moving feature or vertex|None|False|True\",\n-            \"QgsProcessingParameterString|threshold|Threshold distance (coords,snap,query)|None|False|True\",\n-            \"QgsProcessingParameterString|ids|Feature ids|None|False|True\",\n-            \"QgsProcessingParameterString|cats|Category values|None|False|True\",\n-            \"QgsProcessingParameterString|coords|List of point coordinates|None|False|True\",\n-            \"QgsProcessingParameterExtent|bbox|Bounding box for selecting features|None|True\",\n-            \"QgsProcessingParameterString|polygon|Polygon for selecting features|None|False|True\",\n-            \"QgsProcessingParameterString|where|WHERE conditions of SQL statement without 'where' keyword|None|True|True\",\n-            \"QgsProcessingParameterEnum|query|Query tool|length;dangle|False|None|True\",\n-            \"QgsProcessingParameterFeatureSource|bgmap|Name of background vector map|-1|None|True\",\n-            \"QgsProcessingParameterEnum|snap|Snap added or modified features in the given threshold to the nearest existing feature|no;node;vertex|False|0|True\",\n-            \"QgsProcessingParameterString|zbulk|Starting value and step for z bulk-labeling. Pair: value,step (e.g. 1100,10)|None|False|True\",\n-            \"QgsProcessingParameterBoolean|-r|Reverse selection|False\",\n-            \"QgsProcessingParameterBoolean|-c|Close added boundaries (using threshold distance)|False\",\n-            \"QgsProcessingParameterBoolean|-n|Do not expect header of input data|False\",\n-            \"QgsProcessingParameterBoolean|-b|Do not build topology|False\",\n-            \"QgsProcessingParameterBoolean|-1|Modify only first found feature in bounding box|False\",\n-            \"QgsProcessingParameterVectorDestination|output|Edited\"\n+            \"QgsProcessingParameterRasterLayer|base|Base layer to be reclassified|None|False\",\n+            \"QgsProcessingParameterRasterLayer|cover|Categories layer|None|False\",\n+            \"QgsProcessingParameterRasterDestination|output|Mode\"\n         ],\n-        \"short_description\": \"Edits a vector map, allows adding, deleting and modifying selected vector features.\"\n+        \"short_description\": \"Finds the mode of values in a cover layer within areas assigned the same category value in a user-specified base layer.\"\n     },\n     {\n-        \"command\": \"r.walk\",\n-        \"display_name\": \"r.walk.points\",\n-        \"ext_path\": null,\n+        \"command\": \"r.li.simpson\",\n+        \"display_name\": \"r.li.simpson.ascii\",\n+        \"ext_path\": \"r_li_simpson_ascii\",\n         \"group\": \"Raster (r.*)\",\n         \"group_id\": \"raster\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"r.walk.points\",\n+        \"name\": \"r.li.simpson.ascii\",\n         \"parameters\": [\n-            \"QgsProcessingParameterRasterLayer|elevation|Name of input elevation raster map|None|False\",\n-            \"QgsProcessingParameterRasterLayer|friction|Name of input raster map containing friction costs|None|False\",\n-            \"QgsProcessingParameterFeatureSource|start_points|Start points|0|None|False\",\n-            \"QgsProcessingParameterFeatureSource|stop_points|Stop points|0|None|True\",\n-            \"QgsProcessingParameterString|walk_coeff|Coefficients for walking energy formula parameters a,b,c,d|0.72,6.0,1.9998,-1.9998|False|True\",\n-            \"QgsProcessingParameterNumber|lambda|Lambda coefficients for combining walking energy and friction cost|QgsProcessingParameterNumber.Double|1.0|True|0.0|None\",\n-            \"QgsProcessingParameterNumber|slope_factor|Slope factor determines travel energy cost per height step|QgsProcessingParameterNumber.Double|-0.2125|True|None|None\",\n-            \"QgsProcessingParameterNumber|max_cost|Maximum cumulative cost|QgsProcessingParameterNumber.Double|0.0|True|None|None\",\n-            \"QgsProcessingParameterNumber|null_cost|Cost assigned to null cells. By default, null cells are excluded|QgsProcessingParameterNumber.Double|None|True|None|None\",\n-            \"*QgsProcessingParameterNumber|memory|Maximum memory to be used in MB|QgsProcessingParameterNumber.Integer|300|True|1|None\",\n-            \"*QgsProcessingParameterBoolean|-k|Use the 'Knight's move'; slower, but more accurate|False\",\n-            \"*QgsProcessingParameterBoolean|-n|Keep null values in output raster layer|False\",\n-            \"QgsProcessingParameterRasterDestination|output|Cumulative cost\",\n-            \"QgsProcessingParameterRasterDestination|outdir|Movement Directions\"\n+            \"QgsProcessingParameterRasterLayer|input|Name of input raster map|None|False\",\n+            \"QgsProcessingParameterString|config_txt|Landscape structure configuration|None|True|True\",\n+            \"QgsProcessingParameterFile|config|Landscape structure configuration file|QgsProcessingParameterFile.File|txt|None|True\",\n+            \"QgsProcessingParameterFileDestination|output_txt|Simpson|Txt files (*.txt)|None|False\"\n         ],\n-        \"short_description\": \"r.walk.points - Creates a raster map showing the anisotropic cumulative cost of moving between different geographic locations on an input raster map whose cell category values represent cost from point vector layers.\"\n+        \"short_description\": \"r.li.simpson.ascii - Calculates Simpson's diversity index on a raster map\"\n     },\n     {\n-        \"command\": \"r.li.pielou\",\n-        \"display_name\": \"r.li.pielou.ascii\",\n-        \"ext_path\": \"r_li_pielou_ascii\",\n+        \"command\": \"r.tileset\",\n+        \"display_name\": \"r.tileset\",\n+        \"ext_path\": \"r_tileset\",\n         \"group\": \"Raster (r.*)\",\n         \"group_id\": \"raster\",\n         \"hardcoded_strings\": [],\n-        \"name\": \"r.li.pielou.ascii\",\n+        \"name\": \"r.tileset\",\n         \"parameters\": [\n-            \"QgsProcessingParameterRasterLayer|input|Name of input raster map|None|False\",\n-            \"QgsProcessingParameterString|config_txt|Landscape structure configuration|None|True|True\",\n-            \"QgsProcessingParameterFile|config|Landscape structure configuration file|QgsProcessingParameterFile.File|txt|None|True\",\n-            \"QgsProcessingParameterFileDestination|output_txt|Pielou|Txt files (*.txt)|None|False\"\n+            \"QgsProcessingParameterCrs|sourceproj|Source projection|None|False\",\n+            \"QgsProcessingParameterNumber|sourcescale|Conversion factor from units to meters in source projection|QgsProcessingParameterNumber.Double|1.0|True|None|None\",\n+            \"QgsProcessingParameterCrs|destproj|Destination projection|None|True\",\n+            \"QgsProcessingParameterNumber|destscale|Conversion factor from units to meters in destination projection|QgsProcessingParameterNumber.Double|1.0|True|None|None\",\n+            \"QgsProcessingParameterNumber|maxcols|Maximum number of columns for a tile in the source projection|QgsProcessingParameterNumber.Integer|1024|True|1|None\",\n+            \"QgsProcessingParameterNumber|maxrows|Maximum number of rows for a tile in the source projection|QgsProcessingParameterNumber.Integer|1024|True|1|None\",\n+            \"QgsProcessingParameterNumber|overlap|Number of cells tiles should overlap in each direction|QgsProcessingParameterNumber.Integer|0|True|0|None\",\n+            \"QgsProcessingParameterString|separator|Output field separator|pipe|False|True\",\n+            \"*QgsProcessingParameterBoolean|-g|Produces shell script output|False\",\n+            \"*QgsProcessingParameterBoolean|-w|Produces web map server query string output|False\",\n+            \"QgsProcessingParameterFileDestination|html|Tileset|HTML files (*.html)|None|False\"\n         ],\n-        \"short_description\": \"r.li.pielou.ascii - Calculates Pielou's diversity index on a raster map\"\n+        \"short_description\": \"Produces tilings of the source projection for use in the destination region and projection.\"\n     }\n ]\n"}]}]}]}]}]}