General information

Interbull Centre is providing a convert program to help member organizations with a smooth transition from the old file formats to the new XML based file format that will be used when uploading performance data to the Interbull Centre from now on:

The program will be available for download in IDEA and can be run by an overall script if so desired.
Note that the support provided by the Interbull Centre of the program is time limited and ends at the end of 2019, but it will still be available for download after that, just not with any support.

Before Running the Program

Executing the Program

The shown commands assume that the working directory in point b above, is used as current directory, i.e. start by calling cd <name of directory> (once) before running the commands shown below.

Synopsis of how to run the program:

python3 convert_performance.py [-t] [-v] [-o destfile] [-C | -N] 602file 603file [604file [D605file [M605file]]]

Arguments within square brackets (i.e. []) are optional to specify.
Arguments are meant to be specified in the order indicated.
All arguments with a name that ends in "file" are supposed to be a filename that may be either relative (i.e. relative to the current directory) or absolute (i.e. it starts with a slash)

The -t argument is used when no output is desired, i.e. only test the input files for correctness.

The -v argument shows additional information that are sometimes useful, but for normal usage it is recommended to not use it.

If neither the -t argument nor the -o argument has been provided, the generated XML data is put in a file in the current directory named out.xml (i.e. it behaves as if -o out.xml was specified on the command line).

The program need to behave differently for traits that are calving or not, so a mechanism (-C and -N arguments) has been provided to explicitly control which behaviour is needed. If neither of these arguments has been provided, the behaviour is selected based on the name of the trait (that is retrieved from the 603 file).

Running this will show a brief description of how to run the program if you need a reminder:

python3 convert_performance.py -h

Output From the Program

If no problems are discovered in the input files, you should simply see this (or something very similar):

Running convert_performance.py version 2019-03-26 v1.17
Trait aww is not calving.

If problems are discovered, the above will be followed by one or more messages each trying to describe what the problem is and where it was discovered. If the number of problems discovered is too great, a message to that effect is shown and the program terminates immediately.

Example message 1

Syntax of the 605 file, 605awwDlim.che(1), do not follow the specification
Data: 605 LIMFRAM008795002134 89 CHE.
RX  : 605 ................... .. .. ...

This message specifies that the 605awwDlim.che file (on line 1) has data that do not follow the expected format of this type of file (i.e. 605 format files).
The "Data" line shows what is there, and the "RX" line shows what is expected to be found.
In this case it shows that one column of data is missing in the file.

Example message 2

Syntax of the 605 file, 605caeDlim.irl(1425), do not follow the specification
Data: 605 LIMFRAM001295161096 10010 IRL.
RX  : 605 ................... .. .. ...

This message specifies that the 605caeDlim.irl file (on line 1425) has data that do not follow the expected format of this type of file (i.e. 605 format files).
In this case it shows that one column delimiter is "0" instead of " ".

Example message 3

The 602 file, filebwtlim.cze(1720), animal LIMCZEF000000104735 has inconsistent (illegal - discarded) name of calf: 'UUUUUUUUUUUUUUUUUUU'

This shows that the file filebwtlim.cze, on line 1720, has the specification of a calf with no useful name of it's own though the name of the dam is provided. This specification has thus been discarded.
This message is not really a problem report but rather an informational message and thus will not cause termination due to too many problems found.