Giter VIP home page Giter VIP logo

gpep_olypygmet's Introduction

PyGMET

PyGMET is the Python version of the Gridded Meteorological Ensemble Tool (GMET), a tool for generating gridded estimates for any meteorological variable using diverse methods. PyGMET comes with many methodological and technical differences and improvements compared to GMET.

Note: PyGMET is under active development. A formal release is expected to happen in late June. Please contact Guoqiang Tang ([email protected]) if you have any problem/question with PyGMET.

ensemble precipitation

Functionality

PyGMET can perform the following tasks and output all results as netcdf4 files:

  • Generate deterministic estimates of any input variable defined in the configuration file using various regression methods, including machine learning methods supported by scikit-learn.
  • Generate cross-validation outputs with evaluation results at station points.
  • Generate probabilistic estimates of any number of ensemble members.
  • Provide intermediate outputs, such as spatiotemporally correlated random fields, spatial correlation, temporal autocorrelation (lag 1), nearby station index/weights, and more.

Installation

PyGMET is built on common Python packages such as SciPy, scikit-learn, and xarray. It can be run as long as the packages listed in environment.yml or requirements.txt are installed. You can create virtual environments using the following instructions:

  • Pip
cd /your/path/of/PyGMET  
virtualenv PyGMET-env  
source PyGMET-env/bin/activate  
pip install -r requirements.txt  
  • Conda
conda env create -f environment.yml  
conda activate PyGMET-env  

Usage

To run PyGMET, follow these steps:

  1. Prepare the configuration file.
    Use configuration files in the ./test_cases folder as templates. Refer to How_to_create_config_files.md for more details.
  2. Run PyGMET
    python main.py /your/path/config_filename.toml.
  3. Batch run / operational run
    When producing a dataset in a target domain or testing different method choices, PyGMET can be run in many batches (e.g., month by month). We recommend users run PyGMET in two steps to improve efficiency:
    • Test run: Run PyGMET on a test period or the first batch. Basic outputs (e.g., nearby station information, weights, and spatial correlation structures) will be generated and saved, which can be used by following batch runs.
    • Batch run: Run PyGMET without changing outpath_parent so that PyGMET can find the outputs generated in the test run.

Test Case

The test case for raw GMET is directly used here. To get the test case and run it, use the following commands:

cd ../src  
python main.py ../test_cases/testcase.config.static.toml  

Jupyter Notebooks in the ./docs folder can be used to visualize PyGMET test case outputs.

Existing Public PyGMET Datasets

PyGMET has produced two publicly available datasets:

References:

  • PyGMET
    Tang, G., Clark, M. P., & Papalexiou, S. M. (2022). EM-Earth: The ensemble meteorological dataset for planet Earth. Bulletin of the American Meteorological Society, 103(4), E996-E1018.
    Tang, G., Clark, M. P., Papalexiou, S. M., Newman, A. J., Wood, A. W., Brunet, D., & Whitfield, P. H. (2021). EMDNA: An ensemble meteorological dataset for North America. Earth System Science Data, 13(7), 3337-3362.

  • Original GMET
    Newman, A. J., Clark, M. P., Wood, A. W., & Arnold, J. R. (2020). Probabilistic spatial meteorological estimates for Alaska and the Yukon. Journal of Geophysical Research: Atmospheres, 125(22), e2020JD032696.
    Newman, A. J., Clark, M. P., Longman, R. J., Gilleland, E., Giambelluca, T. W., & Arnold, J. R. (2019). Use of daily station observations to produce high-resolution gridded probabilistic precipitation and temperature time series for the Hawaiian Islands. Journal of Hydrometeorology, 20(3), 509-529.
    Newman, A. J., Clark, M. P., Craig, J., Nijssen, B., Wood, A., Gutmann, E., ... & Arnold, J. R. (2015). Gridded ensemble precipitation and temperature estimates for the contiguous United States. Journal of Hydrometeorology, 16(6), 2481-2500.
    Clark, M. P., & Slater, A. G. (2006). Probabilistic quantitative precipitation estimation in complex terrain. Journal of Hydrometeorology, 7(1), 3-22.

gpep_olypygmet's People

Contributors

guoqiang-tang avatar

Stargazers

Tam Nguyen avatar Manabendra Saharia avatar

Watchers

Andy Wood avatar  avatar  avatar

gpep_olypygmet's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.