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

Sandbox version of the airscore.legapiloti.it website #290

Open
goatchurchprime opened this issue Nov 12, 2021 · 11 comments
Open

Sandbox version of the airscore.legapiloti.it website #290

goatchurchprime opened this issue Nov 12, 2021 · 11 comments

Comments

@goatchurchprime
Copy link

The small UK hang-gliding competitions are looking for an easier way to score their comps. https://hgcomps.uk/books/british-open-series-2021-winners

I'm having trouble getting this docker install of this code to work, but if you had a scratch version of the website that I could try loading IGC files into and play around it would make it a lot easier to find out if this system does what we need.

Also, if this does work, do you have plans to take donations if we were to use this to score our competitions?

@biuti
Copy link
Collaborator

biuti commented Nov 12, 2021

Hey,
There is an updated version of AirScore on this server:
https://airscore.cc
I can create a user for you, just let me know which email address to use.

@goatchurchprime
Copy link
Author

The one on my github user account would be great: [email protected]

@goatchurchprime
Copy link
Author

It's looking good, but it's hanging on "Not Yet Processed" with this data https://airscore.cc/users/track_admin/18#

I'll try to get some clean data from the scorer of one of the comp days to see if I can get it uploaded and tested to see if the numbers come out the same!

@biuti
Copy link
Collaborator

biuti commented Nov 12, 2021 via email

@goatchurchprime
Copy link
Author

I've made some more progress... It seems this website might do the job... (I've deleted the completely junk example)

I got an FSDB file (whatever that is) and it set up the whole 2019 UK comp in spain. https://airscore.cc/users/comp_settings_admin/9

I have uploaded a set of waypoints and tracks one at a time. (Bulk upload didn't work, but doesn't matter because one at a time is not a problem)

Some of the tracks have quality issues with changes in altitude. There needs to be a way to resolve this. I haven't looked at the files, but maybe there are some glitches in some altimeter values that the scorer can inspect and then over-ride.
Problem is mentioned here, but resolution is not obvious: #77

I think it should accept any IGC file and draw it, but set it to a Disqualified flag. (If the track previewer had a panel showing the altitude it would be easy to verify by inspection.) This would give transparency when tracks are too poor or busted airspace.

I don't know why this task isn't showing on the public website. I cannot find an option to publish it.

If I can solve these issues and get all the flights into the database, the big challenge is to see if the points scores calculated here match the point scores calculated in 2019.

This website is great and could be very useful, but the really Minimal Viable Product (MVP) we need to have somewhere is a locally run script that takes a task definition and directory of IGC files, and spits out a table of scores by filename. Everything else apart from this can be done by hand, when all else fails -- which it will! Could such a command line script be derived from this code to be used as a safety backup in the last resort when the crap hits the fan? (I could post this as a separate github issue if it makes sense.)

@kuaka
Copy link
Collaborator

kuaka commented Nov 13, 2021

your comp is visible on the public website you will just need to change the year dropdown to 2019.

To accept poor quality IGC files, in competition setup go to the Checks area
it may look different on the airscore.cc server as it is a new version I am not familiar with.

image

in there, you can choose a pre-set of parameters (there is probably only standard on that server) or create your own.
Here are the 'smartphone' settings on the other server, these settings should cope with files with very poor quality altitude records.

image

As far as standalone scripts go, it would be possible but the issue would be getting all the parameters to define and setup a task into the scripts - task definition, scoring parameters etc. At the moment, for standalone you are better using FS comp.

A lot of the idea behind airscore was that by being online it is easier to manage from a scoring point of view - pilots can potentially upload their own tracks, scorer(s) can operate from anywhere on any device (in Italy we often updated the scoring using a smartphone while out in the filed or out at dinner) and scores can be easily published for all to see.

@goatchurchprime
Copy link
Author

Okay, I'm starting to get an agreement between these scores and the official release

It's getting pretty close: Taking Gordon's score as an example:

Airscore calculated is:
Kph: 46.8 Dist: 86.29 TimeP: 339.6 LoP: 94.1 ArrP: 40.5 DstP: 451.2 Total: 920

Official results are:
km/h: 46.8 Distance: 85.89 Dist.Points: 443.4 Lead Points:93.4 Time Points: 346.3 Arr.Pos Points: 36.4 Total: 920

Remaining input differences are:

  1. I am missing one pilot's tracklog (trying to chase it down).
  2. You don't subtract the 400m radius defined around the launch point, which makes everything 400m longer in your data.

I fully endorse the aim to have pilots self-serve their data and get their scores on a clean and efficient website. Unfortunately I'm experienced enough to know how badly things fall apart in the field, and I need a backup plan. If not as a script, this could be an old stable version of FAI-Airscore running on a laptop where I know how to manually enter in and force all the tracks to work, just to give out some scores. Possibly packaged up in some giant one-off AppImage that can be copied onto any available laptop.

@philderbeast
Copy link
Member

@goatchurchprime you may be able to run airscore headless in the field, running it from the command line (not yet documented, see #45). There's fsdb_igc for prepping the track logs before scoring with airscore.

The airscore project is swinging the pendulum towards convenience and away from reproducibility. Online airscore scores as-is with whatever version is running on the website at the time. I could theoretically reproduce a comp score running headless if I knew the version to use. @kuaka or @biuti is the version of airscore written to the database alongside a scoring?

With FS I could install a version (if running windows) and from the set of input files I would expect to get the same outputs, the same scores. I don't like that FS uses the same XML file for both inputs and outputs or that it litters timestamps throughout as this makes doing a file diff inconvenient with many false positive diffs that are only timestamp changes. FS scores are reproducible if the timestamps are ignored.

@kuaka
Copy link
Collaborator

kuaka commented Nov 15, 2021

@goatchurchprime you may be able to run airscore headless in the field, running it from the command line (not yet documented, see #45). There's fsdb_igc for prepping the track logs before scoring with airscore.

the issue remains that there needs to be a way to get the competition settings into the application. The above points (#45 and fsdb_igc utility) both require the competition to have been previously setup in FScomp.
If someone had the time they could decouple airscore from the DB (see #50) and create a competition setup/config file and score from the command line but it would probably be much easier to do and use if you installed airscore as a local dev version and have it run on local host.
@goatchurchprime not sure what the issues are you encountered here but I notice that the build seems to be failing in the unit tests at least @biuti . Not sure if related.

The airscore project is swinging the pendulum towards convenience and away from reproducibility. Online airscore scores as-is with whatever version is running on the website at the time. I could theoretically reproduce a comp score running headless if I knew the version to use. @kuaka or @biuti is the version of airscore written to the database alongside a scoring?

It is not doing this but it is a very good idea. Would require resolution of #257 and #259

@goatchurchprime
Copy link
Author

I'm hitting Server Error 500 issues on https://airscore.cc/competition/9 so stuff always can go wrong.

The UK comps have been set for May and August where there will be 60 pilots all waiting for their scores when this happens, so that gives me a deadline.

I've decided that the backup plan does not need to be convenient; it just has to work and produce one day of scores from a set of IGC files, even if I it takes me two hours to click the mouse a thousand times to upload the tracks through a local port on ma computer and paste the numbers from a table into excel to add them up.

One out-of-date windows exe file derived from this application would be ideal, but it looks technically impossible:
https://stackoverflow.com/questions/40851293/is-it-possible-to-turn-docker-image-into-windows-executable-for-easy-distributio

So I'm back to trying to get the docker version to work. This means I'll have to make sure there is a linux laptop available with docker already installed. Or use a raspberryPi. Or see if it can work on an Android phone in UserLAnd CypherpunkArmory/UserLAnd#1080

@biuti
Copy link
Collaborator

biuti commented Nov 24, 2021

I'm hitting Server Error 500 issues on https://airscore.cc/competition/9 so stuff always can go wrong.

What is the action that results in Error 500?

So I'm back to trying to get the docker version to work. This means I'll have to make sure there is a linux laptop available with docker already installed. Or use a raspberryPi. Or see if it can work on an Android phone in UserLAnd CypherpunkArmory/UserLAnd#1080

Actually you don't need a linux OS or a raspberry. I use it on Mac (both laptop and home PC) but Docker is available for Windows as well. The nice thing about using docker is tat it makes the application independent from the OS Docker is running on.
If you send me an email I can help you with that.

It is not doing this but it is a very good idea. Would require resolution of #257 and #259

Absolutely. I think probably the json file is the place where this info should stay.

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

No branches or pull requests

4 participants