During this quarter we focused on the preparation of software components and technology readines needed to start deployment the show cases described in the Statement of Work.

In this document we describe the progress and contributions made to different activities in preparation of the deployment of show cases in EWC.


Data Technologies Workshop, ECMWF - MeteoSwiss, 6-10.11.2023


In order to kick-off the collaboration around data technologies, a workshop was organized between MeteoSwiss and ECMWF at the ECMWF center (Reading).

Participation: Christian Kanesan (MeteoSwiss), Victoria Cherkas (MeteoSwiss) Petra Baumann (MeteoSwiss), Stefan Friedli (MeteoSwiss - remote), Milos Belic (MeteoSwiss - remote), Emanuele Danovaro (ECMWF), Christopher Bradley (ECMWF),  Simon Smart (ECMWF), James Hawkes (ECMWF), Tiago Quintino (ECMWF), Sandor Kertesz (ECMWF)


The goals were:


The topics discussed during the workshop cover among others: 


Conclusions and results of the different activities are summarized in the following sections of the quarterly report.


FDB

FDB is an essential component for the pilot project. FDB is a domain-specific object store developed at ECMWF for storing, indexing and retrieving GRIB data. 

It will be used in the pilot project in order to retrieve and access data semantically instead the traditional (grib) file based approach, employed still in many operational environments of NMHS.

FDB is implements a field database optimized for HPC data centers with a (lustre) distributed file system and adds a Python frontend to facilitie the data access of meteorological fields in Python. 

The following shows an example of how to retrieve a full hypercube of ensemble data for two fields (height and DBZ) from COSMO data: 

request = mars.Request(
        ("HHL", "DBZ"),
        date=ref_time.strftime("%Y%m%d"),
        time=ref_time.strftime("%H00"),
        expver="0001",
        levelist=tuple(range(1, 82)),
        number=tuple(range(11)),
        step=lead_time,
        levtype=mars.LevType.MODEL_LEVEL,
        model=mars.Model.COSMO_1E,
        stream=mars.Stream.ENS_FORECAST,
        type=mars.Type.ENS_MEMBER,
    )
    ds = model_data.get(request, ref_param_for_grid="HHL")