Unifying Verification through a Python-wrapped Suite of Tools

Similar documents
MET+ MET+ Unified Package. Python wrappers around MET and METViewer: Python wrappers

Model Evaluation Tools Version 5.0 (METv5.0) User s Guide 5.0

Model Evaluation Tools Version 3.0 (METv3.0) User s Guide 3.0.2

Model Evaluation Tools (MET)

Introduction to MODE

Metview s new Python interface

Model Evaluation Tools (MET)

Python Scripts in HWRF

SciSpark 201. Searching for MCCs

Community infrastructure for facilitating improvement and testing of physical parameterizations: the Common Community Physics Package (CCPP)

Uniform Resource Locator Wide Area Network World Climate Research Programme Coupled Model Intercomparison

Metview s new Python interface first results and roadmap for further developments

Stat Analysis Tool. Filtering Summarizing Aggregating. of Grid-Stat, Point-Stat, & Wavelet-Stat output

REQUEST FOR A SPECIAL PROJECT

EnKF Fundamentals (2b): Applications

The EU-funded BRIDGE project

Instituting an observation database

CESM Workflow Refactor Project Land Model and Biogeochemistry Working Groups 2015 Winter Meeting CSEG & ASAP/CISL

Instituting an observation database (ODB) capability in the GSI

NCEP HPC Transition. 15 th ECMWF Workshop on the Use of HPC in Meteorology. Allan Darling. Deputy Director, NCEP Central Operations

Introduction to ECMWF resources:

The Logical Data Store

IDL DISCOVER WHAT S IN YOUR DATA

ESMValTool v2.0 Technical Overview

File Formats and Pre-Processing

The Lidar-Radar Open Software Environment (LROSE) : Progress and Plans

Model Evaluation Tools Tropical Cyclone Version 4.1 (MET- TC) User s Guide

CESM Projects Using ESMF and NUOPC Conventions

PyNGL & PyNIO Geoscience Visualization & Data IO Modules

IMAGERY FOR ARCGIS. Manage and Understand Your Imagery. Credit: Image courtesy of DigitalGlobe

The EC Presenting a multi-terabyte dataset MWF via ER the web

Update on NAWIPS/GEMPAK Migration to AWIPS II

NWP Test suite: Present Status. COSMO General Meeting, 7-10 Sept 2015, Wroclaw, Poland : NWP Test suite session

cdo Data Processing (and Production) Luis Kornblueh, Uwe Schulzweida, Deike Kleberg, Thomas Jahns, Irina Fast

Software Infrastructure for Data Assimilation: Object Oriented Prediction System

Bruce Wright, John Ward, Malcolm Field, Met Office, United Kingdom

RAMADDA and THREDDS. Projects. Tom Yoksas, John Caron, Ethan Davis 1 Jeff McWhirter 2, Don Murray 3 Matthew Lazzara 4. Unidata Program Center/UCAR 2

First experiences of using WC(P)S at ECMWF

USING NGC WITH GOOGLE CLOUD PLATFORM

Metview 5.0 and Beyond, to its Pythonic Future

USERS GUIDE for the Community release of the GFDL Vortex Tracker

ECMWF New Users Metview Tutorial

Distributed Online Data Access and Analysis

IPSL Boot Camp Part 5:

Common Infrastructure for Modeling Earth (CIME) and MOM6. Mariana Vertenstein CESM Software Engineering Group

NetCDF-4: : Software Implementing an Enhanced Data Model for the Geosciences

WRF-NMM Standard Initialization (SI) Matthew Pyle 8 August 2006

TIGGE and the EU Funded BRIDGE project

Big changes coming to ECMWF Product Generation system

SUSE Linux Enterprise Server 12 Modules

SciSpark Tutorial 101

CESM2 Software Update. Mariana Vertenstein CESM Software Engineering Group

Big data for big river science: data intensive tools, techniques, and projects at the USGS/Columbia Environmental Research Center

Python: Its Past, Present, and Future in Meteorology

Metview and Python - what they can do for each other

Interpolation. Computer User Training Course Paul Dando. User Support. ECMWF 25 February 2016

Getting Started with GCHP v11-02c

Running HWRF with Rocoto

Dell EMC Enterprise Hybrid Cloud for Microsoft Azure Stack. Ahmed Iraqi Account Systems Engineer Dell EMC North & West Africa

Interpolation. Introduction and basic concepts. Computer User Training Course Paul Dando. User Support Section.

