A curated list of open technology projects to sustain a stable climate, energy supply, biodiversity and natural resources.

Sea ice drift

Sea ice drift from Sentinel-1 SAR imagery using open source feature tracking.
https://github.com/nansencenter/sea_ice_drift

Category: Cryosphere
Sub Category: Sea Ice

Keywords from Contributors

resampler

Last synced: about 20 hours ago
JSON representation

Repository metadata

Sea ice drift from Sentinel-1 SAR imagery using open source feature tracking

README.md

Build Status
Coverage Status
DOI

Sea ice drift from Sentinel-1 SAR data

A computationally efficient, open source feature tracking algorithm,
called ORB, is adopted and tuned for retrieval of the first guess
sea ice drift from Sentinel-1 SAR images. Pattern matching algorithm
based on MCC calculation is used further to retrieve sea ice drift on a
regular grid.

References:

  • Korosov A.A. and Rampal P., A Combination of Feature Tracking and Pattern Matching with Optimal Parametrization for Sea Ice Drift Retrieval from SAR Data, Remote Sens. 2017, 9(3), 258; doi:10.3390/rs9030258
  • Muckenhuber S., Korosov A.A., and Sandven S., Open-source feature-tracking algorithm for sea ice drift retrieval from Sentinel-1 SAR imagery, The Cryosphere, 10, 913-925, doi:10.5194/tc-10-913-2016, 2016

Running with Docker

# run ipython with SeaIceDrift
docker run --rm -it -v /path/to/data:/home/jovyan/work nansencenter/seaicedrift ipython

# run jupyter notebook with SeaIceDrift
docker run --rm -p 8888:8888 -v /path/to/data/and/notebooks:/home/jovyan/work nansencenter/seaicedrift

Installation on Ubuntu

# install some requirements with apt-get
apt-get install -y --no-install-recommends libgl1-mesa-glx gcc build-essential

# install some requirements with conda
conda install -c conda-forge gdal cartopy opencv

# install other requirements with pip
pip install netcdf4 nansat

# clone code
git clone https://github.com/nansencenter/sea_ice_drift.git
cd sea_ice_drift

# install SeaIceDrift
python setup.py install

Usage example

# download example datasets
wget https://github.com/nansencenter/sea_ice_drift_test_files/raw/master/S1B_EW_GRDM_1SDH_20200123T120618.tif
wget https://github.com/nansencenter/sea_ice_drift_test_files/raw/master/S1B_EW_GRDM_1SDH_20200125T114955.tif

# start Python and import relevant libraries
import numpy as np
import matplotlib.pyplot as plt
from nansat import Nansat
from sea_ice_drift import SeaIceDrift

# open pair of satellite images using Nansat and SeaIceDrift
filename1='S1B_EW_GRDM_1SDH_20200123T120618.tif'
filename2='S1B_EW_GRDM_1SDH_20200125T114955.tif'
sid = SeaIceDrift(filename1, filename2)

# run ice drift retrieval using Feature Tracking
uft, vft, lon1ft, lat1ft, lon2ft, lat2ft = sid.get_drift_FT()

# plot
plt.quiver(lon1ft, lat1ft, uft, vft);plt.show()

# define a grid (e.g. regular)
lon1pm, lat1pm = np.meshgrid(np.linspace(-33.5, -30.5, 50),
                             np.linspace(83.6, 83.9, 50))

# run ice drift retrieval for regular points using Pattern Matching
# use results from the Feature Tracking as the first guess
upm, vpm, apm, rpm, hpm, lon2pm, lat2pm = sid.get_drift_PM(
        lon1pm, lat1pm,
        lon1ft, lat1ft,
        lon2ft, lat2ft)
# select high quality data only
gpi = rpm*hpm > 4

# plot high quality data on a regular grid
plt.quiver(lon1pm[gpi], lat1pm[gpi], upm[gpi], vpm[gpi], rpm[gpi])

Full example here

Feature Tracking and the first SAR image

Pattern Matching and the second SAR image


Owner metadata


GitHub Events

Total
Last Year

Committers metadata

Last synced: 6 days ago

Total Commits: 199
Total Committers: 5
Avg Commits per committer: 39.8
Development Distribution Score (DDS): 0.106

Commits in past year: 1
Committers in past year: 1
Avg Commits per committer in past year: 1.0
Development Distribution Score (DDS) in past year: 0.0

Name Email Commits
akorosov k****v@g****m 178
Stefan Muckenhuber s****c@S****l 17
stefanmuckenhuber s****r@g****m 2
Ashwin Nair a****5@g****m 1
tdcwilliams t****s@g****m 1

Committer domains:


Issue and Pull Request metadata

Last synced: 2 days ago

Total issues: 27
Total pull requests: 3
Average time to close issues: 5 months
Average time to close pull requests: 2 days
Total issue authors: 15
Total pull request authors: 3
Average comments per issue: 2.04
Average comments per pull request: 0.0
Merged pull request: 3
Bot issues: 0
Bot pull requests: 0

Past year issues: 1
Past year pull requests: 0
Past year average time to close issues: N/A
Past year average time to close pull requests: N/A
Past year issue authors: 1
Past year pull request authors: 0
Past year average comments per issue: 0.0
Past year average comments per pull request: 0
Past year merged pull request: 0
Past year bot issues: 0
Past year bot pull requests: 0

More stats: https://issues.ecosyste.ms/repositories/lookup?url=https://github.com/nansencenter/sea_ice_drift

Top Issue Authors

  • akorosov (7)
  • hamoun1981 (3)
  • lucearth (3)
  • SAMPHY86 (3)
  • tdcwilliams (1)
  • QianShisysu (1)
  • loniitkina (1)
  • jthargrove (1)
  • mitkin (1)
  • Linkersem (1)
  • LooperzZ (1)
  • schuman12 (1)
  • tsafs (1)
  • Antarekai (1)
  • YU9684 (1)

Top Pull Request Authors

  • tdcwilliams (1)
  • akorosov (1)
  • ashnair1 (1)

Top Issue Labels

  • enhancement (1)

Top Pull Request Labels


Dependencies

setup.py pypi
  • nansat *
Dockerfile docker
  • jupyter/minimal-notebook latest build

Score: 5.5012582105447265