The Spectral Diagram (SD) is a new tool for the comparison of time series in the frequency domain

Overview

Spectral-Diagram (SD)

This repo refers to this article:

Calim et al., 2021: The Spectral Diagram as a new tool for model assessment in the frequency domain: Application to a global ocean general circulation model with tides, Computers and Geosciences, 2021,104977,ISSN 0098-3004,

CAGEO ScienceDirect

The Spectral Diagram (SD) is a new tool for the comparison of time series in the frequency domain. The SD provides a novel way to display the coherence function, power, amplitude, phase, and skill score of discrete frequencies of two time series. Each SD summarises these quantities in a single plot for multiple targeted frequencies.

Although the SD has been designed for tidal analysis, it is a powerful tool for detecting co-oscillating patterns in multi-scale analyses, and this approach might provide guidance in devising skill scores for inter-comparing model results.

Amplitude features in SDs: ScreenShot

Phase features in SDs: ScreenShot

The following is a summary of appropriate and inappropriate uses of SDs:

  • Careful interpretation is required when a non-stationary time series is subjected to SD analysis. In such cases, localized transforms, e.g., wavelets, are preferable.
  • Ensures that the Nyquist frequency is not violated before using SD diagram. Such a violation can result in poor approximation of the chosen frequency (or band of frequencies) via SD analysis if the time series is too short or the sampling rate is not small enough.
  • The SD enables a multiple band of frequencies analysis without using filtering techniques, which implies convolution costs.
  • It is possible to track different time slots and multi-region comparisons using a normalized standard deviation of power strategy, with the drawback that time series amplitude have to be scaled
  • It is a powerful tool to detect co-oscillating patterns in a multi scale analysis and anomalous patterns in a phenomena analysis.
  • SDs clearly display changes in amplitude and phase, thereby highlighting the co-oscillating frequencies to overcome the limited information contained in power spectrum analyses.
  • The need for better representing the degree of correspondence between simulated and observed fields for a given frequency (or frequency bands) is fulfilled by this novel tool inspired by relevant tide features.

Manual installation

First steps:

cd  PATH_TO_SAVE_SD_IN_YOUR_HOME
git clone https://github.com/mabelcalim/Spectral-Diagram.git
cd Spectral-Diagram/

A local install can be done using the provided setup.py file:

    python3 setup.py install

Pypi download
    python3 -m pip install SpecDiag==0.1.0

Support Group

users support group

Funding

This work was supported by National Counsel of Technological and Scientific Development (CNPQ), Grants No. 2012/02675-21, Coordination for the Improvement of Higher Education Personnel (CAPES) Grant No. 99999.005769/2014-00 (Migrado - BEX) (Doutorado-Sanduiche Australia), Bolsa Projeto CAPES/ANA BESM Grant No. 88887.115872/2015-01, and the National Institute for Science and Technology for Climate Change – INCT-MC Grant No. 465501/2014-1.

Owner
Mabel
Mabel
Pglive - Pglive package adds support for thread-safe live plotting to pyqtgraph

Live pyqtgraph plot Pglive package adds support for thread-safe live plotting to

Martin Domaracký 15 Dec 10, 2022
GDSHelpers is an open-source package for automatized pattern generation for nano-structuring.

GDSHelpers GDSHelpers in an open-source package for automatized pattern generation for nano-structuring. It allows exporting the pattern in the GDSII-

Helge Gehring 76 Dec 16, 2022
Function Plotter: a simple application with GUI to plot mathematical functions

Function-Plotter Function Plotter is a simple application with GUI to plot mathe

Mohamed Nabawe 4 Jan 03, 2022
HW_02 Data visualisation task

HW_02 Data visualisation and Matplotlib practice Instructions for HW_02 Idea for data analysis As I was brainstorming ideas and running through databa

9 Dec 13, 2022
A high-level plotting API for pandas, dask, xarray, and networkx built on HoloViews

hvPlot A high-level plotting API for the PyData ecosystem built on HoloViews. Build Status Coverage Latest dev release Latest release Docs What is it?

