modelviewer_hsm
Edito-Infra T7.3 End-to-end demonstrator for aquaculture and maritime industry.
Science Score: 49.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
Found 4 DOI reference(s) in README -
✓Academic publication links
Links to: frontiersin.org, zenodo.org -
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (12.5%) to scientific vocabulary
Repository
Edito-Infra T7.3 End-to-end demonstrator for aquaculture and maritime industry.
Basic Info
- Host: GitHub
- Owner: willem0boone
- License: mit
- Language: JavaScript
- Default Branch: main
- Homepage: https://climate-moves-species.lab.dive.edito.eu/
- Size: 301 KB
Statistics
- Stars: 0
- Watchers: 1
- Forks: 2
- Open Issues: 0
- Releases: 1
Metadata Files
README.md
Habitat Suitability Model Viewer
About
This project is part of EDITO-INFRA (Grant agreement ID: 101101473): - T7.3: End-to-end demonstrator for aquaculture and maritime industry
Author: Willem Boone | contact: willem.boone@vliz.be
Demo video
Goal
Summary of Demonstrator
The demonstrator use case (DUC) consists of a smartviewer that hosts a model to predict habitat suitability based on environmental living conditions. The smartviewer is based on Carbonplan its seaweed-farming-web/GitHub - seaweed-farming-web.
In this demonstrator, habitat suitability is calculated using a deterministic model that uses minimum and maximum thresholds on the environmental variables. The environmental parameters that are used are:
- Sea surface temperature
- Sea surface salinity
- Bathymetry
The thresholds for all variables can be adopted using slider widgets. On any changing parameter, the suitability map is updated and rendered in the viewer. Using a time slider, environmental parameters for several future climate scenarios can be accessed and converted in suitability maps. This work is available on on GitHub - Editomodelviewer.
Data formatting
The environmental variable dataset used by the smartviewer, need to be provided in a specific format. To create this dataset, different sources and storage from Edito data lake are used. Two pipelines were required: - Downscaling large .zarr datasets to lower resolution. E.g. the bathymetry dataset is around 20GB, which is to large for the demonstrator purpose. - Creating pyramids in which each level has increasing resolution (for optimal zooming/rendering).
This work is available on this GitHub - Editoresamplingdatasts
Building the site
Assuming you already have Node.js installed, you can install the build dependencies as:
shell
npm install .
To start a development version of the site, simply run:
shell
npm run dev
Visit application in a browser:
http://localhost:5002/model_viewer/habitat_suitability
Simulating Habitat Suitability
The habitat suitability model that is deployed in this viewer is based on the work from Rutendo Musimwa.
Single suitability score
Parameters
Each environmental variable has 5 settings (sliders in the app) that can be adjusted to user choices / species characteristics. - Critical minimum: Below this threshold the species cannot survive. - Optimal minimum: Optimal living conditions above this threshold. - Optimal maximum Optimal living conditions below this threshold. - Critiall maximum: Above this threshold the species cannot survive. - Weight: the fifth parameter indicatest the importance of the variable in the total score (~the weight).
Score
| Environmental variable | Situation | Suitability score | |------- |----- |------------ | | . < critical minimum | The species cannot survive | 0 | | critical minimum < . < optimal minimum | Not optimal but the species can survive | value between 0-1 (linear) | | optimal minimum < . < optimal maximum | Optimal living conditions | 1 | | optimal maximum < . < critical maximum | Not optimal but the species can survive | value between 1-0 (linear) | | critical maximum < . | The species cannot survive | 0 |
Visual this looks likes this:
Habitat suitability
Habitat suitability is calculated as the weighted average of suitability per environmental variable. Each environmental variable has: - A weight (Wi) representing its importance. - A suitability score (Si) indicating how suitable that variable is.
Index ( i ) represent each environmental variable in the habitat suitability model. <!-- In case the Latex is not rendering fine, this is a description of the formula To calculate the habitat suitability: - Multiply each environmental variable's weight by its corresponding suitability score. (Wi * Si) - Add these values together to get the numerator. (SUM(Wi * Si)) - Sum up all the weights to get the denominator. (SUM(Wi)) - Divide the numerator by the denominator to calculate the habitat suitability. (SUM(Wi * Si) / SUM(Wi))
Notice: GitHub might not support LaTeX. Open the markdown in an .md reader or IDE for proper rendering.
-->
```math \text{Habitat suitability} = \frac{\sum{i=1}^{n} \left( Wi \cdot Si \right)}{\sum{i=1}^{n} W_i}
\
\text{with:}
\begin{align} Wi & \text{ is the weight for environmental variable } i,\ Si & \text{ is the suitability score for environmental variable } i,\ n & \text{ is the number of } i \text{ environmental variables ranging: }[1:n]. \end{align} ```
Presets
The simulation is preconfigured for 3 species which can be selected using checkboxes.
TO DO: add reference for preset values (paper from Rutendo Musimwa in review).
Simulating the future
For future predictions, 3 Shared Socioeconomic Pathways can be selected. Using the time slider, the situation in 2010, 2050 and 2090 can be simulated. In these future simulations, sea surface salinity & sea surface temperature are subject to change, while bathymetry is considered static.
| SSP | Scenario | |------- |----------------- | | SSP119 | Very low GHG emissions:CO2 emissions cut to net zero around 2050. | | SSP245 | Intermediate GHG emissions: CO2 emissions around current levels until 2050, then falling but not reaching net zero by 2100. | | SSP585 | Very high GHG emissions: CO2 emissions triple by 2075. |
Credits
The application makes use of technology developed by Carbonplan: App | GitHub.
Owner
- Login: willem0boone
- Kind: user
- Repositories: 1
- Profile: https://github.com/willem0boone
-
CodeMeta (codemeta.json)
{
"@context": "https://doi.org/10.5063/schema/codemeta-2.0",
"@type": "SoftwareSourceCode",
"identifier": "{id of the GitHub repo (can be DOI)}",
"description": "Modelviewer habitat suitability model; created in EDITO-INFRA project T7.3, based on carbonplan maps.",
"name": "Edito_model_viewer",
"codeRepository": "https://github.com/willem0boone/Edito_model_viewer",
"issueTracker": "https://github.com/willem0boone/Edito_model_viewer/issues",
"license": "MIT License",
"version": "1.0.0",
"datePublished": "2024-09-23",
"dateModified": "",
"programmingLanguage": [
{
"@type": "ComputerLanguage",
"name": "JavaScript",
"url": "https://www.javascript.com/"
}
],
"operatingSystem": "Windows 11",
"runtimePlatform": [
"Node.js v20.15.0."
],
"provider": {
"@id": "https://ror.org/0496vr396",
"@type": "Organization",
"name": "Flanders Marine Institute",
"url": "https://vliz.be/en"
},
"contributor": [
{
"@type": "Person",
"givenName": "Willem",
"familyName": "Boone",
"email": "willem.boone@vliz.be",
"@id": "https://orcid.org/0009-0008-0916-6847",
"orcid": "https://orcid.org/0009-0008-0916-6847"
}
],
"copyrightHolder": [
{
"@type": "Person",
"givenName": "Willem",
"familyName": "Boone",
"email": "willem.boone@vliz.be",
"@id": "https://orcid.org/0009-0008-0916-6847",
"orcid": "https://orcid.org/0009-0008-0916-6847"
}
],
"funder": [
{
"@type": "Organization",
"@id": "https://ror.org/019w4f821",
"name": "European Union Horizon Europe research and innovation programme under Grant Agreement no 101101473"
}
],
"maintainer": [
{
"@type": "Person",
"givenName": "Willem",
"familyName": "Boone",
"email": "willem.boone@vliz.be",
"@id": "https://orcid.org/0009-0008-0916-6847",
"orcid": "https://orcid.org/0009-0008-0916-6847"
}
],
"softwareRequirements": {
"1": {
"@type": "SoftwareApplication",
"identifier": "https://www.npmjs.com/package/@carbonplan/colormaps",
"name": "@carbonplan/colormaps",
"version": "^3.0.2"
},
"2": {
"@type": "SoftwareApplication",
"identifier": "https://www.npmjs.com/package/@carbonplan/components",
"name": "@carbonplan/components",
"version": "^11.8.1"
},
"3": {
"@type": "SoftwareApplication",
"identifier": "https://www.npmjs.com/package/@carbonplan/icons",
"name": "@carbonplan/icons",
"version": "^1.1.1"
},
"4": {
"@type": "SoftwareApplication",
"identifier": "https://www.npmjs.com/package/@carbonplan/layouts",
"name": "@carbonplan/layouts",
"version": "^1.5.0"
},
"5": {
"@type": "SoftwareApplication",
"identifier": "https://www.npmjs.com/package/@carbonplan/maps",
"name": "@carbonplan/maps",
"version": "^2.0.1"
},
"6": {
"@type": "SoftwareApplication",
"identifier": "https://www.npmjs.com/package/@carbonplan/theme",
"name": "@carbonplan/theme",
"version": "^7.0.0"
},
"7": {
"@type": "SoftwareApplication",
"identifier": "https://www.npmjs.com/package/@emotion/react",
"name": "@emotion/react",
"version": "^11.7.1"
},
"8": {
"@type": "SoftwareApplication",
"identifier": "https://www.npmjs.com/package/@emotion/styled",
"name": "@emotion/styled",
"version": "^11.6.0"
},
"9": {
"@type": "SoftwareApplication",
"identifier": "https://www.npmjs.com/package/@mdx-js/react",
"name": "@mdx-js/react",
"version": "^1.6.22"
},
"10": {
"@type": "SoftwareApplication",
"identifier": "https://www.npmjs.com/package/@next/mdx",
"name": "@next/mdx",
"version": "^12.0.7"
},
"11": {
"@type": "SoftwareApplication",
"identifier": "https://www.npmjs.com/package/@theme-ui/color",
"name": "@theme-ui/color",
"version": "^0.13.1"
},
"12": {
"@type": "SoftwareApplication",
"identifier": "https://www.npmjs.com/package/@theme-ui/core",
"name": "@theme-ui/core",
"version": "^0.13.1"
},
"13": {
"@type": "SoftwareApplication",
"identifier": "https://www.npmjs.com/package/@theme-ui/css",
"name": "@theme-ui/css",
"version": "^0.13.1"
},
"14": {
"@type": "SoftwareApplication",
"identifier": "https://www.npmjs.com/package/@theme-ui/match-media",
"name": "@theme-ui/match-media",
"version": "^0.13.1"
},
"15": {
"@type": "SoftwareApplication",
"identifier": "https://www.npmjs.com/package/d3-array",
"name": "d3-array",
"version": "^2.12.1"
},
"16": {
"@type": "SoftwareApplication",
"identifier": "https://www.npmjs.com/package/d3-format",
"name": "d3-format",
"version": "^2.0.0"
},
"17": {
"@type": "SoftwareApplication",
"identifier": "https://www.npmjs.com/package/ndarray",
"name": "ndarray",
"version": "^1.0.19"
},
"18": {
"@type": "SoftwareApplication",
"identifier": "https://www.npmjs.com/package/next",
"name": "next",
"version": "^12.0.7"
},
"19": {
"@type": "SoftwareApplication",
"identifier": "https://www.npmjs.com/package/polished",
"name": "polished",
"version": "^4.1.3"
},
"20": {
"@type": "SoftwareApplication",
"identifier": "https://www.npmjs.com/package/react",
"name": "react",
"version": "^17.0.2"
},
"21": {
"@type": "SoftwareApplication",
"identifier": "https://www.npmjs.com/package/react-animate-height",
"name": "react-animate-height",
"version": "^2.0.23"
},
"22": {
"@type": "SoftwareApplication",
"identifier": "https://www.npmjs.com/package/react-dom",
"name": "react-dom",
"version": "^17.0.2"
},
"23": {
"@type": "SoftwareApplication",
"identifier": "https://www.npmjs.com/package/theme-ui",
"name": "theme-ui",
"version": "^0.13.1"
},
"24": {
"@type": "SoftwareApplication",
"identifier": "https://www.npmjs.com/package/trim",
"name": "trim",
"version": ">=0.0.3"
}
},
"keywords": [
"modelviewer",
"habitat suitability",
"EDITO-INFRA"
],
"readme": "https://github.com/willem0boone/Edito_model_viewer#README.md"
}
GitHub Events
Total
- Push event: 4
Last Year
- Push event: 4
Dependencies
- 412 dependencies
- microbundle ^0.14.2 development
- prettier ^2.5.1 development
- rimraf ^3.0.2 development
- 563 dependencies
- @carbonplan/prettier ^1.2.0 development
- prettier ^2.2.1 development
- @carbonplan/colormaps ^3.0.2
- @carbonplan/components ^11.8.1
- @carbonplan/icons ^1.1.1
- @carbonplan/layouts ^1.5.0
- @carbonplan/maps ^2.0.1
- @carbonplan/theme ^7.0.0
- @emotion/react ^11.7.1
- @emotion/styled ^11.6.0
- @mdx-js/react ^1.6.22
- @next/mdx ^12.0.7
- @theme-ui/color ^0.13.1
- @theme-ui/core ^0.13.1
- @theme-ui/css ^0.13.1
- @theme-ui/match-media ^0.13.1
- d3-array ^2.12.1
- d3-format ^2.0.0
- ndarray ^1.0.19
- next ^12.0.7
- polished ^4.1.3
- react ^17.0.2
- react-animate-height ^2.0.23
- react-dom ^17.0.2
- theme-ui ^0.13.1
- trim >=0.0.3
