Skip to content

Write and read polar tables as Arrow when table_format is :arrow #371

Closed

Description

@1-Bort-1

Write and read polar tables as Arrow when table_format is :arrow
Today table_format (#257) only covers the per-node Cp/cf tables; every polar still goes out as CSV through write_polar_csv / write_polar_matrix_csv (src/airfoil_aero/airfoil_solvers/common.jl, src/airfoil_aero/airfoil_io.jl) and comes back through the line-based load_polar_data (src/yaml_geometry.jl:77). BeyondTheSim runs SK100 with table_format: arrow and still gets CSV polars.

Make the polars follow table_format by reusing the node-table I/O, not by adding a second Arrow path:

  • read_node_table / write_node_rows (src/section_aero.jl:151, :186) already pick CSV or Arrow from the file suffix and take exactly the (alpha, delta, values) row form a POLAR_MATRICES table is, with values = [Cl Cd Cm]. Extend them (e.g. named value columns, so a polar keeps its Cl/Cd/Cm header) rather than writing polar-specific Arrow code; the polar writers and load_polar_data go through them.
  • convert_node_table / migrate_node_tables (src/obj_adapter/obj_to_yaml.jl:115) should migrate a cached dataset's polars too, so switching format rewrites them instead of re-running NeuralFoil.
  • obj_to_yaml / surfplan_to_aero_yaml write the polar path with the matching suffix into the geometry YAML; existing CSV polar datasets keep loading untouched.
  • Cover POLAR_VECTORS as well, or say on the card why not.

Builds on #369 (the 16-significant-digit csv_fields row writer on the same functions): agent stack 369 before the first push, and fold csv_fields into the shared CSV branch rather than keeping two row formatters.

Activity

  1. self-assigned this
    on Sep 21, 2026
  2. 1-Bort-1 commented on Sep 21, 2026

    @1-Bort-1
    MemberAuthor

    Folding both finds into #372 as asked: renaming write_polar_csv / write_polar_matrix_csv to write_polar / write_polar_matrix and the YAML key csv_file_path to polar_file_path (old key still read), and giving resolve_aero_geometry / resolve_airfoil a table_format so the neuralfoil route writes .arrow too. Closes #373 with it.

  3. 12 remaining items

  4. added and removed on Sep 22, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions