zlsa / atc

https://openscope.co/
342 stars 107 forks source link

Some thoughts on enhancements #220

Closed harp71 closed 7 years ago

harp71 commented 8 years ago

I´ve been playing a lot lately and there are some things i noticed or i like to suggest:

glangford commented 8 years ago

I don't know all of the history behind the max speed of 250 and 10000 elevation, I assume they are simplifications for simulation.

For bullet 5 - see #185. To work around you can clear departures to < 10000.

nielsvdweide commented 8 years ago

For the first few bullets and the speeds its quite clear. It's a law that aircraft below 10.000 feet can not fly faster than 250 knots.

harp71 commented 8 years ago

Thats not what i meant. Of course 250 below 10000. I said:

departing airplanes should accelerate to cruise speed above 10000 feet like the gain altitude above automatically.

But almost all the aircrafts are set to speed max 250, which is the over all max speed for the aircraft, which is wrong. Also those aircrafts are set to 200 cruise speed, which is either a terminology problem (is "cruise" their default speed after takeoff, the "default speed"?) or, most likely, they are from a early development stage and the "error" was carried on by copy&paste.

At the moment the speed settings fo a A320 looks like this:

  "speed":{
    "min":     115,
    "max":     250,
    "landing": 130,
    "cruise":  200
  },

... when it rather should look like this according to the data of a real A320:

  "speed":{
    "min":     115,
    "max":     540,
    "landing": 130,
    "cruise":  480
  },

... while min and landing depend on actual weight of the aircraft, which would be a little over the top for this simulation, i think. However, unless they all fly with minimum load 115 min-speed and 130 landing-speed is imho a little low.

nielsvdweide commented 8 years ago

Okay i see what you mean. Does it really matter if airplanes accelerate to cruise speed which is faster than 250 knots when they are above 10.000 feet? I mean, they are already out of radar coverage and at that point they are uncontrollable...

It would be a nice option to make them able to fly faster when they are below 10.000 feet. The air traffic controller is able to clear them fly faster than 250 knots below 10.000 feet. But they do need the clearance!

harp71 commented 8 years ago

Well, i don´t now if it matters, but i happens that way in real life. As i mentioned they currently, after exiting radius or ordered over 10000 feet, the planes in the sim continue to climb, but they keep 250 speed. Thats wrong, they should gain speed as well. Actually they would, but automatically, it´s just the max-speed setting in the aircraft settings. To change that their has to settings changed in every aircraft json file to realistic values. I can do that, no problem ... question is, will it be used/merged?

2015-11-09 13:55 GMT+01:00 nielsvdweide notifications@github.com:

Okay i see what you mean. Does it really matter if airplanes accelerate to cruise speed which is faster than 250 knots when they are above 10.000 feet? I mean, they are already out of radar coverage and at that point they are uncontrollable...

It would be a nice option to make them able to fly faster when they are below 10.000 feet. The air traffic controller is able to clear them fly faster than 250 knots below 10.000 feet. But they do need the clearance!

— Reply to this email directly or view it on GitHub https://github.com/zlsa/atc/issues/220#issuecomment-155055077.

Maverick283 commented 8 years ago

Well, what speed is represented in the code? TAS, GS, IAS, CAS?

zlsa commented 8 years ago

It's all groundspeed IIRC.

zlsa commented 8 years ago

And @harp71, if you spend the time and effort to fix all the aircraft, I can change the aircraft logic and merge the changes.

Maverick283 commented 8 years ago

That's what I thought.

If it is all ground speed, and if we want to make it more realistic by improving the speeds, then there is a whole other problem: The higher a aircraft flies, the greater it's ground speed is when the indicated airspeed and wind remain constant. And the rule with the 250 kts below FL100 refers to 250 KIAS (Knots indicated airspeed). Also, ATC instructions always refer to Indicated Airspeed (if not otherwise specified).

So when giving an aircraft the speed instruction here, we effectively give them a ground speed instruction (which might be okay for simulation purposes). But if we stick to the 250 rule below FL100 then it'd be logically to implement the indicated airspeed instead. This would make it more difficult for the user though, as aircraft would "loose" ground speed as they descent (or win speed as they ascend).

I think if implementing this 250/FL100 rule, this enhancement would be incomplete if the rest is not done with it.

glangford commented 8 years ago

Good discussion.

For us non pilot/simulator jockeys I found a good discussion here describing why ATC only cares about air speed, to your point @Maverick283 : http://macsblog.com/2012/04/how-fast-are-you-flying/

(I have this urge to put in an Easter egg command to request a flyby, which always gives the response: "Negative Ghostrider, the pattern is full.")

Maverick283 commented 8 years ago

As far as I know, the scope always displays ground speed (as it is the only speed the radar can measure without any other equipment). The situation described in the article shows how important it is for everyone to talk about the same speed.

In this simulation, we have only the displayed speed, but it was not yet defined properly (I believe) what speed it really is (@zlsa yeah I read it, no worries ;), but I believe that it can't really be ground speed as the behavior is wrong).

