Species numbering in AviSys

In the Avisys taxonomy, every species is numbered so that they can be sorted taxonomically. They aren't numbered consecutively; Jerry numbered by threes, 1, 4, 7, 10, 13, etc, so that you could insert up to two new species between any two others. For example, if you wanted to insert a new species between species 4 and 7, 5 was available. And 6 was available for a second insert. But you couldn't insert a third species because the numbers were all used up, 4, 5, 6, 7. In that case you had to renumber the whole taxonomy to get a whole new set of intervals of 3. (4 would remain 4, 5 would be renumbered to 7, 6 to 10, and 7 to 13.) This worked well during Jerry's lifetime, and through the 2023 update. For technical reasons (explained below) beginning with the 2024 update species must now be numbered by twos instead of by threes. This has two consequences:

  1. Now only one species can be inserted between two others. Inserting two species requires renumbering the entire taxonomy, whereas previously the renumbering requirement was only for inserting three or more species.
  2. The built-in renumbering method, available under Utilities->Renumber Master Checklist, still renumbers by threes, not twos, resulting in an unrecoverably corrupted dataset. This is very disconcerting to say the least. AviSys will not run but exits with an error message "Master Checklist corrupted, hard drive error, or files of different data sets switched." AviSys has no utility for coping with this, leaving you without ability to access any of your data at all. Unfortunately it is not possible to make any changes to the AviSys program, because the code is lost, so this utility cannot be fixed or removed, and unfortunate people may run it sometimes. The separate renumbering utility, described below, can be used to recover from this situation.

Renumbering utility

I recommend against inserting species in the taxonomy. If you never insert species, you never need to be concerned about renumbering. The new species will appear in the next taxonomic update.

However, some people do want to insert species, which means that they may have to deal with renumbering. So I am providing a utility to deal with the two points enumerated above.

To run the renumbering program (Renumber.exe), first download it here:

Download Renumber.exe

Store the program file in your AviSys data folder (not the main AVI6 folder, but your data folder). Exit from AviSys! Take the anti-virus step described below. Double-click the program file. That's all, the program runs and your data will be renumbered correctly! The next time that you then run AviSys, you'll get a message asking if OK to rebuild sighting file indexes (respond Yes) and then AviSys will terminate. This is all expected and normal. Start AviSys a second time and everything will be fine.

If your reason for renumbering is to insert species, you'll probably find it helpful to read how to insert species.

Anti-virus

One time only, before running the program for the first time, right click it and from the menu select "Properties" (down at the bottom of the menu) to get a window like the one shown below. At the bottom of the window you should see a "Security" message with an "Unblock" check-box. Check Unblock and your anti-virus should give you less grief when you run the program. It's important to do this before running the program for the first time; after you have run it this check-box is not available.

Technical details—why this problem exists

You don't need to understand this, but if you are interested (and technically inclined) read on.

To number the species, Jerry used an unsigned 16-bit integer. Within the constraints of 16 bits, you can count as high as 65535 (64K), but no higher (it would be like trying to go past 9999999 on a calculator, but in binary). This limitation poses no problem. However, at some unknown point in the code, Jerry uses a signed, rather than unsigned, 16-bit integer when he references the species numbers. With a signed integer, one bit is used for the sign (+/-), leaving only 7 bits for the number, meaning that you can only count up to 32767 (32K). In 2024, for the first time, there are enough species that counting them by threes takes the numbers past 32767, rendering the numbers of the last few dozen species unusable as signed integers.