eccharts Cihan Sahin Slide 1 Meteorological Operational Systems November

The challenges of the ECMWF graphics packages

NOAA NextGen IT/Web Services (NGITWS)

GSI Fundamentals (1): Setup and Compilation

Lavastorm Analytic Library Predictive and Statistical Analytics Node Pack FAQs

Syed RH Rizvi.

Ecography. Supplementary material

McIDAS-V Tutorial Displaying Gridded Data updated January 2016 (software version 1.5)

Projections for use in the Merced River basin

GSI fundamentals (4): Background Error Covariance and Observation Error

RED HAT OPENSHIFT A FOUNDATION FOR SUCCESSFUL DIGITAL TRANSFORMATION

Metview BUFR Tutorial. Meteorological Visualisation Section Operations Department ECMWF

Building a Global Data Federation for Climate Change Science The Earth System Grid (ESG) and International Partners

JavaFX. JavaFX Overview Release E

StratusLab Cloud Distribution Installation. Charles Loomis (CNRS/LAL) 3 July 2014

Python: Working with Multidimensional Scientific Data. Nawajish Noman Deng Ding

Getting Started with High Performance GEOS-Chem

v Prerequisite Tutorials GSSHA Modeling Basics Stream Flow GSSHA WMS Basics Creating Feature Objects and Mapping their Attributes to the 2D Grid

Diagnostics and Exploratory Analysis Infrastructure for ACME Workflow

IBM SPSS Statistics and open source: A powerful combination. Let s go

Site presentation: CSCS

Implementing the Twelve-Factor App Methodology for Developing Cloud- Native Applications

Object vs Image-based Testing Producing Automated GUI Tests to Withstand Change

Atmospheric Model Evaluation Tool (AMET) Installation Guide

Oracle Application Express: Administration 1-2

CORDEX DOMAINS (plus Arctic & Antarctica)

C Language Documentation For Windows 7 64 Bit Compiler

Big Data Specialized Studies

FedGeoDay Interactive Visualization of Satellite (and Other) Data Online Using Cesium. October 13, 2016

GSI Setup, Run and Namelist

Making data access easier with OPeNDAP. James Gallapher (OPeNDAP TM ) Duan Beckett (BoM) Kate Snow (NCI) Robert Davy (CSIRO) Adrian Burton (ARDC)

The Art of Debugging: How to think like a programmer. Melissa Sulprizio GEOS-Chem Support Team

A simple OASIS interface for CESM E. Maisonnave TR/CMGC/11/63

WELCOME to the PRACTICAL EXERCISES

Go Faster: Containers, Platforms and the Path to Better Software Development (Including Live Demo)

Manual MARS web viewer

Meteorology and Python

Spatial Distributions of Precipitation Events from Regional Climate Models

GOVERNMENT GAZETTE REPUBLIC OF NAMIBIA

International Climate Network Working Group (ICNWG) Meeting

Transcription:

Support for MET is provided by NOAA, US Air Force, NSF and NCAR through the Developmental Testbed Center (DTC) Unifying Verification through a Python-wrapped Suite of Tools Tara Jensen, John Halley Gotway, MinnaWin-Gildenmeister, Julie Prestopnik, Jim Frimmel, Geoge McCabe, Randy Bullock, Ivanka Stajner and Geoff Manikin Workshop on developing Python frameworks for earth system sciences ECMWF Reading November 28-29

Why Unification Forecasters Government Centers University and National Lab Researchers Comprehensive and unified verification tool - Make R2O more efficient - Provide a consistent set of metrics Allows Researchers and Operational Scientists to speak a common verification language User Support of unified package provides greater opportunity to train all on verification best practices 2

A Bit of History - Over a Decade Ago DTC was asked to replicate the EMC mesoscale verification package (VSDB) in a platform independent and extensible format and provide it to the community (January 2008) Additional tools beyond EMC VSDB 3

MET Package - Today MET is community code supported by DTC that is free to download (registration required) 3400+ registered users 125+ countries, 33% from USA Universities, Government, Private Companies, Non-Profits Download MET release and compile locally. Register and download: www.dtcenter.org/met/users C++ with calls to some Fortran libraries, GSL, netcdf4 and HDF5 Linux with GNU, Portland Group (PGI), or Intel compilers Support Online tutorial and in-person tutorials given yearly met_help@ucar.edu help desk 250+ support tickets in past year Not adopted by EMC until recently Code-bases diverged

