For some purposes it is useful to flag which nomenclature scheme is being used for which name. In order to do this, GCAT introduces a 'nomenclature code' used to tag specific names. This code is usually a one or two letter string, but I reserve the right to make the strings longer in future.
The NomCodes can in principle support use cases such as:
Valid nomenclature codes are listed in the NomCodes file.
Nom codes are included as colon-delimited suffixes in the AltNames field. For example, the AltNames field might be
Zenit-6 No. 7L:RC,11F645 No. 76038-407:RBThis says the object has two alternate names:
1: Zenit-6 No. 7L 2: 11F645 No. 76038-407The first one has nomenclature code RC, and the second one has nomenclature code RB. The RC code tells us that that name is a Soviet/Russian manufacturer name.
These NomCode suffixes are not currently supported in the Name and PLName fields, Instead, NomCode values for those fields may be listed at the beginning of the AltNames field, as for example:
:C,:RD,Zenit-6 No. 7L,11F645 No. 76038-407:RB
Parsing this string, we see that the first comma-delimited item is a NomCode (because it has a colon, which is treated as a special character) without a name prefixed to it. So, it is interpreted as a NomCode for the Name field. The second comma delimited item is also a NomCode with no name prefixed, so it is a NomCode for the PLName field. We then go into the regular list of AltNames. Note that in this example the first AltName doesn't have a NomCode. Some entries in an AltNames list may have a NomCode and others may not.
Correspondingly, if the first entry in the AltNames list has a non-empty name section, then there are no NomCodes defined for Name or PLName.
The catch is that there are two satellites which actually have colons in their names (Eu:CROPIS and RE:X xing). Colons may occur in the Name and PLName field, but are not allowed in names in the AltNames field. That's ugly, I know.