pyPDAF is data assimilation with PDAF in Python.
The Parallel Data Assimilation Framework (PDAF) is widely used in high-dimensional ensemble data assimilation systems. It's code base in Fortran ensure high computational performance and scalability. It is optimal for direct coupling to the many Fortran-based models simulating components of the Earth system. The coupling of PDAF with new observations and models requires writing Fortran subroutines to construct the state vector, provide observation information, and handling I/O, etc.
Python is today a popular option in newer code developments. pyPDAF was developed to enable the use of the advanced data assimilation functionality of PDAF from Python environments. Thus, on the user side all code specific to observations and models is implemented in Python, while pyPDAF leverages the compiled PDAF library as it compute core. This enables DA systems based on PDAF to exploit external packages in the Python ecosystem and to utlize the rapid coding possibilities of Python.
pyPDAF is provided as a package for installation with Conda, so that the user never needs to touch PDAF's Fortran code. The release provide tutorial implementation so that one can follow the implementation tutorials of PDAF.