Message 10089

TUFLOW FV
Available since version: 2026.2.0
ERROR 10089 - NaN value detected in cell <2d_cell_id>, conserved variable <conserved_variable>

Description

This error is raised during the simulation when a NaN (not-a-number) value is detected in a conserved variable at the specified 2D cell. The <conserved_variable> index is numbered sequentially: water depth (1), x-momentum (2), y-momentum (3), then any active scalar constituents in the order they are included — salinity, temperature, tracers (1…N), suspended sediment fractions (1…N), water quality constituents (1…N). The exact index for any scalar depends on which constituents are active in the simulation.

Suggestions

A NaN (not-a-number) value typically indicates a model instability has occured. Review the model setup around cell <2d_cell_id>, its location should be reported in the GIS messages layer.

Identify which conserved variable <conserved_variable> is NaN. Review the map output for this variable leading up the time of the error for any unusual behaviour.

There are a range of potential causes for a model going unstable but common issues are as follows.

  • The model mesh quality in the region surrounding the offending <2d_cell_id> can be improved, or there are sharp gradients in topogrography or bathymetry in this area that could be better resolved by the mesh
  • Boundary conditions, initial conditions, or edited restart files may not be consistent with expected model configuration, or include erroneous or non-physical values. The user should review each of these to ensure they are suitable
  • The computational timestep for the model may need to be reduced. Refer to the TUFLOW FV User Manual for guidance on timestep selection and stability criteria
  • The sediment update dt for sediment transport and morphological coupling may be too high
  • Water quality processes may be incorrectly configured

While the error will be reported at the first cell where NaN is detected, the root cause may originate from a nearby cell. To track where instability begins, add a secondary output block with high temporal resolution at a time just prior to the error. See ERROR 10097 for an example output block.