This repository hosts the Recharge Oscillator (RO) Practical for the ENSO Winter School 2025. The practical covers theoretical and computational aspects of the RO framework, its applications in ENSO simulations, and forecasting.
- Sen Zhao, Assistant Researcher, University of Hawaiʻi at Mānoa
- Soong-Ki Kim, Postdoctoral Researcher, Yale University
- Jérôme Vialard, Institut de Recherche pour le Développement
- Sen Zhao, lecture notebooks, XRO, revised CRO code in python
- Soong-Ki Kim, origional CRO code in Matlab
- Bastien Pagli, origional CRO code in Python
The RO practical lecture, we will demonstrate how to use the XRO
framework for Recharge-Oscillator (RO) model fitting, simulations, and reforecasting.
Extended Nonlinear Recharge Oscillator (XRO) framework
The XRO
framework was developed to investigate the role of climate mode interactions in ENSO dynamics and predictability (Zhao et al. 2024). When other climate modes are not considered, it simplifies to the Recharge Oscillator (RO), making it well-suited for use in this practical context. We have designed XRO
to be user-friendly, aiming to be a valuable tool not only for research but also for operational forecasting and as an educational resource in the classroom.
Check out the updated version of XRO at https://github.com/senclimate/XRO
Community Recharge Oscillator (CRO) model framework
The CRO
code package is an easy-to-use Python/MATLAB software for solving and fitting the ENSO RO model. The CRO
code is currently under development and is planned for release in 2025. The distributed version for the ENSO Winter School 2025 is a light Python version that includes only the essential features. While we introduce the CRO
framework in this practical, some of its functionalities are unavailable. Therefore, for consistency, we will primarily use the XRO
framework.
For those interested in the CRO
code, please refer to the Jupyter notebook:
📂 CRO_test/RO_Practical_with_CRO_Framework.ipynb
Special thanks to Bastien Pagli for providing the original CRO
code in Python.
You can easily run this notebook on Google Colab.
Simply download this notebook and upload it to Google Colab.
Once uploaded, you can execute the notebook directly— all required data and Python libraries will be downloaded and installed automatically.