HoloViz 697 Jan 06, 2023
Simple, realtime visualization of neural network training performance.

pastalog Simple, realtime visualization server for training neural networks. Use with Lasagne, Keras, Tensorflow, Torch, Theano, and basically everyth

Rewon Child 416 Dec 29, 2022
a python function to plot a geopandas dataframe

Pretty GeoDataFrame A minimum python function (~60 lines) to draw pretty geodataframe. Based on matplotlib, shapely, descartes. Installation just use

haoming 27 Dec 05, 2022
A python script editor for napari based on PyQode.

napari-script-editor A python script editor for napari based on PyQode. This napari plugin was generated with Cookiecutter using with @napari's cookie

Robert Haase 9 Sep 20, 2022
Python package to Create, Read, Write, Edit, and Visualize GSFLOW models

pygsflow pyGSFLOW is a python package to Create, Read, Write, Edit, and Visualize GSFLOW models API Documentation pyGSFLOW API documentation can be fo

pyGSFLOW 21 Dec 14, 2022
Plotly Dash Command Line Tools - Easily create and deploy Plotly Dash projects from templates

🛠️ dash-tools - Create and Deploy Plotly Dash Apps from Command Line | | | | | Create a templated multi-page Plotly Dash app with CLI in less than 7

Andrew Hossack 50 Dec 30, 2022
This is a small repository for me to implement my simply Data Visualisation skills through Python.

Data Visualisations This is a small repository for me to implement my simply Data Visualisation skills through Python. Steam Population Chart from 10/

9 Dec 31, 2021
Active Transport Analytics Model (ATAM) is a new strategic transport modelling and data visualization framework for Active Transport as well as emerging micro-mobility modes

{ATAM} Active Transport Analytics Model Active Transport Analytics Model (“ATAM”) is a new strategic transport modelling and data visualization framew

Peter Stephan 0 Jan 12, 2022
A dashboard built using Plotly-Dash for interactive visualization of Dex-connected individuals across the country.

Dashboard For The DexConnect Platform of Dexterity Global Working prototype submission for internship at Dexterity Global Group. Dashboard for real ti

Yashasvi Misra 2 Jun 15, 2021
https://there.oughta.be/a/macro-keyboard

inkkeys Details and instructions can be found on https://there.oughta.be/a/macro-keyboard In contrast to most of my other projects, I decided to put t

Sebastian Staacks 209 Dec 21, 2022
A Graph Learning library for Humans

A Graph Learning library for Humans These novel algorithms include but are not limited to: A graph construction and graph searching class can be found

Richard Tjörnhammar 1 Feb 08, 2022
Realtime Viewer Mandelbrot set with Python and Taichi (cpu, opengl, cuda, vulkan, metal)

Mandelbrot-set-Realtime-Viewer- Realtime Viewer Mandelbrot set with Python and Taichi (cpu, opengl, cuda, vulkan, metal) Control: "WASD" - movement, "

22 Oct 31, 2022
649 Pokémon palettes as CSVs, with a Python lib to turn names/IDs into palettes, or MatPlotLib compatible ListedColormaps.

PokePalette 649 Pokémon, broken down into CSVs of their RGB colour palettes. Complete with a Python library to convert names or Pokédex IDs into eithe

11 Dec 05, 2022
Missing data visualization module for Python.

missingno Messy datasets? Missing values? missingno provides a small toolset of flexible and easy-to-use missing data visualizations and utilities tha

Aleksey Bilogur 3.4k Dec 29, 2022
LabGraph is a a Python-first framework used to build sophisticated research systems with real-time streaming, graph API, and parallelism.

LabGraph is a a Python-first framework used to build sophisticated research systems with real-time streaming, graph API, and parallelism.

MLH Fellowship 7 Oct 05, 2022
An open-source plotting library for statistical data.

Lets-Plot Lets-Plot is an open-source plotting library for statistical data. It is implemented using the Kotlin programming language. The design of Le

JetBrains 820 Jan 06, 2023