DINCAE

DINCAE (Data-Interpolating Convolutional Auto-Encoder) is a neural network to reconstruct missing data in satellite observations.

https://github.com/gher-uliege/dincae.jl

Science Score: 67.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 21 DOI reference(s) in README
  • Academic publication links
    Links to: zenodo.org
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (14.7%) to scientific vocabulary

Keywords

earth-observation julia machine-learning satellite-data

Keywords from Contributors

oceanography climate-and-forecast-conventions climatology meteorology opendap
Last synced: 6 months ago · JSON representation ·

Repository

DINCAE (Data-Interpolating Convolutional Auto-Encoder) is a neural network to reconstruct missing data in satellite observations.

Basic Info
  • Host: GitHub
  • Owner: gher-uliege
  • License: gpl-3.0
  • Language: Julia
  • Default Branch: main
  • Homepage:
  • Size: 1.16 MB
Statistics
  • Stars: 30
  • Watchers: 5
  • Forks: 7
  • Open Issues: 4
  • Releases: 7
Topics
earth-observation julia machine-learning satellite-data
Created over 4 years ago · Last pushed 8 months ago
Metadata Files
Readme License Citation

README.md

Build Status codecov documentation stable documentation dev DOI

DINCAE.jl

DINCAE (Data-Interpolating Convolutional Auto-Encoder) is a neural network to reconstruct missing data in satellite observations. This repository contains the Julia port of DINCAE. The original Python code is no longer maintained.

Utilities (for plotting and data preparation) are available in a separate repository https://github.com/gher-uliege/DINCAE_utils.jl

The method is described in the following articles:

  • Barth, A., Alvera-Azcárate, A., Licer, M., & Beckers, J.-M. (2020). DINCAE 1.0: a convolutional neural network with error estimates to reconstruct sea surface temperature satellite observations. Geoscientific Model Development, 13(3), 1609–1622. https://doi.org/10.5194/gmd-13-1609-2020
  • Barth, A., Alvera-Azcárate, A., Troupin, C., & Beckers, J.-M. (2022). DINCAE 2.0: multivariate convolutional neural network with error estimates to reconstruct sea surface temperature satellite and altimetry observations. Geoscientific Model Development, 15(5), 2183–2196. https://doi.org/10.5194/gmd-15-2183-2022

(click here for the BibTeX entry).

Panel (a) is the original data where we have added clouds (panel (b)). The reconstuction based on the data in panel (b) is shown in panel (c) together with its expected standard deviation error (panel (d))

DINCAE is intended to be used with a GPU with CUDA support (NVIDIA GPU). The code can also run on a CPU but which will be quite slow.

Installation

You need Julia (version 1.9 or later) to run DINCAE. The command line interface of Julia is sufficient for DINCAE. If you are using Linux (on a x86_64 CPU), installing and running Julia is as easy as running these shell commands:

bash curl -fsSL https://install.julialang.org | sh

For more information, other platforms and the current julia version, please see platform specific instructions for further installation instructions. You can check the latest available version of Julia at https://julialang.org/downloads but avoid beta releases and release candidates if you are new to Julia.

Inside a Julia terminal, you can download and install DINCAE and DINCAE_utils by issuing these commands:

julia using Pkg Pkg.add(url="https://github.com/gher-uliege/DINCAE.jl", rev="main") Pkg.add(url="https://github.com/gher-uliege/DINCAE_utils.jl", rev="main")

CUDA support

To enable (optional) CUDA support on NVIDIA GPUs one need to install also the packages CUDA and cuDNN:

julia using Pkg Pkg.add("CUDA") Pkg.add("cuDNN")

With some adaptions to DINCAE.jl, one can probably also use AMD GPUs (with the package AMDGPU) and Apple Silicon (with the package Metal). PRs to implement support of these GPUs would be very welcome.

After this, you should be able to load DINCAE with:

julia using DINCAE

Checking CUDA installation

To confirm that CUDA is functional to use the GPU (otherwise the CPU is used and the code will be much slower), the following command: julia CUDA.functional() should return true.

Updating DINCAE

To update DINCAE, run the following command and restart Julia (or restart the jupyter notebook kernel using Kernel -> Restart):

julia using Pkg Pkg.update("DINCAE")

Note that Julia does not directly delete the previous installed version. To check if you have the latest version run the following command:

julia using Pkg Pkg.status()

The latest version number is available from here.

Documentation

More information is available in the documentation and the tutorial (available as script and jupyter notebook).

Publications

About the code

  • Barth, A., Alvera-Azcárate, A., Licer, M., & Beckers, J.-M. (2020). DINCAE 1.0: a convolutional neural network with error estimates to reconstruct sea surface temperature satellite observations. Geoscientific Model Development, 13(3), 1609–1622. https://doi.org/10.5194/gmd-13-1609-2020
  • Barth, A., Alvera-Azcárate, A., Troupin, C., & Beckers, J.-M. (2022). DINCAE 2.0: multivariate convolutional neural network with error estimates to reconstruct sea surface temperature satellite and altimetry observations. Geoscientific Model Development, 15(5), 2183–2196. https://doi.org/10.5194/gmd-15-2183-2022

