OpenMDAO / OpenMDAO/Aviary

Improve Fortran to Aviary converter intelligence for FLOPS files

Open
#305 4 comments 0 reactions 2 assignees View on GitHub

@cmbenne3 is already working on this.

Since Aug 25, 2025.

Dominant language
Python
Stars
287
Forks
140
Avg merge
6d 14h
Merged PRs (30d)
18

Description

Description

A lot of parameters in FLOPS have different behavior based on the absolute value of that parameter (for example the weights overrides act as a scale factor when between 0 and 5, and act as an absolute weight override for values > 5). Aviary currently doesn't understand this and just maps each flops parameter to the most appropriate aviary parameter.
It would dramatically improve usability to make aviary aware of this logic and correctly parse the FLOPS value into _mass_scalar or _mass depending on the absolute value.
Some of the default FLOPS units are also different to aviary's default units (e.g. AERIN.VAPP is in knots in FLOPS, but mission:landing:initial_velocity is in ft/s in aviary)

Example

Some examples of mass_scaler vs mass (not exhaustive)
aircraft:crew_and_payload:passenger_service_mass_scaler,3020,unitless -> aircraft:crew_and_payload:passenger_service_mass,3020,lbm
aircraft:crew_and_payload:non_flight_crew_mass_scaler,680,unitless -> aircraft:crew_and_payload:non_flight_crew_mass,680,lbm
aircraft:fuel:unusable_fuel_mass_scaler,436,unitless -> aircraft:fuel:unusable_fuel_mass,436,lbm
aircraft:nacelle:mass_scaler,1280,unitless -> aircraft:nacelle:mass,1280,lbm
aircraft:propulsion:engine_oil_mass_scaler,111.1,unitless -> aircraft:propulsion:total_engine_oil_mass,111.1,lbm

An example of defaults units mismatch
AERIN.VAPP (knots) -> mission:landing:initial_velocity (ft/s)

Aviary Version

0.9.4.dev

Relevant environment information

MBSA&E Concepts Library team have a list of FLOPS conversion errors to be addressed.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.