A spherical CNN for weather forecasting

Overview

DeepSphere-Weather - Deep Learning on the sphere for weather/climate applications.

weather forecast

The code in this repository provides a scalable and flexible framework to apply convolutions on spherical unstructured grids for weather/climate applications.

ATTENTION: The code is subject to changes in the coming weeks / months.

The folder experiments (will) provide examples for:

  • Weather forecasting using autoregressive CNN models
  • Weather field downscaling (aka superesolution) [in preparation].
  • Classication of atmospheric features (i.e. tropical cyclone and atmospheric rivers) [in preparation].

The folder tutorials (will) provide jupyter notebooks describing various features of DeepSphere-Weather.

The folder docs (will) contains slides and notebooks explaining the DeepSphere-Weather concept.

Installation

For a local installation, follow the below instructions.

  1. Clone this repository.

    git clone https://github.com/deepsphere/deepsphere-weather.git
    cd deepSphere-weather
  2. Install the dependencies.

    conda env create -f environment.yml
    pip install git+https://github.com/epfl-lts2/pygsp@sphere-graphs
  3. If you don't have a GPU and you plan to work on CPU, please install the follow:

    conda install pytorch torchvision torchaudio cpuonly -c pytorch
    pip install torch-scatter torch-sparse -f https://pytorch-geometric.com/whl/torch-1.7.0+cpu.html

Tutorials

Reproducing our results

Contributors

License

The content of this repository is released under the terms of the MIT license.

You might also like...
A simple rest api that classifies pneumonia infection weather it is Normal, Pneumonia Virus or Pneumonia Bacteria from a chest-x-ray image.
A simple rest api that classifies pneumonia infection weather it is Normal, Pneumonia Virus or Pneumonia Bacteria from a chest-x-ray image.

This is a simple rest api that classifies pneumonia infection weather it is Normal, Pneumonia Virus or Pneumonia Bacteria from a chest-x-ray image.

Image-Adaptive YOLO for Object Detection in Adverse Weather Conditions
Image-Adaptive YOLO for Object Detection in Adverse Weather Conditions

Image-Adaptive YOLO for Object Detection in Adverse Weather Conditions Accepted by AAAI 2022 [arxiv] Wenyu Liu, Gaofeng Ren, Runsheng Yu, Shi Guo, Jia

DLWP: Deep Learning Weather Prediction

DLWP: Deep Learning Weather Prediction DLWP is a Python project containing data-

Informer: Beyond Efficient Transformer for Long Sequence Time-Series Forecasting
Informer: Beyond Efficient Transformer for Long Sequence Time-Series Forecasting

Informer: Beyond Efficient Transformer for Long Sequence Time-Series Forecasting This is the origin Pytorch implementation of Informer in the followin

Implementation of the paper NAST: Non-Autoregressive Spatial-Temporal Transformer for Time Series Forecasting.
Implementation of the paper NAST: Non-Autoregressive Spatial-Temporal Transformer for Time Series Forecasting.

Non-AR Spatial-Temporal Transformer Introduction Implementation of the paper NAST: Non-Autoregressive Spatial-Temporal Transformer for Time Series For

Spectral Temporal Graph Neural Network (StemGNN in short) for Multivariate Time-series Forecasting

Spectral Temporal Graph Neural Network for Multivariate Time-series Forecasting This repository is the official implementation of Spectral Temporal Gr

tsai is an open-source deep learning package built on top of Pytorch & fastai focused on state-of-the-art techniques for time series classification, regression and forecasting.
tsai is an open-source deep learning package built on top of Pytorch & fastai focused on state-of-the-art techniques for time series classification, regression and forecasting.

Time series Timeseries Deep Learning Pytorch fastai - State-of-the-art Deep Learning with Time Series and Sequences in Pytorch / fastai

Forecasting directional movements of stock prices for intraday trading using LSTM and random forest
Forecasting directional movements of stock prices for intraday trading using LSTM and random forest

Forecasting directional movements of stock-prices for intraday trading using LSTM and random-forest https://arxiv.org/abs/2004.10178 Pushpendu Ghosh,

This repository contains the implementations related to the experiments of a set of publicly available datasets that are used in the time series forecasting research space.

TSForecasting This repository contains the implementations related to the experiments of a set of publicly available datasets that are used in the tim

