The Logistics of Mass Murder. Calculating distances from the Mittelbau-Dora ‘Book of the Dead’

By Dr. Sebastian Bondzio & Lukas Hennies, M.A.

The so-called ‘Book of the Dead’ of the Mittelbau-Dora Concentration Camp Memorial opens up a unique window into the logistical structures and processes behind the production of death through forced labor and mass murder in the Third Reich. This database contains information on a total of 11,320 people who died directly or indirectly as a result of the working and living conditions in the Mittelbau-Dora camp system. Employees of the Buchenwald and Mittelbau-Dora Memorials have compiled personal information and made it available to the public. Historical research now has access to rudimentary data on about half of the people who died in the Mittelbau-Dora camp system in the Kohnstein near Nordhausen.[1] In addition to personal information such as surname, first name, and date of birth, the dataset also contains three different types of location information: 1) The place of death, which corresponds to one of the camp locations of the Mittelbau-Dora camp system. 2)  The location from which the prisoners were deported to Mittelbau-Dora concentration camp, e.g., the offices of the Gestapo, the Criminal Police, the Security Police, or the Security Service of the Reichsführer-SS, as well as other concentration camps. 3) The birthplace of the victims.

Places of death are known for all 11,320 persons in the dataset, also the birthplaces for 8,903 persons and places of deportation for only 4,207. However, due to the mechanisms of the National Socialist disciplinary system, consisting of a series of institutions that organized Nazi terror based on a division of labor, it can be assumed that each person was taken to the Mittelbau-Dora concentration camp via at least one other station.

A visualization of places of death, places of deportation, and places of birth already indicates the immense scope of the Mittelbau-Dora camp system and shows where death in the camp had its social and emotional relevance.[2] If the places of birth are analyzed in a chronologically differentiated manner, new insights into the operation and functioning of the Mittelbau-Dora camp system will emerge. (More here)[3]

Places of death, Places of Deportation and Places of Birth in the Book of the Dead of the CC Mittelbau-Dora

These initial findings immediately raise questions about the logistical system the Germans set up to deport their millions of victims. People died far from their homes. The distances over which they were deported were immense. Until lately these have either been determined in individual cases or simply estimated. The location data of the so-called death book, however, now make it possible to calculate the distances automatically for all 11,320 victims in the Book of Death. This reveals the extent of the spatial impact of the concentration camp system, and thus makes a very important dimension of forced mobility tangible.

With the help of the data of the Book of the Dead, where the information is available, four distances[4] can be determined: 1) the distance between the birthplace and the place of death. 2) The distance between the birthplace and the place of deportation. 3) The distance between the place of deportation and the place of death. 4) The sum of 2) and 3) as distance, which provides a more tangible impression of the total distance traveled by the victims until their arrival at Mittelbau-Dora. Further, non-spatial attributes in the Book of the Dead allow for the differentiation of these findings.

The greatest distance between the birthplace, the place of deportation, and the camp at Kohnstein was covered by Ivan Karpenko. He was born on June 25th, 1927 in the Russian town of Aim, in the Ayano-Maysky District in the Khabarovsk Krai, 13,684 km from Mittelbau-Dora. We have no further information about his life. We also do not know what caused him to be sent to Flossenbürg concentration camp and from there to Mittelbau-Dora on December 6th, 1944. The only thing we do know is that he died two and a half months later, on March 18th, 1945, in the ” SS-Arbeitslager Hans”, a subcamp in Harzungen. Artur Wenkel, in contrast, covered the shortest distance. His birthplace, Gerterode, was only 36 km from his place of death in Nordhausen, the location of the main camp. About his life, we only know when it ended, too. He died of the consequences of his internment on May 3rd, 1945, already a few weeks after the liberation of Mittelbau-Dora and only five days before the end of the Second World War.

The average distance between the birthplace and place of death of all victims was much closer to that of Artur Wenkel than to that of Ivan Karpenko. Each person covered an average of 1,268 km. This results in a circle around the main location of the Mittelbau-Dora concentration camp, which includes Dublin in the west, Minsk in the east, Naples in the south, and almost reaches Trondheim in the north. Large parts of Southern, Northern, Central, Eastern and Western Europe are included. The immense sphere of the concentration camps becomes visible.

These general findings can be further differentiated. For example, the distance between the birthplace and the place from which a person was deported to Mittelbau-Dora was on average 1,020 km, the average distance between the place of deportation and the place of death was 585 km, and the average sum of the two distances was 1,319 km. From the cases where information on the place of deportation is available, we can thus determine that distances were considerably longer.

A radius of about 1,000 km seems to have been the median impact radius of a concentration camp. This can be assumed on the basis of the averaged distances between the birthplace and the place of deportation, which can be calculated from those cases in which victims were deported to Mittelbau-Dora from other concentration camps: For the eleven victims e.g. who came from the Mauthausen concentration camp, this distance was lowest at 872 km, and for the 102 victims who came from the Flossenbürg concentration camp, it was highest at 1,077 km. The 118 prisoners, who were deported from Auschwitz concentration camp to Mittelbau-Dora, were born within a radius of 928 km. The spheres of influence of the concentration camps thus overlapped, although a more detailed analysis does reveal different regional focal points.[5]

Regional impact of different Concentration Camps based on data from the Book of the Dead of the CC Mittelbau-Dora

