Carbon Cycle Model

Carbon Cycle Model preview image

5 collaborators

Default-person Miguel Taruc (Author)
Redpanda Joshua Abraham (Author)
Evan Laufer (Author)
Rowen Banton (Author)
Amit Grewal (Author)

Tags

(This model has yet to be categorized with any tags)
Visible to everyone | Changeable by everyone
Model was written in NetLogo 5.0.5 • Viewed 796 times • Downloaded 43 times • Run 0 times
Download the 'Carbon Cycle Model' modelDownload this modelEmbed this model

Do you have questions or comments about this model? Ask them here! (You'll first need to log in.)


## WHAT IS IT?

An interactive predictive model designed to illustrate the carbon cycle as well as bring caution to the model's users regarding the direction of human emissions. This model visually depicts the different pathways of carbon in the carbon cycle as well as the effect the cycle has on the Earth's reservoirs.

## HOW IT WORKS

To illustrate the carbon cycle as a comprehensive model, the simulation has two parts: the visual components and the calculation components.

Visuals:

The model consists of reservoirs, where carbon is “stored,” and flows, where carbon is moved throughout the world between reservoirs. These illustrate the natural processes that exchange carbon amongst the reservoirs in the atmosphere, lithosphere, hydrosphere, bio mass, and fossil fuels. Other specific factors take part, such as volcanic eruptions. One factor that greatly affects carbon amounts is human emissions, represented by the power plant, on which this simulation focuses on.

Each reservoir of carbon displays the amount of carbon (in gigatons) that is currently stored. The arrows represent carbon flows. Red arrows are specifically for human emissions. The other flows are also color-coded (photosynthesis = yellow, plant respiration = blue, microbial respiration + decomposition = white, soil carbon deposit = brown, air-sea gas exchanges = black). These flows help visualize the complex carbon exchanges, even as a limited model.

Visually, one carbon particle is about equivalent to 10 gigatons of carbon.

Calculations:

As a separate component, the calculations of the model run in the background of the visuals while still showing accurate data for the factors represented. The calculations don’t measure how many arrows visually hit the counters to keep track, but rather the formulas are built into the code as to not be restricted by the visual components. This is what makes this model predictive. The formulas (created by predicting trendlines past official data) update the changes over years, carbon counts in each reservoir, the ppm (v) of the atmosphere, etc. It allows for examination of different factors, such as human emissions, over time.

This model, although based on a fairly accurate NASA graphic, has many limitations due to the huge amount of other factors that affect the carbon cycle on a real scale. With simplified mechanics (such as unchanging formulas and rounded initial carbon values), the predictive power is only accurate to some extent. In an interactive sense, the user can edit some aspects but there are more factors that should change in response, such as an increase in photosynthesis rate due to an increase in atmospheric carbon. In totality, the model still gives a sense of the carbon cycle’s complex pathways and connects it to the effects that could be seen.

## HOW TO USE IT

Press setup button. Press go button.

In order to set the initial carbon levels in each area, press setup then move the slider to the desired value for each area. Then, press go. The setup button automatically sets the default values of carbon to the best estimated value for the given year.

SETUP: Clears the display and resets ticks then creates the word and gives default values for each variable

GO: Runs the simulation with the given variables and updates the display

EMISSION-MULTIPLIER: Variable which multiplies human emissions by the given decimal number

INITIAL-(XXX)-CARBON: Customize the starting gigatons of carbon in the the (XXX) area. Updates when the GO button is clicked

Monitors and graphs are placed next to the display to illustrate the data collected during the simulation.

YEAR: The current year of the simulation. The base year is 2008 and increases one year per 12 ticks.

CARBON: The amount of carbon arrows visually displayed on the screen at a given tick

PPM: The amount of atmospheric carbon in a parts-per-million volume ratio

SCENARIO: To be clicked while “go” is running. This imposes a scenario which automatically increases or decreases the human emission multiplier over a set amount of time constantly. The amount of increase/decrease over the amount of time can be change with sliders below the display.

## THINGS TO NOTICE

The year monitor shows the year in the model, which can be used to estimate the carbon levels at that year in real life and see when the amount of carbon in the atmosphere begins to cause noticeable effects on nature and mankind itself. There is also a monitor and graph that shows parts per million carbon in the atmosphere. The carbon levels graph shows the amount of carbon in each area over time in gigatons. Notice that each tick is one month.

## THINGS TO TRY

Click the Volcanic Eruption button and observe the effects that it has on the ppm of carbon.

Vary the emission-multiplier slider and see how lowering carbon emission can slow or increase the increase of carbon and ppm.

## EXTENDING THE MODEL

Add more sources of carbon emission.

Add more detailed reservoirs and flows.

## NETLOGO FEATURES

Note that each carbon is a turtle and each reserve of carbon is labeled via patches and calculated separately from the visuals.

## RELATED MODELS

Climate Change

Within the NetLogo models library, the model that most directly relates to the Carbon

Cycle program is the Climate Change program, which allows the user to manually

control a number of variables that affect the Earth’s global temperature. Seeing that

carbon is a greenhouse gas, the carbon cycle and climate change are directly related to

one another.

## CREDITS AND REFERENCES

Thanks to Lawrence Livermore National Laboratory for hosting and providing resources for the program in which this simulation was created.

Led and advised by teachers and scientists:

Groch, Robin (Aesthetic review)

Johnson, Rodger

Newton, Richard

Reese, Dean

Carbon Dioxide Information Analysis Center - Conversion Tables. (2012, September 26).

Conversion Tables. Retrieved July 23, 2014, from http://cdiac.ornl.gov/pns/convert.html

McKinley, G. (2014, January 1). Carbon and Climate. Carbon and Climate. Retrieved July 23,

2014, from http://carboncycle.aos.wisc.edu/

Riebeek, H. (2011, June 16). The Carbon Cycle : Feature Articles. The Carbon Cycle : Feature

Articles. Retrieved July 11, 2014, from http://earthobservatory.nasa.gov/

Features/CarbonCycle/

Tans, P. (n.d.). ESRL Global Monitoring Division . ESRL Co2 Trends RSS. Retrieved July 23,

2014, from http://www.esrl.noaa.gov/gmd/ccgg/trends/

http://creativecommons.org/licenses/by-nc-sa/4.0/">Creative Commons Licensehttp://i.creativecommons.org/l/by-nc-sa/4.0/88x31.png" />
http://purl.org/dc/terms/" href="http://purl.org/dc/dcmitype/InteractiveResource" property="dct:title" rel="dct:type">Carbon Cycle Model by http://creativecommons.org/ns#" property="cc:attributionName">LLNL Computational Modeling TRA Level 3 is licensed under a http://creativecommons.org/licenses/by-nc-sa/4.0/">Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

Created by:

Amit Grewal amitgrewal97@yahoo.com Tracy High School

Evan Laufer evan.m.laufer@gmail.com San Ramon Valley High School

Joshua Abraham joshpabraham@gmail.com Tracy High School

Miguel Taruc miguelt17@comcast.net Tracy High School

Rowen Banton bantonrowen@gmail.com Monte Vista High School

Comments and Questions

Please start the discussion about this model! (You'll first need to log in.)

Click to Run Model

globals [
  lithosphere               ;to set up lithosphere
  atmosphere                ;to set up atmosphere
  hydrosphere               ;to set up hydrosphere
  litho-carbon              ;amount of carbon in lithosphere
  atmo-carbon               ;amount of carbon in atmosphere
  hydro-carbon              ;amount of carbon in hydrosphere
  bio-carbon                ;amount of carbon in biomass
  fossil-carbon             ;amount of carbon in fossils fuels
  ppm                       ;used for calculating ppm
  gigaton-carbon            ;amount carbon in atmosphere in gigatons
  ppm-old                   ;used for calculating ppm
  ppm-new                   ;ppm carbon in atmosphere
  gigaton-change            ;change in atmospheric carbon
  scenario-increase         ;used for registering an increase in human emissions over time
  scenario-decrease         ;used for registering a decrease in human emissions over time
  est-global-temp           ;the estimated global average temperature worldwide
  ]

breed [carbons carbon]
breed [plants plant]
breed [outliners outliner]

to set-up                   ;sets up world
  clear-all
  reset-ticks 
  setup-world
  setup-res
  setup-volcano
  add-algae
end  

to setup-volcano            ;sets up volcano
  crt 1 
  [
    set shape "volcano"
    set size 16
    setxy -1 3
    set heading 0
  ]
end 

to setup-world                                                                    ;create spheres 
  set atmosphere max-pycor - 32
  set lithosphere max-pxcor - 32
  ask patches [                                                                   ;first layer to make lithosphere
    if pxcor <= lithosphere + 10 [ 
      set pcolor scale-color brown pycor -30 10] ]
    ask patch -6 -14 [set plabel word "Lithosphere Res: " initial-litho-carbon
    set plabel-color white]
  ask patches [                                                                   ;add a line for plants 
    if pycor = 0
    [set pcolor green] ]
  ask patches [                                                                   ;thickens line of plants
    if pycor = -1 
    [ set pcolor green]]
  ask patches [                                                                   ;thickens line of plants
    if pycor = 1
    [set pcolor green] ] 
  ask patches [                                                                   ;second layer to make hydrosphere
    if pxcor > lithosphere + 10 
    [set pcolor scale-color blue pycor -32 10] 
  ]
  ask patch -15 11 [set plabel word "Biomass Carbon: " initial-bio-carbon
    set plabel-color black]
  ask patch 31 -14 [set plabel word "Hydrosphere Res: " initial-hydro-carbon
    set plabel-color white]
  ask patches [                                                                   ;last layer to make atmosphere
    if pycor > atmosphere 
    [set pcolor scale-color sky pycor 32 0]
      set atmo-carbon 817
    ask patch 10 29 [set plabel word "Atmosphere Res: " atmo-carbon
    set plabel-color white]
  ask patch -6 -29 [set plabel word "Fossil Carbon: " initial-fossil-carbon]
  ]
 crt 1 [set shape "smokestack" set size 7 set color gray setxy -14 2]
  ask patch -26 5 [sprout-plants 1 [set size 9
      set color green
      set shape "tree border"] ] 
    
  set initial-hydro-carbon 44000                                                  ;sets default initial carbon amounts
  set initial-bio-carbon 550        
  set initial-litho-carbon 2300
  set initial-fossil-carbon 10000

 set ppm-new (0.074131 * (e ^ (0.0042584 * (2008 + (ticks / 12)))))               ;sets initial ppm to show before simulation starts
end 

to setup-res                                                                      ;sets up colors of reservoirs and sun
  ask patches [if pycor < -25 and pxcor <= 10  [set pcolor 31]]
  ask patches [if pycor > 25 [set pcolor black]]

 crt 1 [set shape "sun" setxy -26 29 set color yellow set size 7]
end 

to go                        ;carries out the functions of the simulation
  initial-setup
  scenario
  ask carbons [fd 2]
  calculations
  human-emission
  respiration
  photosynthesis
  soil-carbon
  decomposition
  air-exchange
  sea-exchange
  update-values
  update-labels
  wait .1
  tick
end 

to initial-setup                            ;initial setup before go
  if ticks = 0 [
  set hydro-carbon initial-hydro-carbon
  set bio-carbon initial-bio-carbon
  set litho-carbon initial-litho-carbon
  set fossil-carbon initial-fossil-carbon
  ]
end 

to human-emission                                         ;visually sets up the flow of human emissions into the atmosphere reservoir
  if ticks mod 12 = 0 [ ask patch -15 4 [
    sprout-carbons round (emission-multiplier + .49)[
      set shape "carbon arrow"
      set color orange
      set heading -20 + random 40 ] ] 
  ask carbons [
    if pcolor = white - 1
     [die]]
  ]
end 

to respiration                                            ;visually sets up the flow from biomass reservoir to atmosphere reservoir
  if ticks mod 2 = 0 [ ask patch -25 8 [
    sprout-carbons 1 [
      set shape "carbon arrow"
      set color blue
      set heading 0 + random 30] ] 
  ask carbons [
    if pcolor = black
    [die]]
  ]
end 

to photosynthesis                                         ;visually sets up the flow from atmosphere reservoir to biomass reservoir
  ask patch -31 25 [
    sprout-carbons 1[
      set shape "carbon arrow"
      set color green
      set heading 160 + random 20]
  ask carbons [if pcolor = green
    [die]]]
end 

to soil-carbon                                            ;visually sets up the flow from biomass reservoir to lithosphere reservoir
  ask patch -24 -3 [
    sprout-carbons 2[
      set shape "carbon arrow"
      set color brown + 2
      set heading 160 + random 20] 
  ask carbons [if pcolor = 33 or pcolor = 33.25
     [die]]
  ]
end 

to decomposition                                          ;visually sets up the flow from lithosphere reservoir to atmosphere reservoir
  if ticks mod 2 = 0 [ ask patch -23 4 [
    sprout-carbons 1 [
      set shape "carbon arrow"
      set color brown - 2
      set heading 5 + random 20] ] 
  ask carbons [
    if pcolor = black
     [die]]
  ]
end 

to air-exchange                                           ;visually sets up the flow from atmosphere reservoir to hydrosphere reservoir
  if ticks mod 4 = 0 [ask patch 15 25
    [sprout-carbons 3 [
      set shape "carbon arrow"
      set color white
      set heading 175 + random 5] ]
  ask carbons [
    if pycor <= -12
     [die]]
  ]
end 

to sea-exchange                                           ;visually sets up the flow from hydrosphere reservoir to atmosphere reservoir
  if ticks mod 4 = 0 [ask patch 30 1
    [sprout-carbons 3 [
      set shape "carbon arrow"
      set color blue + 2
      set heading -10 + random 10] ] 
  ask carbons [
    if pcolor = black
    [die]]
  ]
end 

to scenario                                                                                           ;registers variation due to activation of scenarios
  ifelse scenario-increase = true and ticks mod (per * 12) = 0
  [set emission-multiplier (emission-multiplier + increase-or-decrease-by)]
  [ifelse scenario-decrease = true and (emission-multiplier - 0.1) > 0 and ticks mod (per * 12) = 0
    [set emission-multiplier (emission-multiplier - increase-or-decrease-by)]
    [set emission-multiplier emission-multiplier]
  if scenario-decrease = true and (emission-multiplier - increase-or-decrease-by) < 0
    [set emission-multiplier 0] 
  ]
end 

to calculations                                                                                       ;formulas used to calculate increase of carbon in ppm in the resevoirs 
  set ppm (0.074131 * (e ^ (0.0042584 * (2008 + (ticks / 12))))) 
  set ppm-old (0.074131 * (e ^ (0.0042584 * (2008 + (ticks - 1) / 12)))) 
  set gigaton-change ((ppm - ppm-old) * 2.13)                                                         ;calculates gigaton-change over time
  set gigaton-carbon (ppm-old * 2.13)
  set ppm-new (ppm-old + ((gigaton-change * (emission-multiplier - 1)) / 2.13) ) 
  set est-global-temp (ppm-new + 948.83) / 90.787                                                     ;temperature calculation
end 

to update-values                                                                                      ;updates the value of carbon in Gt for all labels
  set atmo-carbon round (gigaton-carbon + (gigaton-change * (emission-multiplier)))
  set hydro-carbon hydro-carbon + (((2 / 9) * gigaton-change))                                        ;distributes carbon 
  set litho-carbon litho-carbon + (((3 / 9) * gigaton-change))
  set bio-carbon bio-carbon + (((0 / 9) * gigaton-change))
  set fossil-carbon fossil-carbon - (gigaton-change * emission-multiplier)
end 

to update-labels                                                                                      ;adds lithosphere, hydrosphere, atmosphere, fossil, and biomass patch labels 
  ask patch -6 -14 [set plabel word "Lithosphere Res: " round litho-carbon]
  ask patch 31 -14 [set plabel word "Hydrosphere Res: " round hydro-carbon]
  ask patch 10 29 [set plabel word "Atmosphere Res: " round atmo-carbon]
  ask patch -6 -29 [set plabel word "Fossil Carbon: " round fossil-carbon]
  ask patch -15 11 [set plabel word "Biomass Carbon: " round bio-carbon]
end 

to erupt                                                                                              ;creates an eruption from the volcano
  ask patch -1 7 [ sprout-carbons 1 [                                                                 ;creates a smoke cloud
      set shape "cloud"
      set size 7
      set color gray - 2
      set heading 0
    ] ]
  set gigaton-carbon gigaton-carbon + .00001                                                          ;adds miniscule amount of carbon to atmosphere
end 

to add-algae                                                                                          ;generates algae on the surface of the hydrosphere
  ask n-of 4 patches with [(pycor = 0 or pycor = 1) and pxcor >= 11][                                 ;four algae plants
          sprout-plants 1                                                                             ;random places on a specific y cord
          [
            set color green
            set shape "plant small border"
            set size 4 
          ]]
end 

;Created by: 

;Amit Grewal amitgrewal97@yahoo.com Tracy High School 
;Evan Laufer evan.m.laufer@gmail.com San Ramon Valley High School 
;Joshua Abraham joshpabraham@gmail.com Tracy High School 
;Miguel Taruc miguelt17@comcast.net Tracy High School 
;Rowen Banton bantonrowen@gmail.com Monte Vista High School
;LLNL Computational Modeling TRA Level 3

There is only one version of this model, created over 3 years ago by Miguel Taruc.

Attached files

File Type Description Last updated
Carbon Cycle Model.png preview Preview for 'Carbon Cycle Model' over 3 years ago, by Miguel Taruc Download

This model does not have any ancestors.

This model does not have any descendants.