Skip to content

Assertion error during simulation finalization #177

@vitduck

Description

@vitduck

Hi,

We obtained a large simulation input that serve as the baseline for itzi optimization and parallelization.
However this workflow was based on itzi_20.5. So first we tried bringing it up to date with itzi-25.4.

[Assertion error]

Building topology for vector map <out_1501_drainage_0011@PERMANENT>...
Registering primitives...
WARNING: Error during execution: Traceback (most recent call last):
  File "/usr/local/lib64/python3.13/site-packages/itzi/itzi.py", line 226, in sim_runner_worker
    sim_runner.initialize(conf_file).run().finalize()
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
  File "/usr/local/lib64/python3.13/site-packages/itzi/itzi.py", line 126, in run
    self.step()
    ~~~~~~~~~^^
  File "/usr/local/lib64/python3.13/site-packages/itzi/itzi.py", line 143, in step
    self.sim.update()
    ~~~~~~~~~~~~~~~^^
  File "/usr/local/lib64/python3.13/site-packages/itzi/simulation.py", line 325, in update
    self.drainage_model.step()
    ~~~~~~~~~~~~~~~~~~~~~~~~^^
  File "/usr/local/lib64/python3.13/site-packages/itzi/drainage.py", line 76, in step
    assert self._dt > 0.0
           ^^^^^^^^^^^^^^
AssertionError

We built a fedora42-based containers that ships GRAS_8.4.1, hence python-3.13 is in the traceback.
The singularlity definition was attached for reference.
The assertion error causes the simulation to hang definitely.

[Discrepancy of output.csv]
When examining the _output.csv generated during simulation;

  • v20.5
sim_time,avg_timestep,#timesteps,boundary_vol,rain_vol,inf_vol,inflow_vol,losses_vol,drain_net_vol,domain_vol,created_vol,%error
2024-10-03 09:00:00,-,0,0.000,0.000,-0.000,0.000,-0.000,0.000,0.000,0.000,-
2024-10-03 09:10:00,0.100,6001,0.000,2389801.734,-187099.516,0.000,-0.000,-988.888,2439563.850,0.000,0.00%
2024-10-03 09:20:00,0.100,6000,0.000,2389802.283,-162630.654,0.000,-0.000,-4015.601,4661705.691,0.000,0.00%
2024-10-03 09:30:00,0.100,6025,0.000,2389802.283,-145111.838,0.000,-0.000,-8537.149,6896788.395,0.000,0.00%
2024-10-03 09:40:00,0.097,6181,0.000,2389801.734,-132494.456,0.000,-0.000,-12007.708,9140896.083,0.000,0.00%
2024-10-03 09:50:00,0.095,6298,0.000,2389802.283,-123568.487,0.000,-0.000,-16394.237,11389547.028,0.000,0.00%
2024-10-03 10:00:00,0.096,6243,0.000,2389802.008,-117090.836,0.000,-0.000,-26750.413,13634009.057,0.000,0.00%
2024-10-03 10:10:00,0.096,6232,0.000,2389802.008,-112429.002,0.000,-0.000,-43653.120,15866288.347,0.000,0.00%
2024-10-03 10:20:00,0.095,6286,0.000,2389802.283,-109130.343,0.000,-0.000,-62364.468,18083524.899,0.000,0.00%
2024-10-03 10:30:00,0.096,6265,0.000,2389802.008,-106753.065,0.000,-0.000,-80362.847,20285073.757,0.000,0.00%
2024-10-03 10:40:00,0.096,6274,0.000,2389802.558,-105101.018,0.000,-0.000,-99838.942,22469056.089,0.000,0.00%
2024-10-03 10:50:00,0.095,6315,0.000,2389802.283,-103855.511,0.000,-0.000,-134315.080,24619278.786,0.000,0.00%
2024-10-03 11:00:00,0.095,6340,0.000,2389802.008,-102998.672,0.000,-0.000,-177064.386,26499118.947,0.000,0.00%
  • v25.4
sim_time,avg_timestep,#timesteps,boundary_vol,rain_vol,inf_vol,inflow_vol,losses_vol,drain_net_vol,domain_vol,created_vol,%error
2024-10-03 09:00:00,-,0,0.000,0.000,-0.000,0.000,-0.000,0.000,0.000,0.000,-
2024-10-03 09:10:00,0.100,6000,0.000,397892.534,-182819.114,0.000,-0.000,-27.240,233498.672,0.000,0.00%
2024-10-03 09:20:00,0.100,6000,0.000,397892.602,-160366.631,0.000,-0.000,-61.763,468967.473,0.000,0.00%
2024-10-03 09:30:00,0.100,6000,0.000,397892.602,-143676.722,0.000,-0.000,-147.116,721627.257,0.000,0.00%
2024-10-03 09:40:00,0.100,6000,0.000,397892.534,-131476.652,0.000,-0.000,-258.082,986760.051,0.000,0.00%
2024-10-03 09:50:00,0.100,6000,0.000,397892.568,-122807.666,0.000,-0.000,-407.417,1260839.613,0.000,0.00%
2024-10-03 10:00:00,0.100,6000,0.000,397892.499,-116479.057,0.000,-0.000,-598.251,1541265.244,0.000,0.00%
2024-10-03 10:10:00,0.100,6000,0.000,397892.568,-111914.075,0.000,-0.000,-808.238,1826177.822,0.000,0.00%
2024-10-03 10:20:00,0.100,6000,0.000,397892.671,-108675.605,0.000,-0.000,-1051.482,2114257.631,0.000,0.00%
2024-10-03 10:30:00,0.100,6000,0.000,397892.568,-106326.619,0.000,-0.000,-1318.839,2404505.513,0.000,0.00%
2024-10-03 10:40:00,0.100,6000,0.000,397892.568,-104692.427,0.000,-0.000,-1547.609,2696246.297,0.000,0.00%
2024-10-03 10:50:00,0.100,6000,0.000,397892.568,-103459.238,0.000,-0.000,-1775.899,2989006.705,0.000,0.00%

(v25.4 misses the timetamp at 11:00:00 due to aforementioned assertion error)
My understand is that the statistical information should be same between two versions.
Or is this discrepancy expected due to version change ?

[Issue with containers/docker]
The assertion error could be due to either:

  • A bug in itzi-25.4 that will simply go away after updating to itzi-25.8
  • A bug in python-3.13
  1. Boostrap from fedora-42
    Unfortunately it is not simple as
ERROR: Ignored the following versions that require a different python version: 25.8 Requires-Python >=3.11,<3.13
ERROR: Could not find a version that satisfies the requirement itzi==25.8 (from versions: 16.7, 16.8, 16.9, 17.1, 17.7, 17.8, 17.10, 17.11, 18.2, 20.5, 25.4)
ERROR: No matching distribution found for itzi==25.8
  1. Singularity container boostraped from official docker image.
$ singularity pull docker://lrntct/itzi:25.8 
$ singularity shell itzi_25.8.sif 
Singularity> whereis grass
grass: /usr/local/bin/grass /usr/local/grass
Singularity> whereis itzi 
itzi: 

So GRASS_BIN is picked up. But itzi was not.

  1. Test server with docker engine (Xeon E7-8890v2)
# docker run -it lrntct/itzi:25.8 bash 
#  itzi version
Illegal instruction (core dumped)

Sorry for long-winded questions, but we have been running in circle trying to build a container with workable GRASS_8.4 and itzi_25.8.

Regards.

itzi_25.4.sig.txt

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions