CFL broken

Hi everyone,

I am having problems with Courant-Friedrichs-Lewy's condition. If I have understood correctly it must be fulfilled that (U * dt) / dX is strictly less than 1. In my model, the grid width (dX) is 2.2 km and the maximum speed (U) is 1.2 m/s. Therefore, I don't understand why I get hundreds of broken CFL warnings when I use a Time Step (dt) of 2000s.
I'm sending the cfg file attached in case it helps

Thank you very much in advance


Ichthyop version:

Hydrodynamic dataset: 

Java version:

Operating system:


Hi Victor,

The CFL test is done for U, V, and W, which one do you get a warning for?

With the numbers you provided dt must be < 1830 s for U.

If you get CFL broken with values just above 1 it is no big deal I would say, but decreasing dt should definitely make the warnings disappear. Please tell us if this is not so.


Hi Christophe,
I have performed another test setting a dt = 1500s and this is the type of warnings that appear, related to W:
ichthyop[info] Step 421 / 2203 (Time 2013/07/10 17:20:00)
ichthyop[warning] CFL broken for W 2,067
ichthyop[info] Step 422 / 2203
ichthyop[info] Step 423 / 2203
ichthyop[warning] CFL broken for W 22,072
ichthyop[info] Step 424 / 2203
ichthyop[info] Step 425 / 2203
ichthyop[warning] CFL broken for W 3,734
ichthyop[info] Step 426 / 2203
ichthyop[warning] CFL broken for W 1,841
ichthyop[info] Step 427 / 2203
ichthyop[info] Step 428 / 2203
ichthyop[warning] CFL broken for W -3,265
ichthyop[info] Step 429 / 2203

So it is in fact a warning for W. You get very large values such as 22.072, there is possibly an issue with the vertical velocity. What current model/product do you use as inputs to Ichthyop?

WMOP (Western Mediterranean OPerational model)

I see it is ROMS-based so should not be a problem. Do you have the vertical velocity stored as well as the horizontal? Could be better to use it instead of the Ichthyop recalculated velocity to see if that helps. And in the meantime get in touch with Nicolas (see contact email) who could try to figure out what the problem is.

Hi Victor.

Usually, if W is not provided, it is recomputed by integrating the horizontal divergence from bottom to top, as done here for instance:

However, this hypothesis, which is valid when running the NEMO ocean model, might not be suitable with your model. This will lead to unrealistic W values, which will lead to CFL (some people have experienced that using Mars3D model outputs).

Therefore, I strongly advise to use the vertical velocities provided by the ocean model. So to me here are the points to consider:

i) Is it easy for you to re-run your ocean model by saving the ocean vertical velocity? If so, re-run Ichthyop with the W provided by your ocean model, CFL errors should disappear.

ii) Do you activate vertical migration processes? If so, you can deactivate the vertical advection and keep only the horizontal one. You should still see CFL warnings, because in the 3.3.3 version of Ichthyop, vertical advection is computed, then forced to 0 if deactivated. This will be fixed in the 3.3.4 version.


Hi Nicholas,

I really appreciate your comments, thank you very much