Metropolitan-Council / ghg-cprg

GHG Inventory using Climate Pollution Reduction Grant framework and funding
https://metropolitan-council.github.io/ghg-cprg/
MIT License
2 stars 0 forks source link

Loose ends, publication #71

Closed eroten closed 3 months ago

eroten commented 3 months ago

Checklist

Please complete this checklist as a courtesy to the PR reviewer.

Code and styling

Document editing

Repository visibility change request - private/internal to public

Request details

Please answer the following questions with sufficient detail. All sections must be filled out.

Describe the purpose of the code

The repository details the creation of a 2021 greenhouse gas inventory for 11-counties in the Twin Cities Metropolitan Statistical Area in three sectors: energy, transportation, and waste. The code processes raw data files from a variety of sources into RDS files that are then further described and transformed into interactive graphs in a Quarto document.

Describe the need for making it public

There is public interest in understanding the decisions and process of creating this inventory. It informs a public facing document, the Priority Climate Action Plan, as part of EPA funding in the form of a Climate Pollution Reduction Grant. Further, there are opportunities for informing and collaborating with other Metropolitan Statistical Areas on best practices for creating regional inventories.

Describe security risks to the Council if malicious code were injected into the repo (worst case scenario)

The code is self-contained, pointing users to ultimate data sources while creating and referencing published RDS files within the repository before stitching them into a Quarto document. No usernames or passwords are shared in the code and there is no reference to Council maintained databases. No members of this research team see ways in which way malicious code or actors could cause harm or risk to the Council.

Does the repository contain only documentation or example code?

This repository collects and aggregates external data sources to build, document, and display an inventory of greenhouse gas emissions in the Twin Cities MSA.

Do we use the code internally?

The code will exist as a standalone product, though it will be used to inform a more comprehensive future greenhouse gas inventory.

Is the code for a mission critical application?

Describe precautions taken to mitigate risk

Any packages or external programs requiring usernames or passwords were not stored in code, but rather always entered directly into the R terminal when necessary.

Pull requests are reviewed by an internal team member who was not active in coding in the branch.

Describe expected level of outside interaction

We anticipate this repository will serve primarily as a public information service, and have limited direct interaction. We expect that it can more likely serve as a code source for other Metropolitan Statistical Area's in creating and updating their own inventories, creating collaborative opportunities.

The project manager, Peter Wilfahrt, will be responsible for addressing any issues submitted to this repository, either directly through the platform or via email or telephone where appropriate.

Checklist

Use the checklist below to track your progress on these items, particularly those that have to be done manually through GitHub. Add to the checklist if you complete additional steps

*optional

Repository requirements

  1. The repository must be clean
    • No absolute paths; all paths must be relative to project root directory
    • No API keys, passwords, credentials, or other “secrets” in plain text.
    • Scan for secrets with Talisman and remove secrets
    • If secrets exist in the git history, consider using a tool like BFG Repo-Cleaner or create a new repository and copy/paste all materials (excluding .git/).
  2. The code must meet professional standards
    • All commit messages, code comments and other documentation are professional and informative. If there are substandard commit messages in the git history, consider creating a new repository and copy/pasting all materials (exlcuding .git/).
    • A .gitignore file is required, and should at a minimum contain
          .*
          !.gitignore
    • All code should be documented, at a minimum describing what the code does, and a description of parameters, returned values and side-effects.
  3. The code must have an approved OSS license, e.g., MIT, Apache-2.0, BSD-3, with the Metropolitan Council as the license holder.
    • Data or documentation repositories should have an appropriate data license, e.g., PDDL-1.0, CC0-1.0, CC-BY-4.0.
    • Public domain dedications (CC0, PDDL) relinquish all rights and are usually what we intend when we publish data, but you may find it appropriate in some conditions to maintain copyright and requesting minimal attribution.
    • License should have a Blue Oak Council rating of Gold, Silver, or Bronze.
    • If a license other than MIT, Apache 2.0, or BSD-3 is used, describe why in the request.
    • If a license holder other than the Metropolitan Council is listed, explain why and reference any relevant contracts or agreements.
  4. A README.md file describes the purpose of the project
  5. Add appropriate branch protection to the main branch

Steps to approval

The repo administrator and maintainer are responsible for ensuring that the repo requirements are upheld as development continues. Review these requirements with all current and new collaborators.