A verification toolkit designed for flexible yet systematic evaluation (supported to the community via the DTC) Over 70 traditional statistics using both point and gridded datasets Multiple interpolation methods Computation of confidence intervals Able to read in GRIB1, GRIB2 and CFcompliant Applied to many spatial and temporal scales (multi-decadal climate to 15-min storm-scale) Regridding within the tools and ability to apply complex masking 3400+ users, both US & Int l Object Based and Spatial Methods Geographical Representation of Errors 90 th Percentile of difference between two models 5 Bad forecast or Good forecast with displacement error?

METViewer components Packages: Java, Apache/Tomcat, MySQL, R statistics EMC Vx Output Database and Display analysis tool

MET v6.0 overview Input Reformat Plot istics New tool in past 3 years New output in past 3 years Analysis MET-TC Gridded Forecast Analysis Obs MODIS Data WWMCA Data Point PrepBufr Point MADIS Point Lidar HDF GSI Diag PCP Combine Regrid Data Plane MODIS Regrid WWMCA Regrid 2NC PB2NC MADIS2NC LIDAR2NC GSI Tools Gen VxMask Shift Data Plane Gridded Point Obs Plot Data Plane WWMCA Plot PS Plot Point Obs MTD Series Analysis MODE Wavelet Grid Ensemble Point PS STAT PS STAT STAT STAT Plot MODE Field MODE Analysis Analysis PNG STAT DLand TC PAIRS TCST TC STAT METViewer Database and Display Land Data File TC DLAND ATCF Track Data 7

Example: Accumulated precipitation 3-h accumulation QPE 12-h accumulation QPE MODE PCP Combine MODE-TD Wavelet METViewer Database and Display 12-h accumulation QPF Grid Series Analysis Multiple runs over time Ensemble Point 2017 DTC SAB meeting, 28-29 September 2017 8

Example: Accumulated precipitation 3-h accumulation QPE 12-h accumulation QPE MODE PCP Combine MODE-TD Wavelet METViewer Database and Display Grid Series Analysis Multiple runs over time Ensemble 12-h accumulation QPF Point 2017 DTC SAB meeting, 28-29 September 2017 9

MET+ Unified Package Python wrappers around MET and METViewer: 10 Simple to set-up and run Automated plotting of 2D fields and statistics Communication between MET & python algorithms (Cython) Initial system - Global deterministic with plans to generalize across scales when possible to quickly spin-up Ensembles, High Resolution & Complete Earth System Model Components Spatial Plots MET Python wrappers MET+ s Plots GitHub Repository METViewer

By January Input Reformat Plot istics Analysis MET-TC Gridded Forecast Analysis Obs MODIS Data WWMCA Data Point PrepBufr Point MADIS Point Lidar HDF PCP Combine Regrid Data Plane MODIS Regrid WWMCA Regrid 2NC PB2NC MADIS2NC LIDAR2NC Gen VxMask Shift Data Plane Gridded Point Obs Plot Data Plane WWMCA Plot PS Plot Point Obs MTD Series Analysis MODE Wavelet Grid Ensemble Point PS STAT PS STAT STAT STAT Plot MODE Field MODE Analysis Analysis PNG STAT DLand TC PAIRS TCST TC STAT Land Data File TC DLAND ATCF Track Data TCPlot -MPR.R GSI Diag GSI Tools PNG Copyright 2017, Copyright University 2017, Corporation University Corporation for Atmospheric for Atmospheric Research, Research, all rights all rights reserved

What does wrapped by Python mean? MET/Series_Analysis_Config In MET Configs: Environment variables passed in from MET+ Constants File

What does wrapped by Python mean? METplus/parm/use_cases/feature_relative feature_relative.conf

What does wrapped by Python mean? METplus/parm/use_cases/feature_relative feature_relative.conf

master_metplus.py produtil METplus Launcher conf metplus_final.conf Command Builder Input 15 From.conf to running MET Process Script 1 Process Script 2 Process Script 3 MET Tool 1 MET Tool 2 Output 1 Output 2 Output 3

16 Current package dependencies

MET+ Coding Standards NCEP Coding Standards Python section of NCEP standards Based on Google Python Coding standards Language rules version 2016a found on NCAR/METplus GitHub wiki: https://github.com/ncar/metplus 17

