Giter Club home page Giter Club logo

open-earth-foundation / openclimate Goto Github PK

View Code? Open in Web Editor NEW
39.0 5.0 11.0 349.56 MB

A data utility for tracking climate action

Home Page: https://openclimate.network/

License: Apache License 2.0

Shell 0.04% Python 2.34% JavaScript 1.00% Dockerfile 0.01% TypeScript 95.72% R 0.03% HTML 0.01% CSS 0.05% SCSS 0.79% M4 0.02%
climate climate-change climate-change-api climate-data api climatechange nodejs-api open-data reactjs-app climate-action

openclimate's Introduction

OpenClimate

OpenClimate is a data utility for tracking climate action.

It provides a database and API for current and historical CO2 emissions data, emissions reduction targets, climate plans and actions, and geographical, demographic and economic contextual data.

It covers climate actors of all kinds, including countries, regions and provinces, cities, companies, down to specific emissions sites like factories and mines. OpenClimate connects these actors by geographic, political or business relationships to provided nested climate accounting.

The data explorer Web interface lets you discover and compare actors in this network.

OpenClimate

License

Copyright 2021-2023 Open Earth Foundation and contributors.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Quick links

openclimate's People

Contributors

adit313 avatar cephaschapa avatar dependabot[bot] avatar evanp avatar gaurab-pant avatar grossborys avatar joaquinoef avatar lemilonkh avatar lgloege avatar louisguitton avatar mfonsecaoef avatar mikekebert avatar pavelkrolevets avatar sfishel18 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

openclimate's Issues

Homepage search box bugs