Thus, we should bring this down to one speed. Taking the displayed speed as indicated speed would probably make the most sense as of now, as this would remain 250 throughout climbs and descents (if the pilot was instructed to maintain the speed). That would then make the display unrealistic though, and it might be considerable to change the code so the ground speed is displayed.

There is quite a complicated formula (I have a spreadsheet if anyone is interested) to convert speeds (as they have to do a lot with pressure which in return has to do a lot with temperature and humidity and so on). I don't think that it'd be necessary to perform that kind of calculation, a simple formula would do it.

It would basically come down to something like this: GS = IAS * Alt * FactorX + WindInKnots * cos(HDG-WindDirection) PS: This was off the top of my head and might not work (will for sure not work to be exact) but should be a direction to start with.

PPS: Please please please add that easteregg, that is so awsome!

harp71 commented 8 years ago

@zlsa I will change the aircrafts to near realistic values the following days. But first please confirm, correct or add to my interpretation of the current variables in the aircrafts json:

{
  "name": "Airbus A320",
  "icao": "A320",
  "wake": "medium", // wake = the air turbulence behind the aircraft?
  "rate": {
    "turn":       1.3, // nm radius?
    "ascent":     1800, // feet per minute
    "descent":    2000, // feet per minute
    "accelerate": 7, // ?
    "decelerate": 4 // ?
  },
  "runway": {
    "takeoff": 2.0, // km?
    "landing": 2.8 // km?
  },
  "speed":{
    "min":     115, // kts?
    "max":     250, // kts?
    "landing": 130, // kts? 
    "cruise":  200 // kts?
  },
  "capability": {
    "ils": true,
    "fix": true
  }
}

Just to be clear: when i change the values for every aircraft it will be "aircraft is empty" values. Especially the (landing) speed varies significantly with weight. But, as you said, you fix that in the aircraft logic.

zlsa commented 8 years ago

All speeds are in kts. wake is currently used only for the "heavy"/"super" radio messages.

rate.turn is no longer used (all aircraft now turn a standard 2min turn).

rate.ascent and rate.descent are in feet per minute.

rate.accelerate and rate.decelerate are in knots per second (weird, I know).

runway.takeoff and runway.landing are the minimum runway lengths in km.

capability.ils and capability.fix aren't used yet.

tedrek commented 8 years ago

@harp71, are you still working on updating the aircraft to have realistic max/cruise speeds? I would be happy to help on the logic as well.

To try and address all the points:

harp71 commented 8 years ago

@tedrek thank you so much. yes i do, but reduced due to busy pre-christmas business times. What i did was mostly research. Unfortunatly i didn't find much reliable consistent data on airplane performances. But i will carry on and its good to know that somebody can do the logistics, because these have to be changed for sure. Regarding your comments i can just say:

tedrek commented 8 years ago

Regarding speeds, I pushed a change last night which assumes all speeds are Indicated Air Speed. If you go to the config icon simplified speeds can be turned off in which case ground speeds are different from IAS/Assigned depending on altitude.

We may be able to make some reasonable assumptions about scope and get a reasonable speed behavior. The first assumption is that aircraft won't fly faster than about 300 KIAS. The second assumption is that we won't ever simulate higher than 20'000 feet. The third assumption is that aircraft which are capable of speeds greater than 300 KIAS are also capable of altitudes greater than 20'000.

Given the above, the majority of traffic between 10,000 and 20,000 feet will be in climb or descent phases which we can assume happens at 300 KIAS (this could be exposed as a climb/descent speed for per aircraft tweaking). Assuming a ceiling of 20'000 means we can ignore mach numbers. The last assumption means we don't need accurate max speeds for aircraft which can go faster than 300 KIAS.

All of the above means we can just set 300 KIAS (or better) as the max speed for aircraft and get reasonable behavior by assigning 300 KIAS to aircraft over 10'000 feet. For aircraft which aren't capable of 300 KIAS they will probably need a service ceiling configured as well to keep from climbing too high. I'll see what I can do for the logic.

Maverick283 commented 8 years ago

This sounds like a good solution for now.

When talking about altitudes and speeds that high, in aviation Mach is used more then KIAS as it represents the speed the aircraft travels through air better. Short example: A A320 has a maximum speed of 0.82 Mach, which at an altitude of 20000 equals about 503 Knots, while at ground level it is equal to 542 Knots. Apart from the law, if a Airbus was to fly 542 Knots at ground level, it would exceed its maximum speed. Whoever has a descent flight sim at home can try this out: At ground the window between stall speed and over speed is quite large, (from memory) it goes from about 120 Knots to about 320 Knots. Yet at FL320, stalls would occur at 240 Knots while overspeed would be reached by 280 Knots. This shows that at altitude, Knots are a rather useless unit and Mach should be used instead.

For now this will absolutely play no role, and nobody will care if a aircraft is showing 300 or 280 on the speed during descent. It's just something to keep in mind if this is ever extended upwards.

erikquinn commented 7 years ago

Closing.