Coder Social home page Coder Social logo

moja-global / flint Goto Github PK

View Code? Open in Web Editor NEW
57.0 57.0 79.0 38.03 MB

Full Lands INtegration Tool: a modular system to estimate greenhouse gas emissions and removals by the land sector

Home Page: https://moja.global/

License: Other

CMake 5.08% C++ 94.55% C 0.21% Dockerfile 0.01% Batchfile 0.16%
cpp-climate-change-linux-foundation

flint's People

Contributors

allcontributors[bot] avatar aornugent avatar ditisalles avatar gmajan avatar kaskou avatar leitchy avatar malfrancis avatar mavneek avatar mfellows avatar mtbdeligt avatar shubhamkarande13 avatar tlazypanda avatar vidhya001 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  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  avatar  avatar  avatar  avatar

flint's Issues

Several links in the README don't work

Where is this stated?

  • "wall-to-wall, sample based, jurisdictional, and supply chain approaches" lands on a "website expired" page
  • "land uses and land use changes, and activity-based reporting such as REDD+" requires user login
  • "You can find FAQs on the Wiki." - Wiki link results in a 404

Why do you want to improve the statement?
For new users/contributors looking to find out more about FLINT, the links would be useful so obviously good if they work :)

Typo in Dockerfile.flint.ubuntu.18.04 file

Describe the bug
In the file Dockerfile.flint.ubuntu.18.04 line 3 states -
# Docker to ubuntu 16.04 image for Moja flint libraries and executables
but the docker file is supposed to be for Ubuntu 18.04.

To Reproduce
Steps to reproduce the behavior:

  1. Open file Dockerfile.flint.ubuntu.18.04

Expected behavior
The line should state thus avoiding confusion for developers. -
# Docker to ubuntu 18.04 image for Moja flint libraries and executables

Updation of commands to install vcpkg packages in README.md

What does the current documentation state?
The current documentation under README.md has a list of commands to install vcpkg packages to run FLINT.Example and GCBM builds which result in an error due to lack of 2 more commands which have been recently updated in the official moja global developer documentation.

Why do you want to improve the statement?
Anyone who is trying to install packages directly following the instructions from README.md will face an error.

Proposed statement
The README.md file should be updated to reflect the changes as per the official developer docs

Add pull request template

Is your feature request related to a problem? Please describe.
Adding a pull request template will make it easier for contributors and maintainers to review the code since they will first have to meet the checklist provided in the pull request template to be eligible for the review.

Describe the solution you'd like
Add pull request template markdown file to .github folder.

Error in installing FLINT

Describe the bug
A clear and concise description of what the bug is.
During the installation of FLINT, when running the following command in Powershell

 cmake -G "Visual Studio 16 2019" -DCMAKE_INSTALL_PREFIX=C:/Development/Software/moja -DVCPKG_TARGET_TRIPLET=x64-windows -DENABLE_TESTS=OFF -DENABLE_MOJA.MODULES.ZIPPER=OFF -DCMAKE_TOOLCHAIN_FILE=c:\Development\moja-global\vcpkg\scripts\buildsystems\vcpkg.cmake ..

I am getting the error :

Parse error in command line argument: -DENABLE_MOJA
Should be: VAR:type=value
CMake Error: No cmake script provided.
CMake Error: Problem processing arguments. Aborting.

Expected behavior
The command should run and install the following FLINT.

Screenshots
If applicable, add screenshots to help explain your problem.
image

Operating Environment:

  • Desktop : Acer Aspire A7-41G
  • OS : Windows 10
  • other

Additional context
Add any other context about the problem here.

Understanding the reason for an instruction

What does the current documentation state?
Screenshot_20211018-081338

Where is this stated?
This is a link to the page where the issue is raised from

Why do you want to improve the statement?
The need to improve the circled section of the page hinges upon a need to better understand why the instruction required of the user of the doc was given. That is, answering the question on, "why the user should make sure to have checked out to the develop Branch for the FLINT Installation?"
What is the reason for this requirement here? What is the implications of not taking the required action?
I strongly believe this is a knowledge gap that needs to be filled in to create better documentation and satisfy users' innate need to understand why they have to take a step.