Applications

  • Han, Z., He, Y., Liu, G., & Perrie, W. (2020). Application of DINCAE to Reconstruct the Gaps in Chlorophyll-a Satellite Observations in the South China Sea and West Philippine Sea. Remote Sensing, 12(3), 480. https://doi.org/10.3390/rs12030480
  • Ji, C., Zhang, Y., Cheng, Q., & Tsou, J. Y. (2021). Investigating ocean surface responses to typhoons using reconstructed satellite data. International Journal of Applied Earth Observation and Geoinformation, 103, 102474. https://doi.org/10.1016/j.jag.2021.102474
  • Jung, S., Yoo, C., & Im, J. (2022). High-Resolution Seamless Daily Sea Surface Temperature Based on Satellite Data Fusion and Machine Learning over Kuroshio Extension. Remote Sensing, 14(3), 575. https://doi.org/10.3390/rs14030575
  • Luo, X., Song, J., Guo, J., Fu, Y., Wang, L. & Cai, Y. (2022). Reconstruction of chlorophyll-a satellite data in Bohai and Yellow sea based on DINCAE method International. Journal of Remote Sensing, 43, 3336-3358. https://doi.org/10.1080/01431161.2022.2090872

Thank you for citing relevant previous work in DINCAE if you make a scientific publication. A bibtex entry can be generated from the DOI by using for example curl -LH "Accept: application/x-bibtex" 'https://doi.org/10.5194/gmd-15-2183-2022'.

Feel free to add your publications by making a pull request or opening an issue.

Owner

  • Name: GHER
  • Login: gher-uliege
  • Kind: organization
  • Location: Sart Tilman, Liège, Belgium

The GHER is a research group of the University of Liège. It is focused on marine and environmental study and modelling.

Citation (CITATION.bib)

@Article{gmd-13-1609-2020,
AUTHOR = {Barth, A. and Alvera-Azc\'arate, A. and Licer, M. and Beckers, J.-M.},
TITLE = {DINCAE 1.0: a convolutional neural network with error estimates to reconstruct sea surface temperature satellite observations},
JOURNAL = {Geoscientific Model Development},
VOLUME = {13},
YEAR = {2020},
NUMBER = {3},
PAGES = {1609--1622},
URL = {https://gmd.copernicus.org/articles/13/1609/2020/},
DOI = {10.5194/gmd-13-1609-2020}
}

@Article{gmd-15-2183-2022,
AUTHOR = {Barth, A. and Alvera-Azc\'arate, A. and Troupin, C. and Beckers, J.-M.},
TITLE = {DINCAE 2.0: multivariate convolutional neural network with error estimates to reconstruct sea surface temperature satellite and altimetry observations},
JOURNAL = {Geoscientific Model Development},
VOLUME = {15},
YEAR = {2022},
NUMBER = {5},
PAGES = {2183--2196},
URL = {https://gmd.copernicus.org/articles/15/2183/2022/},
DOI = {10.5194/gmd-15-2183-2022}
}

GitHub Events

Total
  • Create event: 2
  • Commit comment event: 1
  • Issues event: 2
  • Watch event: 7
  • Issue comment event: 3
  • Push event: 57
  • Fork event: 2
Last Year
  • Create event: 2
  • Commit comment event: 1
  • Issues event: 2
  • Watch event: 7
  • Issue comment event: 3
  • Push event: 57
  • Fork event: 2

Committers

Last synced: about 2 years ago

All Time
  • Total Commits: 165
  • Total Committers: 5
  • Avg Commits per committer: 33.0
  • Development Distribution Score (DDS): 0.115
Past Year
  • Commits: 47
  • Committers: 5
  • Avg Commits per committer: 9.4
  • Development Distribution Score (DDS): 0.277
Top Committers
Name Email Commits
Alexander Barth b****r@g****m 146
Charles Troupin c****n 10
ctroupin c****n@u****e 4
Charles Troupin c****n@g****m 3
Kene Uba j****a@p****h 2
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 18
  • Total pull requests: 10
  • Average time to close issues: 24 days
  • Average time to close pull requests: about 11 hours
  • Total issue authors: 7
  • Total pull request authors: 3
  • Average comments per issue: 4.39
  • Average comments per pull request: 0.5
  • Merged pull requests: 4
  • Bot issues: 0
  • Bot pull requests: 5
Past Year
  • Issues: 2
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 2
  • Pull request authors: 0
  • Average comments per issue: 0.0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • ctroupin (10)
  • EhsanMehdipour (2)
  • Alexander-Barth (2)
  • uganzedo1974 (1)
  • JuliaTagBot (1)
  • FranckzGithub (1)
  • jmbeckers (1)
Pull Request Authors
  • github-actions[bot] (5)
  • ctroupin (5)
  • keduba (1)
Top Labels
Issue Labels
bug (5) documentation (2) enhancement (2) help wanted (1)
Pull Request Labels
documentation (3) enhancement (1)

Packages

  • Total packages: 1
  • Total downloads:
    • julia 2 total
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 5
juliahub.com: DINCAE

DINCAE (Data-Interpolating Convolutional Auto-Encoder) is a neural network to reconstruct missing data in satellite observations.

  • Versions: 5
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 2 Total
Rankings
Dependent repos count: 9.9%
Average: 32.7%
Forks count: 33.3%
Dependent packages count: 38.9%
Stargazers count: 48.5%
Last synced: 6 months ago

Dependencies

.github/workflows/CompatHelper.yml actions
  • julia-actions/setup-julia latest composite
.github/workflows/Documenter.yml actions
  • actions/checkout v2 composite
  • julia-actions/julia-buildpkg latest composite
  • julia-actions/julia-docdeploy latest composite
.github/workflows/TagBot.yml actions
  • JuliaRegistries/TagBot v1 composite
.github/workflows/ci.yml actions
  • actions/cache v1 composite
  • actions/checkout v2 composite
  • codecov/codecov-action v1 composite
  • julia-actions/julia-buildpkg v1 composite
  • julia-actions/julia-processcoverage v1 composite
  • julia-actions/julia-runtest v1 composite
  • julia-actions/setup-julia v1 composite