GithubHelp home page GithubHelp logo

Eddy tracking about py-eddy-tracker HOT 6 CLOSED

antsimi avatar antsimi commented on July 18, 2024
Eddy tracking

from py-eddy-tracker.

Comments (6)

AntSimi avatar AntSimi commented on July 18, 2024

First tracking use only detection file, it doesn't care of grid format

General information

area_tracker associate observations only if there is an overlap greater than 20 % between contour of observations (use effective/outter contour)
Code for area tracker here
Match function
overlap function

default tracker is based on distance between observations center, and check if amplitude and radius are close (maximal factor of 2.5 between the two observations)

Now, i use only AreaTracker which are more able to follow eddies during merging/spliting events.

General questions:

  1. Which tracker did you use it for those figures?
  2. How many days are display? 5 or more ?

Case

I guess yaml was set like that

PATHS:
  # Files produces with EddyIdentification
  FILES_PATTERN: MY_IDENTIFICATION_PATH/Anticyclonic*.nc #(5 files)
  SAVE_DIR: MY_OUTPUT_PATH
# Number of timestep for missing detection
VIRTUAL_LENGTH_MAX: 0
# Minimal time to consider as a full track
TRACK_DURATION_MIN: 3
  • Case 3 : i didn't see your identification file, but i think there are days between the untracked observation and the short track, maybe if you use VIRTUAL_LENGTH_MAX option you will join those observations, this options allow missing detection between few days
  • Case 1 : How did you do display? Currently i wonder why i saw only one contour on track subplot(top right)
  • Case 2 : Like case 1 i need more informations to understand, maybe you could share identification files and tracking configuration and tracking atlas?

You have some general informations about tracking here.

from py-eddy-tracker.

Ashwitaa avatar Ashwitaa commented on July 18, 2024

I used 'default tracker' with display of only 5 days for the figures I have attached before.
Yes, the yaml file is set like the way you've mentioned above.

How did I do the display?:--- By using effective contours in lat and lon

I also have made few tests using different regions and in some cases I see results like Case01 and Case02.

I have attached the identification and tracking files, and the tracking atlas.

files.zip

from py-eddy-tracker.

AntSimi avatar AntSimi commented on July 18, 2024

Before to look at tracking, i do a quick look on identifcation files:

from matplotlib import pyplot as plt
from py_eddy_tracker.observations.observation import EddiesObservations
from glob import glob
from os import path
import pylook
fig = plt.figure(figsize=(10,11))
ax = fig.add_axes([.05,.05,.9,.9], projection='plat_carre')
ax.set_xlim(-100,30), ax.set_ylim(-60,75), ax.grid()
anticyclones = glob('files/identification_files/A*.nc')
cyclones = glob('files/identification_files/C*.nc')
for f in anticyclones:
    EddiesObservations.load_file(f).display(ax, color='r', ref=-100, label=path.basename(f))
for f in cyclones:
    EddiesObservations.load_file(f).display(ax, color='b', ref=-100, label=path.basename(f))
ax.legend()
fig.savefig('display.png')

image

I am surprised to see so few eddies in atlantic ocean. I will look at tracking step

from py-eddy-tracker.

Ashwitaa avatar Ashwitaa commented on July 18, 2024

I forgot to inform, that the eddies what we see here are at 1500 m depth.

from py-eddy-tracker.

AntSimi avatar AntSimi commented on July 18, 2024
  • Case 1 :
    There is a jump between two structure (due to weakness of default tracker) which are a mix of distance, radius similarity and amplitude similarity, default cost fuction code
    image
    There are two missing detection (9/7/2007 and 11/7/2007)
    But only one observation was used in a path and the other go in untracked: My advice change tracker and use AreaTracker
from matplotlib import pyplot as plt
from py_eddy_tracker.observations.tracking import TrackEddiesObservations
import pylook
fig = plt.figure(figsize=(10,10))
ax = fig.add_axes([.075,.075,.85,.85], projection='plat_carre')
ax.set_xlim(-12,-9), ax.set_ylim(37,40), ax.grid()

d = TrackEddiesObservations.load_file('files/tracking_files/Cyclonic.nc')
d.plot(ax, ref=-100, label='Cyclonic path')
d.display(ax, ref=-100, label='Cyclonic contour', extern_only=True)
m = d.scatter(ax, d.time - 21000, ref=-100)
c=plt.colorbar(m, cax=fig.add_axes([0.94, 0.05, 0.01, 0.9]))
ax.legend()
fig.savefig('display_case1.png')

image

  • Case 2 :
    Similar to case 1 but with more complexity, again change tracker to areaTracker will avoid this type of problem
from matplotlib import pyplot as plt
from py_eddy_tracker.observations.tracking import TrackEddiesObservations
import pylook
fig = plt.figure(figsize=(10,10))
ax = fig.add_axes([.075,.075,.85,.85], projection='plat_carre')
ax.set_xlim(-12.5,-9.5), ax.set_ylim(34,37), ax.grid()

d = TrackEddiesObservations.load_file('files/tracking_files/Anticyclonic.nc')
d.plot(ax, ref=-100, label='Cyclonic path')
d.display(ax, ref=-100, label='Cyclonic contour', extern_only=True)
m = d.scatter(ax, d.time - 21000, ref=-100)
c=plt.colorbar(m, cax=fig.add_axes([0.94, 0.05, 0.01, 0.9]))
ax.legend()
fig.savefig('display_case2.png')

image

  • Case 3 :
    there are a missing detection on 9/7/2007, use virtual will allow to link all the observations together
    image

from py-eddy-tracker.

AntSimi avatar AntSimi commented on July 18, 2024

In summary maybe use AreaTracker and virtual (set maybe between 1 to 5 days, to avoid missing detection)

from py-eddy-tracker.

Related Issues (20)

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.