Closed dataandcrowd closed 5 years ago
Thank you very much for your bug report and the code example. I will look into this in more detail. But my first impression from a quick look at your model is that the amount of measured data might just be too huge. Your model has 96822 patches (326*297) and you measure patch metrics on 8763 ticks for three different runs. This will result in a tibble with 3 columns and 2 545 353 558 rows ;) And this is only the patches data, on top you also have thousands of turtle measurements on each tick.
Measuring patches and turtles metrics on each tick comes at a price unfortunately. That is, why we also put a warning in our manual, that measuring spatial data on each tick might blow up your results tibble really fast.
One thing you could do, is to think about your experiment design. Do you really need the spatial data on each tick? Maybe it is sufficient to measure each 100th tick? You can easily do this by setting evalticks to seq(1, 8763, 100)
.
Another thing I noticed, when I ran the model directly in NetLogo, was that patch colors did not seem to change anyway during the model run. Is that true? If yes, I suggest you to run one experiment with only one tick to get the spatial patch information. Then run your complete experiment without measuring patch data. This should save you a lot of the current resource requirements.
Nevertheless, I will also continue trying to find a solution to get your snippet running.
@nldoc Thanks for the prompt reply. I didn't know that my results can build up to 2.5 trillion rows! Thanks to your advice, I ran my model successfully with seq(1, 8763, by = 10)
. If I used seq(1, 8763, by = 100)
, I might miss the abruptive degradation of agents health.
I added patch info just to compare the difference between modelled PM10 and observed PM10.
Thanks!
I've been trying to run nlrx with my GIS extension model, but seems to fail all the time. I thought it was my local machine that had less memory, however it doesn't seemed to work on the HPC either.
R script
seesion info:
As you can see in the last line, I get errors of
slurmstepd: error: Exceeded step memory limit at some point
. I presume the error happens when I assignsetsim(nl, "simoutput") <- results
.Is there a way to solve this issue, or do I have to split my
evalticks
? Many thanksFYI All my netlogo files are stored on my github repository(https://github.com/mrsensible/airpollutionABM).