Git Product home page Git Product logo

tintx's Introduction

TintX (Tint is not TITAN) tracking algorithm for any kind of input data

Documentation Status License tests codecov PyPI version Anaconda-Server Badge Latest Binder

TintX is an adaptation of the tint tracking algorithm. Tint and tintX are easy-to-use storm cell tracking packages. While Tint is meant to be applied to radar data using the py-ART toolkit tintX can be applied with any data - for example output from numerical weather prediction models. The original tracking algorithm has been developed by a team of researchers at Monash University Raut et al. 2020.

Installation

The tintX package can be installed using the conda-froge conda channel:

conda install -c conda-forge tintx

Alternatively the package can be installed with pip:

python -m pip install tintx

Usage

Documentation can be found on the official documentation page of this library.

If you just want to try the usage and play with tracking data you can follow this link to launch and familiarise yourself with the tracking by executing one of the example notebooks.

Contributing

Any contributions to improve this software in any way are welcome. Below is a check list that makes sure your contributions can be added as fast as possible to tintX:

  • Create a fork of this repository and clone this fork (not the original code)
  • Create a new branch in the forked repository git checkout -b my-new-branch
  • Add your changes
  • Make sure all tests are sill running. To do so run the following commands
    • make lint
    • make test
    • make docs
  • Create a new pull request to the main branch of the original repository.

Adding new Jupyter examples

You can add more examples to the docs/source documentation folder. Because notebooks are executed automatically by the unit tests GitHub workflow, you should make sure that any additional dependencies imported in the notebook are added to the docs section in the setup.py. All notebooks should be run with a kernel called tintx to install a new kernel named tintx run the following command in the root directory of the cloned repository:

python -m ipykernel install --name tintx --display-name "tintX kernel"\
    --env DATA_FIELS $PWD/docs/source/_static/data --user

Make also sure to add additional link(s) to the notebook readme file.

Acknowledgements

This work is the adaptation of tracking code in R created by Bhupendra Raut who was working at Monash University, Australia in the Australian Research Council's Centre of Excellence for Climate System Science led by Christian Jakob. This work was supported by the Department of Energy, Atmospheric Systems Research (ASR) under Grant DE-SC0014063, “The vertical structure of convective mass-flux derived from modern radar systems - Data analysis in support of cumulus parametrization”

The development of this software was funded by the Australian Research Council's Centre of Excellence for Climate Extremes under the funding number CE170100023.

tintx's People

Contributors

antarcticrainforest avatar dependabot[bot] avatar github-actions[bot] avatar kmuehlbauer avatar mjucker avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

tintx's Issues

Plotting longitudes beyond -180,180

Currently, plot_trajectories() works for data in the [-180,180] domain for longitude. It only shows half the globe if the data is on a [0,360] domain.

Polygons sometimes inverted

Hi,

Firstly I'd like to thank the team for producing such an amazing package!

I'm having an issue where the polygons defining the area of the object are sometimes inverted. That is, the area where the condition is not satisfied is marked, while everything else stays correct (e.g. the position and boundaries of the object).

See an example below, where I've created a moving Gaussian for the algorithm to detect (hopefully the animation is viewable!). In the last few frames you can see the inversion occur -- it seems to be when the object moves onto the boundary of the domain. (I can also send through the notebook I used to create this, but it seems Github doesn't like .ipynb files.)

test_tintx_animation.mp4

Thanks for any help!

Question about data preprocessing

Hello! First I would like to congratulate you for the excellent work! I'm from Brazil and I work with weather radar data and I was very excited to test your application. I would like to ask a question:

Can I do some sort of processing for the clusters before running your application or is this already done in the application? I ask you this question because I was thinking about doing the DBSCAN processing and entering the data into your algorithm.

Currently I open the radar files with Py-ART and my idea was to put this data inside your algorithm to perform some tests.

Thank you!

Periodic domains

Currently any track disappears when hitting the boundaries. However, in some cases one would like to include periodicity. For instance, global weather data is periodic in longitude. Or, many RCE calculations are on doubly periodic domains.

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.