Skip to content

vn1.0 Release

richardgilham edited this page Apr 3, 2023 · 5 revisions

Fab vn1.0

Fab vn1.0 is the first full release of Fab that implements the majority of key features identified at the start of the project. Briefly, this includes:

  • 'Grab' extraction and merge of svn/fcm, git and other sources
  • Build Fortran, C and mixed codebases using common build steps (analyse, preprocess, compile, link).
  • Ability to define novel or arbitrary build steps.
  • Implementation of specific arbitrary build steps such as parsing with the PSyCLONE DSL.
  • Incremental builds, including use of prebuilds
  • Support for the 'Busby optimisation' for more efficent parallel builds of Fortran code
  • Zero configuration builds "just type fab" for entry-level use cases

Fab is written in Python and designed to be accessible but with flexibility and extensibility for advanced users. Although presently focused on Fortran and C, it is designed to be readily updated to target C++ and other compiled langages.

Key links

Additionally, the wiki provides back history of the reasoning and planning of the project.

Getting Fab

You can get hold of Fab via conda or PyPI. Note it's called 'sci-fab' as opposed to 'fab' which is unrelated to this project. See also the docs, including specific instructions for Met Office users.

Known limitations

  • Zero config presently only works for gnu.

Comms plan

The vn1.0 release marks a significant point in the formal project that has driven the Fab software. At this version, users from outside the project team will be actively sought for the first time. Initially, this will be focused on Met Office and partner organsiations through existing networks. The aim will be to build confidence and use of Fab to permit retirement of existing solutions. It is expected that user feedback will result in further development beyond 1.0. This page will serve as the starting point for user engagement.

Comms items:

  • Met Office Science Brief article
  • Presentations, in appropriate format to:
    • NGMS Project managers
    • NGMS project meetings
    • SSE Community of Practice
    • UM User Workshop (June 2024)
  • Direct tactical engagement
  • Facilitation of a Hack Day, subject to sufficient interest
Clone this wiki locally