Suppressing Info blocks from StructuralIdentifiability

Hi.

I’m using the Julia package StructuralIdentifiability. To use it we first define an ODE-model, and then check the identifiability of its parameters. When I do either of those it prints these “Info:” blocks that take up a lot of space, but which I’m not that interested in. Is there a way to suppress or hide these/to have them not appear?
Any help would appreciated.

Here is an example of what I’m talking about:
Input:

ode_fhn = @ODEmodel(
    v'(t) = v - v*v*v - w + I_ext,
    w'(t) = (v - a - b*w)/tau,
    y(t) = v(t)
)

Output:

┌ Info: Summary of the model:
└ @ StructuralIdentifiability /home/jovyan/.julia/packages/StructuralIdentifiability/bRtkP/src/ODE.jl:303
┌ Info: State variables: w, v
└ @ StructuralIdentifiability /home/jovyan/.julia/packages/StructuralIdentifiability/bRtkP/src/ODE.jl:304
┌ Info: Parameters: I_ext, a, b, tau
└ @ StructuralIdentifiability /home/jovyan/.julia/packages/StructuralIdentifiability/bRtkP/src/ODE.jl:305
┌ Info: Inputs: 
└ @ StructuralIdentifiability /home/jovyan/.julia/packages/StructuralIdentifiability/bRtkP/src/ODE.jl:306
┌ Info: Outputs: y
└ @ StructuralIdentifiability /home/jovyan/.julia/packages/StructuralIdentifiability/bRtkP/src/ODE.jl:307

v'(t) = I_ext - w(t) - v(t)^3 + v(t)
w'(t) = (-w(t)*b - a + v(t))//tau
y(t) = v(t)

Input:

print(assess_identifiability(ode_fhn))

Output (only the first line here is relevant for me):

Dict{Any, Symbol}(I_ext => :nonidentifiable, a => :nonidentifiable, b => :globally, tau => :globally)

┌ Info: Assessing local identifiability
└ @ StructuralIdentifiability /home/jovyan/.julia/packages/StructuralIdentifiability/bRtkP/src/StructuralIdentifiability.jl:99
┌ Info: Local identifiability assessed in 0.0034953 seconds
└ @ StructuralIdentifiability /home/jovyan/.julia/packages/StructuralIdentifiability/bRtkP/src/StructuralIdentifiability.jl:101
┌ Info: Assessing global identifiability
└ @ StructuralIdentifiability /home/jovyan/.julia/packages/StructuralIdentifiability/bRtkP/src/StructuralIdentifiability.jl:117
┌ Info: Computing IO-equations
└ @ StructuralIdentifiability /home/jovyan/.julia/packages/StructuralIdentifiability/bRtkP/src/global_identifiability.jl:200
┌ Info: Computed in 0.0015555 seconds
│   :ioeq_time = ioeq_time
│   ioeq_time = 0.0015555
└ @ StructuralIdentifiability /home/jovyan/.julia/packages/StructuralIdentifiability/bRtkP/src/global_identifiability.jl:203
┌ Info: Computing Wronskians
└ @ StructuralIdentifiability /home/jovyan/.julia/packages/StructuralIdentifiability/bRtkP/src/global_identifiability.jl:206
┌ Info: Computed in 0.0016289 seconds
│   :wrnsk_time = wrnsk_time
│   wrnsk_time = 0.0016289
└ @ StructuralIdentifiability /home/jovyan/.julia/packages/StructuralIdentifiability/bRtkP/src/global_identifiability.jl:208
┌ Info: Dimensions of the wronskians [4]
└ @ StructuralIdentifiability /home/jovyan/.julia/packages/StructuralIdentifiability/bRtkP/src/global_identifiability.jl:212
┌ Info: Ranks of the Wronskians computed in 1.38e-5 seconds
│   :rank_time = rank_time
│   rank_times = 1.38e-5
└ @ StructuralIdentifiability /home/jovyan/.julia/packages/StructuralIdentifiability/bRtkP/src/global_identifiability.jl:217
┌ Info: Assessing global identifiability using the coefficients of the io-equations
└ @ StructuralIdentifiability /home/jovyan/.julia/packages/StructuralIdentifiability/bRtkP/src/global_identifiability.jl:224
┌ Info: Computed in 0.0017633 seconds
│   :check_time = check_time
│   check_time = 0.0017633
└ @ StructuralIdentifiability /home/jovyan/.julia/packages/StructuralIdentifiability/bRtkP/src/global_identifiability.jl:226
┌ Info: Global identifiability assessed in 0.0053466 seconds
└ @ StructuralIdentifiability /home/jovyan/.julia/packages/StructuralIdentifiability/bRtkP/src/StructuralIdentifiability.jl:119

1 Like

Open an issue.

What do you mean?

He probably means: please add an issue report at github and we will come back to you as soon as possible.

1 Like

Ok, I’ll do that then.

Got an answer here: Suppressing Info blocks · Issue #95 · SciML/StructuralIdentifiability.jl · GitHub

For posterity I’ll copypaste the answer here:

Yes, you can disable logging by adding the following lines at the beginning

using Logging
Logging.disable_logging(Logging.Info)
2 Likes

I believe this is an answer with caveats: with this you are restricting all Julia modules to only show warnings or errors?

2 Likes