Circuitscape/Circuitscape.jl

Circuitscape stop working in advanced and one-to-all mode

Closed this issue · 7 comments

I've been having problems with Circuitscape in Julia (version 1.6.7) for a while now, in one-to-all and advanced modes. When I load the .ini file, Circuitscape starts running, reads the maps, counts the number of nodes, builds the preconditioner, but then crashes after solving the first linear system, and stays that way. In advanced mode I was able to close the same runs through the CS (v.4.0) gui, but recently the runs in the CS v.4.0 gui also fail.

In one-to-all mode, Circuitscape in Julia was able to calculate the first 5 nodes, then got stuck for a few days, restarted with another 5 nodes and so on, with very long times. On the contrary CS v.4.0 gui was able to run, but with huge times, and I had to block it.

Process memory and CPU usage are holding steady at 15GB and ~6% every time I check it.

I saw that there were similar issues in 2018 (#131 and #133), I was wondering if the same solutions are still valid or if there is more I can do. Let me know if other files are needed.
Thank you

This is my .ini file for advanced mode:

[Options for advanced mode]
ground_file_is_resistance = True
remove_src_or_gnd = keepall
ground_file = F:\Davide\castoro_connect\omniscape\input\hsi10_current_bas12_id.asc
use_unit_currents = True
source_file = F:\David\castoro_connect\omniscape\input\castor_data_id.asc
use_direct_grounds = True

[File Mask]
mask_file = (Browse for a raster mask file)
use_mask = False

[Calculation options]
low_memory_mode = True
parallelize = False
solver = cg+amg
print_timings = True
preemptive_memory_release = True
print_rusages = False
max_parallel = 2

[Short circuit regions (aka polygons)]
polygon_file = None
use_polygons = False

[Options for one-to-all and all-to-one modes]
use_variable_source_strengths = False
variable_source_file = (Browse for a source strength file)

[Output options]
set_null_currents_to_nodata = False
set_focal_node_currents_to_zero = True
set_null_voltages_to_nodata = False
compress_grids = True
write_cur_maps = 1
write_volt_maps = 0
output_file = F:\David\castoro_connect\omniscape\input\castor_advanced_hsibas12.out
write_cum_cur_map_only = True
log_transform_maps = False
write_max_cur_maps = False

[Version]
version = 4.0.5

[Options for reclassification of habitat data]
reclass_file = (Browse for file with reclassification data)
use_reclass_table = False

[Logging Options]
log_level = INFO
log_file = F:\David\castoro_connect\omniscape\input\castor_advanced_hsibas12.log
profiler_log_file = F:\David\castoro_connect\omniscape\input\castor_advanced_hsibas12_rusages.log
screenprint_log = True

[Options for pairwise and one-to-all and all-to-one modes]
included_pairs_file = (Browse for a file with pairs to include or exclude)
use_included_pairs = False
point_file =

[Connection scheme for raster habitat data]
connect_using_avg_resistance = False
connect_four_neighbors_only = False

[Habitat raster or graph]
habitat_map_is_resistance = True
habitat_file = F:\Davide\castoro_connect\omniscape\input\negexpo_resist4_mosaic3_ita.asc

[Circuitscape mode]
data_type = raster
scenery = advanced

I tried #373 after seeing #369 and #367, and it seems the problem is now solved, the advanced mode goes up. However, when I use the advanced mode now the run end after few minutes, but it gaves me nothing, no outputs. I was seeing this issue in #327, I checked for #330, but the new version of Circuitscape (5.12.1) has all the additions reported in #330. Any thoughts would be appreciated.

Definitely use a more recent Julia!

Yeah, I would use a fresh install of Julia 1.8 or 1.9 and Circuitscape (5.13) and test.

@ViralBShah @ranjanan thank you for advices, I tried with a recent version of Julia (1.8.5), because in the last version (1.9.2) I got some conflicts errors with other packages. Anyway, using Julia 1.8.5 with Circuitscape 5.13.0, gave me the same output, i.e., an empty output with no files or maps in the folder.

This is the code:

julia> compute("trymynew12.ini")
[ Info: 2023-08-14 16:15:43 : Logs will recorded to file: log_file
[ Info: 2023-08-14 16:15:43 : Precision used: Double
[ Info: 2023-08-14 16:15:44 : Reading maps
[ Info: 2023-08-14 16:16:57 : Resistance/Conductance map has 25084680 nodes
[ Info: 2023-08-14 16:17:49 : Solver used: AMG accelerated by CG
[ Info: 2023-08-14 16:18:38 : Time taken to construct preconditioner = 32.045108 seconds
[ Info: 2023-08-14 16:20:08 : Time taken to solve linear system = 88.779756 seconds
[ Info: 2023-08-14 16:20:41 : Time taken to complete job = 297.4061371
10339×10382 Matrix{Float64}:
 0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0    0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0
 0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0     0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0
 0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0     0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0
 0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0     0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0
 0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0     0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0
 0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0    0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0
 0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0     0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0
 0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0     0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0
 0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0     0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0
 0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0     0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0
 0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0    0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0
 0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0     0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0
 0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0     0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0
                                                                                                        
 0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0     0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0
 0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0     0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0
 0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0     0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0
 0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0    0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0
 0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0     0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0
 0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0     0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0
 0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0     0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0
 0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0     0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0
 0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0    0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0
 0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0     0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0
 0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0     0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0
 0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0     0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0

Any thoughts?

@Daviser95 Please provide all the input files and the ini file.

Yes of course, here you can find all https://we.tl/t-iuJprUkuzn
Thank you!

@Daviser95 #393 should fix the map writing issue, you should be able to get maps once that is merged and a new version is tagged.