Opened 10 years ago

Last modified 8 years ago

#2574 closed defect

v.surf.icw - not working with the last version of grass7 — at Version 5

Reported by: bhlevca Owned by: grass-dev@…
Priority: normal Milestone: 7.2.0
Component: Addons Version: svn-trunk
Keywords: v.surf.icw Cc:
CPU: Unspecified Platform: Unspecified

Description (last modified by neteler)

I updated my grass7 not thinking about compatibility issues. Several scripts used by v.surf.icw have changed among which g.remove

For example line 322

grass.run_command('g.remove', flags = 'f', rast = cost_site_name, quiet = True)

must be changed to.

 grass.run_command('g.remove', type='raster', flags = 'f', name = cost_site_name, quiet = True)

Now the module works partially but I struggled to find the final solution and I was wondering if someone who knows the code better can fix it.

I get the following errors after the successful creation of the : temporary files (tmp_icw*):

Creating partial weights ...
Site 1 of 51,  cat = 1, data value = 6.281
Site 2 of 51,  cat = 2, data value = 6.378843
Site 3 of 51,  cat = 3, data value = 6.324808
ERROR: Error reading raster data for row 281 of <MASK>
ERROR: Error reading raster data for row 2343 of <MASK>
ERROR: Error reading raster data for row 2109 of <MASK>

and at the end probably due to the former errors:

Calculating final values ...
Reading raster map <tmp_icw_25595_partial.00001> using weight 1.000000...
ERROR: Raster map <tmp_icw_25595_partial.00001> not found
ERROR: Problem running r.series
Cleanup..

This worked fine in grass 7 several months ago.

Change History (6)

comment:1 by bhlevca, 10 years ago

Sorry I meant v.surf.icw.

I tried to modify the subject but I could not figure out how.

comment:2 by bhlevca, 10 years ago

I found the problem I had a dangling raster map named MASK that was screwing up.

I deleted that and now it works properly.

I am attaching my version and hopefully someone with access will update svn

Thanks

comment:3 by annakrat, 10 years ago

I just fixed the g.remove calls in r64399.

by bhlevca, 10 years ago

Attachment: v.surf.icw added

modified v.surf.icw that works with grass7 trunk

comment:4 by bhlevca, 10 years ago

I have a large number of points (~20000) and the script runs fine until it reaches the point of summation of cost weights.

Then Python gives up because there are too many items in the arguments list. I am wondering if the script could be changed to work around Python's limitation

Here is the error:

Removing anomalies at site positions ... Applying radial decay ... Finding sum of squares ... Summation of cost weights ... ... omitted lines ...

File "/usr/lib64/python2.7/subprocess.py", line 1327, in

_execute_child

raise child_exception

OSError: [Errno 7] Argument list too long

comment:5 by neteler, 10 years ago

Component: DefaultAddons
Description: modified (diff)
Keywords: v.surf.icw added
Summary: r.surf.icw - not working with the last version of grass7v.surf.icw - not working with the last version of grass7
Note: See TracTickets for help on using tickets.