Comments
  • module 'pygsp.graphs' has no attribute 'SphereHealpix'

    module 'pygsp.graphs' has no attribute 'SphereHealpix'

    file : 01_define_spherical_samplings.py

    error :module 'pygsp.graphs' has no attribute 'SphereHealpix' I checked the documentation of pygap and did not find the function pg.graphs.SphereHealpix and pg.graphs.SphereEquiangular pg.graphs.SphereCubed . and How do I run these codes?

    #!/usr/bin/env python3
    # -*- coding: utf-8 -*-
    """
    Created on Sat Nov 28 13:57:14 2020
    
    @author: ghiggi
    """
    import os
    import sys
    import numpy as np 
    import pygsp as pg
    import healpy as hp
    sys.path.append('../')
    from modules.remap import pygsp_to_CDO_grid
    
    ### Define folder paths
    proj_dir = "/ltenas3/DeepSphere/"
    # proj_dir = "/home/ghiggi/Projects/DeepSphere"
    CDO_grids_dir = os.path.join(proj_dir, "grids", "CDO_grids")
    #-----------------------------------------------------------------------------.
    # Define Spherical Samplings 
    spherical_samplings_dict = {
        # 400 km
        'Healpix_400km': pg.graphs.SphereHealpix(subdivisions=16, k=20, nest=True),
        'Icosahedral_400km': pg.graphs.SphereIcosahedral(subdivisions=16, k=10),
        'O24': pg.graphs.SphereGaussLegendre(nlat=48, nlon='ecmwf-octahedral'),
        'Cubed_400km': pg.graphs.SphereCubed(subdivisions=24),
        'Equiangular_400km': pg.graphs.SphereEquiangular(nlat=36, nlon=72, poles=0),
        'Equiangular_400km_tropics': pg.graphs.SphereEquiangular(nlat=46, nlon=92, poles=0),
        # 100 km 
        'Healpix_100km': pg.graphs.SphereHealpix(subdivisions=64, k=20, nest=True)
    }
    
    # spherical_sampling = "Healpix_100km"
    # graph = pg.graphs.SphereHealpix(subdivisions=64, k=20, nest=True)
    #-----------------------------------------------------------------------------.
    # Define CDO grid for remapping    
    for spherical_sampling, graph in spherical_samplings_dict.items():     
        # Define filename and filepath of CDO grids
        CDO_grid_fpath = os.path.join(CDO_grids_dir, spherical_sampling)
        # Write CDO grid 
        pygsp_to_CDO_grid(graph = graph,
                          CDO_grid_fpath = CDO_grid_fpath)
    
    opened by DLoveS1314 4
  • dataprocess problem

    dataprocess problem

    image

    Hello, I don’t know what the structure of this file is(Healpix64_sample_notime.nc). How to store unstructured healpix in nc format? I think nc file can only store latitude and longitude format. If possible, can you give me a way to save weather data files (.h5 or other Format) Sampled as a sample program for healpix?

    opened by DLoveS1314 2
  • tutorials dir problem

    tutorials dir problem

    https://github.com/deepsphere/deepsphere-weather/blob/b85757a389b9f77de241b716040d222f12ef1a4f/tutorials/w_example_xverif.py#L16

    There is no such file in the folder you provided, right?

    Could you please provide complete training dataset?

    Thanks in advance

    opened by EricPengShuai 4
Owner
DeepSphere
Learning on the sphere (with a graph-based ConvNet). Used so far for cosmology, geophysics, 3D object recognition.
DeepSphere
Event-forecasting - Event Forecasting Algorithms With Python

event-forecasting Event Forecasting Algorithms Theory Correlating events in comp

Intellia ICT 4 Feb 15, 2022
Forecasting for knowable future events using Bayesian informative priors (forecasting with judgmental-adjustment).

What is judgyprophet? judgyprophet is a Bayesian forecasting algorithm based on Prophet, that enables forecasting while using information known by the

AstraZeneca 56 Oct 26, 2022
Spherical CNNs

Spherical CNNs Equivariant CNNs for the sphere and SO(3) implemented in PyTorch Overview This library contains a PyTorch implementation of the rotatio

Jonas Köhler 893 Dec 28, 2022
This is code to fit per-pixel environment map with spherical Gaussian lobes, using LBFGS optimization

Spherical Gaussian Optimization This is code to fit per-pixel environment map with spherical Gaussian lobes, using LBFGS optimization. This code has b

null 41 Dec 14, 2022
Code for PhySG: Inverse Rendering with Spherical Gaussians for Physics-based Relighting and Material Editing

PhySG: Inverse Rendering with Spherical Gaussians for Physics-based Relighting and Material Editing CVPR 2021. Project page: https://kai-46.github.io/

Kai Zhang 141 Dec 14, 2022
Spherical Confidence Learning for Face Recognition, accepted to CVPR2021.

Sphere Confidence Face (SCF) This repository contains the PyTorch implementation of Sphere Confidence Face (SCF) proposed in the CVPR2021 paper: Shen

Maths 70 Dec 9, 2022
NFT-Price-Prediction-CNN - Using visual feature extraction, prices of NFTs are predicted via CNN (Alexnet and Resnet) architectures.

NFT-Price-Prediction-CNN - Using visual feature extraction, prices of NFTs are predicted via CNN (Alexnet and Resnet) architectures.

null 5 Nov 3, 2022
Fog Simulation on Real LiDAR Point Clouds for 3D Object Detection in Adverse Weather

LiDAR fog simulation Created by Martin Hahner at the Computer Vision Lab of ETH Zurich. This is the official code release of the paper Fog Simulation

Martin Hahner 110 Dec 30, 2022
AI assistant built in python.the features are it can display time,say weather,open-google,youtube,instagram.

AI assistant built in python.the features are it can display time,say weather,open-google,youtube,instagram.

AK-Shanmugananthan 1 Nov 29, 2021
Code of Adverse Weather Image Translation with Asymmetric and Uncertainty aware GAN

Adverse Weather Image Translation with Asymmetric and Uncertainty-aware GAN (AU-GAN) Official Tensorflow implementation of Adverse Weather Image Trans

Jeong-gi Kwak 36 Dec 26, 2022