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 10 DOI reference(s) in README -
✓Academic publication links
Links to: zenodo.org -
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (13.3%) to scientific vocabulary
Repository
O3as (API): Ozone assessment service (API)
Basic Info
- Host: GitHub
- Owner: EOSC-synergy
- License: gpl-3.0
- Language: Python
- Default Branch: master
- Size: 1.54 MB
Statistics
- Stars: 2
- Watchers: 5
- Forks: 2
- Open Issues: 1
- Releases: 4
Metadata Files
README.md
REST API for the O3as service
O3as is a service for Ozone (O3) Assessment, http://o3as.data.kit.edu/
Description
O3as REST API (o3api) provides:
- Access to O3as (ozone assessment) skimmed data, produced by the o3skim component
- Information about used Climate Models
- Ability to produce ozone plots (e.g. tco3zm, tco3return) in either PDF or JSON format
The API leverages Swagger, Flask, and Connexion, and it is based on OpenAPI v3 standards.
Documentation
More details about the O3as service and API can be found in our documentation.
Quick start
O3as API is primarily meant to be run as a container application, e.g. either by using docker, docker-compose, udocker or in Kubernetes.
Skimmed Climate model data
In order to run the application, you need to provide corresponding Climate Model data. A publicly available published dataset can be downloaded from DOI: 10.35097/675.
Docker images
Pre-built Docker images can be found in our Docker Hub repository: https://hub.docker.com/r/o3as/o3api/tags .
N.B.: If you want to rebuild images, the Dockerfile is located in the docker/ directory.
Using docker
To start a container which would provide REST API to process a dataset, use e.g. the following:
sh
docker run --rm \
-v /path/to/data:/srv/o3api/data:ro \
-p 5005:5005 \
o3as/o3api:{tag} \
where tag = latest (or xx.yy.zz for the particular version).
You may need to adjust O3AS_DATA_BASEPATH environment variable to indicate the path to the Skimmed data.
Or see o3as-docker-example.sh example shell script in the docker/ directory.
Using docker-compose
An exampled docker-compose.yaml can be found in the docker/ directory.
- To start o3api as a daemon:
docker-compose -f docker/docker-compose.yaml up -d - If you want to build your own image and immediately run:
docker-compose -f docker/docker-compose.yaml up -d --build - To stop run:
docker-compose -f docker/docker-compose.yaml down
Using udocker
In cases where your user cannot get administration rights, the alternative is to use udocker.
How to install udocker
If udocker is not installed, do:
sh
curl https://raw.githubusercontent.com/indigo-dc/udocker/master/udocker.py > udocker
chmod u+rx ./udocker
mv udocker $HOME/.local/bin # (or something in your PATH)
udocker install
More INFO: https://github.com/indigo-dc/udocker/blob/master/doc/installation_manual.md
Running with udocker
The standard way to work with udocker is:
- PULL the provided Docker image and CREATE Container In the computer where to run with udocker, download the image and create a container:
udocker pull o3as/o3api:{tag}
To download the image from the Docker Hub registry.udocker create --name={container-name} o3as/o3api:{tag}
To create the corresponding container on your system.
NB: creating container may take a few minutes...
udocker setup --execmode=F3 {container-name}
To change execmode, if needed
- RUN the container
In a similar way it would be done with docker, you can run:
sh udocker run \ -v /path/to/data:/srv/o3api/data:ro \ {container-name}Do not forget to indicate the correct path for your data, e.g. you may need to adjustO3AS_DATA_BASEPATHenvironment variable to indicate the path to Skimmed data.
Deploying in Kubernetes
A set of configuration files to deploy in Kubernetes can be found in another repository: o3k8s
Contributing
Please, see our CONTRIBUTING description and the CODE OF CONDUCT.
License
This code is distributed under the GNU GPLv3 License. Please, see the LICENSE file
Authors and acknowledgment
For citing, please, use:
and also check the CITATION.cff
@Authors: Valentin Kozlov, Borja Esteban, Tobias Kerzenmacher (KIT)
Copyright (c) 2020 - 2022 Karlsruhe Institute of Technology - Steinbuch Centre for Computing.
Owner
- Name: Project EOSC-synergy
- Login: EOSC-synergy
- Kind: organization
- Email: coordinator@eosc-synergy.eu
- Website: www.eosc-synergy.eu
- Repositories: 495
- Profile: https://github.com/EOSC-synergy
Citation (CITATION.cff)
cff-version: 1.2.0
message: "If you use this software, please cite it as below."
authors:
- family-names: Kozlov
given-names: Valentin
orcid: https://orcid.org/0000-0002-8770-3619
- family-names: Esteban Sanchis
given-names: Borja
orcid: https://orcid.org/0000-0002-4929-8288
- family-names: Kerzenmacher
given-names: Tobias
orcid: https://orcid.org/0000-0001-8413-0539
title: o3api - REST API for the Ozone assessment service (O3as)
doi: 10.5281/zenodo.7357936
contact:
- affiliation: "Karlsruhe Institute of Technology (KIT)"
email: o3as-support@lists.kit.edu
CodeMeta (codemeta.json)
{
"@context": "https://doi.org/10.5063/schema/codemeta-2.0",
"@type": "SoftwareSourceCode",
"license": "https://spdx.org/licenses/GPL-3.0+",
"codeRepository": "git+https://git.scc.kit.edu/synergy.o3as/o3api.git",
"dateCreated": "2022-10-10",
"datePublished": "2022-10-10",
"dateModified": "2022-10-10",
"downloadUrl": "https://git.scc.kit.edu/synergy.o3as/o3api/-/archive/master/o3api-master.tar.gz",
"issueTracker": "https://github.com/EOSC-Synergy/o3api/issues",
"name": "o3api",
"description": "REST API for O3as thematic service to create images of ozone time series and ozone return rates",
"applicationCategory": "Atmosphere",
"isPartOf": "https://git.scc.kit.edu/synergy.o3as/",
"keywords": [
"stratosphere",
"ozone",
"assessment",
"trend",
"ozone recovery"
],
"programmingLanguage": [
"python3"
],
"softwareRequirements": [
"https://git.scc.kit.edu/synergy.o3as/o3api/blob/master/requirements.txt"
],
"author": [
{
"@type": "Person",
"@id": "https://orcid.org/0000-0002-8770-3619",
"givenName": "Valentin",
"familyName": "Kozlov",
"email": "valentin.kozlov@kit.edu",
"affiliation": {
"@type": "Organization",
"name": "Karlsruhe Institute of Technology, SCC"
}
}
]
}
GitHub Events
Total
Last Year
Dependencies
- cftime *
- connexion *
- dask *
- flask <2,>=1.0.4
- fpdf *
- gunicorn *
- itsdangerous ==2.0.1
- matplotlib ==3.2
- netcdf4 *
- numpy *
- pandas <1.3.0
- pypdf3 *
- scipy >=1.4.1
- statsmodels *
- werkzeug ==2.0.3
- xarray >=0.21.0
- bandit >=1.1.0 test
- coverage * test
- flake8 * test
- mistune ==0.8.4 test
- pytest * test
- pytest-cov * test
- pytest-ordering * test
- sphinxcontrib-openapi * test
- stestr >=1.0.0 test
- testtools >=1.4.0 test
- actions/checkout v2 composite
- vykozlov/git-repo-sync v0.1.0 composite
- o3as/ci-images u20-py38
- o3as/o3api ${O3API_DOCKER_TAG}
- ${base} ${tag} build