Skip to content

Latest commit

 

History

History
 
 

LFRIC

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 

Containerisation of LFRic

LFRic and PSyclone: A quick overview

LFRic is the new weather and climate modelling system being developed by the UK Met Office to replace the existing Unified Model (UM) in preparation for exascale computing in the 2020s. LFRic uses the GungHo dynamical core and runs on a semi-structured cubed-sphere mesh.

The design of the supporting infrastructure follows object-oriented principles to facilitate modularity and the use of external libraries. One of the guiding design principles, imposed to promote performance portability, is “separation of concerns” between the science code and parallel code. An application called PSyclone, developed at the STFC Hartree Centre, can generate the parallel code enabling deployment of a single source science code onto different machine architectures.

PSyclone is a domain-specific compiler and source-to-source translator developed for use in finite element, finite volume and finite difference codes. Using the information from a supported API, PSyclone generates code exploiting different parallel programming models.

More detailed information about LFRic and further references can be found in Introduction to LFRic section.

LFRic containers

Instructions on building and runing LFRic in two container platforms, Docker CE and Singularity, can be found following the links below:

For more information on building the LFRic Docker container please contact Iva Kavcic, Met Office and Luca Marsella, CSCS (mentor).

For more information on building the LFRic Singularity container please contact Simon Wilson, NCAS and Luca Marsella, CSCS (mentor).

LFRic repository and wiki

The LFRic repository and the associated wiki are hosted at the Met Office Science Repository Service (MOSRS). The code is BSD-licensed, however browsing the LFRic wiki and code repository requires login access to MOSRS. Please contact the LFRic team manager, Steve Mullerworth, to be granted access to the repository.

Once the access has been granted the LFRic trunk can be checked out using Subversion or FCM version control systems. SVN is recommended for checking out the code for runs only as it is easier to install.

LFRic code structure

The current LFRic trunk (revision 21509) is structured as follows:

  • bin - Rose executables;

  • extra - Utilities (e.g.job submission scripts);

  • GPL - Rose source used in LFRic;

  • gungho - Gungho dynamical core (one of the main science applications);

  • infrastructure - LFRic infrastructure supporting science applications;

  • jules - Interface to the MO JULES land surface model;

  • lfric_atm - LFRic atmospheric model (Gungho dynamical core, UM Physics, JULES and SOCRATES);

  • mesh_tools - Mesh generation tools;

  • miniapps - "Standalone" science and infrastructure applications (e.g. Gravity Wave application);

  • socrates - Interface to the MO radiative transfer ("Suite Of Community RAdiative Transfer codes") model;

  • um_physics - Interface to the MO UM Physics parameterisation schemes.

PSyclone repository and wiki

Both PSyclone and the Fortran parser it uses are open source and hosted on GitHub.

Wikis are also hosted on GitHub:

The documentation is hosted on Read the Docs:

or PSyclone and fparser repositories for functionality merged to master but not yet part of an official release.

PSyclone in LFRic

LFRic wiki hosts pages on the use of PSyclone in LFRic, starting with the PSyclone in LFRic wiki.

As mentioned in the LFRic Docker container section, not every PSyclone release works with every LFRic trunk revision. The LFRic - PSyclone compatibility table is give in this LFRic wiki (requires login).