ECMWFCode4Earth / challenges_2024

Discover the ECMWF Code for Earth 2024 challenges
46 stars 4 forks source link

Challenge 33 - EVALKIT: Unifying ECMWF IFS Forecast Evaluation with Earthkit and Jupyter #11

Open RubenRT7 opened 4 months ago

RubenRT7 commented 4 months ago

Challenge 33 - EVALKIT: Unifying ECMWF IFS Forecast Evaluation with Earthkit and Jupyter

Stream 3 - Software Development for Earth Sciences applications

Goal

Creation of a common tool to help with the evaluation of extreme weather-related past case studies and weather events errors in the ECMWF IFS forecast model.

Mentors and skills


Challenge description

The examination of individual weather case studies holds crucial importance in operational weather centres as it enables the identification and diagnosis of potential issues within various components of the model, thereby facilitating the implementation of future developments. However, within the realm of meteorological research, there is a noticeable lack of a dedicated tool capable of gathering the extensive set of analyses required for a comprehensive assessment of errors in singular weather events and the evaluation of the performance of historical extreme weather events. Despite the widespread availability of scripts tailored for such analyses, a significant challenge lies in the lack of homogenization, as these scripts are written in various languages. The pressing need is to consolidate these diverse scripts into a common platform, employing a universal language for ease of use and collaboration.

The absence of a centralized tool is particularly problematic in the context of ECMWF, where different groups, including researchers, forecasters and analysts utilise many of those scripts for daily tasks. The recent release of the newly developed collection of Earthkit Python packages (earthkit-data, eartkit-maps, earthkit-plots, earthkit-regrid; all hosted on the ECMWF Github pages: https://github.com/ecmwf) opens an opportunity to modernize and reorganize the currently available but sparse evaluation and diagnostic tools in ECMWF and it can seamlessly integrate with guided Jupyter Notebooks.

For all these reasons, the primary goal of this project is to develop a unified tool dedicated to the analysis of past weather-related case studies. The tool will consist of a collection of Jupyter Notebooks, written in Python (and leveraging Earthkit, when possible)—the chosen common language. These notebooks will encapsulate the essential analyses routinely employed to evaluate historical weather events in ECMWF: maps of weather variables, time series, predictability plots for specific locations (whisker plots), complex bar plots, Skew-T diagrams and many others. In addition, some of the plotting tools may be available in our current Open Charts website to facilitate our users the retrieval and plotting of some of our products. In this project, you will lead the translation and optimization efforts for existing evaluation tools (most of them written in Metview language (https://metview.readthedocs.io/en/latest/) and Python), bringing them to the Python-Earthkit environment while ensuring they meet the highest standards. You will have the freedom to propose innovative alternatives in data visualisation and enhance plot features within the codebase, empowering you to shape and elevate the project's original structure. Seize this opportunity to make a significant impact and contribute to cutting-edge developments in Python-based data visualization and analysis of meteorological data at ECMWF.

You will actively contribute to shaping the development plan for Earthkit, our new cutting-edge visualisation Python tool. Your role involves leveraging Earthkit as the primary library for meteorological computations and plotting, and actively participating in the refinement process based on the ongoing development of the library. Engaging directly with Earthkit developers, you will provide valuable feedback, fostering a collaborative environment for mutual learning and optimization of Earthkit features. This unique opportunity allows you to play a key role in influencing the trajectory of Earthkit while gaining firsthand experience in direct collaboration with tool developers, making a meaningful impact on its evolution. The entire project, comprising the Jupyter Notebooks and associated resources, will be hosted on a GitHub repository, ensuring accessibility, version control, and collaborative development.

Upon completion, the created notebooks will not only serve as a practical tool for immediate use but also as exemplary resources for future extensions and refinements. The overarching aim is to establish a centralized repository of standardized scripts that facilitate efficient collaboration, knowledge sharing, and the evolution of weather-related case studies analysis within ECMWF.

image image

Every day, ECMWF forecasters analyse dozens of diagnostic plots and discuss potential problems or improvement avenues in their NWP models. The Weather Room in Reading’s ECMWF headquarters is usually the central point of discussion where all the extreme-weather events forecasted by our models are analysed in detail. Do you want to help us shape how our dashboard of diagnostics look like?