Tavares Florida - AMA Charter # 1721

Members please Login to see additional information!



Running a Pylon Race

Software to support pylon racing is available on the NMPRA website.

  • NMPRARace allows pilot entry, building the race matrix, printing heat sheets, and manually entering scoring.
  • JudgeMan interfaces with the light system (or manual inputs) to provide timings that can then be manually entered into NMPRARace.

The intent is not to replace the core functions of those programs, but to integrate them and fill some gaps
Functions provided here include: (bold indicates functions not provided in other programs.)

  • Define race and classes to be run
  • Accepts pilot and matrix data from NMPRA Race
  • Builds simple (single lane) matrix information for Time Trials events (will be described in separate tutorial)
  • Accepts both manual scoring entries and imports timing data from Judgeman for scoring
  • Provides points scoring for AMA events (424, 426, 422/Q40) and NMPRA events (EF1)
  • Provides accumulated time scoring (with automatic drops) for FAI events and Time Trials (F3D/F5D)
  • Scoring is calculated for each page refresh (until race is completed) to always be current.
  • Ability to shorten or extend a race (with additional matrix import for extension)
  • Flyoffs automatically determined based on tiebreaker type, and award places
  • Data is available for viewing on web as soon as it is entered/loaded throughout the race.

As this is web based, it does require internet connectivity at the race site to enter scoring. The data requirements are not large - and can be easily accomodated with any cellular hotspot if other wifi is not available.

Let's run a race!

This software is Copyright @ 2018 by Greg Cardillo, GMC Design

Use NMPRA Race software to register your pilots, assign to classes, teams, and build matrix. You can have multiple classes in a single race file (within NMPRA Race limits) - or a separate file per race. Either will work with this process.

Once the matrix is built for a class, select View -> Heats, then select 'Output Timing System File' from the file menu.
File NMPRARace\RCxxxxxx_cls.INI (with whatever name you used for each class) will be created (ie: RC042818_Q40.INI)
File NMPRARace\NMPRA_Pilots.NMP contains the pilot information.
These two files will be imported as we prepare for the race.

