UMEP-dev / UMEP-processing

GNU General Public License v3.0
7 stars 9 forks source link

URock questions - wind speed height and roughness #84

Closed VladimirSobral closed 2 months ago

VladimirSobral commented 2 months ago

Hi,

Could anyone clarify some questions about URock model? I created some wind speed maps with the URock model with the output height of 1.50 m. However, the maps show wind speed information over buildings. Does this information refer to the height above the roof of the buildings? And how could I have a map without this information (just the streets)? The other question is: if I understood correctly from the article by Bernard et al. (2023), URock calculates the average roughness value of the study area for wind mapping. Where can I find this value?

Thank you!

j3r3m1 commented 2 months ago

Hi VladimirSobral, Is the wind speed over building equal to 0 ?

Concerning the roughness lengths, it should now be displayed within the QGIS log box (you need to get the latest URock version - zip file - on the UMEP-processing root GitHub page).

VladimirSobral commented 2 months ago

Hi @j3r3m1

No. The wind speed over buildings is not zero, as shown in Figures. It's interesting because I had a similar result with SOLWEIG. However, when I use SpatiaTC to map the PET index, the buildings are subtracted from the results. Yes, I'm attaching the data. output_UrockWS output_Urock-BUILDINGS UROCK.zip

Thank you again,

j3r3m1 commented 2 months ago

Can you share the parameters you have used for the calculation (the one that are in the history of the toolbox) ?

VladimirSobral commented 2 months ago

I can't find the history of the toolbox. Could you tell me where it is? Anyway, I'm sending you some screenshots of the Urock parameters.

1 2

biglimp commented 2 months ago

It is the Clock in the Processing Toolbox Window image

VladimirSobral commented 2 months ago

Hi @biglimp

Thank you. Attached the files. only URock.txt Parameters.log

j3r3m1 commented 2 months ago

You are using a vertical resolution of 10 m while more than 90% of your buildings are lower than 5 m. Thus these buildings will not be considered as buildings in the calculations but as atmosphere. You should decrease the vertical resolution to 2 or 3 meters.

Moreover, your horizontal resolution is also high (10 m). If you want to use the full capabilities of the URock model, you should better split your domain into several subdomains and run the code using a much smaller horizontal resolution (2 or 3 m should be better).

VladimirSobral commented 2 months ago

Hi @j3r3m1

Thank you so much for your comments. I ran other simulations with the parameters you suggested. Please let me share the results with you. In the first file, I used the vertical resolution of 3 meters. In the second file, I changed the output wind height (1.0 m). In two cases, the URock maps the wind speed over buildings. Should I extract the building areas using some raster function?

Urock.zip

j3r3m1 commented 2 months ago

Good catch, there is indeed an issue with the interpolation. The calculations are made using a grid oriented toward the wind flow while the resulting raster is oriented toward x and y axis. Thus there is an interpolation which is performed to fill the cells of the raster and this interpolation creates non-null value for building cells. I will correct that. For the moment, you can use the vector output which does not have this issue.

VladimirSobral commented 2 months ago

I got it! Thank you @j3r3m1. just a final question regarding roughness lengths...I can't find the zip code of the latest URock version. As I'm unfamiliar with codes.... could you explain how to update the URock?

j3r3m1 commented 2 months ago

Sure ! You can download the code as zip going on the code page (https://github.com/UMEP-dev/UMEP-processing) and clicking on the green button "Code" and then "Download as zip". Then in QGIS you can install this code using "Plugin"-> "Manage and install plugins" -> "Install from zip".

j3r3m1 commented 2 months ago

I have updated the code. If you use the last version, you should now have exactly 0 when there is a building.

j3r3m1 commented 2 months ago

To @VladimirSobral I close the issue but feel free to reopen if you still meet some problems.

VladimirSobral commented 2 months ago

Thank you @j3r3m1

I did two tests. First, I used a vertical resolution of 10 m, which was ok. But when I used a vertical resolution of 3 m, I had this problem:

Traceback (most recent call last): File "C:\OSGeo4W/apps/qgis-ltr/./python/plugins\processing\algs\gdal\GdalUtils.py", line 130, in on_stderr val = ba.data().decode('UTF-8') UnicodeDecodeError: 'utf-8' codec can't decode byte 0xa2 in position 46: invalid start byte

The above exception was the direct cause of the following exception:

SystemError: <class 'PyQt5.QtCore.QByteArray'> returned a result with an error set

The above exception was the direct cause of the following exception:

SystemError: <class 'PyQt5.QtCore.QByteArray'> returned a result with an error set

The above exception was the direct cause of the following exception:

Traceback (most recent call last): File "C:\OSGeo4W/apps/qgis-ltr/./python/plugins\processing\algs\gdal\gdalcalc.py", line 198, in processAlgorithm return GdalAlgorithm.processAlgorithm(self, parameters, context, feedback) File "C:\OSGeo4W/apps/qgis-ltr/./python/plugins\processing\algs\gdal\GdalAlgorithm.py", line 135, in processAlgorithm GdalUtils.runGdal(commands, feedback) File "C:\OSGeo4W/apps/qgis-ltr/./python/plugins\processing\algs\gdal\GdalUtils.py", line 146, in runGdal res = proc.run(feedback) SystemError: <built-in method run of QgsBlockingProcess object at 0x0000021558E399D0> returned a result with an error set

Execution failed after 1847.15 segundos (30 minutos 47 segundos)

What could have happened?