Services

Custom Software Development + Code Review

15422787923_7c4443e5df_o.jpg
 

As part of the custom software development Archaeologic offers, we are able to provide a variety of services tailored to each client’s needs. We can supply clients with the important foundation necessary for a maintainable code base that supports continuous integration, which includes version control via git, a cross-platform build system, a test suite, and hypertext markup language (HTML) documentation. We also are able to increase the client’s code modularity by introducing Fortran submodules; parallelize the code using MPI or coarray Fortran; provide for future extensibility through object-oriented programming; improve code clarity and performance through the introduction of functional programming features such as Fortran’s pure subprograms; and increase the code’s flexibility through the introduction of advanced object-oriented design patterns


Case Studies

NRC Archaeologic is working to reduce future maintenance burden by providing the NRC with modernized software that, through utilizing best practices and the features of modern Fortran, is efficient and safe. This involves reducing redunciences and replacing deleted and obsolescent Fortran features.

NRC
Archaeologic is working to reduce future maintenance burden by providing the NRC with modernized software that, through utilizing best practices and the features of modern Fortran, is efficient and safe. This involves reducing redunciences and replacing deleted and obsolescent Fortran features.

NASA Archaeologic is working to modernize and introduce parallel computing into existing NASA software used to calculate radiation dose to astronauts in space craft (OLTARIS). This includes development of a parallel compute-task scheduling framework written in pure Fortran.

NASA
Archaeologic is working to modernize and introduce parallel computing into existing NASA software used to calculate radiation dose to astronauts in space craft (OLTARIS). This includes development of a parallel compute-task scheduling framework written in pure Fortran.

RadiaSoft Archaeologic supported RadiaSoft’s parallel performance engineering the open-source Zgoubi particle-beam simulation code. In support of this work, we contributed Zgoubi’s first automated build system and test suite and the first branch of Zgoubi to leverage Fortran 2018 parallelism.

RadiaSoft
Archaeologic supported RadiaSoft’s parallel performance engineering the open-source Zgoubi particle-beam simulation code. In support of this work, we contributed Zgoubi’s first automated build system and test suite and the first branch of Zgoubi to leverage Fortran 2018 parallelism.

Training

IMG_3978cc.jpg
 

We offer live training sessions, customized to our client’s needs. We can cover topics such as the following, with examples and exercises tailored to application and domain of interest.

  • Agile Software development processes

  • Version control concepts, techniques and practices with git

  • Software testing strategy and design, with a focus on supporting software quality assurance and continuous improvement

  • Software design patterns, to facilitate common understanding and expectations across and between software projects

  • Modern Fortran features, possibly contrasting with obsolescent features

  • Parallel programming in Fortran

  • Software documentation principles, with emphasis on audience and methods

Open-Source Software Support

unsplash-image-64YrPKiguAE.jpg
 

We are often hired to add features or fix bugs in open-source software that supports modern Fortran. The packages include:


OpenCoarrays A parallel runtime library that supports Fortran 2018 compilers with a programming-model-agnostic interface

OpenCoarrays
A parallel runtime library that supports Fortran 2018 compilers with a programming-model-agnostic interface

Fortran Package Manager A build system and dependency builder written in and for Fortran

Fortran Package Manager
A build system and dependency builder written in and for Fortran

Vegetables A unit testing framework written in and for modern Fortran projects

Vegetables
A unit testing framework written in and for modern Fortran projects