Proposed statement
The proposed solution, hence, is to state clearly the reason for the action requirement, alongside possible implication of not taking the step.

Adding images to the wiki section

I have gone through the wiki section of the FLINT repository. It gives an understanding of the concepts such as pools, operations, modules, simulations, local domain, about the data types and how there are used inside FLINT.

After going through it, I got a suggestion to add some pictures in the wiki section visualizing different things that were explained in the wiki. Visualizing them either in terms of flow charts or tables etc would help anyone to get the things more effectively and understanding easier.

I would like to work on this issue. I have added a picture in the 1.1-Pools.md section. I have already done some pictures which you can see here. These images are some examples for understanding. I would like to add similar images for making the wiki visualizing better, If there are any suggestions I would be happy to hear those.

@mfellows @gmajan @aornugent

Making FLINT understandable to Users and New Contributors

What does the current documentation state?

Screenshot_20211019-232417

Screenshot_20211019-232445

Where is this stated?
This is the link to the section of the documentation that needs urgent attention.

Why do you want to improve the statement?
As a new contributor, understanding FLINT deeply would equip me fully to making better contribution to the FLINT project. Without understanding what FLINT is all about, I doubt a very valuable contribution can be made towards the project.

Secondly, understanding FLINT would help me in handling issues, that is, making PRs to resolve issues.

Proposed statement
The documentation should be updated to include the details that are missing in the documentation on understanding FLINT.

Additional info
I have once mentioned this to @harshbardhan and he did mention to attend to it. But, I do think to make it more open to speed up work on it.

Also, I would love to help in updating the doc as regards this, but as I am still lacking significant knowledge of FLINT, I worry I will be able to make a contribution as regards this issue. Any suggestions to help me in making contributions thus, would be highly appreciated. Perhaps, someone to help me understand, then I create the documentation.

Add links to installation videos and fix some links in the README.md of the develop branch

What does the current documentation state?

  1. The "moja global developer docs" link in the Installation Docs section leads to a "This site can’t be reached" error.
  2. The "moja global's Slack workspace" link in the FAQ section gives a "Page not found" error.
  3. The Installation Videos section does not have a link to the videos.

Why do you want to improve the statement?

  1. The links would be very useful for newcomers/contributors if they are correct.
  2. Adding links to the videos could help new contributors landing directly on the repository page to get started as the videos are very well explained in detail.

Proposed statement

  1. The link to "moja global developer docs" is "https://docs.moja.global.com/" and should rather be "https://docs.moja.global".
  2. The link to "moja global's Slack workspace" is "https://github.com/moja-global/FLINT/blob/develop/mojaglobal.slack.com" and should only be "https://mojaglobal.slack.com".
  3. The youtube videos' links for installation could be added in the required sequence.

Known issues section for FLINT installation.

The issue:
While setting up FLINT people face general issues.
Most of these issues occur regularly and get solved on slack. This leads to the solution getting lost over time.

Solution:

A known issues / FAQ section.
As and when a new person setting up the FLINT faces an issue they can be directed towards this section.

Whenever a newcomer faces an issue and visits this section there are going to be two possibilities:

  1. The issue they are facing exists in the section with the solution - This will solve their problem.
  2. The issue they are facing is not present in the section. - The person facing the issue can add the issue and solution to the section once it gets solved on slack.

Docker build command for base container does not work

Describe the bug
The commands to build the containers as given the Docker for Ubuntu 18:04 section do not work properly due to an error in the Dockerfiles. Using the develop branch.

To Reproduce
Steps to reproduce the behaviour:

  1. Clone the repo to your local directory and change to FLINT/Docker
    cd FLINT\Docker

  2. Run the command

# working from the examples folder "flint/tree/master/Examples/docker"
# build the base
docker build -f Dockerfile.base.ubuntu.18.04 --build-arg NUM_CPU=4 -t moja/baseimage:ubuntu-18.04 .
  1. It will give this error in the output
