moja-global / flint Goto Github PK
View Code? Open in Web Editor NEWFull Lands INtegration Tool: a modular system to estimate greenhouse gas emissions and removals by the land sector
Home Page: https://moja.global/
License: Other
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
Where is this stated?
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 :)
Change to using a better string formatter – use this perhaps (https://github.com/fmtlib/fmt
) an Implementation of C++20 std::format.
More questions/suggestions, please contact Jim via slack.
https://app.slack.com/client/T1G1M5HPF/D014VTVKJEA
The "Maintainers Reviewers Ambassadors Coaches" section in the README file of this repository currently lacks proper formatting and punctuation. This could be improved.
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:
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
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
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.
We have a mix of filesystem handling. This needs to be made consistent. Moving to std::filesystem C++17
Please feel free to contact Jim via Slack, https://app.slack.com/client/T1G1M5HPF/D014VTVKJEA for further questions/comments.
In the section How is FLINT different from earlier integrating tools
Point 1 and 2 links are not working.
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.
Operating Environment:
Additional context
Add any other context about the problem here.
Make our use of Exceptions consistent - for example remove any boost exceptions handling at higher levels. Any special exception handling should be caught at lower levels, and moja exceptions passed on. The system should use it’s own collection of std exceptions.
Please feel free to contact Jim via Slack, https://app.slack.com/client/T1G1M5HPF/D014VTVKJEA for further questions/comments.
What does the current documentation state?
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.
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.
What does the current documentation state?
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.
What does the current documentation state?
Why do you want to improve the statement?
Proposed statement
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:
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:
Clone the repo to your local directory and change to FLINT/Docker
cd FLINT\Docker
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 .
#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.
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".
I will add Max in the comment to this issue. I will also change the names of the maintainers in the Readme page of this rep.
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.
Description
When I decided to install a FLINT and setup on my Pc, I came cross with this bug (Could not find MSBuild version with C++ support. VS2015, VS2017, or VS2019 (with C++) needs to be installed). I think that this problem can be solved.
Describe the bug
A clear and concise description of what the bug is.
To Reproduce
Steps to reproduce the behavior:
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:
Additional context
Add any other context about the problem here.
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:
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-
Operating Environment:
Thanks!
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.
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.
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
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:
Examples/docker/
directory.docker build -f Dockerfile.base.ubuntu.18.04 --build-arg NUM_CPU=4 -t moja/baseimage:ubuntu-18.04 .
[+] 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:
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:
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
What does the current documentation state?
The module wiki has tables that are not formatted correctly.
Where is this stated?
https://github.com/moja-global/FLINT/wiki/3.4-Module-Science
Why do you want to improve the statement?
Fix the markdown syntax by adding extra spaces.
Describe the bug
The latest release is v1.1.0 but CMakeLists.txt still has v1.0.0
Expected behaviour
The CMake version numbers should match the FLINT library releases.
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)
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:
Operating Environment:
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",
...
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
In FLINT.example repo
Describe the solution you'd like
Replace with latest version
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.