Skip to content

Boundary layer interior model silently erroring #680

@nichollsh

Description

@nichollsh

Problem description

The new boundary layer mantle dynamics model sometimes fails to integrate during a PROTEUS time-step. The error is "Required step size is less than spacing between numbers."

This occurs silently during a PROTEUS run, at the moment, and leads to dt=0 and the simulation not making any progress. Eventually, it will exit when the max iterations are reached.

Expected behavior

This error should be captured from solve_ivp and at least logged. Perhaps adjustments can be made to the tolerance at runtime, to avoid these scenarios?

E.g. adding the following code after the solve_ivp call in boundary.py...

        # Check reason for solver termination
        if sol.status == 1:
            log.info("Surface temperature change triggered time-step trucation")
        elif sol.status == -1:
            log.warning("Boundary layer interior failed to integrate - solver error")
            log.warning(f"    solver msg: {sol.message}")

My computer

Running PROTEUS on Habrok. Git hash 7c5ff466b977. Julia 1.12 and Python 3.12.

Additional notes

Potentially resolved by ongoing PR: #678

Relevant people

@timlichtenberg @egpbos @rdc49

Metadata

Metadata

Assignees

No one assigned

    Labels

    BugSomething isn't workingInterior/StructurePhysics - interior evolutionInterraIssue has been imported to the Interra Board projectPROTEUSPriority 2: highPriority level 2: high time criticality or importanceimport

    Type

    No fields configured for Bug.

    Projects

    Status

    Next Up

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions