An explanation of the species codes
An explanation of the species codes
COR ? GRA ? YUJ ?


Starting around the late 1950s in Denmark, a scientist named Joergen J. Scheel begin using three letter codes for the sometimes very long scientific names he worked with. He published these in the 1960s and updated them publishing an updated list in 1990. Sadly he passed away a year later.

By 1997 I had given up on the idea anybody was going to pick up this work and keep them current, so I just quietly began doing exactly that. There as an initial issue in that Scheel had only assigned three letter codes to African and Asian species of the old world. In the meantime Costa had begun using three letter codes of his own creation and they collided with Scheel's in some cases. I used all the ones he had that didn't collide and renamed the ones that did. In twenty years this hasn't caused any confusion so far. I don't think many poeple even notice.

Around that same time, 1997, I began in earnest placing images of killifish on the WWW and Scheel's codes proved invaluable here. There is a saying in industry that goes "there is no problem in computer science you can not solve by adding another level of indirection" and that's what this does. Not only does one not have to type such names as "rectogoense" and "sjoestedti" but by using REC and SJO instead it's not just less typing it's less storage in file names, directory names, identifiers used in photos and so on.

So it worked very well for killifish and lent itself well to computer automation, especially nice is the compact descriptive URLs it leads to, for example: img.kil.fish/a/AUS is instntly recognizeable by most killifish people as Aphyosemion Australe and any time the url is shorter than the scientific name of the fish, it's a good thing.

Around 2005 when enough of these killi photos of all species were online I began looking at Cryptocoryne, a genera of aquatic plants from Asia in the Aroid family. Beginning to put them online it made no sense to use species name as an index - these were changing, so again the three letter codes to the rescue and I made up a set for Crypts.

Another man in Denmark figures prominently here, Jan Bastemeijer. He's a prominent researcher in the field that serves as the de facto interface between the European scientists who have little to do with the net or the aquarium hobby and aquarists. I began talking to Jan around 1995 or so and introduced him to the idea of using these codes, it made more sense to Jan as well to use these in the URL to index species, they really are a useful mnuemonic. Recently Jan advised me I had one of the codes wrong so I guess he's taken then over now.

Fast forward to the present, 2017. In mid February I changed the way another aquatic aroid - Anubias - is indexed on my web server once again changing from species names to a code.

But now a problem exists - with killifish the codes are unique throughout the entire family of fishes, the codes span many genera. The codes for Cryptocoryne and Anubias only span their own genus, so how do you differentiate the GRA that is Cryptocoryne cordata grabowski and the GRA that is Anubias gracilis ? This had occurred to me before - if this code system is any good it'll get used on other fishes and ho would I differentiate a killi code from say a cichlid one.

Fortunately the answer is pretty simple - use a prefix. In the case of the aroids I made a shortlist of five letter prefixes on the idea that this is a far richer namespace with 5 letters, enough to describe all life on earth and since 5 is not 3 it'll be easy to discriminate between the two:

PREFIXGENUS
ANUBIAnubias
BUCEPBucephalandra
CALLA"Calla lilies"
CRYPTCryptocoryne
LEGANLagenandra

This, in the example above the mnemonic for Cryptocoryne cordata grabowski - Crypt:GRA would be different from ANUBI:GRA - Anubias gracilis.

Thus the layout of this website at the top level.

Richard Sexton
February 20, 2017









Copyright 2022
Richard J. Sexton