Metview

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search
Metview
DeveloperEuropean Centre for Medium-Range Weather Forecasts (ECMWF)
Initial release1991; 35 years ago (1991)
Stable release
5.23.0 / 2 October 2024; 18 months ago (2024-10-02)
Repository
  • {{URL|example.com|optional display text}}Lua error in Module:EditAtWikidata at line 29: attempt to index field 'wikibase' (a nil value).
Written inC++ (Qt), C, Python
Engine
    Lua error in Module:EditAtWikidata at line 29: attempt to index field 'wikibase' (a nil value).
    Operating systemLinux, macOS
    Available inBritish English
    TypeScientific visualization
    LicenseApache
    Websitemetview.readthedocs.io

    Metview is a meteorological workstation and batch system developed at the European Centre for Medium-Range Weather Forecasts (ECMWF).[1]

    History

    [edit | edit source]

    Development began at ECMWF in 1990 in co-operation with the National Institute for Space Research of Brazil and Météo-France.[2]

    Time line of Metview major versions and changes
    Year Version Changes
    1990 Announcement Announcement at EGOWS[3]
    1991 First prototype Batch system at National Institute for Space Research
    1993 1.0 First batch and user interface
    1998 2.0 Use of OpenGL for interactive visualisation
    2000 3.0 New user interface (Motif)
    2010 4.0 Upgrade to Magics++ graphics library;[4] released as Open-source software under Apache License[5]
    2014 4.5 New user interface based on Qt version 4
    2018 5.0 Switch to Qt version 5, improved plot window and new Python interface

    Features

    [edit | edit source]

    User interface

    [edit | edit source]
    File:Screenshot of Metview desktop.png
    This screenshot of the Metview desktop shows its icon based interface and its visualisation abilities.

    Metview has an icon based graphical user interface, where any aspect of a meteorological (graphical) product is expressed in an icon. Users can prototype a visualisation by dragging and dropping icons in the plot area.

    Metview offers also various tools to explore and display the content of meteorological file formats, such as GRIdded Binary or General Regularly-distributed Information in Binary form (GRIB), Binary Universal Form for the Representation of meteorological data (BUFR), Network Common Data Form (NetCDF), and OpenDocument Database Front End Document Format (ODB).

    Macro language for batch processing

    [edit | edit source]

    The Macro language is designed as a high-level programming language to allow analysts and scientists to concentrate on the work and processing flow being developed.

    # Metview Macro
    
    # reading GRIB files through the read() function
    a = read(mygrib1.grb)
    b = read(mygrib2.grb)
    
    # calculating the differences between two fields 
    c = a-b
    
    # plotting the result
    plot(c)
    

    In 2017 a Python version of the macro language was developed.[6]

    File format support

    [edit | edit source]

    Metview supports the various meteorological data formats as input and output formats: GRIB (editions 1 and 2), BUFR,[7] NetCDF, ODB (ECMWF Observation Database),[8] Local databases and ASCII data files (comma-separated values, grids and scattered data)

    Development

    [edit | edit source]

    All major developments are made at the Development Section at ECMWF. Most of the code is in C++ and the code is versioned in git. CMake is used as build system.

    Metview makes use of other software packages developed at ECMWF. Metview is an extended MARS client,[9] and uses ecCodes[10] for GRIB and BUFR handling and Magics[11] for contouring and visualisation.

    Distribution

    [edit | edit source]

    Metview is distributed mainly as a source code tar file, termed a tarball, under an Apache License version 2.0. There are plans to distribute the code on GitHub.

    Binary versions of Metview are available in conda (through the conda-forge channel), in Ubuntu[12] and MacPorts.[13] RPMs for major Linux distribution are provided on the Open Build Service.[14]

    References

    [edit | edit source]
    1. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    2. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    3. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    4. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    5. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    6. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    7. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    8. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    9. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    10. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    11. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    12. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    13. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    14. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    [edit | edit source]