Spacex-api: No clear way to determine legs and fins configuration on Falcon9

Created on 27 Oct 2018  路  13Comments  路  Source: r-spacex/SpaceX-API

I could not find out weather the landing legs and grid fins on Falcon9 were installed from JSON data.
I found land_success and landing_intent flags in rocket->first_stage->cores[0] but it's not enough to definitely find out if booster/fins were installed.
I could not use rocket_type and rocket_name information either because there are many configurations of Falcon9 v1.1.

You can easily see all the possibilities of legs/fins on this infographic, I created a few years ago:
https://www.reddit.com/r/spacex/comments/68iw7q/all_spacex_launches_and_booster_landing_attempts/

I'm using version 3 of API.

Looking forward for your help.

Data Addition

Most helpful comment

@markvital A core is just another name for the first stage rocket booster

All 13 comments

One way to solve this is to create some sort of rocket_cofiguration (or booster/core conf.) abstraction, which will contain this data.

I counted at least 13 different configuration of SpaceX rockets family, taking into account rocket version, payload, grids and fins installation:

  1. Falcon-1
  2. Falcon-9-v1-dragon
  3. Falcon-9-v1_1-satellite
  4. Falcon-9-v1_1-dragon-legs
  5. Falcon-9-v1_1-satellite-legs
  6. Falcon-9-v1_1-dragon
  7. Falcon-9-v1_1_dragon-legs-and-fins
  8. Falcon-9-v1_1-satellite-legs-and-fins
  9. Falcon-9-v1_2-satellite-legs-and-fins
  10. Falcon-9-v1_2_dragon-legs-and-fins
  11. Falcon-9-v1_2-satellite
  12. FalconHeavy
  13. BFR

You can easily see them on the graphic:
spacex-rockets-2017-configurations

This is data that isn't tracked currently, but should be.

We can easily add the following on each launch:

  "first_stage": {
    "gridfins": true,
    "legs": true
  }

Abstracting away the entire rocket config might be a bit overkill for such a small change

Yes, that would be great!
Did you mean "first_stage" instead of second?

Yes, first stage 馃憤

@markvital All launches should be updated at this point 馃憤

Decided to move the data in with the existing core data, to allow for different configs depending on the core.

"first_stage": {
      "cores": [
        {
          "core_serial": "B1048",
          "flight": 2,
          "block": 5,
          "gridfins": true,
          "legs": true,
          "reused": true,
          "land_success": true,
          "landing_intent": true,
          "landing_type": "RTLS",
          "landing_vehicle": "LZ-4"
        }
      ]
    },

Would be a good idea to include that information in the cores end point as well?

@jakewmeyer what is "core"?
ELI5 :)

@jesusrp98 I thought about it initially, but a core isn't guaranteed to always use the fins and legs for every flight, especially if it's reused multiple times.

@markvital A core is just another name for the first stage rocket booster

@jakewmeyer That's right. Some reused Block 3 & 4 boosters weren't featuring landing legs, since SpaceX didn't want to recover them.

@jakewmeyer so when this new data will be live?

@markvital Should already be live

@jakewmeyer
Thank you!
BTW, I see some nulls for future launches. Filed it as a separate issue #178

Was this page helpful?
0 / 5 - 0 ratings

Related issues

jesusrp98 picture jesusrp98  路  8Comments

samg11 picture samg11  路  4Comments

Tearth picture Tearth  路  6Comments

MattoDeg picture MattoDeg  路  6Comments

haroldadmin picture haroldadmin  路  6Comments