wiki:pyPDAF

Version 1 (modified by lnerger, 2 days ago) ( diff )

--

pyPDAF - the Python interface to PDAF

pyPDAF provides a Python interface to PDAF. pyPDAF allows a user to implement all case-specific code for an analysis step in Python while leveraging the high compute performance of the analysis methods, ensemble and observation handling in the Fortran-coded routines of PDAF. pyPDAF supports both the online and offline modes of PDAF.

pyPDAF can be particularly useful in the following scenarios:

  • With an increasing number of Python-coded numerical models, especially machine learning models, pyPDAF is a convenient tool to implement data assimilation systems purely in Python.
  • Alternatively, pyPDAF can be used to set up offline data assimilation system. In such a system, the model fields in restart files are replaced by analyses generated by pyPDAF. This can be an attractive alternative to the original Fortran implementations, in particular if you are more familiar with Python than Fortran. One can also benefit from the simplicity of code implementation and package management in Python.

The Fortran implementation of data assimilation systems is used with various regional and global models of Earth system components, including atmosphere, ocean, hydrology, land surface and sea ice models. These models are typically written in Fortran which can be easily used with PDAF. When PDAF's online-coupling is used, data assimilation with these models is more natually implemented in Fortran. Still one can use pyPDAF efficiently for the offline mode of PDAF.

The interface inherits the efficiency of the data assimilation algorithms in Fortran, and the flexibility to be applied to different models and observations. This means that users of pyPDAF can couple the DA algorithms with any types of model and observations without the need to coding the actual DA algorithms. This allows the users to focus on the specific research problems. pyPDAF supports all DA methods provided by PDAF, thus many variants of ensemble Kalman filters, particle filters and other non-linear filters. It also provides variants of 3DVar. A full list of supported methods can be found on the Page on Feature of PDAF.

pyPDAF was developed by Yumeng Chen at the University of Reading and the National Center for Earth Observation (NCEO) in the United Kingdom.

pyPDAF is available in its repostory at https://github.com/yumengch/pyPDAF. There you will also find links to the documentation. The code also contains example implementations analogous to the PDAF Tutorials.

Note: See TracWiki for help on using the wiki.