Skip to content
Jonathan Thiry edited this page Sep 3, 2019 · 2 revisions

Core Services Overview

The Carbon Portal is a set of services to collect, store, and distribute ICOS data (and more). This infrastructure is also used for the SITES data portal. These services are mostly written in Scala and JavaScript.

Data

The data service stores the uploaded data as files on disk. Depending on the data type, these files can be processed during the upload to generate a binary representation of the data, allowing for a fast preview of the data.

Frontends

  • Portal (Carbon PortalSITES): The data portal is the main way to access our data. It is a React/Redux JavaScript app that queries our metadata store using SPARQL.
  • Stats (Carbon PortalSITES): A React/Redux app to view download and preview statistics about our data.
  • Dygraph: A JavaScript wrapper to preview time series using the dygraph charting library inside the data portal.
  • NetCDF: NetCDF files preview inside the data portal.
  • Map-Graph: An app to preview data with ship tracks inside the portal. It displays both a map and dygraph.

View project on Github

Metadata

The metadata service stores metadata associated to uploaded data and exposes it through a SPARQL API.

Frontends

  • Upload (Carbon PortalSITES): A frontend to upload data. Once you login, the metadata is submitted using your API token, the data is validated, and then uploaded to our storage.
  • Metadata editing (Carbon PortalSITES): An internal app to edit reusable metadata.
  • SPARQL Client (Carbon Portal): An interface to write SPARQL queries against our metadata store.

View project on Github

Authentication (Carbon PortalSITES)

The authentication service allows people to create an account. It allows you to permanently accept the data license so you don't have to accept it every time you want to download data. After being granted submitter rights, you can use the upload form or the API token found in your profile to upload data to the portal. More information about the upload can be found on Github.

View project on Github

Restheart

A MongoDB with a rest API used to store usage statistics.

View project on Github

RDF Log

RDF Log is a Postgres database that contains every an history of every RDF statement applied to the metadata. It is the base on top of which the SPARQL engine is instantiated.

View project on Github

DOI Minting (Carbon Portal)

The DOI minting service uses DataCite to mint DOIs.

View project on Github