For the process to work properly, it is important that last names and AMA numbers are correct and match AMA's records.
Existing pilots (previously loaded here) will be located by their AMA number. New (first time loading here) pilots will be validated with AMA and added to the database (along with any other info available for pilot from NMPRA Race file.). AMA expirations are checked for all pilots (and yes - I've caught one at each race I've run that thought their AMA was current but it wasn't...) 

AMA verification is currently manual pending restoration of a batch verification capability on the AMA website... It will be integrated here once available again. Soon I hope!

NMPRA Race is Copyright @ 2018 (No names given in software copyright notice.)

Use Judgeman/JudgeTimer to collect data from your light system - capturing lap times, total race times, cuts, DNS, DNF.

Judgeman creates a file named JudgeMan\dd-Mmm-yyyy.ini (or whatever name you used for race). Once a race heat is 'Saved' or 'Reset' in Judgeman, the data file will contain that heats info and can be uploaded. JudgeMan can continue to run throughout the race.

Important notes:

  • Each race class needs to have its own race file in Judgeman to be able to import and match data.
  • Judgeman rounds and heats must match the rounds/heats being flown to properly match scores - this includes any reflys!
    (Use 'Set Race Info' to 'Set Heats per Round' so Judgeman knows when to increment rounds.)
  • Each import is all race data to that point. Only races not previously processed and those that have changed (reflys) since last load are processed.

Judgeman software is Copyright @ 2004-2012 by Stan Douglas and Hank Kauffmann

Let's build a race!

The race is driven from this menu. Functions are enabled/disabled based on the current race status. (ie - you can't start a race that hasn't been loaded, and you can't change the matrix info for a race already started.)

Starting at the beginning, select 'Insert New Race'


Very simple information to define a race - a name for the race (used in Web displays), race dates (used for AMA verifications and score status), and an optional event key to group related events (last years race, etc)

The race information will be inserted, and option to Insert New Race Class will become active. Select this next.


Again simple information for each race class. Select the desired race class from pulldown,

If running an FAI 'time trials' event, check the box for single lane racing which will provide special functions for building the matrix not supported by NMPRA Race. (covered in separate tutorial)

Select race start type - staggered (coin flip) or race horse, and start for odd ending heats and flyoffs. (used for heat sheets)

Select tiebreaker method - flyoff or low time (used for final scoring - determining if flyoffs needed)

Select number of places receiving awards (used for determining how many places we need to have flyoffs for - and for highlighting winners)

Click on 'Insert Information'.


The class is inserted, and status information displayed. You can see this information anytime using the 'View Race Class' option in the menu.

The option to 'Upload Race Class Matrix' will now become active for non trials events - and our next stop.

Special options to build single lane matrix are substituted if trials event - described in separate tutorial.


Use Browse buttons to navigate to your NMPRA Race directory, and select the pilot file and race class file (see above for how to export the race class file).

Click on 'Process Uploads' to proceed. The files will be uploaded to the server, and the matrix data processed building the pilot and heat information. Start type, number of rounds, number of lanes are all obtained from this data. Heat Sheets and Pilot Sheets will be displayed.

You can reprocess or reupload this information as needed until you start the race. You can 'View Raceclass' any time to see the current status.

Additional classes can be added by repeating the steps to 'Insert New Race Class' and 'Upload Race Class Matrix'
The NMPRA_Pilots.NMP file will be reused for other classes if not uploaded again.


Here is an example of heat and pilot sheets produced.


Let's go RACING! Click 'Start Race' once all is set for this class. This is done for each class independently, so one class can be started, while others are being prepared.
Score tables are preloaded with entries for each pilots races, and let the racing begin!!

If you will be loading scores from Judgeman, it is important to insure the Round/Heat shown in Judgeman matches the race being flown (and of course that people are in the correct lane!). That is the data used to match scores to pilots when importing timings.
When reflying a heat, scroll back to the round/heat in Judgeman, and click 'Refly'. The new scores will be in the next upload flagged as a refly to be processed.


Scores can be entered manually - or uploaded from Judgeman (or a combination as needed.)

The manually enter scores, click on 'Edit Race Results'. There default view (for non-trials events) is to enter by Heat.
There is a button at bottom to switch to editing by Pilot/Round if preferred.

In Pilot/Round view (the default for trials events), there are options to enter scores by pilot (down right side), by round (along bottom), or to switch to Heat view ('Edit Heat Results') at bottom of page.

As scores are entered - or imported - they will show in these displays.


All options look similar - just displaying entry areas for heat, pilot, or round as selected.
Editing a Heat sorts pilots in Lane Order. Editing by Round sorts pilots alphabetically.

For AMA/NMPRA races:

  • Finish is place: 1-4.
  • Time is entered either as or - 65.23 and 1:05.23 are equal.
  • Cuts are 0, 1, or 2.
  • For DNS/DNF, just check the appropriate boxes on right. Finish/time/cuts fields are not needed in this case.
  • AMA points are calculated after entry based on place and active lanes in the race.

For FAI races:

  • Time is entered either as or - 65.23 and 1:05.23 are equal.
  • Infringement is checked for single penalty (cut or other violation)
  • Disqualification is checked for two or more penalties - or DNS/DNF. Time and Infringement is not needed in this case.
  • FAI Infringement penalties (10% time), and Disqualification penalties (200 second score) are calculated after entry - and should NOT be added to the times entered.  Likewise if overriding to cancel an Infringement or disqualification, there is no need to adjust the time.

'Use Manual' comes into play when Judgeman scores are imported - allowing you to override the Judgeman data (in event start judge has different finish order, etc..)
It defaults to 'checked' if no Judgeman data, and 'unchecked' if Judgeman data is present for that heat/round.
A warning message is produced if manual scores are entered (that differ from Judgeman) and 'Use Manual Scores' is not selected!


The dialog for 'Import Race Scores' is very similar to the importing of matrix above. Specify the JudgeMan\dd-Mmm-yyyy.ini (or whatever name you used for race) file to be uploaded. Judgeman can continue to run... The ini file is updated each time a race is reset or saved.

The same file/filename gets uploaded as often as desired during the race - only changed data since the last upload will be processed - including detecting reflys of previously uploaded heats.

The dialog also allows use of an already uploaded file to be processed - allowing the data to reach the server other ways (ftp, control panel, etc). Some sample scripts are available that can be used to FTP the file with just a double click from the computer running Judgeman as an example.

Again it is key to insure the round/heat displayed in Judgeman matches the round/heat being flown to attach scores to correct pilot!
Any errors detected are reported.

*Note the scores used here were randomly generated driving Judgeman manually from keyboard, and used from other races.. They are not actual race results or a reflection on the pilots...

Once Judgeman scores are loaded for a set of heats - editing that heat data will display the Judgeman data (not editable) below the manual scores. If there are no manual scores for the heat, the Judgman data will be populated in the editable fields as well.

To override any Judgeman data - simply change the needed fields, check 'Use Manual Scores', and then 'Update Race Times for..' (whether heat, round, or pilot).
To use the Judgeman data, no action is needed!


The scores to date are reflected in the edit race results/edit heat results pages, as well as the 'View Race Results' (single table with results/lowtime/points) and 'View Race Results Detail' (above plus scores by heat with time/points/cut information). Scores can be changed and imported data overridden until the race is marked ended.

In the 'Edit Race Details' view - just below the scoring table will be a list of overrides if any...
These are entries where there was both a manual entry and judgeman entry - and they don't match.

  • Those in black are overrides in effect - manual scores overriding the judgeman values. This would occur when the start/finish judge overrode the finish order in a race - or a cut/penalty was given/removed by judge/CD.
  • Those in yellow are also unmatched scores - but 'Use Manual Scores' was NOT checked.. If this was a mistake - go fix it!
    You must make a conscious effort to override the loaded scores!

In addition, the scores are available to the participants/public on our events page during the race! So they can see the current point standings, times/point by heat, upcoming race pilots/lanes by heat, and heat numbers by pilot.
No need for them to ask the scorekeepers!!


The options to Shorten or Extend a race are available once the race has started. (If the race hasn't started - a new matrix can be imported and will replace the previous information.)

A race can be shortened at any time using the 'Shorten Race' button. The new number of rounds (less than the loaded matrix) can be chosen. Since typically additional rounds are matrixed/loaded - this allows limiting heat sheets, etc to the number intended to be flown.

A race can be extended one of three ways:

  • If previously shortened, it can be extended up to the number loaded from the matrix with a simple setting change. If this option is available it will be displayed by default.
  • If there are no additional rounds already loaded, rounds can be added by importing an updated matrix with additional rounds added.
    NO other changes can be made to the matrix.
    NMPRA Race software supports adding rounds without affecting the earlier rounds. No changes may be made to pilots, and the option to preserve race lanes must be selected.
    If all prior information matches what was loaded before, the additional rounds will be added to the race.

'Time trials' (single lane) races are handled differently - a separate tutorial being built to assist in those races.


At the conclusion of the race, click on 'End Race'. Results will be calculated.

When the tiebreaker is low time, the race results are already sorted in that order.
If tiebreaker is 'flyoffs' - any flyoffs required through 'award places' will be indicated.

If the number involved in a tie exceeds the number fo available race lanes - you will get a warning message. This should be a rare event after multiple rounds (I hope). I haven't coded around this yet, though certainly is possible if you see a need. Let me know!

Select either 'Prepare Flyoffs' or 'Bypass Flyoffs'. Bypass switches to low time to break ties.

Prepare flyoffs will update the matrix and scores adding flyoff heats.


Flyoff scores are manually entered. After each entry, this page will be redisplayed.

Once all flyoffs are complete and scores entered, select 'Complete Flyoffs' at the bottom of page.
New results considering the flyoffs will be calculated and the list of winners displayed!

Select 'Complete Race' to close things down - final results are saved to database to not have to re-calculate for each display request.
That's all there is to it!!


The sledgehammers... be careful - but sometimes something goes wrong and you just want to backup a few steps.

Click on 'Admin Resets' button at the bottom of the page, and some additional options will appear in its place.
Use care with these options - as scores, matrixes, and pilots registered can all be deleted, etc... The intent is to leave you able to go forward again.

  • 'Reset Completed Race' will reset the 'race complete' flag and deleted stored final results.
  • 'Reset Ended Race' will redet the 'race ended' flag and all flyoffs related data and scores. Heat/round/pilot results can then be edited again.
  • 'Reset Started Race' with reset the 'race started' flag and delete all scoring entered or imported for the race. The matrix info can then be changed.
  • 'Reset Race' will reset the 'race loaded' flag and delete all pilot and heat data for the race (but not the pilot data saved in the database).

Only options that 'make sense' based on the current race status are selectable. If you want to delete all matrix data for a started race, you must first 'Reset Started Race', then 'Reset Race'.

There is no 'undo' for these functions - and I will know you used them if you ask me for support!!



  Login with Google

Administration Menu