The homepage search box at the very top of https://www.openclimate.network/ has these three bugs (I can split these up if preferred):

  • If I type something and hit Enter it says "Thank you! Your submission has been received!" (not what I expect when searching. I wasn't entering a "submission"! Is there a database slowly filling with search nonsense from people like me?!)
Screenshot 2023-12-21 at 22 15 57
  • If I type something and hit "Explore" green button on the right, nothing happens. No error in the js console.

  • (Minor) If I start typing more than three letters then it begins showing search-as-you-type matches below the box, but the first search I tried was "UK" (Awkward I know, but maybe some super-short matches could be pre-programmed)

Suggestion: Display % of parent's emissions

Problem Statement

When viewing the widget for a particular country/region, it's not easy to see how its emissions compare to the enclosing region's emissions.

For example, when viewing the breakdown for a state like Alabama in the US, I can see that Alabama has 1.49% of the country's population, and I can see that it emits 125MtCO2e, but it would be interesting to see at a glance how that compares to the national emissions. On the same front, while I can see how much the US emits as a whole and I can see its population as a share of earth's total, I cannot see its emissions as a share of the earth's total emissions.

Screen Shot 2022-12-02 at 11 18 27 pm

Feature Description

In the Actor widget, display what percentage of the enclosing actor's emissions are the responsibility of this actor. i.e. What percentage of Earth's emissions is the United States responsible for?

Suggestion: Display Actor widgets in a vertical stack on smaller screens

Problem Statement

My first visit to the platform was on my phone. This is what I saw:

image

There is no real indicator that an important part of the interface requires scrolling to the right. This could be solved adequately by instead using a vertical stack of Actor widgets.

Feature Request

On smaller devices, display the Actor widgets in a vertical stack, perhaps separated by the downwards caret icon.

A nice touch could be to only show the next Actor widget. In other words, initially you would only show the Country widget. When a country is chosen, display the Region widget. The later widgets are disabled anyway until they are the next in line.

If this sounds like something that you might like, I'm happy to whip up a basic mock-up of this in the browser and share that.

Request to streamline submissions to UNCCC +

Can using OpenClimate automate the submission to the UNCCC to count towards our París Climate commitments? Do we have a deadline to meet even if we can’t make it all for Earth Day? Anyway to automate emissions submissions into the different requirements cities need to meet? C40? Paris climate? One submission to multiple portals would be a reason to adopt it by NSAs.

Actor Maps

Problem Statement

It is hard to get the geographical context of an actor if it’s not visually, and we should have enough data to easily link to a map of that actor

Who is affected by this problem

Users doing broad exploration of the platform that are not too familiar with actors that are not local to them or are less known generally.

What is the problem

It might be hard to understand the geographical context of some actors (especially regions and cities) without visually understanding where they are located

Where does the problem occur

This occurs in the actor explore page

When does the problem this occur

This occurs when users are looking for context in the actor explore page

Why does the problem occur

This occurs because currently we show the name, and name of the actor’s parents (e.g: country and region for a city), but do not give more context to that actor

Feature Description

Build an independent widget that shows the political boundaries of an actor and it’s surrounding area for better context. (link to guidelines: <>)

Goal: What do we want to achieve with this

Make it very straightforward for users to understand where an actor is located and it’s surrounding areas.

Benchmarks

https://en.wikipedia.org/wiki/British_Columbia see map

Screen Shot 2022-11-18 at 2 53 01 PM

https://carto.com/help/working-with-data/osm/#using-openstreetmap-data-in-carto

Screen Shot 2022-11-18 at 2 51 37 PM

Screen Shot 2022-11-18 at 2 52 25 PM
https://www.openstreetmap.org/relation/390867#map=5/55.616/-120.586

Evidence of problem

Internal stakeholders

Historical emissions visualization

Problem Statement

It is hard to gauge the progress of an actor, this should be easy to map with current historic data we have for people to make quick evaluations.

Who is affected by this problem

Funders, researchers, advocates, that want to see who should be encouraged to improve their track record, or looking for cases to highlight for best practices.

What is the problem

It is hard to see the progress (or lack of it) of an actor without looking at the historic evolution of their emissions.

Where does the problem occur

This occurs in the actor explore page

When does the problem this occur

This occurs when users are looking for emissions and progress data in the actor explore page

Why does the problem occur

This occurs because currently only year data is shown one at a time, and it is hard to understand the progress of that actor (although there is a YoY trend)

Feature Description

Build an independent widget that shows how emissions have evolved for an actor based on a selected data source, and allow users see different sources (link to guidelines: <>)

Goal: What do we want to achieve with this

Make it very straightforward for users to understand the historic emissions of an actor based on selected source

Benchmarks

https://www.climatewatchdata.org/countries/CAN?end_year=2019&source=CAIT&start_year=1990 see historical chart

Screen Shot 2022-11-17 at 1 28 14 PM
In our case we don't expect breakdown by sector, scope, etc, just total emissions.

Evidence of problem

User interviews and comments from partners

having trouble setting up a local dev environment

👋 hello! this is a great project and i'd really like to become a contributor.

i'm trying to set up a local dev environment following the docs and so far not able to so. i've gotten as far as launching the frontend and the api locally with the former pointed to the latter, but i'm getting errors like this in the api:

{"level":"error","message":"Could not find sites by id in the database:  connect ECONNREFUSED ::1:5432","metadata":{"module":"/Users/simonfishel/opt/git/OpenClimate/api/orm/sites.ts","name":"SequelizeConnectionRefusedError","original":{"address":"::1","code":"ECONNREFUSED","errno":-61,"port":5432,"syscall":"connect"},"parent":{"address":"::1","code":"ECONNREFUSED","errno":-61,"port":5432,"syscall":"connect"},"service":"OpenClimate-hub-controller","stack":"SequelizeConnectionRefusedError: connect ECONNREFUSED ::1:5432\n    at Client._connectionCallback (/Users/simonfishel/opt/git/OpenClimate/api/node_modules/sequelize/src/dialects/postgres/connection-manager.js:179:24)\n    at Client._handleErrorWhileConnecting (/Users/simonfishel/opt/git/OpenClimate/api/node_modules/pg/lib/client.js:318:19)\n    at Client._handleErrorEvent (/Users/simonfishel/opt/git/OpenClimate/api/node_modules/pg/lib/client.js:328:19)\n    at Connection.emit (node:events:513:28)\n    at Connection.emit (node:domain:489:12)\n    at Socket.reportStreamError (/Users/simonfishel/opt/git/OpenClimate/api/node_modules/pg/lib/connection.js:57:12)\n    at Socket.emit (node:events:513:28)\n    at Socket.emit (node:domain:489:12)\n    at emitErrorNT (node:internal/streams/destroy:151:8)\n    at emitErrorCloseNT (node:internal/streams/destroy:116:3)"}}

so i'm guessing i need to also have a database running, but can't find any instructions on how to do that.

could you provide some instructions on the standard flow for local development? it can be high-level, i'm happy to figure out the details myself as part of learning about the tech stack. and if you're up for it i could send you a PR with updates to the contributing docs. thanks!

Similar Actor Comparison

Problem Statement

It is hard to understand if an actor is emitting more or less than what other similar actors are doing, this should be easy to map with data from other actors

Who is affected by this problem

Funders, researchers, advocates, that want to see who should be encouraged to improve their current emissions, or looking for cases to highlight for best practices.

What is the problem

It is hard to understand if an actor is emitting more or less than what other similar actors are doing, which is an obstacle when understanding which actors should be more incentivized to reduce emissions, or which actors to use as best practice cases

Where does the problem occur

This occurs in the actor explore page

When does the problem this occur

This occurs when users are looking for emissions and progress data in the actor explore page

Why does the problem occur

This occurs because currently only data is shown for a particular actor but with no easy way to see at the same time how that actor compares to other similar actors of the same type (it is easy to see how the actor compares to its “parent” and “child”

Feature Description

Build an independent widget that shows emission and contextual information for similar actors:

  • Comparison 1: Same parent actor

    • Show emissions for the actor from the same "parent" that is closest in population to selected actor
      • Example: if selected actor is British Columbia (Canada), show Alberta, which is closest in population from Canadian provinces
    • If no population data for other actors from the same parent, then show "N/A"
    • Emission value should be the same one that is shown in the Level card
      • i.e, the the latest emission value from the highest rated source
    • If no emissions data exists, show N/A
  • Comparison 2: Similar parent actor

    • Show emissions for the actor from another "parent" that has is closes in population to selected actor's parent, that is closes in population to selected actor
      • Example: if selected actor is British Columbia (Canada), show Mazowieckie (Poland), because Poland and Canada are close in population and Mozowieckie and British Columbia are close in population
    • If no population data for actors from the similar parent, then show "N/A"
    • Emission value should be the same one that is shown in the Level card
      • i.e, the the latest emission value from the highest rated source
    • If no emissions data exists, show N/A

Goal: What do we want to achieve with this

Make it very straightforward for users to understand the historic emissions of an actor based on selected source

Benchmarks

https://climatetrace.org/inventory?sector=all&time=2021&country=CAN&gas=co2e100
Screen Shot 2022-11-18 at 3 12 31 PM

We want to know the source and year for the emissions data, and actor name and parent actor name

Evidence of problem

User interviews and comments from partners

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.