moja global Technical Guide moja global docs team Sep 26, 2021 CONTENTS 1 FLINT Prerequisites 3 1.1 For Windows Based systems.......................................3 1.2 For Linux Based systems.........................................7 2 FLINT Development Setup 9 2.1 Before Setting Up FLINT........................................9 2.2 Datasets for FLINT............................................9 2.3 Build guides...............................................9 3 GCBM Development Setup 37 3.1 GCBM Prerequisites........................................... 37 3.2 Windows Installation........................................... 40 4 Contributing 43 4.1 Before making a contribution...................................... 43 4.2 Ways to contribute to moja global.................................... 44 4.3 Answer user Questions.......................................... 45 4.4 Organize moja global events/meetups.................................. 46 4.5 Are There Other Ways of Contributing?................................. 46 4.6 After making your first contribution................................... 46 4.7 Mentor new contributors......................................... 47 4.8 Create beginner-friendly Issues..................................... 47 4.9 Code Contribution Best Practices.................................... 47 4.10 Writing Documentation......................................... 49 4.11 Documentation (readthedocs)...................................... 50 4.12 Documentation in the repository wiki.................................. 50 4.13 Documentation in Google Docs-files.................................. 50 4.14 Documentation in PDF-files....................................... 50 4.15 Code Of Conduct............................................. 51 4.16 Enforcement............................................... 52 4.17 Attribution................................................ 52 5 GitHub Workflow 53 5.1 GitHub Repository maintenance..................................... 53 5.2 How to maintain a GitHub repository.................................. 56 5.3 Creating and maintaining Project Boards................................ 57 5.4 Adding issues/pull requests to your Project Board............................ 58 5.5 Build project boards into your workflow................................. 60 5.6 Bots and Integrations........................................... 61 5.7 Automated Checks for pull requests................................... 61 i 5.8 Code Quality Check........................................... 63 5.9 FLINT Architecture........................................... 65 5.10 FLINT Performance........................................... 65 5.11 Reviewing a contribution......................................... 65 5.12 Documentation.............................................. 66 5.13 Tests................................................... 66 5.14 Design.................................................. 66 5.15 Manually testing a pull request...................................... 66 6 Moja global documentation style guide 69 6.1 Purpose.................................................. 69 6.2 Tools & Technologies.......................................... 69 7 Frequently Asked Questions 77 7.1 Moja Global............................................... 77 7.2 FLINT.................................................. 79 7.3 FLINT Installation Support....................................... 80 7.4 GCBM.................................................. 81 7.5 FLINTpro................................................ 82 8 Join the moja global family 83 8.1 moja global Slack............................................ 83 8.2 Technical Steering Committee Meetings................................. 83 8.3 Outreach and Student Programs..................................... 84 8.4 moja global Outreach.......................................... 84 ii moja global Technical Guide moja global is an open-source platform that provides tools for estimating emissions and removals of greenhouse gases from the land sector. It’s composed of multiple GitHub repositories designed to ingest, aggregate, and serve data. The Full Lands INtegration Tool (FLINT) is the flagship software developed by the moja global community. It is an integrating platform for estimating land-based greenhouse gas emissions and removals. Integrating refers to FLINT’s design to combine a wide range of data with models to achieve more accurate estimates of stocks and fluxes of greenhouse gases. FLINT is consistent with the UNFCCC guidelines. This Documentation is meant for all and developers wishing to contribute to moja global repositories. If you would like to get in touch with the maintainers for other reasons, please drop a mail at [email protected]. CONTENTS 1 moja global Technical Guide 2 CONTENTS CHAPTER ONE FLINT PREREQUISITES Before we take a leap into the process of development, please take a moment to verify if you have the necessary tools setup and skills to get started on this project. You should be familiar with the following :- 1.1 For Windows Based systems Contents: 1.1.1 Setup Git If you already have a Git client and Github account, please skip this section. Otherwise, keep on reading! Install and Configure Git To install Git, please refer to the official git installation instructions here and the configuration recommendations here. You can sign up for a Github account here. NOTE: Don’t forget to get credits for your contributions once it gets merged by following this guide here. 1.1.2 Cmake Installation CMake is required to build the FLINT from its source code on Windows. CMake is an open-source family of tools designed to build, test and package software. • Please download and install the latest binary distribution of CMake for your platform from here. On opening the installer: • Open the installer, click Next. • Accept the terms and click Next. • Select the Add CMake to the system PATH for all users option in the Install options section. • Click Next and finally click Install • After CMake is installed, restart your system. 3 moja global Technical Guide Fig. 1: License Page of CMake Fig. 2: Install Page of CMake 4 Chapter 1. FLINT Prerequisites moja global Technical Guide 1.1.3 Visual Studio Installation Building FLINT requires a C++ compiler. On Windows, it is recommended to use the Visual Studio IDE which includes a C++ compiler and several other useful tool. You can either install the Visual Studio 2019 or the Visual Studio 2017 variant. Please follow these steps for a smooth installation: For Visual Studio 2019 • Navigate to https://visualstudio.microsoft.com/downloads/ • Select the community version download button. • If you don’t have a Visual Studio Subscription, you can create one for free by clicking on “Create a new Mi- crosoft account” on the login page. • Follow the steps prompted by the installer. After launching the Visual Studio installer: • Select the desktop development with C++ workload and make sure it is checked. • Make sure the Install while downloading option is selected for faster installation. • Click on Install Fig. 3: Install Section of Visual Studio 2019 After the installation is complete: • Restart your system. • Create a folder inside C Drive and name it Development. • Inside the Development folder create a folder and name it moja-global 1.1. For Windows Based systems 5 moja global Technical Guide • Open the moja-global folder in the command prompt. Fig. 4: Folder Path In Command Prompt For Visual Studio 2017 • Navigate to https://visualstudio.microsoft.com/vs/older-downloads/ • Expand the 2017 version and click on the download button. • If you don’t have a Visual Studio Subscription, you can create one for free by clicking on “Create a new Mi- crosoft account” on the login page. • Follow the steps prompted by the installer. 1.1.4 Vcpkg Installation Finally, we need a C++ package manager to acquire and install third-party C++ libraries used by FLINT. Vcpkg maintains a catalog of more than 1,900 libraries that have been tested against Visual Studio 2019 and 2017, and builds these libraries during compilation to ensure compatibility with the FLINT source code. A fork of the original Vcpkg package has been created under moja global for the FLINT required libraries. To build the libraries please follow the following steps: • Clone the Vcpkg repository in the moja-global folder from here. • Start a command shell in the vcpkg repository folder and run the following commands: Note: The process may take one to two hours, depending on the specifications of your system. 6 Chapter 1. FLINT Prerequisites moja global Technical Guide # bootstrap bootstrap-vcpkg.bat # install packages vcpkg.exe install boost-test:x64-windows boost-program-options:x64-windows boost- ,!log:x64-windows turtle:x64-windows zipper:x64-windows poco:x64-windows libpq:x64- ,!windows gdal:x64-windows sqlite3:x64-windows boost-ublas:x64-windows fmt:x64- ,!windows libpqxx:x64-windows 1.2 For Linux Based systems Contents: 1.2.1 Setup Docker (for Linux based variants only) In-order to setup FLINT by using docker containers, please follow the instructions below based on your Linux Distro. If your Linux distro is not listed below, please checkout the Docker official installation guides for more information: • Install on CentOS In order to setup the latest version of Docker on CentOS, checkout the official Docker installation guide for CentOS. • Install on Fedora In order to setup the latest version of Docker on Fedora, checkout the official Docker installation guide for Fedora. • Install on Debian
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages89 Page
-
File Size-