#8 64.43 -- Configuring done
#8 65.02 -- Generating done
#8 65.04 -- Build files have been written to: /usr/local/src/cmake-3.15.0
#8 65.06 ---------------------------------------------
#8 65.06 CMake has bootstrapped.  Now run make.
#8 65.06 /bin/sh: 1: .4: not found
------
failed to solve with frontend dockerfile.v0: failed to build LLB: executor failed running [/bin/sh -c wget https://github.com/Kitware/CMake/releases/download/v${CMAKE_VERSION}/cmake-${CMAKE_VERSION}.tar.gz     && tar xzf cmake-${CMAKE_VERSION}.tar.gz     && cd cmake-${CMAKE_VERSION}     && ./bootstrap --system-curl --parallel=$NUM_CPU     && .$NUM_CPU      && make --quiet install  && make clean     && cd ..]: runc did not terminate sucessfully

C:\Development\moja-global\FLINT\Docker>

Expected behaviour
Expecting the base image to be built successfully.

Screenshots
If applicable, add screenshots to help explain your problem.
image

In Installing FLINT , if we install MOJA Libraries when we click on " Configure button" the following error occured

CMake Warning (dev) in CMakeLists.txt:
No project() command is present. The top-level CMakeLists.txt file must
contain a literal, direct call to the project() command. Add a line of
code such as

project(ProjectName)

near the top of the file, but after cmake_minimum_required().

CMake is pretending there is a "project(Project)" command on the first
line.
This warning is for project developers. Use -Wno-dev to suppress it.

CMake Error at CMakeLists.txt:98 (GenerateSourceGroups):
Unknown CMake command "GenerateSourceGroups".

CMake Warning (dev) in CMakeLists.txt:
No cmake_minimum_required command is present. A line of code such as

cmake_minimum_required(VERSION 3.15)

should be added at the top of the file. The version specified may be lower
if you wish to support older CMake versions for this project. For more
information run "cmake --help-policy CMP0000".
This warning is for project developers. Use -Wno-dev to suppress it.

Configuring incomplete, errors occurred!
See also "C:/Users/Hp/vcpkg/buildtrees/geos/src/3.6.3-7d98e22225/src/build/CMakeFiles/CMakeOutput.log".

Fix typo in README.MD

What does the current documentation state?
On Line 53 in README.md
The you is supposed to be your

Once this has completed, start a command shell in you FLINT repository folder. Now use the following commands to create the Visual Studio solution:

Where is this stated?
Line 53 in README.md

Why do you want to improve the statement?
Incorrect spelling/grammar.

Proposed statement

Once this has completed, start a command shell in your FLINT repository folder. Now use the following commands to create the Visual Studio solution:

Additional info
Just a small non-issue. Thought I'd point it out.

test

Describe the bug
A clear and concise description of what the bug is.

To Reproduce
Steps to reproduce the behavior:

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

Expected behavior
A clear and concise description of what you expected to happen.

Screenshots
If applicable, add screenshots to help explain your problem.

Operating Environment:

  • Desktop, Cluster, Cloud, other
  • OS, technology stack
  • other

Additional context
Add any other context about the problem here.

Error while setting up on Ubuntu 18.04

Describe the bug
The current flint docker file Dockerfile.flint.ubuntu.18.04 produces error with the Poco module.

To Reproduce
Steps to reproduce the behavior:

  1. Run the command docker build -f Dockerfile.flint.ubuntu.18.04 --build-arg NUM_CPU=4 --build-arg FLINT_BRANCH=master -t moja/flint:ubuntu-18.04 . on Ubuntu 18.04 .

Expected behavior
Run smoothly

Screenshots
Here is the screenshot of the error-
WhatsApp Image 2020-05-28 at 17 54 38

Operating Environment:

  • Ubuntu 18.04

Thanks!

Add video link, Remove dead links, Reduce grammatical errors.

What does the current documentation state?
[ A few changes in the current README]

Where is this stated?
https://github.com/moja-global/FLINT

Why do you want to improve the statement?
Because FLINT is moja global's flagship software, making the README an important document. Refinement of the README may help.

Proposed statement
I would like to:
1) Reduce the number of dead links in the document.
2) Reduce grammatical errors / More the document crisper.
3) Add the video link to the document.

Additional info
If there are ways I come across to better the documentation along the way, I would like to imply them.