CoCoCodingC Co MET+ Coding Style pep8 (Python Enhancement Proposal) code consistency and readability code layout: whitespace, line length, etc. naming conventions for variables, classes, methods and functions https://www.python.org/dev/peps/pep-0008 18

CoCoCodingC Co MET+ Documentation Doxygen documentation generator written in the source code easy to keep up-to-date documentation can be readily viewed (html documentation generated) Python docstrings for information about functions, methods help(python object) readily generated from Python REPL (language shell) REPL = read, evaluate, print, loop 19

CoCoCodingC Co MET+ Best Practices Run pep8 tool or similar application to verify pep8 conformance Run pylint or other code linters to ensure code readability and to identify unused variables, imports, etc. Run relevant tests written in Python unittest Use GitHub for code management including issue tracking and wiki 20

Aligning with NCEP Workflow Discussing and planning to collaborate on new dynamical core (FV3) workflow developers. Using PRODUTIL package for logging and constants file parsin plus likely other features Plan to use Rocoto workflow management (NOAA tool) for dev environments and make autonomous to also use with ecflow or Cylc for operations 21

MET+ Beta - Prerequisites Python 2.7 ** When we started this was specified by NCO R version 3.25 ** Only if you are using PlotTCMpr.R tool nco (netcdf operators) MET version 6.0 or later installed ** Tool is designed to sit on-top of MET and should be version insensitive after METv6.0 Basic familiarity with MET User: Access the public release at: https://github.com/ncar/metplus/releases -OR- Use install on Theia or WCOSS ** Only on Gyre right now, will populate on Surge, Tide and Luna as access is available Developer: Need a github account https://github.com/ncar/metplus/ then proceed like a User

Grabbing the Release

Operational Directory Structure doc/ - Doxygen documentation internal_tests/ - developer tests parm/ - where configs live README.md - general README sorc/ - executables ush/ - python scripts 24

25 Suggestions on how to set up parm dir Met_config All MET configuration files with Environment Variables should reside here Metplus_config Common install for COMMUNITY INSTALLATION includes paths to commonly used data Use_cases Common install for FUNCTIONAL GROUP includes paths for tests your conducting {user}_system.conf.{system_name} Place your variances from use-cases in here, including pointing to your output directory, or pointing to a different config you are trying, etc

3 Use Cases Cyclone Track and Intensity Using MET-TC to pair up ATCF track files PlotTCMPR.R to compute track and intensity errors and plot Feature Relative Use MET to match up lat/lon pairs of forecast and analysis feature (e.g. TC, Extratropical cyclone, snowbands, MCS, jet streak, etc ) Extract user specified tiles from Forecast and Analysis files for computation of systematic errors Use Series-Analysis to compute statistics for the stack of tiles over region of interest (e.g. Eastern US, UK, Central Europe, Middle East, Tropics) Use Plot-Data-Plane to generate quick look plots QPF Use Pcp-Combine to accumulate 1-hr QPE into 3-hr accumulation Use Grid- to compute Categorical statistics (e.g. Prob of Detection, False Alarm Ratio) for multiple thresholds

Next Major Development: Communication between MET and Python Anticipated Solution: Cython - C extentions for python Write Python code that calls back and forth from and to C or C++ code natively at any point. Easily tune readable Python code into plain C performance by adding static type declarations. Use combined source code level debugging to find bugs in your Python, Cython and C code. Integrate natively with existing code and data from legacy, lowlevel or high-performance libraries and applications. 27 Excerpted from: http://cython.org/

Next Adding Additional Capability Already have pre-existing packages which we will link in 28 Next year will be adding more process-oriented diagnostics to aid in CCPP development

Docker MET and METViewer Docker (Amazon Web Services): Open-source technology to build and deploy applications inside software containers Packages software containing: code, runtime, system tools, system libraries, etc Enables you to quickly, reliably, and consistently deploy applications MET and METViewer compiled in a Docker Container 1) Set up to work with a suite of testcases for NWP innovation testing (MMET/MERIT) 2) Bundled with MET online tutorial data 29 http://www.dtcenter.org/ met/users/downloads/ docker_container.php

Thank You Where to find MET+ and get help 30 GitHub Instructions at Release link https://github.com/ncar/metplus/releases Instructions_METplus_Beta.pdf MET Users Page with documentation and instructions for obtaining Docker MET and METViewer: https://dtcenter.org/met/users Contact met_help@ucar.edu