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

editoast: operational points are incorrect on train imports #6182

Closed
axrolld opened this issue Dec 21, 2023 · 7 comments · Fixed by #6466
Closed

editoast: operational points are incorrect on train imports #6182

axrolld opened this issue Dec 21, 2023 · 7 comments · Fixed by #6466
Assignees
Labels
area:editoast Work on Editoast Service component:train-imports Related to timetable imports kind:bug Something isn't working severity:critical Critical severity bug

Comments

@axrolld
Copy link
Contributor

axrolld commented Dec 21, 2023

What happened?

When creating a train from an import, the operational points are picked among all the OP that have the right name/UIC code. This leads to trains not actually reaching the train station, for example here in Lyon.

image

What did you expect to happen?

I'm expecting the train to reach the station, so looking for the OP that have BV, 00, or nothing as a CH code in France.

How can we reproduce it (as minimally and precisely as possible)?

  1. Go to any grid that comes from a train import

What operating system, browser and environment are you using?

  • Browser: Chrome
  • OS: W11
  • Env: stagin internal

OSRD version (top right corner Account button > Informations)

66a103d

@axrolld axrolld added kind:bug Something isn't working severity:major Major severity bug module:stdcm Short-Term DCM labels Dec 21, 2023
@bloussou
Copy link
Contributor

bloussou commented Dec 21, 2023

Refinement:

  1. Add "ch" to /~https://github.com/osrd-project/osrd/blob/ea45fc572e411c694968e1d83fe3f6bacf98ba18/editoast/src/views/timetable.rs#L256C42-L256C42 OperationalPointLocation
  2. If uic + ch is found then use one of the parts of this ch / if ch is not found then use the ch bvor 00 or

To check with @axrolld

If ch is not found in OSRD then:

  1. Default to any ch ?
  2. Default to bvor 00 or
  3. Fail to import the train ?

@axrolld axrolld added component:train-imports Related to timetable imports and removed module:stdcm Short-Term DCM labels Dec 21, 2023
@bloussou bloussou added severity:critical Critical severity bug and removed severity:major Major severity bug labels Jan 5, 2024
@clarani clarani added the area:editoast Work on Editoast Service label Jan 11, 2024
@clarani clarani changed the title Operational points are incorrect on train imports editoast: operational points are incorrect on train imports Jan 11, 2024
@bloussou
Copy link
Contributor

Best design in my opinion:

  • if no ch is specified
    • use any part of the operational point so any ch
  • if a ch is specified
    • respect it if found in the database
    • fail if not found

@axrolld
Copy link
Contributor Author

axrolld commented Jan 12, 2024

I'd say the selection must be, as said above :

  1. If UIC + CH specified, use this combination (what to do in case of duplicates ? We know we have some)
    • recpect if if we find it
    • fail otherwise
  2. If no CH is specified, use BV, or 00, or
  3. If no BV, or 00, or CH code is found, we can try both approaches :
    • make the train invalid
    • pick the first encountered point

I would rather make trains invalid as a first step to get some statistics, then decide what we'd like to do with them, especially freight trains that might not find BV, or 00, or Ch code if they leave/stop/arrive in service track we don't have yet.

@shenriotpro
Copy link
Contributor

I would rather make trains invalid as a first step to get some statistics, then decide what we'd like to do with them, especially freight trains that might not find BV, or 00, or Ch code if they leave/stop/arrive in service track we don't have yet.

What statistics do you have in mind? Would that be timetable imports?

@shenriotpro
Copy link
Contributor

shenriotpro commented Jan 23, 2024

BV mostly makes sense for stations, right? Then what happens if CH is not specified and it's not a station? It sounds like we should be careful when migrating clients, for this case.

@shenriotpro
Copy link
Contributor

Looks like this is the part where we call a query to filter by UIC /~https://github.com/osrd-project/osrd/blob/ea45fc572e411c694968e1d83fe3f6bacf98ba18/editoast/src/views/timetable.rs#L334

@axrolld
Copy link
Contributor Author

axrolld commented Jan 23, 2024

What statistics do you have in mind? Would that be timetable imports?

Statistics on import failures due to a lack of matching operational point. What is the percentage of trains in that case ? Are all those trains freight trains ?

The idea would be to differenciate freight trains that fail because we don't have data for service tracks (and that's normal) and commercial trains that fail because we're missing data we are supposed to have.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area:editoast Work on Editoast Service component:train-imports Related to timetable imports kind:bug Something isn't working severity:critical Critical severity bug
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants