Run-way Functions: Predict Reconfigurations at US Airports (Prescreened Arena)

CALLING PRESCREENED PARTICIPANTS! Air traffic managers monitor the skies and respond by changing the airport configuration. Tools that give flight operators early warning for upcoming changes can help streamline air travel and reduce delays. Use real-time data to predict future … #civic

$40,000 in prizes
apr 2022
22 joined

Code submission format

In the Prescreened Arena, you will develop the code submission that we will run on that final evaluation dataset, approximately one month of data from around May-June 2022, which will determine the prize winners. Here, you will submit your trained model and the code to run it, and we will generate outputs for the evaluation dataset in a containerized runtime in our cloud environment.

The Prescreened Arena is a testing ground for your final code submission. You can make up to 3 submissions every 7 days, which we will score on one week's worth of data from the end of Oct. 2021. You scores will be displayed on the leaderboard, but keep in mind that these scores do not determine the prize rankings.

What to submit


Your final submission should be a zip archive named with the extension .zip (for example, submission.zip). The root level of submission.zip must contain a script main.py. The script must implement a command line interface (CLI) that accepts a single input: the prediction time provided in the datetime format %Y-%m-%dT%H:%M:%S. The script must write out a CSV containing the predicted probabilities for all airports, configurations, and lookaheads at the input prediction time. For example:

python main.py 2021-10-20T10:00:00

should use features prior to 2021/10/20 at 10:00 AM to produce a CSV containing predictions for all lookaheads (30 minutes to 6 hours out) for all airports in the submission format. The code execution platform will run your script for each prediction time in the submission format and collect the results into a single submission.

For more detail on how to create and test your submission, visit the runtime repository. The repository also contains an example submission to help you get started.

Runtime


Your code is executed within a container that is defined in our runtime repository. The limits are as follows:

  • Your submission must be written for Python (3.9.7) and must use the packages defined in the runtime repository.
  • The submission must complete execution in 8 hours or less. This limit is especially helpful to address non-terminating code, and we expect most submissions to complete more quickly. If you find yourself requiring more time than this limit allows, open a Github issue in the repository to let us know.
  • The container runtime has access to a single GPU. All of your code should run within the GPU environments in the container, even if actual computation happens on the CPU. (CPU environments are provided within the container for local debugging only.)
  • The container has access to 6 vCPUs powered by an Intel Xeon E5-2690 chip and 56GB RAM.
  • The container has 1 Tesla K80 GPU with 12GB of memory.
  • The container will not have network access. All necessary files (code and model assets) must be included in your submission.
  • The container execution will not have root access to the filesystem.

The machines for executing your code are a shared resource across competitors. Please be conscientious in your use of them. Please add progress information to your logs and cancel jobs that will run longer than the time limit. Canceled jobs won't count against your submission limit, and this means more available resources to score submissions that will complete on time.

Requesting package installations


Since the Docker container will not have network access, all packages must be pre-installed. We are happy to add packages as long as they do not conflict and can build successfully. Packages must be available through conda for Python 3.9.7. To request additional packages be added to the Docker image, follow the instructions in the runtime repository.

Happy building! Once again, if you have any questions or issues you can always head on over the user forum!