esa-climate-from-space

Climate from Space application for ESA's CCI+ program.

https://github.com/ubilabs/esa-climate-from-space

Science Score: 36.0%

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

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
    1 of 17 committers (5.9%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (11.9%) to scientific vocabulary

Keywords from Contributors

sequences clade projection interactive serializer cycles packaging charts network-simulation archival
Last synced: 10 months ago · JSON representation

Repository

Climate from Space application for ESA's CCI+ program.

Basic Info
  • Host: GitHub
  • Owner: ubilabs
  • License: other
  • Language: TypeScript
  • Default Branch: develop
  • Homepage: https://cfs.climate.esa.int
  • Size: 673 MB
Statistics
  • Stars: 12
  • Watchers: 3
  • Forks: 3
  • Open Issues: 94
  • Releases: 34
Created over 7 years ago · Last pushed 11 months ago
Metadata Files
Readme Changelog License

README.md

Climate from Space application for ESAs CCI+ program.

Web Version

  • Staging: https://storage.googleapis.com/esa-cfs-versions/web/develop/index.html
  • Live: https://storage.googleapis.com/esa-cfs-versions/web/master/index.html
  • Releases: https://storage.googleapis.com/esa-cfs-versions/web/${VERSION}/index.html (e.g. ${VERSION} = 0.4.0)

Desktop App

Besides the web version we also deliver a native Electron app to download and run on a local machine. This app also offers a "Safe for Offline Usage" feature which allows to download data and view it later without an active internet connection.

The native app releases can be downloaded from:

  • Windows https://storage.googleapis.com/esa-cfs-versions/electron/${VERSION}/esa-climate-from-space-${VERSION}-win.exe
  • MacOs https://storage.googleapis.com/esa-cfs-versions/electron/${VERSION}/esa-climate-from-space-${VERSION}-mac.zip
  • Linux https://storage.googleapis.com/esa-cfs-versions/electron/${VERSION}/esa-climate-from-space-${VERSION}-linux.zip

Note: Be sure to replace the VERSION number e.g. (0.4.0 -> https://storage.googleapis.com/esa-cfs-versions/electron/0.4.0/esa-climate-from-space-0.4.0-win.exe)

Installation

To run the native app just run the .exe file (Windows) or unpack the .zip archive (Linunx/MacOS) and run the containing app/binary file. Versions < 1.0.0 are not signed and may prompt a Security Warning from your Operating System.

Development

Requirements

Following software is required to develop for this project:

  • node.js (>= 10)
  • npm

Installation

After cloning the repository, install all dependencies:

sh npm install # install new dependencies

Run

Run the following command to start the server on localhost:

sh npm start # start the server

Build Web

Run the following command to build a production ready version of the web part:

sh npm run build

The final output will be in a folder called dist in the project's root directory.

Build Native Electron App

Run the following command to build a production ready version of the electron part:

sh npm run electron:build

The final output will be in a folder called dist-electron in the project's root directory.

Release New Version

Run the following command to create a new tagged release.

sh npm version <major|minor|patch>

A new git branch chore/release-${VERSION} will be pushed. Create PR and merge into develop branch (merge not squash to keep the tag).

Cloud Build will build and upload a new develop version once merged (https://storage.googleapis.com/esa-cfs-versions/web/develop/index.html)

Merge develop into master. Once merged Cloud Build will build and upload new master version (https://storage.googleapis.com/esa-cfs-versions/web/master/index.html).

In addition all remote files on cloud storage have to be updated to the new version folder. Run the follwing command with the correct version numbers:

sh ./scripts/increase-storage-version.sh <old_version> <new_version> # e.g. increase-storage-version 0.9.3 1.0.0

Copy the master web application files into a separate version folder gsutil cp -r gs://esa-cfs-versions/web/master/* gs://esa-cfs-versions/web/{VERSION}/

Trigger the electron build task on Cloud build for the master branch (https://console.cloud.google.com/cloud-build/triggers?project=esa-climate-from-space)

Copy the master electron application files into a separate version folder gsutil cp -r gs://esa-cfs-versions/electron/master/*{VERSION}* gs://esa-cfs-versions/electron/{VERSION}/

Add new story (content)

To add a new story or update content, follow these steps:

  1. Prepare the content:

    • Use the Story Mapper tool, which is a GCP Cloud Function
    • The tool takes a spreadsheet and a story ID as input and transforms it into a valid story JSON
  2. Update the necessary files:

    • Add the new story to all language variants of the stories index file (stories-en.json, stories-de.json, etc.)
    • Create a new directory with translation files in /stories/story-[id]/ (where [id] is the story number)
    • Ensure all required language versions are included (e.g., story-[id]-en.json, story-[id]-de.json)
  3. Deploy the changes:

    • Merge the new files into the develop branch
    • Use the upload-stories script to upload the updated content to cloud storage
    • Test the new story on the staging environment before proceeding to production

Contact

Owner

  • Name: Ubilabs
  • Login: ubilabs
  • Kind: organization
  • Email: coding@ubilabs.com
  • Location: Hamburg, Germany

GitHub Events

Total
  • Create event: 130
  • Release event: 2
  • Issues event: 160
  • Watch event: 2
  • Delete event: 104
  • Issue comment event: 76
  • Push event: 448
  • Pull request review comment event: 214
  • Pull request review event: 239
  • Pull request event: 244
  • Gollum event: 10
Last Year
  • Create event: 130
  • Release event: 2
  • Issues event: 160
  • Watch event: 2
  • Delete event: 104
  • Issue comment event: 76
  • Push event: 448
  • Pull request review comment event: 214
  • Pull request review event: 239
  • Pull request event: 244
  • Gollum event: 10

Committers

Last synced: about 1 year ago

All Time
  • Total Commits: 1,627
  • Total Committers: 17
  • Avg Commits per committer: 95.706
  • Development Distribution Score (DDS): 0.768
Past Year
  • Commits: 408
  • Committers: 11
  • Avg Commits per committer: 37.091
  • Development Distribution Score (DDS): 0.387
Top Committers
Name Email Commits
Katherina Marcenko 4****a 378
StoryMapper s****r@u****m 363
immobe i****k@g****m 266
Philipp Wambach p****h 246
ubilabs CI bot 3****i 103
Patrick Mast m****t@u****t 54
Andreas Helms a****s@M****l 53
dependabot[bot] 4****] 44
Malte Modrow m****w@u****t 36
andreashelms h****s@u****t 33
Andreas Helms a****s@M****x 27
Frank Mecklenburg m****g@u****t 7
Martin Schuhfuss m****s@g****m 6
Andreas Helms a****s@M****x 5
Natalie Stroud s****1@n****u 2
Andreas Helms a****s@M****l 2
Martin Kleppe k****e@u****t 2
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 10 months ago

All Time
  • Total issues: 643
  • Total pull requests: 1,541
  • Average time to close issues: about 2 months
  • Average time to close pull requests: 6 days
  • Total issue authors: 11
  • Total pull request authors: 12
  • Average comments per issue: 0.53
  • Average comments per pull request: 0.09
  • Merged pull requests: 1,344
  • Bot issues: 0
  • Bot pull requests: 77
Past Year
  • Issues: 113
  • Pull requests: 321
  • Average time to close issues: 10 days
  • Average time to close pull requests: 2 days
  • Issue authors: 5
  • Pull request authors: 4
  • Average comments per issue: 0.37
  • Average comments per pull request: 0.18
  • Merged pull requests: 228
  • Bot issues: 0
  • Bot pull requests: 21
Top Authors
Issue Authors
  • pmast (260)
  • annikabock (105)
  • JuJuPlath (100)
  • KatvonRivia (53)
  • Immo-Be (48)
  • andreashelms (45)
  • aemkei (16)
  • usefulthink (7)
  • pwambach (6)
  • ubilabs-ci (2)
  • yfr (1)
Pull Request Authors
  • ubilabs-ci (364)
  • KatvonRivia (340)
  • pwambach (242)
  • andreashelms (217)
  • Immo-Be (215)
  • dependabot[bot] (77)
  • pmast (56)
  • mrMetalWood (17)
  • usefulthink (7)
  • yfr (4)
  • natastro (1)
  • aemkei (1)
Top Labels
Issue Labels
Data Mode (61) pilot-story (57) Datasets (54) Story Mode (50) bug (48) grundsätzliche Anf. (37) Chore (15) Presenter Mode (13) Offline Mode (12) S 💪 🐜 (10) Showcase Mode (9) M 💪 💪 🐎 (7) Question (2) L 💪 💪 💪 🐘 (2) design (1) On hold (1)
Pull Request Labels
dependencies (77) javascript (14)

Dependencies

package-lock.json npm
  • 1501 dependencies
package.json npm
  • @types/classnames ^2.2.9 development
  • @types/lodash.debounce ^4.0.6 development
  • @types/lodash.intersection ^4.4.6 development
  • @types/node ^12.12.6 development
  • @types/react ^16.9.19 development
  • @types/react-dom ^16.9.5 development
  • @types/react-redux ^7.1.7 development
  • @types/redux-thunk ^2.1.0 development
  • @types/video.js ^7.3.31 development
  • @types/youtube-player ^5.5.3 development
  • @typescript-eslint/eslint-plugin ^2.19.2 development
  • @typescript-eslint/parser ^2.19.2 development
  • canvas ^2.9.1 development
  • classnames ^2.2.6 development
  • conventional-changelog-cli ^2.0.31 development
  • copy-webpack-plugin ^5.1.1 development
  • css-loader ^3.4.2 development
  • electron ^11.5.0 development
  • electron-builder ^22.7.0 development
  • eslint ^6.8.0 development
  • eslint-config-prettier ^6.10.0 development
  • eslint-plugin-react ^7.18.3 development
  • eslint-plugin-react-hooks ^2.3.0 development
  • file-loader ^4.3.0 development
  • git-state ^4.1.0 development
  • html-webpack-plugin ^3.2.0 development
  • imagemin-cli ^6.0.0 development
  • license-checker ^25.0.1 development
  • mini-css-extract-plugin ^0.8.2 development
  • optimize-css-assets-webpack-plugin ^5.0.3 development
  • prettier ^1.19.1 development
  • strip-pragma-loader ^1.0.0 development
  • style-loader ^1.1.3 development
  • stylint ^2.0.0 development
  • stylus ^0.54.7 development
  • stylus-loader ^3.0.2 development
  • stylus-supremacy ^2.14.0 development
  • terser-webpack-plugin ^2.3.5 development
  • ts-loader ^6.2.1 development
  • typescript ^3.7.5 development
  • video.js ^7.17.0 development
  • webpack ^4.41.6 development
  • webpack-cli ^3.3.11 development
  • webpack-dev-server ^3.11.0 development
  • @datapunt/matomo-tracker-react ^0.2.1
  • @types/react-router-dom ^5.1.3
  • @types/redux-logger ^3.0.7
  • cesium ^1.73.0
  • cross-zip ^3.0.0
  • electron-is-dev ^1.2.0
  • framer-motion ^1.8.4
  • lodash.debounce ^4.0.8
  • lodash.intersection ^4.4.0
  • react ^16.12.0
  • react-dom ^16.12.0
  • react-intl ^3.12.0
  • react-markdown ^4.3.1
  • react-redux ^7.1.3
  • react-router-dom ^5.1.2
  • react-youtube ^7.13.1
  • redux ^4.0.5
  • redux-logger ^3.0.6
  • redux-thunk ^2.3.0
ci/docker/cate/Dockerfile docker
  • continuumio/miniconda3 latest build
ci/docker/electron-builder/Dockerfile docker
  • electronuserland/builder latest build
ci/docker/tile-mover/Dockerfile docker
  • ubuntu 18.04 build
ci/docker/xcube/Dockerfile docker
  • continuumio/miniconda3 latest build
pipeline/Dockerfile docker
  • apache/airflow 2.8.1 build
ci/docker/toolbox/Dockerfile docker
  • condaforge/miniforge3 latest build