Hello Grass users, I'm using r.viewshed to calculate the vertical height visible of object (windturbine) from any point on my DEM. So, I iterate upto the maximum height (from 0 to 250m) every meter. At the end, I made a r.series to sum the maps. As I have sometimes about 300 wtg on the territory, it takes a while (about two days) to calculate all the visibile height for each wtg on a 80kmx80km territory with 75m resolution (1066x1066). But it works. Today, I need to calculate one wtg with a topo raster about 22000 rows x 22000 colums (5m resolution on about 50km radius = near 500 milions cells). I wrote a new python script that parallelized jobs (inspired by https://grasswiki.osgeo.org/wiki/Parallelizing_Scripts). But I notice that the proc are running at 100% a small part of the time and the memory not so much used. On the other hand, the hdd is very busy.
I'm using Grass 7.4 on Debian 9 with Intel i7 (8 cores) and 32Go RAM. And I have setup 4096MB per r.viewshed and directory=/tmp I wonder if it's not better to use only one core and put 32GB memory on the one calculation ? What are the best settings to improve calculation speed ?. Or is there any other faster approach to calculate the visibility ? (I had been thinking with r.horizon to calculate the minimum visible height. But unfortunatly the raster mode is not able to give horizon to a specific target coordinates, unless to do it for each cell independently...) See below a part of output (the script is still running) https://grasswiki.osgeo.org/wiki/Parallelizing_Scripts GRASS_INFO_END(13720,1) Estimated size active structure: (key=64, ptr=8, total node=96 B) Total= 2103840 B Start sweeping. Computing events... Nodata value set to -nan rows=21915, cols=21915, total = 480267225 In-memory memory usage is 48026897820 B (45802 MB), max mem allowed=4294967296 B(4096MB) ***** EXTERNAL_MEMORY MODE ***** Intermediate files will not be deleted in case of abnormal termination. Intermediate location: /media/hdd1/temp/ To save space delete these files manually! Estimated size active structure: (key=64, ptr=8, total node=96 B) Total= 2103840 B Start sweeping. Computing events... Memory manager registering memory in MM_IGNORE_MEMORY_EXCEEDED mode. Memory manager registering memory in MM_IGNORE_MEMORY_EXCEEDED mode. Memory manager registering memory in MM_IGNORE_MEMORY_EXCEEDED mode. Memory manager registering memory in MM_IGNORE_MEMORY_EXCEEDED mode. Sorting events... Sorting events... Sorting events... Sorting events... Sorting events... Sorting events... Sorting events... Sorting events... Initialize sweepline... Determine visibility... Initialize sweepline... Determine visibility... Initialize sweepline... Determine visibility... Initialize sweepline... Determine visibility... Initialize sweepline... Determine visibility... Initialize sweepline... Determine visibility... Initialize sweepline... Determine visibility... Initialize sweepline... Determine visibility... the /tmp directory content is : 16 files, for 369 Go The maps are created by series of 8 (in 4 hours), but Grass needs between 24h upto 36h between two sets of 8 maps... Thank you for your help. Frank _______________________________________________ grass-user mailing list grass-user@lists.osgeo.org https://lists.osgeo.org/mailman/listinfo/grass-user