Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

"No altitude assigned" message #760

Closed
erikquinn opened this issue Dec 13, 2016 · 16 comments
Closed

"No altitude assigned" message #760

erikquinn opened this issue Dec 13, 2016 · 16 comments
Labels

Comments

@erikquinn
Copy link
Collaborator

erikquinn commented Dec 13, 2016

from @panther2 on v3.2.0:

I have tested EDDM, EDDT and EDDF as well as EGLL departures:
Athough clearing departing planes with
id taxi
id caf
id to
I get a "no altitude assigned" message.

It works as expected at KSFO. I did not test other airports.
Is the functionality in any way limited in the environment?
Or have I encountered a bug?

@erikquinn
Copy link
Collaborator Author

@panther2 I'm not seeing this issue. Could you verify that there is indeed a problem? When I follow the above steps at EDDM, they take off normally for me.

@panther2
Copy link

panther2 commented Dec 13, 2016

That's strange.

I just went to
https://atc-release.herokuapp.com/
changed to EDDM
and repeated the above steps again.
Again "no altitude assigned"

Works fine at KSFO. At KSFO the indication on the strip changes from for example MOLEN7 to MOLEN7.ENI after the caf command. This does not happen at EDDM, either. For example OLASO does not change to OLASO.OLASO

I cannot assign SID's, either. When entering sid TULSI for example the answer is
"unable, the TULSI departure not valid from Runway 26L"

It works perfectly on https://zlsa.github.io/atc/
Here OLASO changes to OLASO.OLASO after caf.

I have now also tested it using a different notebook with ChromeOS.
I am seeing the same issue here, too.

@n8rzz
Copy link
Contributor

n8rzz commented Dec 13, 2016

I can reproduce this on release and dev with EDDM. Super quick guess is this stems from all the work I did on n8rzz#53. Some parts of it I have reverted as part of n8rzz#114 because of some incorrect assumptions I made.

Still digging.

@eliuuk
Copy link
Contributor

eliuuk commented Dec 13, 2016 via email

@erikquinn
Copy link
Collaborator Author

yeah, sorry you're completely right. I accidentally went to zlsa.github.io/atc. I'm a dummy! This issue is definitely valid.

@erikquinn erikquinn added the bug label Dec 13, 2016
@panther2
Copy link

Thanks for your confirmation.

@n8rzz
Copy link
Contributor

n8rzz commented Dec 13, 2016

tracked this into runSID and it is failing silently here:

if (!standardRouteModel.hasFixName(this.rwy_dep)) {
    return ['fail', `unable, the ${standardRouteModel.name} departure not valid from Runway ${this.rwy_dep}`];
}

the routeModel is not picking up the rwy segments. _exitCollection is empty even though rwy is not. hmmmm

@n8rzz
Copy link
Contributor

n8rzz commented Dec 13, 2016

ah hah, these routes don't have either one of exitPoints or entryPoints. They are defined with only rwy and body. Thus, the relevant code from `StandardRouteModel':

    /**
     * Determine if the `standardRoute` is a sid or a star and build the entry/exit collections
     * with the correct data.
     *
     * STARS will have `entryPoints` defined so `rwy` becomes the `_exitCollection`
     * SIDS will have `exitPoints` defined so `rwy` becomes the `_entryCollection`
     *
     * @for StandardRouteModel
     * @method _buildEntryAndExitCollections
     * @param standardRoute
     * @private
     */
    _buildEntryAndExitCollections(standardRoute) {
        if (_has(standardRoute, 'entryPoints')) {
            this._entryCollection = this._buildSegmentCollection(standardRoute.entryPoints);
            this._exitCollection = this._buildSegmentCollection(standardRoute.rwy);
        } else if (_has(standardRoute, 'exitPoints')) {
            this._entryCollection = this._buildSegmentCollection(standardRoute.rwy);
            this._exitCollection = this._buildSegmentCollection(standardRoute.exitPoints);
        }
    }

never sets an entryCollection (which should be rwy in this case). so when you run caf the sidCollection thinks that only body fixes exist.

@erikquinn should this airport have exitPoints defined as part of the SID? Or are these routes completely valid with just rwy and body?

@panther2
Copy link

Just to remember: This issue occured to me on EDDM, EDDT and EDDF as well as EGLL ... and I did not test others except KSFO (that is working as expected).

@n8rzz
Copy link
Contributor

n8rzz commented Dec 13, 2016

yep, and all 4 of those airports define their sids with only rwy and body segments.

depending on what @erikquinn has to say about which direction to go here, this should be an easy(ish) fix.

@n8rzz
Copy link
Contributor

n8rzz commented Dec 14, 2016

at the very least there should be tests for this case.

@n8rzz
Copy link
Contributor

n8rzz commented Dec 14, 2016

PR app spun up at: https://atc-dev-pr-198.herokuapp.com/

no changes yet, but this is where they will be first when I have something.

@n8rzz
Copy link
Contributor

n8rzz commented Dec 14, 2016

@panther2 @indianbhaji @erikquinn so I pushed a temp fix, looks like that was definitely the problem here.

Take a look at the link above and give it a twirl.

@erikquinn
Copy link
Collaborator Author

As it's implemented, all SIDs MUST have at least one exitPoint, and all STARs MUST have at least one entryPoint. This could be changed, as sometimes it doesn't make 100% sense (for example, all SIDs at german airports end at only one fix, and they have separate procedures that link up to various airways and such). So the appropriate (immediate) solution is to add exitPoints to those procedures.

Tests for this would indeed be great, and it might also be worth expanding upon the checkFixes() (I think it's called) method by abstracting these sorts of tasks, and running a bunch of verifications on the setup of the airport file to ensure contributors aren't doing things that aren't allowable for reasons like this they aren't necessarily familiar with. Since airports are the single thing that are most often created/edited by new contributors, some expansion on these to throw more warnings guiding them toward a correctly done airport file would be a great improvement. Created n8rzz#199 for this.

The linked atc-dev-pr-198 app appears to resolve the problem.

@panther2
Copy link

@n8rzz
I confirm it works as expected for me. Thank you!

@n8rzz n8rzz mentioned this issue Dec 19, 2016
@erikquinn
Copy link
Collaborator Author

Resolved by #755. Closing.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

4 participants