Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
tutorial:incorporating_iterations_into_a_model [2017/01/17 18:23] isabella |
tutorial:incorporating_iterations_into_a_model [2017/01/25 17:56] (current) francisco [What will you learn?] |
||
---|---|---|---|
Line 54: | Line 54: | ||
Now you need to sum all cells that represent forest. Note that the output is a binary map with only ones and nulls, the latter is represented by zero. Next, use //[[:Extract Map Attributes]]// (Map Algebra tab) to extract the sum of non-null cells. This functor produces as output a table with [[:extract_map_attributes#Notes|these map attributes]].{{ :tutorial:inc._it._model_6.jpg |}} | Now you need to sum all cells that represent forest. Note that the output is a binary map with only ones and nulls, the latter is represented by zero. Next, use //[[:Extract Map Attributes]]// (Map Algebra tab) to extract the sum of non-null cells. This functor produces as output a table with [[:extract_map_attributes#Notes|these map attributes]].{{ :tutorial:inc._it._model_6.jpg |}} | ||
- | The area extent is the sum of non-null cells (field 9) multiplied by the cell area in hectares (field 7). You need to add one //[[:Calculate Value]]//, located in the Table tab, to perform this calculation. Also, drag one //[[:Number Table]]// into it (from Map Algebra Supplementary tab), which will receive the attribute table output from //[[:Extract Map Attributes]]//. You need to enter "1" to assign an identifier for this table. Finally, write:\\ **t1[7]*t1[9]**\\ (cell area (in hectares) * sum of the values (excluding null cells)) | + | The area extent is the sum of non-null cells (field 9) multiplied by the cell area in hectares (field 7). You need to add one //[[:Calculate Value]]//, located in the Table tab, to perform this calculation. Also, select one //[[:Number Table]]// clicking in Create a hook (magnet icon) inside functor action bar, which will receive the attribute table output from //[[:Extract Map Attributes]]//. You need to enter "1" to assign an identifier for this table. Finally, write:\\ **t1[7]*t1[9]**\\ (cell area (in hectares) * sum of the values (excluding null cells)) |
<note tip>**TIP**: You can replace the\\ | <note tip>**TIP**: You can replace the\\ | ||
Line 73: | Line 73: | ||
Now you need to fill in a table in order to store the area calculated for each state. The functor [[:set_lookup_table_value|Set Lookup Table Value]] updates a lookup table placing a value to a position defined by a key. To fill in the entire lookup table, you need to develop a loop that enables this functor to browse through the lookup table. To close this loop, you will need a functor that is key to the development of dynamic models. Here we introduce the concept of Mux functor. | Now you need to fill in a table in order to store the area calculated for each state. The functor [[:set_lookup_table_value|Set Lookup Table Value]] updates a lookup table placing a value to a position defined by a key. To fill in the entire lookup table, you need to develop a loop that enables this functor to browse through the lookup table. To close this loop, you will need a functor that is key to the development of dynamic models. Here we introduce the concept of Mux functor. | ||
- | A //Mux// functor can be a map, a categorical map, a lookup table, a table or a value. Look at the Control tab to find //[[:Mux Lookup Table]]// and drag it into //[[:Repeat]]//. Also drag //[[:Set Lookup Table Value]]// from the Table tab. | + | A //Mux// functor can be a map, a categorical map, a lookup table, a table or a value. Look at the Control tab to find //[[:Mux Lookup Table]]// and drag it into //[[:Repeat]]//. Also drag //[[:Set Lookup Table Value]]// from the Lookup Table tab. |
{{ :tutorial:inc._it._model_9.jpg |}} | {{ :tutorial:inc._it._model_9.jpg |}} | ||
Line 121: | Line 121: | ||
<note tip>**TIP**: If //[[:Save Map]]// is placed inside //[[:Repeat]]//, it will save a file per time step and a digit representing the time step will be added to the end of the file name.</note> | <note tip>**TIP**: If //[[:Save Map]]// is placed inside //[[:Repeat]]//, it will save a file per time step and a digit representing the time step will be added to the end of the file name.</note> | ||
- | At a last step, open //[[:Set Lookup Table Value]]// with the Edit Functor Ports. {{ :tutorial:inc._it._model_16.jpg |}} | + | {{ :tutorial:inc._it._model_16.jpg |}} |
- | Test the model integrity, save it and if everything is O.K., click on the run button. This may take a short while. | + | Save it and if everything is O.K., click on the run button. This may take a short while. |
{{ :tutorial:inc._it._model_17.jpg |}} | {{ :tutorial:inc._it._model_17.jpg |}} | ||
- | Go to //[[:Set Lookup Table Value]]//, open it with Edit Functor Ports and click with the right button on **Updated Table** to view the result. Also make a chart clicking on the chart button (bottom left). | + | Go to //[[:Set Lookup Table Value]]//, open inspect functor into functor action bar and click to inspect the output port **Updated Table** and run the model again to view the result. Also make a chart clicking on the chart button (bottom left). |
{{:tutorial:inc._it._model_19.jpg|}}{{:tutorial:inc._it._model_19_2.jpg|}} | {{:tutorial:inc._it._model_19.jpg|}}{{:tutorial:inc._it._model_19_2.jpg|}} |