Support for Ubuntu 16.04 through Docker

What does the current documentation state?
The current documentation only provides installation through Ubuntu 18.04.

Why do you want to improve the statement?
This will allow for more userbase to develop the project locally.

Proposed statement
Dockerfiles can be created for Ubuntu 16.04 by modifying the contents of the already existing dockerfiles and ensuring all the packages are available for Ubuntu 16.04 installation.

Country implementations with reproducible results

Hi there.

I would like to try out FLINT to see how it works in practice and how the various modules are implemented.

I was happy to find the data files from Kenya in Examples/data.zip -- however, I do not know how they should be used with FLINT in an actual model run.

Ideally, I would like to see the data files from an actual country implementation, together with the commands for reproducing its key reported results.

I can see you are committed to openness in science and code; I admire and appreciate that! The ultimate expression of that would be reproducible results from country implementations.

Best wishes

BLD: `Dockerfile.base.ubuntu.18.04` build currently fails

Describe the bug

The service that Boost uses to serve up its releases, Bintray.com is retired by JFrog. Boost currently uses JFrog.Arifactory to serve build artifacts.

To Reproduce

Steps to reproduce the behavior:

  1. Navigate to Examples/docker/ directory.
  2. Push: docker build -f Dockerfile.base.ubuntu.18.04 --build-arg NUM_CPU=4 -t moja/baseimage:ubuntu-18.04 .
  3. Check the error:
[+] Building 5.8s (11/33)                                                       
 => [internal] load build definition from Dockerfile.base.ubuntu.18.04     0.0s
 => => transferring dockerfile: 5.30kB                                     0.0s
 => [internal] load .dockerignore                                          0.0s
 => => transferring context: 2B                                            0.0s
 => [internal] load metadata for docker.io/library/ubuntu:bionic           4.4s
 => [auth] library/ubuntu:pull token for registry-1.docker.io              0.0s
 => CANCELED http://download.osgeo.org/gdal/2.4.0/gdal-2.4.0.tar.gz        1.3s
 => CANCELED https://www.sqlite.org/2019/sqlite-autoconf-3270200.tar.gz    1.3s
 => CANCELED https://github.com/fmtlib/fmt/archive/5.3.0.tar.gz            1.3s
 => ERROR https://dl.bintray.com/boostorg/release/1.69.0/source/boost_1_6  1.3s
 => CANCELED https://pocoproject.org/releases/poco-1.9.0/poco-1.9.0.tar.g  1.3s
 => CANCELED https://github.com/Kitware/CMake/releases/download/v3.14.3/c  1.3s
 => CANCELED [ 1/24] FROM docker.io/library/ubuntu:bionic@sha256:37b7471c  1.3s
 => => resolve docker.io/library/ubuntu:bionic@sha256:37b7471c1945a2a12e5  0.0s
 => => sha256:37b7471c1945a2a12e5a57488ee4e3e216a8369d0b9 1.41kB / 1.41kB  0.0s
 => => sha256:963f8ca4f8dcda72717dfbe53617aa2a705dc8ebf01abe9 529B / 529B  0.0s
 => => sha256:df8edc186894d22d1f425f0a490b3a5c3a2af96f27f 1.48kB / 1.48kB  0.0s
 => => sha256:976e4515cbe3bb05d3eaff6aa830f00c2593211ff7 7.34MB / 23.73MB  1.3s
------
 > https://dl.bintray.com/boostorg/release/1.69.0/source/boost_1_69_0.tar.bz2:
------
failed to load cache key: invalid response status 502

Expected behavior

The Docker build should succeed.

Operating Environment:

  • MacBook Pro M1 2021
  • macOS Monterey, Docker version 20.10.11, build dea9396

Add Welcome Bot to create an inclusive environment for new contributors

Is your feature request related to a problem? Please describe.
Welcome is a simple way to welcome new users based off maintainer defined comments.

The 3 plugins it combines with are new-issue-welcome(Comment to be posted to on first time issues) , new-pr-welcome(Comment to be posted to on PRs from first time contributors in your repository) and first-pr-merge(Comment to be posted to on pull requests merged by a first time user).

