# Saving Codim-2 data

**URL:** https://discourse.julialang.org/t/saving-codim-2-data/128564
**Category:** Specific Domains
**Tags:** bifurcationkit
**Created:** [April 30, 2025, 9:32am UTC](https://discourse.julialang.org/t/saving-codim-2-data/128564 "2025-04-30T09:32:20Z")
**Posts on this page:** 3
**Page:** 1

<div class="post-metadata">

### Author: ![iclo3](https://avatars.discourse-cdn.com/v4/letter/i/e47774/32.png) [@iclo3](https://discourse.julialang.org/u/iclo3)
#### Post date: [April 30, 2025, 9:32am UTC](https://discourse.julialang.org/t/saving-codim-2-data/128564/1 "2025-04-30T09:32:20Z")

</div>

Hi,

I want to save the output of my Codim-2 continuation as a csv or txt file.

```julia
codim2_a2 = continuation(br, 2, (@optic _.a2),
    ContinuationPar(opts_br, p_min = 0.0, p_max = 1000.0, dsmin = 1e-6, max_steps = 1e8, tol_stability = 1e-12);
    normC = norminf,
    bothside = true,
    detect_codim2_bifurcation = 2,)

```

I’ve tried the following:

```julia
df2 = DataFrame(
    a1 = codim2_a2.param.a1,
    a2 = codim2_a2.param.a2,
    x = codim2_a2.branch.x,
    y = codim2_a2.branch.y,
    z = codim2_a2.branch.z
)

# Save with a marker row
marker_row = DataFrame(a1 = [missing], a2 = [missing], x = ["--- codim-2 continuation a2(bp[2]) ---"], y = [missing], z = [missing])
CSV.write("Outputs/Codim2_a1_a2.csv", marker_row; append=true)
CSV.write("Outputs/Codim2_a1_a2.csv", df2; append=true)

```

Which generates the following error

type Array has no field a1

Stacktrace:  
[1] getproperty(x::Vector{Float64}, f::Symbol)  
@ Base ./Base.jl:49  
[2] top-level scope  
@ In[68]:1

If only saving the data for parameter a1 and the system variables (as shown below) the file saves correctly but I also need the data for parameter a2

```julia
df2 = DataFrame(a1 = codim2_a2.branch.param,
                x = codim2_a2.branch.x,
                y = codim2_a2.branch.y,
                z = codim2_a2.branch.z)

# Save with a marker row
marker_row = DataFrame(a1 = [missing], a2 = [missing], x = ["--- codim-2 continuation a2(bp[2]) ---"], y = [missing], z = [missing])
CSV.write("Outputs/Codim2_a1_a2_test.csv", marker_row; append=true)
CSV.write("Outputs/Codim2_a1_a2_test.csv", df2; append=true)

```

Thank you.

---

<div class="post-metadata">

### Author: ![rveltz](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/rveltz/32/2707_2.png) [@rveltz](https://discourse.julialang.org/u/rveltz)
#### Post date: [April 30, 2025, 11:16am UTC](https://discourse.julialang.org/t/saving-codim-2-data/128564/2 "2025-04-30T11:16:28Z")

</div>

I would say:

```julia
df2 = DataFrame(
    a1 = codim2_a2.a1,
    a2 = codim2_a2.a2,
    x = codim2_a2.x,
    y = codim2_a2.y,
    z = codim2_a2.z
)

```

[/quote]

---

<div class="post-metadata">

### Author: ![iclo3](https://avatars.discourse-cdn.com/v4/letter/i/e47774/32.png) [@iclo3](https://discourse.julialang.org/u/iclo3)
#### Post date: [May 5, 2025, 9:28am UTC](https://discourse.julialang.org/t/saving-codim-2-data/128564/3 "2025-05-05T09:28:59Z")

</div>

Thank you!
