Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

added-doc-about-architecture #101

Open
wants to merge 4 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
42 changes: 42 additions & 0 deletions docs/DeveloperWorkflow/flint_architecture.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,3 +2,45 @@

FLINT Architecture
##################

FLINT is a fully modular and highly flexible open-source software that
allows users to integrate the carbon model(for estimating greenhouse gas
emission) and other models with remote sensing data to produce
greenhouse gas accounts for the land sector.

The overall framework will be based on the simulation of events and
processes. Key elements of the framework will include the overall
integration module, a transaction service, and individual modules that
are easily exchanged and modified, and that each serves key functions
such as the representation of growth, decomposition, disturbances,
forest management actions, and so on.

.. figure:: ../images/architecture/Hl_FLINT_design.png
:alt: High Level Design of FLINT
:width: 600
:align: center

High Level Design of FLINT

Core Components of FLINT System
-------------------------------


.. toctree::
:maxdepth: 2

pool
operation
modules
simulation_units
local_domain
synchronized_events
temporal_distribution
reporting_indicator

.. figure:: ../images/architecture/Core_Component.png
:alt: Core Components of FLINT System
:width: 600
:align: center

Core Components of FLINT System
21 changes: 21 additions & 0 deletions docs/DeveloperWorkflow/local_domain.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
.. _DeveloperWorkflow:

Local Domain
==================
Above Simulation Units, is the Local Domain. The Local Domain is the
collection of Simulation Units that are bound for a specific purpose.
This can be, for example, to report on the changes in carbon stocks for
a particular region.

Within FLINT, Local Domains have three main functions:-

- They are used to store the variable values for all the simulation
units which they represent.
- Through a Local Domain Controller they assign these values to the
simulation units during a simulation.
- They receive the outputs simulation units and update the domain characteristics.

.. figure:: ../images/architecture/LocalDomain.png
:alt: Local DOmain:- FLINT Core_Component
:width: 600
:align: center
13 changes: 13 additions & 0 deletions docs/DeveloperWorkflow/modules.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
.. _DeveloperWorkflow:

Modules
=========

A module is a self-contained set of operations that determine the state of, or change in, variables across a specified period of time for a single Simulation Unit in direct response to event notifications from the FLINT core system (Unit Controller).

Each module reads information about the current state variables and the data required to update the state variables, such as climate data or information about disturbances to simulate. Each module then performs the required calculations and returns information about the updates to apply to each of the state variables and C pools.

.. figure:: ../images/architecture/ModuleOperation.png
:alt: Module:- FLINT Core_Component
:width: 600
:align: center
11 changes: 11 additions & 0 deletions docs/DeveloperWorkflow/operation.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
.. _DeveloperWorkflow:

Operation
=============

An operation is a process within the FLINT that moves carbon stock between pools.FLINT uses operations to update values for Simulation Units and to record flux values in a flux table. For example, an operation reflecting plant growth can be applied to aboveground biomass pools to estimate the growth flux.

.. figure:: ../images/architecture/operation_pic.png
:alt: Operation:- FLINT Core_Component
:width: 600
:align: center
14 changes: 14 additions & 0 deletions docs/DeveloperWorkflow/pool.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
.. _DeveloperWorkflow:

Pools
=========

A pool is a reservoir within which something can be stored and released. For example, a carbon pool is a reservoir from which carbon can be stored or emitted, such as debris. Within FLINT, each pool has attributed a value, for example, tonnes carbon, and at each time step, the FLINT can move stores from one pool to another using operation.


.. figure:: ../images/architecture/carbon_pool.png
:alt: Terrestial Carbon Pool
:width: 600
:align: center

Terrestial Carbon Pool
4 changes: 4 additions & 0 deletions docs/DeveloperWorkflow/reporting_indicator.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
.. _DeveloperWorkflow:

Reporting Indicator
=========================
24 changes: 24 additions & 0 deletions docs/DeveloperWorkflow/simulation_units.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
.. _DeveloperWorkflow:

Simulation Units
======================
A Simulation Unit is a unit where a module is applied. A Simulation Unit
can represent a spatial area, such as a pixel or `forest stand`_, or it
can represent an emissions source, such as livestock. Where the
Simulation Unit refers to a geographically referenced area, it is known
as a Land Unit.

.. _forest stand: https://g.co/kgs/1K49wo

Within the databases and data layers, that are building blocks the FLINT, there
are attribute values that describe the characteristics of each
Simulation Unit. For example, for a Land Unit, there may be information
on the unit’s area, land type, age of vegetation, species, and carbon
pools. The overall framework of FLINT manages the processing of
Simulation Units over time. While Simulation Units are the basis of all
simulations run in FLINT, they are rarely used for reporting purposes.

.. figure:: ../images/architecture/simulation.png
:alt: Simulation Unit:- FLINT Core_Component
:width: 600
:align: center
4 changes: 4 additions & 0 deletions docs/DeveloperWorkflow/synchronized_events.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
.. _DeveloperWorkflow:

Synchronized Events
======================
4 changes: 4 additions & 0 deletions docs/DeveloperWorkflow/temporal_distribution.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
.. _DeveloperWorkflow:

Temporal Distribution
===========================
Binary file added docs/images/architecture/Core_Component.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/images/architecture/Hl_FLINT_design.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/images/architecture/LocalDomain.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/images/architecture/ModuleOperation.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/images/architecture/carbon_pool.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/images/architecture/operation_pic.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/images/architecture/simulation.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.