Describe the solution you'd like
We can setup Welcome bot by adding the GitHub App to our organization repositories and configuring .github/config.yml according to the content of the messages we want.

This will make the new contributors feel welcomed and at ease in interacting with the community.

Additional context
Screenshots that depict the Welcome bot in action:
image

Repository Missing Description

Hi!

I just noticed that this repository is missing a description:

Screenshot_2020-06-27_09-16-07

Is this intentional? If not then, here are some suggestions:

Description

Full Lands INtegration Tool: a modular greenhouse gas accounting system for the land sector.

Topics

CPP, climate-change, linux-foundation

Add badges to README.md to increase readability

What does the current documentation state?
The readme file lacks badges such as code-of-conduct, License, chat options, social handles(if any) and newcomer-friendly. Having these badges at the top in the readme file can help to increase the visibility of these options and increase the readability of the readme file.

Why do you want to improve the statement?
To increase readability and enhance quality of readme.

Proposed statement
By adding the badges mentioned above.

Additional info
For reference: -
https://github.com/publiclab/plots2
https://github.com/learningequality/kolibri
https://github.com/zulip/zulip

Missing Outputs of Modules under Module Science in Wiki Section.

What does the current documentation state?
Currently, Under the Hybrid forest growth section Output of the module is the same as the input of the module.
The same is the case in the WOFOST Module.

Where is this stated?
It is present in the Module Science section in the Wiki Section of the FLINT.

Why do you want to improve the statement?
It would make it easier understanding what is the work of the module and also give a clear idea of what the module is built for. (i.e output of the module)

Error in setting up FLINT

Describe the bug
Running command
docker build -f Dockerfile.flint.ubuntu.18.04 --build-arg NUM_CPU=4 --build-arg FLINT_BRANCH=master -t moja/flint:ubuntu-18.04 .
given in documentation to setup FLINT gives the error shown in screenshot.

To Reproduce
Steps to reproduce the behavior:

  1. Go to 'Readme.md'
  2. Follow the documentation to setup FLINT on Ubuntu.
  3. See error.

Screenshots
Screenshot from 2020-08-11 10-17-46

Operating Environment:

  • Ubuntu 19.10

extendable land unit area concept.

Is your feature request related to a problem? Please describe.
Currently the system calculates the Land UNit area using a method on the provider (area)

inline double ProviderSpatialRasterTiled::area(const CellIdx& cell) const {
   auto lat = _indexer->getLatFromIndex(cell);
   auto x = _indexer->cellDesc.latSize * DiameterOfEarthInMetersPerDeg;
   return x * x * cos(lat * DegToRadMultiplier) * 0.0001;
}

This can be overridden by having a variable called landUnitArea.

_landUnitController.initialiseData(true);
_spatiallocationinfo->_landUnitArea = _provider->area(cell);
_landUnitController.getVariable("landUnitArea")->set_value(_spatiallocationinfo->_landUnitArea);

This is clumsy and obscure.

Describe the solution you'd like

This should be definable in the system settings, in a similar fashion to Localdomain - simulateLandUnit. But perhaps in the Landscape object. Allowing the user to dwefine a variable that is the Area to use.

This way the variable can be used as a transform for eaxample. Either doing a SQL query or spatial layer lookup. Or just a differnt method to calculate the area.

Perhaps like: landUnitAreaVariable below:

{
	"LocalDomain": {
		"type": "spatial_tiled",
		"start_date": "2000/01/01",
		"end_date": "2020/12/31",
		"sequencer_library": "internal.flint",
		"sequencer": "CalendarAndEventFlintDataSequencer",
		"simulateLandUnit": "simulateLandUnit",
		"landUnitBuildSuccess": "landUnitBuildSuccess",
		"landUnitAreaVariable": "spatial_layer_area",
               ...

Update license of FLINT to latest version

Is your feature request related to a problem? Please describe.
Currently the FLINT License of MPL 2.0 is not updated when compared to FLINT.example and other repositories. As we can see it is not shown as MPL 2.0 License on the right sidebar but as License on the right.

In FLINT repo

image

In FLINT.example repo

image

Describe the solution you'd like
Replace with latest version

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.