A first differentiation also reveals that distances were far greater when a person was deported directly from the Gestapo to Mittelbau-Dora concentration camp. The four victims who came from the Gestapo in Halle/Saale had been born an average of 2,681 km from the place of their deportation; persons who came from the Criminal Police in Kassel, an average of 2,340 km. In both cases, they probably were forced laborers from the occupied territories of the USSR who had already been abducted and forced to work in the German Reich before their imprisonment and death in the Harz Mountains.

Method and Scripting

The calculation of distances in more than 11,000 datasets is an example of the advantages of automated data processing. Its results open up new perspectives for research on the concentration camp system in the German Reich, on forced labor and mass murder.

To determine the distances, we have developed a script that calculates distances automatically and en masse using the so-called Haversine formula. The Haversine formula is part of spherical trigonometry and calculates the distance between two points on a sphere. After geocoding the locations in the dataset of the Mittelbau-Dora Book of the Dead, the location data can not only be visualized cartographically. It also becomes possible to compute the location data through x and y-coordinates.

For the use of the Haversine formula, a Python library already exists, which can be accessed under the name ‘haversine‘. To calculate the distance between two points, the geocoordinates of the respective locations must be read in. Furthermore, the function expects a unit for the output of the distances that are being calculated: in this case kilometers, rounded to two decimal places.

Preparatively, we have transferred the coordinates of the points as well as the necessary personal unique identifier (ID) from a relational database into a .csv file, which is read by the script (input file). For this purpose, we also use a Python library that provides certain functions for reading and writing .csv files. Using the ID, this data can be enriched with information from the Book of the Dead and other sources. This later allows differentiated analyses according to time or other personal information.

For each Person in the Book of the Dead the .csv file contains a row that consists of the ID and the geocoordinates for the birthplace, the place of deportation to Mittelbau-Dora, and the place of death. If there is no place given by the Book of the Dead, the coordinates fields are ‘NULL’ – ‘NULL’ describes a state that represents the absence of a value.

In general, historical records of mass data are not complete – in this case, we know the place of death for every person listed in the book of the dead, but not always the birthplace and even more rarely the place of deportation. So, in order not to cause an error message and the abortion of the script for the entire dataset with the first missing coordinate, when calculating the distances, conditions for data processing have to be defined.

This is part of the script:
# read xy-coordinates
    with open(INPUTFILE,encoding='utf-8',newline='') as md_xy_list:
        next(md_xy_list)
        md_xy_list_reader = csv.reader(md_xy_list, delimiter=';')
        
        for row in md_xy_list_reader:
            id = row[0]
            # distance birthplace - place of death
            if row[1] != "NULL":
                xy_go=(float(row[1]),float(row[2]))
                xy_to=(float(row[5]),float(row[6]))
                dist_go_to=round(haversine.haversine(xy_go,xy_to,unit=Unit.KILOMETERS),2)
            else:
                dist_go_to = "NULL"

For each row in the dataset, the script checks whether the necessary coordinates for calculating the partial distances described above are available. This creates a sequence of if-else conditions for the partial distances, the result of which is either the output of the distance in kilometers or the entry ‘NULL’. The latter is the case if no information is available in a location category of the death book.

Finally, the script writes a new .csv file (output file), which now no longer consists of the coordinates, but instead contains the IDs with the distances between birthplace and place of death, the two partial distances (birthplace to place of deportation, place of deportation to place of death) as well as the sum of the two partial distances. This information can be import into the database for further analysis of the entire dataset or manually selected samples.

The entire script including input and output files can be viewed and executed here. If you want to try the procedure with your own data, you are welcome to clone and edit the script on deepnote.com, a free online notebook.

 


[1] Approximately 20,000 people died in the Mittelbau-Dora camp complex. See: https://www.buchenwald.de/347. Also:
Jens-Christian Wagner, Produktion des Todes. Das KZ Mittelbau-Dora, Göttingen 2015; Wolfgang Benz/Barbara Distel/Angelika Königseder (Hg.), Der Ort des Terrors. Geschichte der nationalsozialistischen Konzentrationslager. Bd. 3: Sachsenhausen, Buchenwald, München 2006; dies. (Hg.), Der Ort des Terrors. Geschichte der nationalsozialistischen Konzentrationslager. Bd. 7: Niederhagen/ Wewelsburg, Lublin-Majdanek, Arbeitsdorf, Herzogenbuch (Vught), Bergen-Belsen, Mittelbau-Dora, München 2008.

[2] Information on the places of residence and life of the victims is not known. The place of birth is the only information that allows us to narrow down the context of origin. We are aware of the imprecision of this information.

[3] Siehe: Christoph Rass/Ismee Thames/Sebastan Bondzio, People on the Move. Revisiting Events and Narratives of the European Refugee Crisis (1930s-1950s), in: Jahrbuch des Internationalen Tracing Service 5 (2016), S. 36-55; Henning Borggräfe/Lukas Hennies/Christoph Rass, Geoinformationssysteme in der historischen Forschung. Praxisbeispiele aus der Untersuchung von Flucht, Verfolgung und Migration in den 1930er- bis 1950er-Jahren, in: Zeithistorische Forschung, forthcoming.

[4] The term “distance” in this context means the direct distance between two places – independent of e.g. transport infrastructure. It follows the calculation of so-called orthodromes, the shortest distance between two points on a sphere.

[5] See: https://nghm.hypotheses.org/459.