https://github.com/andrewiom/local-ecological-footprinting-tool

The Local Ecological Footprinting Tool (LEFT), is a web-based decision support tool which can help businesses minimise the environmental impacts of their activities when they make decisions about how land is used.

https://github.com/andrewiom/local-ecological-footprinting-tool

Science Score: 23.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
  • DOI references
  • Academic publication links
  • Committers with academic emails
    1 of 2 committers (50.0%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (18.5%) to scientific vocabulary

Keywords

beta-diversity ecological-footprint ecology ecosystems
Last synced: 9 months ago · JSON representation

Repository

The Local Ecological Footprinting Tool (LEFT), is a web-based decision support tool which can help businesses minimise the environmental impacts of their activities when they make decisions about how land is used.

Basic Info
  • Host: GitHub
  • Owner: AndrewIOM
  • License: mit
  • Language: HTML
  • Default Branch: master
  • Homepage: https://left.ox.ac.uk
  • Size: 44.7 MB
Statistics
  • Stars: 0
  • Watchers: 3
  • Forks: 0
  • Open Issues: 1
  • Releases: 0
Topics
beta-diversity ecological-footprint ecology ecosystems
Created almost 7 years ago · Last pushed almost 2 years ago
Metadata Files
Readme License

README.MD

LEFT: Local Ecological Footprinting Tool

LEFT and Marine LEFT are .NET Core web applications by the Long-Term Ecology Lab, University of Oxford, that provide synthesised information on ecological risk in the terrestrial and marine environment.

The tools serve geotemporal datasets through two approaches: 1. generation of custom PDF reports and optional data downloads of the report contents; and 2. a data packages API for custom data bundles.

Both data access methods require a local user account, but are currently free to use.

Project Structure

There are two seperate apps in the apps folder. These both share a common set of libraries and a razor class library. In this way, webpage .cshtml templates are defined in the src/web/Ecoset.WebUI razor class library. Any page or layout can be overridden in the specific àpp projects (i.e. Oxlel.MarineLEFT.WebUI or Oxlel.LEFT.WebUI).

Development and Deployment

For local development and deployment, the following dependencies are required: * Docker * The .NET Core 3.0 SDK

Both applications are set up as Docker images. Each application folder contains a docker-compose.yml, which can be used to launch LEFT and all of its dependencies. With Docker installed, the following commands will build and launch LEFT on the local machine:

bash docker-compose -f docker-compose.yml -f docker-compose.development.yml build docker-compose -f docker-compose.yml -f docker-compose.development.yml up

LEFT will then be running on localhost:5100 through an nginx reverse proxy.

Both LEFT and MarineLEFT use an Oxford-based MySQL mirror of the Global Biodiversity Information Facility. If a local copy is required for testing, this may also be run from within the src/gbif/gbifdb directory using docker-compose up -d.

Both LEFT and MarineLEFT may be deployed using a docker-compose.production.yml, which must be configured for your infrastructure.

Adding and Amending Datasets

This section states the required steps for tasks that may need to be completed during general maintainance of LEFT.

Update a Dataset with a New Version

Ecoset is aware of time slices for datasets where the method and units have not changed since a previous release. For example, a model of vegetation greenness that uses remotely sensed data may be updated with newer observations. In these cases, LEFT will automatically detect new time slices or an extended temporal extent (depending on the Ecoset method used).

The way in which the new data is added will depend on the Ecoset method used. For built-in methods, refer to the below table.

| Method used | Time Type | How to add a new dataset | | ----- | ----- | ----- | | IntersectTIFF | Slices | Within the specified tileDir, add a subdirectory in the format YYYY-MM-DD and include tiled data in the common format, where only the year is required. Data can therefore be at yearly, monthly, or daily resolution. For example, the following are all valid: 2020, 2020-02, and 2020-02-29. | | IntersectShapefile | Slices | Create a subdirectory following the guidance for IntersectTiff. Within the new directory, place a single shapefile that has identical fields to previous time slices. | | GbifQuery | Extent | Adding data into the mirrored copy of GBIF (MySQL database) will automatically lengthen the temporal extent reported and used. An update tool is included for this purpose (see seperate documentation). |

For PDF reports and data downloads, LEFT has been configured to always serve the latest dataset. Your changes will be reflected immediately. Alternatively, users of the data package API will be able to choose between the latest or historical datasets.

Add a New Dataset or Method

There are three key stages to fully configure a new dataset in LEFT / Marine LEFT: 1. Configure Ecoset with the new variable or method. Follow the Ecoset documentation for this step. 2. Add the variable / method into LEFT configuration. This step is not required if you only wish to serve the data through the API, as it will be auto-discovered. Amend the appsettings.json file as follows: - To add the data in the PDF report, add a section as follows into the FreeReportSections array: json { "Variable": "variable_id", "Method": "method_id" } - To add the data in the optional download archive, add a section as follows into the ProReportSections array: json { "Variable": "variable_id", "Method": "method_id" } 3. Modify the PDF template. The razor file GenerateReport.cshtmlmust be amended to include the newly available data. Note that a javascript library is included for creating maps from raster or point data.

Common Maintainance Tasks

LEFT should look after itself. However, if problems are encountered the following approaches may be used.

Check Ecoset for errors

The Ecoset queue administration interface is available at {host}:5002/admin/queues. Reasons for analysis failure will be shown here in failed jobs. Common issues include missing or corrput datasets and misconfiguration of the GBIF MySQL database.

Purge the Ecoset Cache

Ecoset keeps a copy of all previous outputs in the ècoset-cache folder designated in docker-compose.yml. Purging is not yet available. If the cache is manually emptied, you will no longer be able to regenerate the LEFT PDF outputs and zip files (only if they are deleted too) without resubmitting LEFT analyses.

Owner

  • Name: Andrew Martin
  • Login: AndrewIOM
  • Kind: user
  • Location: Isle of Man
  • Company: University of Oxford

Environmental Scientist - Long-Term Ecology, Biodiversity, Dendrochronology

GitHub Events

Total
Last Year

Committers

Last synced: 11 months ago

All Time
  • Total Commits: 132
  • Total Committers: 2
  • Avg Commits per committer: 66.0
  • Development Distribution Score (DDS): 0.008
Past Year
  • Commits: 8
  • Committers: 1
  • Avg Commits per committer: 8.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Andrew Martin A****M 131
unknown E****v@z****k 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 11 months ago

All Time
  • Total issues: 0
  • Total pull requests: 3
  • Average time to close issues: N/A
  • Average time to close pull requests: about 1 year
  • Total issue authors: 0
  • Total pull request authors: 2
  • Average comments per issue: 0
  • Average comments per pull request: 0.67
  • Merged pull requests: 1
  • Bot issues: 0
  • Bot pull requests: 2
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
Pull Request Authors
  • dependabot[bot] (3)
  • AndrewIOM (1)
Top Labels
Issue Labels
Pull Request Labels
dependencies (3) javascript (2) .NET (1)

Dependencies

apps/left/docker-compose.development.yml docker
apps/left/docker-compose.yml docker
  • docker.pkg.github.com/andrewiom/ecoset-vnext/image 2.1.11
  • microsoft/mssql-server-linux 2017-CU12
  • nginx 1.17-alpine
  • redis latest
apps/left/src/Oxlel.Left.WebUI/Dockerfile docker
  • mcr.microsoft.com/dotnet/core/sdk 3.1-bionic build
apps/left-marine/docker-compose.development.yml docker
apps/left-marine/docker-compose.yml docker
  • docker.pkg.github.com/andrewiom/ecoset-vnext/image 2.1.10
  • microsoft/mssql-server-linux 2017-CU12
  • nginx 1.17-alpine
  • redis latest
apps/left-marine/src/Oxlel.LeftMarine.WebUI/Dockerfile docker
  • mcr.microsoft.com/dotnet/core/sdk 3.1-bionic build
src/gbif/gbifdb/docker-compose.yml docker
  • adminer 4
  • mysql 8
src/gbif/update-tool/Dockerfile docker
  • ubuntu xenial build
src/gbif/update-tool/docker-compose.yml docker
src/gbif/covriate-intersect/package.json npm
  • @types/config ^0.0.36
  • @types/gdal ^0.9.0
  • @types/mysql ^2.15.8
  • config ^3.2.5
  • gdal ^0.9.9
  • js-yaml ^3.13.1
  • mysql ^2.18.1
  • ts-node-dev ^1.0.0-pre.44
  • typescript ^3.7.5
src/gbif/covriate-intersect/yarn.lock npm
  • 152 dependencies
src/web/Ecoset.GeoTemporal.Remote/Ecoset.GeoTemporal.Remote.csproj nuget
  • System.Text.Json 4.7.1
src/web/Ecoset.WebUI/Ecoset.WebUI.csproj nuget
  • BitMiracle.LibTiff.NET 2.4.633
  • DinkToPdf 1.0.8
  • Hangfire 1.7.6
  • Humanizer.xproj 2.1.0
  • MailKit 1.4.1
  • Microsoft.AspNetCore.Authentication.JwtBearer 3.0.0
  • Microsoft.AspNetCore.Authentication.MicrosoftAccount 3.0.0
  • Microsoft.AspNetCore.Identity.EntityFrameworkCore 3.0.0
  • Microsoft.EntityFrameworkCore.SqlServer 3.0.0
  • Microsoft.Extensions.FileProviders.Embedded 3.0.0
  • NetTopologySuite 2.0.0
  • NetTopologySuite.IO.GeoJson 2.0.2
  • Swashbuckle.AspNetCore 5.0.0
src/web/WebOptimizer.Sass/WebOptimizer.Sass.csproj nuget
  • LigerShark.WebOptimizer.Core 3.0.248
  • SharpScss 1.4.0
src/gbif/update-tool/img_files/requirements.txt pypi
  • colorama *
  • peewee *
  • progress *
  • pymysql *
  • requests *
  • wget *