Cargando…

First experience on python development for survey software, advantages and drawbacks

During long shutdown and maintenance periods at CERN, the surveying teams intensively use in-house data processing software, developed in the last decades and mostly written in C++ language. The accurate measurement of the deviations of hundreds of successive accelerator components with respect to t...

Descripción completa

Detalles Bibliográficos
Autores principales: Sanglier, Pierre-Adrien, Lewandowski, Przemyslaw, Klumb, Francis
Lenguaje:eng
Publicado: 2022
Materias:
Acceso en línea:http://cds.cern.ch/record/2849051
_version_ 1780976872605089792
author Sanglier, Pierre-Adrien
Lewandowski, Przemyslaw
Klumb, Francis
author_facet Sanglier, Pierre-Adrien
Lewandowski, Przemyslaw
Klumb, Francis
author_sort Sanglier, Pierre-Adrien
collection CERN
description During long shutdown and maintenance periods at CERN, the surveying teams intensively use in-house data processing software, developed in the last decades and mostly written in C++ language. The accurate measurement of the deviations of hundreds of successive accelerator components with respect to their theoretical positions, in either vertical or radial direction, is part of survey activities. The final smoothing operations consist of mechanically re-positioning some of those com- ponents to ensure smooth transitions between elements and to limit optical corrections of the particle beams orbits. RABOT is the survey software currently used to process the measured deviations and provide such smoothed data. Initially designed in Fortran language in the ’90s, it had been fully rewritten in C++ ten years later. However, the unnecessary complexity of its code, as well as missing doc- umentation made it difficult to maintain. Based on reverse- engineering methods, it was recently decided to rewrite this essential software using Python language. The usage of Python as a software development language is a questionable choice from a performance point of view. Indeed, the compiled nature of the C++ language makes it incomparably faster than equivalent algorithms coded in scripting languages such as Python. Nonetheless, there are multiple benefits of choosing Python for simple software development. Amongst them: a more comprehensive syn- tax and automatized implementation such as memory man- agement and dynamic typing. It can drastically reduce the development time and enhances the legibility for non-expert programmers. As a direct consequence, available resources and development efforts can be oriented towards algorithmic optimization and improvements. Moreover, the development relies on robust and efficient numerical libraries such as NumPy that offer a wide variety of tuneable methods. The first in-house survey software implemented fully in Python was achieved and performances improved compared to its older C++ implementation.
id cern-2849051
institution Organización Europea para la Investigación Nuclear
language eng
publishDate 2022
record_format invenio
spelling cern-28490512023-04-19T11:55:16Zhttp://cds.cern.ch/record/2849051engSanglier, Pierre-AdrienLewandowski, PrzemyslawKlumb, FrancisFirst experience on python development for survey software, advantages and drawbacksEngineeringDuring long shutdown and maintenance periods at CERN, the surveying teams intensively use in-house data processing software, developed in the last decades and mostly written in C++ language. The accurate measurement of the deviations of hundreds of successive accelerator components with respect to their theoretical positions, in either vertical or radial direction, is part of survey activities. The final smoothing operations consist of mechanically re-positioning some of those com- ponents to ensure smooth transitions between elements and to limit optical corrections of the particle beams orbits. RABOT is the survey software currently used to process the measured deviations and provide such smoothed data. Initially designed in Fortran language in the ’90s, it had been fully rewritten in C++ ten years later. However, the unnecessary complexity of its code, as well as missing doc- umentation made it difficult to maintain. Based on reverse- engineering methods, it was recently decided to rewrite this essential software using Python language. The usage of Python as a software development language is a questionable choice from a performance point of view. Indeed, the compiled nature of the C++ language makes it incomparably faster than equivalent algorithms coded in scripting languages such as Python. Nonetheless, there are multiple benefits of choosing Python for simple software development. Amongst them: a more comprehensive syn- tax and automatized implementation such as memory man- agement and dynamic typing. It can drastically reduce the development time and enhances the legibility for non-expert programmers. As a direct consequence, available resources and development efforts can be oriented towards algorithmic optimization and improvements. Moreover, the development relies on robust and efficient numerical libraries such as NumPy that offer a wide variety of tuneable methods. The first in-house survey software implemented fully in Python was achieved and performances improved compared to its older C++ implementation.CERN-BE-2023-002oai:cds.cern.ch:28490512022-10-31
spellingShingle Engineering
Sanglier, Pierre-Adrien
Lewandowski, Przemyslaw
Klumb, Francis
First experience on python development for survey software, advantages and drawbacks
title First experience on python development for survey software, advantages and drawbacks
title_full First experience on python development for survey software, advantages and drawbacks
title_fullStr First experience on python development for survey software, advantages and drawbacks
title_full_unstemmed First experience on python development for survey software, advantages and drawbacks
title_short First experience on python development for survey software, advantages and drawbacks
title_sort first experience on python development for survey software, advantages and drawbacks
topic Engineering
url http://cds.cern.ch/record/2849051
work_keys_str_mv AT sanglierpierreadrien firstexperienceonpythondevelopmentforsurveysoftwareadvantagesanddrawbacks
AT lewandowskiprzemyslaw firstexperienceonpythondevelopmentforsurveysoftwareadvantagesanddrawbacks
AT klumbfrancis firstexperienceonpythondevelopmentforsurveysoftwareadvantagesanddrawbacks