{
  "information": {
    "Title": "Factors affecting Photosynthesis Lab for Primary School",
    "Author": [
      "weelookang@gmail.com",
      "Francisco Esquembre",
      "F\u00e9lix J. Garc\u00eda Clemente"
    ],
    "AuthorLogo": [
      "./1authorlookangphoto5050.png",
      "./01authorPacoEsquembre2011.png",
      "./01authorFelix_J_Garcia_Clemente.png"
    ],
    "Password": "",
    "Keywords": "",
    "Abstract": "http://weelookang.blogspot.sg/2017/11/photosynthesis-javascript-html5-applet.html",
    "Copyright": "",
    "Level": "",
    "Language": "",
    "Logo": [
      "./photosynthesis/Screen Shot 2017-11-08 at 11.10.46 AM.png"
    ],
    "RunAlways": "true",
    "ModelTab": "",
    "ModelTabTitle": "",
    "ModelName": "",
    "FixedNavigationBar": "false",
    "CSSFile": "",
    "DetectedFiles": [
      "./01authorFelix_J_Garcia_Clemente.png",
      "./01authorPacoEsquembre2011.png",
      "./1authorlookangphoto5050.png",
      "./photosynthesis/Screen Shot 2017-11-08 at 11.10.46 AM.png"
    ],
    "AuxiliaryFiles": [
      "./photosynthesis/",
      "./assessment.json"
    ],
    "HTMLHead": "<script async=\"true\" src=\"https://www.googletagmanager.com/gtag/js?id=UA-3326007-19\"></script>\n<script>\n  window.dataLayer = window.dataLayer || [];\n  function gtag(){dataLayer.push(arguments);}\n  gtag('js', new Date());\n  gtag('config', 'UA-3326007-19');\n</script>\n<script data-ad-client=\"ca-pub-0121577198857509\" async=\"true\" src=\"https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js\"></script>",
    "SaveInXMLFormat": "false",
    "IncludeSource": "true",
    "IncludeLibrary": "true",
    "UglifyJS": "false",
    "PreviewFullModel": "false",
    "UseInterpreter": "true",
    "UseDeltaForODE": "false"
  },
  "description": {
    "pages": []
  },
  "model": {
    "variables": {
      "pages": [
        {
          "Name": "Var Table",
          "Active": "true",
          "Internal": "false",
          "Type": "VARIABLE_EDITOR",
          "PageComment": "",
          "Variables": [
            {
              "Name": "xmin",
              "Value": "-5",
              "Type": "double",
              "Dimension": "",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "xmax",
              "Value": "5",
              "Type": "double",
              "Dimension": "",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "ymin",
              "Value": "-5",
              "Type": "double",
              "Dimension": "",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "ymax",
              "Value": "5",
              "Type": "double",
              "Dimension": "",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "rangex",
              "Value": "xmax-xmin",
              "Type": "double",
              "Dimension": "",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "rangey",
              "Value": "ymax-ymin",
              "Type": "double",
              "Dimension": "",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "sizex",
              "Value": "rangex/20",
              "Type": "double",
              "Dimension": "",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "sizey",
              "Value": "rangey/20",
              "Type": "String",
              "Dimension": "",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "selected",
              "Value": "\"shm_with_xo=0,vo=2\"",
              "Type": "String",
              "Dimension": "[1]",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "text",
              "Value": "\"select dropdown menu , vary the screen slider (eg. intensity)\\nand click play\"",
              "Type": "String",
              "Dimension": "",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "pi",
              "Value": "Math.PI",
              "Type": "double",
              "Dimension": "",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "y1",
              "Value": "sizey*5/2",
              "Type": "double",
              "Dimension": "",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "ysize",
              "Value": "0.2",
              "Type": "double",
              "Dimension": "",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "xlamp",
              "Value": "5.5",
              "Type": "double",
              "Dimension": "",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "ylamp",
              "Value": "0",
              "Type": "double",
              "Dimension": "",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "n",
              "Value": "100",
              "Type": "int",
              "Dimension": "",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "ntotal",
              "Value": "200",
              "Type": "int",
              "Dimension": "",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "index",
              "Value": "0",
              "Type": "int",
              "Dimension": "[ntotal]",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "r",
              "Value": "0",
              "Type": "double",
              "Dimension": "[ntotal]",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "dr",
              "Value": "0",
              "Type": "double",
              "Dimension": "[ntotal]",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "xbubble",
              "Value": "0",
              "Type": "double",
              "Dimension": "[ntotal]",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "ybubble",
              "Value": "0",
              "Type": "double",
              "Dimension": "[ntotal]",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "dy",
              "Value": "0",
              "Type": "double",
              "Dimension": "[ntotal]",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "ybubbleshow",
              "Value": "true",
              "Type": "boolean",
              "Dimension": "[ntotal]",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "count",
              "Value": "0",
              "Type": "int",
              "Dimension": "[ntotal]",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "sumcount",
              "Value": "0",
              "Type": "double",
              "Dimension": "",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "intensity",
              "Value": "1",
              "Type": "double",
              "Dimension": "",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "intensitydrag",
              "Value": "intensity-3",
              "Type": "double",
              "Dimension": "",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "carbondioxide",
              "Value": "0.05",
              "Type": "double",
              "Dimension": "",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "carbondioxidedrag",
              "Value": "-2",
              "Type": "double",
              "Dimension": "",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "expt",
              "Value": "",
              "Type": "double",
              "Dimension": "",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "spd",
              "Value": "1",
              "Type": "double",
              "Dimension": "",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "bubbleburst",
              "Value": "false",
              "Type": "boolean",
              "Dimension": "[ntotal]",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "bubblebursttime",
              "Value": "0",
              "Type": "double",
              "Dimension": "[ntotal]",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "bubbleburstcheck",
              "Value": "0",
              "Type": "double",
              "Dimension": "[ntotal]",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "",
              "Value": "",
              "Type": "double",
              "Dimension": "",
              "Comment": "null",
              "Domain": "public"
            }
          ]
        },
        {
          "Name": "Comboboxvar",
          "Active": "true",
          "Internal": "false",
          "Type": "VARIABLE_EDITOR",
          "PageComment": "",
          "Variables": [
            {
              "Name": "print",
              "Value": "false",
              "Type": "boolean",
              "Dimension": "",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "",
              "Value": "",
              "Type": "boolean",
              "Dimension": "",
              "Comment": "null",
              "Domain": "public"
            }
          ]
        },
        {
          "Name": "datatable",
          "Active": "true",
          "Internal": "false",
          "Type": "VARIABLE_EDITOR",
          "PageComment": "",
          "Variables": [
            {
              "Name": "datanMax",
              "Value": "20",
              "Type": "double",
              "Dimension": "",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "datan",
              "Value": "1",
              "Type": "double",
              "Dimension": "",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "intensitydata",
              "Value": "-1",
              "Type": "double",
              "Dimension": "[datanMax]",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "sumcountdata",
              "Value": "0",
              "Type": "double",
              "Dimension": "[datanMax]",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "carbondioxidedata",
              "Value": "-1",
              "Type": "double",
              "Dimension": "[datanMax]",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "",
              "Value": "",
              "Type": "double",
              "Dimension": "",
              "Comment": "null",
              "Domain": "public"
            }
          ]
        },
        {
          "Name": "layout",
          "Active": "true",
          "Internal": "false",
          "Type": "VARIABLE_EDITOR",
          "PageComment": "",
          "Variables": [
            {
              "Name": "Width",
              "Value": "(_isEPub)?\"400\":\"100%\"",
              "Type": "String",
              "Dimension": "",
              "Comment": "display width",
              "Domain": "public"
            },
            {
              "Name": "Height",
              "Value": "(_isEPub)?\"500\":\"100%\"",
              "Type": "String",
              "Dimension": "",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "Width1",
              "Value": "\"50%\"",
              "Type": "String",
              "Dimension": "",
              "Comment": "display width",
              "Domain": "public"
            },
            {
              "Name": "Width2",
              "Value": "\"50%\"",
              "Type": "String",
              "Dimension": "",
              "Comment": "display width",
              "Domain": "public"
            },
            {
              "Name": "Width3",
              "Value": "\"50%\"",
              "Type": "String",
              "Dimension": "",
              "Comment": "display width",
              "Domain": "public"
            },
            {
              "Name": "world",
              "Value": "true",
              "Type": "boolean",
              "Dimension": "",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "graph",
              "Value": "true",
              "Type": "boolean",
              "Dimension": "",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "graph2",
              "Value": "true",
              "Type": "boolean",
              "Dimension": "",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "disabledworld",
              "Value": "false",
              "Type": "boolean",
              "Dimension": "",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "disabled",
              "Value": "false",
              "Type": "boolean",
              "Dimension": "",
              "Comment": "null",
              "Domain": "public"
            }
          ]
        },
        {
          "Name": "simplespring",
          "Active": "true",
          "Internal": "false",
          "Type": "VARIABLE_EDITOR",
          "PageComment": "",
          "Variables": [
            {
              "Name": "m",
              "Value": "1",
              "Type": "double",
              "Dimension": "",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "x",
              "Value": "-1",
              "Type": "double",
              "Dimension": "",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "xs",
              "Value": "x",
              "Type": "double",
              "Dimension": "",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "y",
              "Value": "0",
              "Type": "double",
              "Dimension": "",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "vx",
              "Value": "0",
              "Type": "double",
              "Dimension": "",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "vxs",
              "Value": "vx",
              "Type": "double",
              "Dimension": "",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "vxstored",
              "Value": "0",
              "Type": "double",
              "Dimension": "",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "t",
              "Value": "0",
              "Type": "double",
              "Dimension": "",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "T",
              "Value": "1",
              "Type": "double",
              "Dimension": "",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "dt",
              "Value": "",
              "Type": "double",
              "Dimension": "",
              "Comment": "null",
              "Domain": "public"
            }
          ]
        },
        {
          "Name": "functionY",
          "Active": "true",
          "Internal": "false",
          "Type": "VARIABLE_EDITOR",
          "PageComment": "",
          "Variables": [
            {
              "Name": "selectedmodel",
              "Value": "\"2*sin(t)\"",
              "Type": "String",
              "Dimension": "[1]",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "functionY",
              "Value": "selectedmodel+\"\"",
              "Type": "String",
              "Dimension": "",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "xmodel",
              "Value": "",
              "Type": "double",
              "Dimension": "",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "showmodel",
              "Value": "false",
              "Type": "boolean",
              "Dimension": "",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "",
              "Value": "",
              "Type": "double",
              "Dimension": "",
              "Comment": "\"Y = \"+_view._format(Acalculated,\"0.0\")+\"sin(\" +_view._format(w,\"0.00\")+\"t\"+_view._format(phi,\"0.00\")+\")\"",
              "Domain": "public"
            }
          ]
        }
      ]
    },
    "initialization": {
      "pages": [
        {
          "Name": "undefined",
          "Active": "true",
          "Internal": "false",
          "Type": "CODE_EDITOR",
          "Comment": "",
          "Code": "if (expt==undefined){\n  expt=1;\n  }\n  \n  if (dt==undefined){\n  dt=0.1;\n  }\n"
        },
        {
          "Name": "Init Page",
          "Active": "true",
          "Internal": "false",
          "Type": "CODE_EDITOR",
          "Comment": "",
          "Code": "\nfor (var i=0; i<ntotal  ; i++) {\n xbubble[i]=(Math.random()-0.5);\n// xbubble[i] =poisson();\n ybubble[i]=(Math.random()*(-3));\n// ybubble[i] =poisson()*(-3);\n r[i]=0; //reset radius back to zero size\n dr[i] =0; // reset radius growth \n count[i]=0; //reset counting of bubbles\n ybubbleshow[i]=true; //show all bubbles \n index[i]=i+\"\";\n}\n\nsumcount  = 0; \nif (expt==1){\n  //[\"expt 1 vary amount of light\",\"expt 2 vary amount of carbon dioxide\"]\n // _view.comboBox.setSelectedOptions([\"expt 1 vary amount of light\"]);\ndr[0] = 0.05*intensity; //set first bubble rate of radius increase\n//dr[n] = 0.05*intensity/10; //set first bubble rate of radius increase for random appearance\n//_tools.showOkDialog(\"Vary the on screen slider of intensity to a different value!\");\n}\nelse if (expt==2){\n   //[\"expt 1 vary amount of light\",\"expt 2 vary amount of carbon dioxide\"]\n  //_view.comboBox.setSelectedOptions([\"expt 2 vary amount of carbon dioxide\"]);\n dr[0] = 0.05*carbondioxide*16; //set first bubble rate of radius increase \n dr[n] = 0.05*carbondioxide*16/10; //set first bubble rate of radius increase\n// _tools.showOkDialog(\"Vary the on screen slider of carbon dioxide to a different value!\");\n }\n"
        },
        {
          "Name": "resizeListener",
          "Active": "true",
          "Internal": "false",
          "Type": "CODE_EDITOR",
          "Comment": "",
          "Code": "if (window) {\n  window.addEventListener('resize', function(e) { _update(); });\n}\n"
        },
        {
          "Name": "message",
          "Active": "true",
          "Internal": "false",
          "Type": "CODE_EDITOR",
          "Comment": "",
          "Code": "if (_isMobile){\n  //do nothing\n  }\n  \n  else{\n    // copy this into the initialization\n// make the font bigger\n\n_view.plottingPanel.getMessageDecoration(\"TL\").getFont().setFontSize(\"1vw\");\n_view.plottingPanel.getMessageDecoration(\"TR\").getFont().setFontSize(\"1vw\");\n_view.plottingPanel.getMessageDecoration(\"BL\").getFont().setFontSize(\"1vw\");\n_view.plottingPanel.getMessageDecoration(\"BR\").getFont().setFontSize(\"1vw\");\n    }"
        },
        {
          "Name": "svg",
          "Active": "true",
          "Internal": "false",
          "Type": "CODE_EDITOR",
          "Comment": "",
          "Code": "var container = document.createElement('div');\nvar svggradient = '<svg xmlns=\"http://www.w3.org/2000/svg\" version=\"1.1\"><defs>'+\n  '  <radialGradient id=\"mygrandient\" cx=\"50%\" cy=\"50%\" r=\"90%\" fx=\"90%\" fy=\"10%\">'+\n  '    <stop offset=\"0%\" style=\"stop-color:rgb(0,255,255); stop-opacity:0.6\" />'+\n  '    <stop offset=\"100%\" style=\"stop-color:rgb(255,255,255);stop-opacity:0.7\" />'+\n  '  </radialGradient>'+\n  '</defs></svg>';\ncontainer.innerHTML = svggradient;\ndocument.body.appendChild(container);\n//\"url(#mygrandient)\"\n\nvar container = document.createElement('div');\nvar svggradient = '<svg xmlns=\"http://www.w3.org/2000/svg\" version=\"1.1\"><defs>'+\n  '  <radialGradient id=\"mygrandient1\" cx=\"50%\" cy=\"50%\" r=\"90%\" fx=\"50%\" fy=\"50%\">'+\n  '    <stop offset=\"0%\" style=\"stop-color:rgb(255,255,255); stop-opacity:1\" />'+\n  '    <stop offset=\"100%\" style=\"stop-color:rgb(200,200,200);stop-opacity:0.1\" />'+\n  '  </radialGradient>'+\n  '</defs></svg>';\ncontainer.innerHTML = svggradient;\ndocument.body.appendChild(container);\n//\"url(#mygrandient1)\"\n\nvar container = document.createElement('div');\nvar svggradient = '<svg xmlns=\"http://www.w3.org/2000/svg\" version=\"1.1\"><defs>'+\n  '  <radialGradient id=\"mygrandient2\" cx=\"50%\" cy=\"50%\" r=\"90%\" fx=\"90%\" fy=\"10%\">'+\n  '    <stop offset=\"0%\" style=\"stop-color:rgb(255,255,255); stop-opacity:0.5\" />'+\n  '    <stop offset=\"100%\" style=\"stop-color:rgb(0,255,255);stop-opacity:0.5\" />'+\n  '  </radialGradient>'+\n  '</defs></svg>';\ncontainer.innerHTML = svggradient;\ndocument.body.appendChild(container);\n//\"url(#mygrandient2)\"\n\n\nvar container = document.createElement('div');\nvar svggradient = '<svg xmlns=\"http://www.w3.org/2000/svg\" version=\"1.1\"><defs>'+\n  '  <radialGradient id=\"mygrandient3\" cx=\"50%\" cy=\"50%\" r=\"90%\" fx=\"50%\" fy=\"50%\">'+\n  '    <stop offset=\"0%\" style=\"stop-color:rgb(0,0,0); stop-opacity:0.5\" />'+\n  '    <stop offset=\"100%\" style=\"stop-color:rgb(200,200,200);stop-opacity:0.1\" />'+\n  '  </radialGradient>'+\n  '</defs></svg>';\ncontainer.innerHTML = svggradient;\ndocument.body.appendChild(container);\n//\"url(#mygrandient3)\"\n"
        },
        {
          "Name": "axes",
          "Active": "true",
          "Internal": "false",
          "Type": "CODE_EDITOR",
          "Comment": "",
          "Code": "_view.plottingPanelxvst.getAxisX().setPosition([0,0.047]);\n_view.plottingPanelxvst.getTitleX().setPosition([0.95,0.1]);\n_view.plottingPanelxvst.getAxisY().setPosition([0.045,0]);\n_view.plottingPanelxvst.getTitleY().setPosition([0.1,0.9]);\n\n_view.plottingPanelxvst2.getAxisX().setPosition([0,0.047]);\n_view.plottingPanelxvst2.getTitleX().setPosition([0.95,0.1]);\n_view.plottingPanelxvst2.getAxisY().setPosition([0.045,0]);\n_view.plottingPanelxvst2.getTitleY().setPosition([0.1,0.9]);\n"
        }
      ]
    },
    "evolution": {
      "information": {
        "FPS": "20",
        "SPD": "spd",
        "RealTimeVariable": "",
        "Autoplay": "false"
      },
      "pages": [
        {
          "Name": "Evol Page",
          "Active": "true",
          "Internal": "false",
          "Type": "ODE_EDITOR",
          "Comment": "",
          "IndependentVariable": "t",
          "Increment": "dt",
          "Equations": [
            {
              "state": "r",
              "rate": "dr"
            },
            {
              "state": "ybubble",
              "rate": "dy"
            }
          ],
          "Method": "RungeKutta",
          "AbsoluteTolerance": "0.00001",
          "PreliminaryCode": {
            "Code": "//x = poisson(100)/100;\n//x = Math.random()-0.5;\n",
            "Comment": "Code to be executed before rate equations are evaluated"
          },
          "EventMaximumStep": "",
          "Events": {
            "pages": [
              {
                "Type": "EVENT_EDITOR",
                "Name": "Event",
                "Active": "true",
                "Internal": "false",
                "EventType": "CROSSING_EVENT",
                "Method": "BISECTION",
                "Iterations": "100",
                "Tolerance": "1.0e-5",
                "StopAtEvent": "true",
                "ZeroCondition": "return t - 60.0;",
                "Action": "_pause();\n  text = \"pause\";\n  _tools.showOkDialog(\"Data collected after 60 sec, \\nat intensity of light=\" + intensity + \" and \\ncarbon dioxide =\" + carbondioxide + \" %\", function () {\n    store();\n    _update(); // to force update view\n  });\n\n// for moodle\n  let questionPrefixes = [\"A\", \"B\"];\n  let questionNumber = [intensity, Math.round(carbondioxide * 20)];\n//expt = 1 or 2 for the 2 expt\n  questionInstantMark(questionPrefixes[expt - 1] + questionNumber[expt - 1], \"Number of bubbles observed: \" + sumcount);\n  //alert(expt-1)",
                "Comment": ""
              }
            ]
          },
          "ZenoEffect": {
            "Code": "",
            "Comment": "",
            "StopAfterEffect": "true"
          },
          "AccelerationIndependentOfVelocity": "false",
          "ForceSynchronization": "false",
          "UseBestInterpolation": "false",
          "EstimateFirstStep": "false",
          "MemoryLength": "",
          "InternalStep": "",
          "MaximumStep": "",
          "MaximumNumberOfSteps": "10000",
          "RelativeTolerance": "",
          "DelayList": "",
          "DelayMaximum": "",
          "DelayAddDiscont": "",
          "DelayInitialCondition": {
            "Code": "",
            "Comment": ""
          },
          "DirectIncidenceMatrix": "",
          "Discontinuities": {
            "pages": []
          },
          "ErrorHandling": {
            "pages": []
          }
        }
      ]
    },
    "fixed_relations": {
      "pages": [
        {
          "Name": "intensitybubble",
          "Active": "true",
          "Internal": "false",
          "Type": "CODE_EDITOR",
          "Comment": "",
          "Code": "if (expt==1) {\n  // 1 for intensity expt\n  for (var i=0; i<n  ; i++) {\n    if (r[i]-0.2*poisson(20)/20>=0) {   //determine bubble radius size\n    \n      \n      dr[i]=0; //stop growing this bubble\n      \n      dy[i]=3*poisson(10)/10; // start moving up\n      count[i] = 1; // count when bubble starts to move up.\n      // delay depend on intensity\n\n      //start next bubble growing\n      if (intensity==1) {\n        // dr[i+1]=0.05*intensity; // intensity=1, sumcount=15 calibrated\n        dr[i+1]=0.05*poisson(100)/100*intensity; // intensity=1, sumcount=15 calibrated\n      }\n      else if (intensity==2) {\n        // dr[i+1]=0.05*intensity; // intensity=2, sumcount=30 calibrated\n        dr[i+1]=0.05*poisson(100)/100*intensity;\n      }\n      else if (intensity==3) {\n        // dr[i+1]=0.045*intensity; // intensity=1, sumcount=15 calibrated\n        dr[i+1]=0.045*poisson(100)/100*intensity;\n      }\n      else if (intensity==4) {\n        // dr[i+1]=0.04*intensity; // intensity=1, sumcount=50 calibrated\n        dr[i+1]=0.04*poisson(100)/100*intensity;\n      }\n      else if (intensity==5) {\n        //dr[i+1]=0.034*intensity; // intensity=1, sumcount=50 calibrated\n        dr[i+1]=0.032*poisson(100)/100*intensity;\n      }\n      else if (intensity==6) {\n        //  dr[i+1]=0.029*intensity; // intensity=1, sumcount=50 calibrated\n        dr[i+1]=0.027*poisson(100)/100*intensity;\n      }\n    }\n\n    if (ybubble[i] - 2.5>0) { //reach surface\n      \n      dy[i] = 0; // stop move y direction\n      // explode\n      bubbleburst[i]=true; //to show the ring of bubble bursting\n      if (bubbleburstcheck[i]==0) { //original bubbleburstcheck[i] are zero\n      bubblebursttime[i]=t; // start record time\n      bubbleburstcheck[i]=1; // will not check burtsting\n}\n if(t>(bubblebursttime[i]+2*dt)&&bubbleburstcheck[i]==1 ){ // \n   bubbleburst[i]=false; // set to visible false\n   }\n\n\n      ybubbleshow[i]=false;\n    }\n    if (xbubble[i]>0.35&&ybubble[i]>0.9) {\n      //rightside\n      xbubble[i]=0.3;\n    }\n    if (xbubble[i]<-0.35&&ybubble[i]>0.9) {\n      //rightside\n      xbubble[i]=-0.3;\n    }\n  }\n} //expt 1"
        },
        {
          "Name": "co2bubble",
          "Active": "true",
          "Internal": "false",
          "Type": "CODE_EDITOR",
          "Comment": "",
          "Code": "else if (expt==2){\nfor (var i=0; i<n /* Iterations */ ; i++) {\n \n if (r[i]-0.2>=0){\n   //stop growing this bubble\ndr[i]=0;\n// start moving up\ndy[i]=3;\ncount[i] = 1;\n// delay depend on intensity\n\n//start next bubble growing\nif (carbondioxide==0.05){\n  dr[i+1]=0.05*carbondioxide*16; // intensity=1, sumcount=15 calibrated\n//alert();\n}\nelse if (carbondioxide==0.1){\n  dr[i+1]=0.05*carbondioxide*16; // intensity=2, sumcount=30 calibrated\n}\nelse if (carbondioxide==0.15){\n  dr[i+1]=0.047*carbondioxide*16; // intensity=1, sumcount=15 calibrated\n}\nelse if (carbondioxide==0.2){\n  dr[i+1]=0.04*carbondioxide*16; // intensity=1, sumcount=50 calibrated\n}\nelse if (carbondioxide==0.25){\n  dr[i+1]=0.034*carbondioxide*16; // intensity=1, sumcount=50 calibrated\n}\nelse if (carbondioxide==0.3){\n  dr[i+1]=0.029*carbondioxide*16; // intensity=1, sumcount=50 calibrated\n}\n   }\n \n if (ybubble[i] - 2.5>0){\n   // stop\ndy[i] = 0;\n// explode\nybubbleshow[i]=false;\n   }\n if (xbubble[i]>0.35&&ybubble[i]>0.9){ //rightside\n   xbubble[i]=0.3;\n   }\n   if (xbubble[i]<-0.35&&ybubble[i]>0.9){ //rightside\n   xbubble[i]=-0.3;\n   }\n \n}\n} //expt 1"
        },
        {
          "Name": "co2bubblerandom",
          "Active": "true",
          "Internal": "false",
          "Type": "CODE_EDITOR",
          "Comment": "",
          "Code": "else if (expt == 2) {\n  for (var i = n; i < ntotal /* Iterations */; i++) {\n\n    if (r[i] - 0.2 >= 0) {\n      //stop growing this bubble\n      dr[i] = 0;\n      // start moving up\n      dy[i] = 3;\n      count[i] = 1;\n      // delay depend on intensity\n\n      //start next bubble growing\n      if (carbondioxide == 0.05) {\n        dr[i + 1] = 0.05 * carbondioxide * 16 / 10; // intensity=1, sumcount=15 calibrated\n        //alert();\n      }\n      else if (carbondioxide == 0.1) {\n        dr[i + 1] = 0.05 * carbondioxide * 16 / 10; // intensity=2, sumcount=30 calibrated\n      }\n      else if (carbondioxide == 0.15) {\n        dr[i + 1] = 0.047 * carbondioxide * 16 / 10; // intensity=1, sumcount=15 calibrated\n      }\n      else if (carbondioxide == 0.2) {\n        dr[i + 1] = 0.04 * carbondioxide * 16 / 10; // intensity=1, sumcount=50 calibrated\n      }\n      else if (carbondioxide == 0.25) {\n        dr[i + 1] = 0.034 * carbondioxide * 16 / 10; // intensity=1, sumcount=50 calibrated\n      }\n      else if (carbondioxide == 0.3) {\n        dr[i + 1] = 0.029 * carbondioxide * 16 / 10; // intensity=1, sumcount=50 calibrated\n      }\n    }\n\n    if (ybubble[i] - 2.5 > 0) {\n      // stop\n      dy[i] = 0;\n      // explode\n      ybubbleshow[i] = false;\n    }\n    if (xbubble[i] > 0.35 && ybubble[i] > 0.9) { //rightside\n      xbubble[i] = 0.3;\n    }\n    if (xbubble[i] < -0.35 && ybubble[i] > 0.9) { //rightside\n      xbubble[i] = -0.3;\n    }\n\n  }\n} //expt 1"
        },
        {
          "Name": "sumcount",
          "Active": "true",
          "Internal": "false",
          "Type": "CODE_EDITOR",
          "Comment": "",
          "Code": "sumcount  = 0;\nfor (var i=0; i<n /* Iterations */ ; i++) {\nsumcount = sumcount+count[i];\n}\n\n"
        },
        {
          "Name": "stop",
          "Active": "false",
          "Internal": "false",
          "Type": "CODE_EDITOR",
          "Comment": "",
          "Code": "if (t >= 60) {\n  _pause();\n  text = \"pause\";\n  _tools.showOkDialog(\"Data collected after 60 sec, \\nat intensity of light=\" + intensity + \" and \\ncarbon dioxide =\" + carbondioxide + \" %\", function () {\n    store();\n    _update(); // to force update view\n  });\n\n// for moodle\n  let questionPrefixes = [\"A\", \"B\"];\n  let questionNumber = [intensity, Math.round(carbondioxide * 20)];\n//expt = 1 or 2 for the 2 expt\n  questionInstantMark(questionPrefixes[expt - 1] + questionNumber[expt - 1], \"Number of bubbles observed: \" + sumcount);\n  //alert(expt-1)\n}\n"
        }
      ]
    },
    "custom": {
      "pages": [
        {
          "Name": "possion",
          "Active": "true",
          "Internal": "false",
          "Type": "LIBRARY_EDITOR",
          "Comment": "",
          "Code": "var lambda = 5; // mean need to be larger than 0 //http://jsfiddle.net/Xotic750/DXXhs/\nvar k = 0;\nvar p = 1;\nfunction poisson (lambda) {\n    var L = Math.exp(-lambda),\n        k = 0,\n        p = 1;\n\n    do {\n        k = k + 1;\n        p = p * Math.random();\n    } while (p > L);\n\n    return k - 1;\n}\n"
        },
        {
          "Name": "questionLib 3",
          "Active": "true",
          "Internal": "false",
          "Type": "LIBRARY_EDITOR",
          "Comment": "",
          "Code": "// Assume ECMAScript 6; Chrome >=49, Edge >=14, Firefox >=41, Opera >=36, Safari >=8\n\nconst debugMode = true;\nconst _questionLib = {};\n_questionLib.stack = [];\n_questionLib.history = Object.create(null);\n_questionLib.questionMarksAwarded = Object.create(null);\n\nconst _nullFunction = debugMode ?\n  console.log\n  :\n  function(){};\n\nfunction _debugPrint(msg) {\n  if (debugMode) {\n    console.log(msg);\n  }\n}\n\nfunction isQuestionStarted() {\n  return _questionLib.stack.length > 0;\n}\n\n// for assessment.json event - start\nfunction startQuestion(questionName) {\n  _view._addInteraction(_nullFunction, {action:\"questionStart\", name:questionName}, {element:\"questionLib\", property:\"value\"});\n  _debugPrint(\"Start question: \" + questionName);\n  \n  _questionLib.stack.push(questionName);\n}\n\n// for assessment.json history\nfunction addQuestionHistory(history, questionName=null) {\n  if (questionName === null && _questionLib.stack.length > 0) {\n    questionName = _questionLib.stack[_questionLib.stack.length - 1];\n  }\n  if (!(questionName in _questionLib.history)) {\n    _debugPrint(\"Create question history for \" + questionName);\n    \n    _questionLib.history[questionName] = [];\n  }\n  if (debugMode) {\n    console.log(\"Push \\\"\" + history + \"\\\" to question history for \" + questionName);\n  }\n  _questionLib.history[questionName].push(history);\n  _flushQuestionHistory(questionName);\n}\n\nfunction _flushQuestionHistory(questionName) {\n  // TODO: check if need to flush\n  const outputHistory = _getQuestionHistory(questionName);\n  _view._addInteraction(_nullFunction, outputHistory, {property: \"historyFor\" + questionName, element: \"questionLib\"});\n}\n\nfunction _getQuestionHistory(questionName) {\n  if (questionName in _questionLib.history) {\n    return _questionLib.history[questionName].join(\"\\n\");\n  } else {\n    _debugPrint(\"No question \\\"\" + questionName + \"\\\" exists\");\n\n    return \"\";\n  }\n}\n\n// for assessment.json event - states\nfunction onAnswer(answer, isCorrect=false, history=answer, questionName=null) {\n  if (questionName === null && _questionLib.stack.length > 0) {\n    questionName = _questionLib.stack[_questionLib.stack.length - 1];\n  }\n  if (questionName !== null) {\n    const explainer = Object.create(null);\n    explainer[true] = \" \u2705\";\n    explainer[false] = \" \u274c\";\n\n    addQuestionHistory(history + explainer[isCorrect], questionName);\n    \n    _view._addInteraction(_nullFunction, {name:questionName, answer:answer, isCorrect:isCorrect, action:\"questionAnswer\"}, {property: \"answer\", element:\"questionLib\"});\n  }\n}\n\n// for assessment.json event - end\nfunction endQuestion() {\n  if (_questionLib.stack.length > 0) {\n    const questionName = _questionLib.stack.pop();\n    _debugPrint(\"End question: \" + questionName);\n    _view._addInteraction(_nullFunction, {action:\"questionEnd\", name:questionName}, {element: \"questionLib\", property: \"value\"});\n  }\n}\n\n// for assessment.json marks\nfunction awardQuestionMarks(marks=1) {\n  if (_questionLib.stack.length > 0) {\n    const questionName = _questionLib.stack[_questionLib.stack.length - 1];\n    if (!(questionName in _questionLib.questionMarksAwarded)) {\n      _questionLib.questionMarksAwarded[questionName] = 0;\n    }\n    for (; _questionLib.questionMarksAwarded[questionName] < marks; _questionLib.questionMarksAwarded[questionName]++) {\n      _view._addInteraction(_nullFunction, _questionLib.questionMarksAwarded[questionName] + 1, {element:\"questionLib\", property:\"awardMarkFor\"+questionName});\n    }\n  }\n}\n\nfunction resetQuestionMarks(questionName) {\n  _questionLib.questionMarksAwarded[questionName] = 0;\n}\n\nfunction questionInstantMark(questionName, message) {\n  startQuestion(questionName);\n  _debugPrint(\"\" + message);\n  if (message) {\n    addQuestionHistory(message);\n  } else {\n    _flushQuestionHistory(questionName);\n  }\n  awardQuestionMarks();\n  endQuestion();\n}\n\nfunction questionAppendHistory(questionName, message) {\n  if (!(questionName in _questionLib.questionMarksAwarded)) {\n    _questionLib.questionMarksAwarded[questionName] = 0;\n  }\n  startQuestion(questionName);\n  awardQuestionMarks(_questionLib.questionMarksAwarded[questionName])\n  addQuestionHistory(message);\n  endQuestion();\n}\n\nfunction resetQuestionHistory(questionName) {\n  _questionLib.history[questionName] = [];\n}\n\nfunction resetQuestion(questionName) {\n  resetQuestionHistory(questionName);\n  resetQuestionMarks(questionName);\n}\n"
        },
        {
          "Name": "store",
          "Active": "true",
          "Internal": "false",
          "Type": "LIBRARY_EDITOR",
          "Comment": "",
          "Code": "function store () {\n\nsumcountdata[datan]=sumcount;\n\nintensitydata[datan] = intensity;\ncarbondioxidedata[datan]= carbondioxide;\ndatan=datan+1;\n\nt=0;\n\n_initialize(); \n}\n"
        },
        {
          "Name": "fullScreen",
          "Active": "true",
          "Internal": "false",
          "Type": "LIBRARY_EDITOR",
          "Comment": "",
          "Code": "//https://developer.mozilla.org/en-US/docs/Web/Guide/API/DOM/Using_full_screen_mode\n// does not work for iOS \n/*jslint browser:true */\nfunction toggleFullScreen() {\n  if (!document.fullscreenElement &&    // alternative standard method\n      !document.mozFullScreenElement && !document.webkitFullscreenElement && !document.msFullscreenElement ) {  // current working methods\n    if (document.documentElement.requestFullscreen) {\n      document.documentElement.requestFullscreen();\n    } else if (document.documentElement.msRequestFullscreen) {\n      document.documentElement.msRequestFullscreen();\n    } else if (document.documentElement.mozRequestFullScreen) {\n      document.documentElement.mozRequestFullScreen();\n    } else if (document.documentElement.webkitRequestFullscreen) {\n      document.documentElement.webkitRequestFullscreen();\n    }\n  } else {\n    if (document.exitFullscreen) {\n      document.exitFullscreen();\n    } else if (document.msExitFullscreen) {\n      document.msExitFullscreen();\n    } else if (document.mozCancelFullScreen) {\n      document.mozCancelFullScreen();\n    } else if (document.webkitExitFullscreen) {\n      document.webkitExitFullscreen();\n    }\n  }\n}"
        }
      ]
    },
    "elements": {
      "list": [
        {
          "Classname": "org.colos.ejss.model_elements.numerics.NumericJavascriptElement",
          "Name": "numericJS"
        }
      ]
    }
  },
  "view": {
    "Tree": [
      {
        "Name": "fullscreen",
        "Type": "Panel",
        "Expanded": "true",
        "Properties": [
          {
            "name": "Height",
            "value": "Height"
          },
          {
            "name": "Width",
            "value": "Width"
          }
        ],
        "Children": [
          {
            "Name": "controlPanel",
            "Type": "Panel",
            "Expanded": "true",
            "Properties": [
              {
                "name": "Width",
                "value": "\"100%\""
              },
              {
                "name": "Display",
                "value": "print?\"none\":\"inline-flex\""
              }
            ],
            "Children": [
              {
                "Name": "comboBox",
                "Type": "ComboBox",
                "Properties": [
                  {
                    "name": "Options",
                    "value": "[\"expt 1 vary amount of light\",\"expt 2 vary amount of carbon dioxide\"]"
                  },
                  {
                    "name": "OnChange",
                    "value": "\n var opts = _view.comboBox.getProperty(\"SelectedOptions\");  // array of options\n    var option = (opts.length > 0)? opts[0]:\"\"; // selected option \n//[\"expt 1 vary amount of light\",\"expt 2 vary amount of carbon dioxide\",\"\",\"\ud83d\uddfaworld\",\"\ud83d\udcc8graph\",\"both\",\"graph2\",\"speed up\",\"slow down\",\"\",\"print\"]\nif ( option==\"expt 1 vary amount of light\"){\nexpt=1;\ntext= \"experiment 1, \\nnumber of bubbles vs \\nintensity of light\";\n//disabled=false;\nWidth1 = \"50%\";\nWidth2 = \"50%\";\nWidth3 = \"0%\";\n  }\n//print\nelse if ( option == \"print\"){\n  print = true;\n  }\n//print\nelse if ( option==\"expt 2 vary amount of carbon dioxide\"){\ntext= \"experiment 2, \\nnumber of bubbles vs \\npercentage of carbon dioxide in water\";\nexpt=2;\nWidth1 = \"50%\";\nWidth2 = \"0%\";\nWidth3 = \"50%\";\n}\n\nif ( option==\"\ud83d\uddfaworld\"){\n  world=true;\nWidth1 = \"100%\";\nWidth2 = \"0%\";\nWidth3 = \"0%\";\n//disabled=false;\n\n  }\nelse if ( option==\"\ud83d\udcc8graph\"){\n\ngraph=true;\nWidth1 = \"0%\";\nWidth2 = \"100%\";\nWidth3 = \"0%\";\n//disabledworld=false;\n}\nelse if ( option==\"both\"){\nworld=true;\ngraph=true;\nif (Width1 == \"100%\") Width2 = \"50%\";\nWidth1 = \"50%\";\nif (Width2 == \"100%\") Width2 = \"50%\"; \nif (Width3 == \"100%\") Width3 = \"50%\";\n\n//disabledworld=false;\n}\nelse if ( option==\"graph2\"){\n\ngraph=true;\nWidth1 = \"0%\";\nWidth2 = \"0%\";\nWidth3 = \"100%\";\n//disabledworld=false;\n}\n\nelse if ( option==\"speed up\"){\ndt = 1;\n//disabledworld=false;\n}\nelse if ( option==\"slow down\"){\ndt = 0.1;\n//disabledworld=false;\n}\n\n//alert(option);\n_view._update();\n\n"
                  },
                  {
                    "name": "Width",
                    "value": "\"40%\""
                  },
                  {
                    "name": "Font",
                    "value": "\"normal normal 47px \""
                  }
                ]
              },
              {
                "Name": "comboBox2",
                "Type": "ComboBox",
                "Properties": [
                  {
                    "name": "Options",
                    "value": "[\"both\",\"\ud83d\uddfaworld\",\"\ud83d\udcc8graph\",\"graph2\",\"\",\"print\"]"
                  },
                  {
                    "name": "OnChange",
                    "value": "\n var opts = _view.comboBox2.getProperty(\"SelectedOptions\");  // array of options\n    var option = (opts.length > 0)? opts[0]:\"\"; // selected option \n//[\"expt 1 vary amount of light\",\"expt 2 vary amount of carbon dioxide\",\"\",\"\ud83d\uddfaworld\",\"\ud83d\udcc8graph\",\"both\",\"graph2\",\"speed up\",\"slow down\",\"\",\"print\"]\nif ( option==\"expt 1 vary amount of light\"){\nexpt=1;\ntext= \"experiment 1, \\nnumber of bubbles vs \\nintensity of light\";\n//disabled=false;\nWidth1 = \"50%\";\nWidth2 = \"50%\";\nWidth3 = \"0%\";\n  }\n//print\nelse if ( option == \"print\"){\n  print = true;\n  }\n//print\nelse if ( option==\"expt 2 vary amount of carbon dioxide\"){\ntext= \"experiment 2, \\nnumber of bubbles vs \\npercentage of carbon dioxide in water\";\nexpt=2;\nWidth1 = \"50%\";\nWidth2 = \"0%\";\nWidth3 = \"50%\";\n}\n\nif ( option==\"\ud83d\uddfaworld\"){\n  world=true;\nWidth1 = \"100%\";\nWidth2 = \"0%\";\nWidth3 = \"0%\";\n//disabled=false;\n\n  }\nelse if ( option==\"\ud83d\udcc8graph\"){\n\ngraph=true;\nexpt =1\nWidth1 = \"0%\";\nWidth2 = \"100%\";\nWidth3 = \"0%\";\n//disabledworld=false;\n}\nelse if ( option==\"both\"){\nworld=true;\n//assume remember expt \n\nWidth2 = \"50%\";\nWidth1 = \"50%\";\nWidth3 = \"50%\";\n\n//disabledworld=false;\n}\nelse if ( option==\"graph2\"){\n\ngraph=true;\nexpt = 2;\nWidth1 = \"0%\";\nWidth2 = \"0%\";\nWidth3 = \"100%\";\n//disabledworld=false;\n}\n\nelse if ( option==\"speed up\"){\ndt = 1;\n//disabledworld=false;\n}\nelse if ( option==\"slow down\"){\ndt = 0.1;\n//disabledworld=false;\n}\n\n//alert(option);\n_view._update();\n\n"
                  },
                  {
                    "name": "Width",
                    "value": "\"15%\""
                  },
                  {
                    "name": "Font",
                    "value": "\"normal normal 47px \""
                  }
                ]
              },
              {
                "Name": "auto",
                "Type": "Button",
                "Properties": [
                  {
                    "name": "Tooltip",
                    "value": "\"store\""
                  },
                  {
                    "name": "Text",
                    "value": "\"\ud83d\ude97\""
                  },
                  {
                    "name": "OnClick",
                    "value": "_play();\ntext=\"playing\";\n\nif (t>59.9){\n  alert();\nsumcountdata[datan]=sumcount;\nintensitydata[datan] = intensity;\ncarbondioxidedata[datan]= carbondioxide;\ndatan=datan+1;\nt=0;\n_initialize();\n}\n\n\n"
                  },
                  {
                    "name": "Font",
                    "value": "\"normal normal 3vw \""
                  },
                  {
                    "name": "Display",
                    "value": "\"none\""
                  }
                ]
              },
              {
                "Name": "twoStateButton",
                "Type": "TwoStateButton",
                "Properties": [
                  {
                    "name": "OffClick",
                    "value": "dt = 0.1;"
                  },
                  {
                    "name": "TextOn",
                    "value": "\"Speed\u2191\""
                  },
                  {
                    "name": "TextOff",
                    "value": "\"Slow\u2193\""
                  },
                  {
                    "name": "OnClick",
                    "value": "dt = 1;"
                  },
                  {
                    "name": "Font",
                    "value": "\"normal normal 2vw \""
                  }
                ]
              },
              {
                "Name": "playPauseButton2",
                "Type": "TwoStateButton",
                "Properties": [
                  {
                    "name": "OffClick",
                    "value": "text=\"paused\";\n_pause();"
                  },
                  {
                    "name": "TextOn",
                    "value": "\"Play\u25b6\""
                  },
                  {
                    "name": "State",
                    "value": "_isPaused"
                  },
                  {
                    "name": "Tooltip",
                    "value": "\"Play/Pause\""
                  },
                  {
                    "name": "TextOff",
                    "value": "\"Pause\u275a\u275a\""
                  },
                  {
                    "name": "Width",
                    "value": "\"20%\""
                  },
                  {
                    "name": "OnClick",
                    "value": "_play();\ntext=\"playing, wait for 60 sec for data to be collected\";"
                  },
                  {
                    "name": "Font",
                    "value": "\"normal normal 2vw \""
                  }
                ]
              },
              {
                "Name": "store",
                "Type": "Button",
                "Properties": [
                  {
                    "name": "Tooltip",
                    "value": "\"store\""
                  },
                  {
                    "name": "Text",
                    "value": "\"\u26ab\""
                  },
                  {
                    "name": "OnClick",
                    "value": "\nsumcountdata[datan]=sumcount;\n\nintensitydata[datan] = intensity;\ncarbondioxidedata[datan]= carbondioxide;\ndatan=datan+1;\n\nt=0;\n\n_initialize(); "
                  },
                  {
                    "name": "Font",
                    "value": "\"normal normal 2vw \""
                  },
                  {
                    "name": "Display",
                    "value": "\"none\""
                  }
                ]
              },
              {
                "Name": "resetButton3",
                "Type": "Button",
                "Properties": [
                  {
                    "name": "Tooltip",
                    "value": "\"Reset\""
                  },
                  {
                    "name": "Text",
                    "value": "\"Reset\u21bb\""
                  },
                  {
                    "name": "Width",
                    "value": "\"20%\""
                  },
                  {
                    "name": "OnClick",
                    "value": "_reset();\n//[\"expt 1 vary amount of light\",\"expt 2 vary amount of carbon dioxide\"]\nif (expt ==1){\n_view.comboBox.setSelectedOptions([\"expt 1 vary amount of light\"]);\n}\nelse if (expt ==2){\n_view.comboBox.setSelectedOptions([\"expt 2 vary amount of carbon dioxide\"]);\n}\n"
                  },
                  {
                    "name": "Font",
                    "value": "\"normal normal 2vw \""
                  }
                ]
              },
              {
                "Name": "spd",
                "Type": "Slider",
                "Properties": [
                  {
                    "name": "Minimum",
                    "value": "0.05"
                  },
                  {
                    "name": "Maximum",
                    "value": "1"
                  },
                  {
                    "name": "Value",
                    "value": "dt"
                  },
                  {
                    "name": "Step",
                    "value": "0.05"
                  },
                  {
                    "name": "Display",
                    "value": "\"none\""
                  }
                ]
              },
              {
                "Name": "panel2",
                "Type": "Panel",
                "Expanded": "true",
                "Properties": [
                  {
                    "name": "Display",
                    "value": "\"none\""
                  }
                ],
                "Children": [
                  {
                    "Name": "model",
                    "Type": "Label",
                    "Properties": [
                      {
                        "name": "Background",
                        "value": "\"Cyan\""
                      },
                      {
                        "name": "Tooltip",
                        "value": "\"key in expression like 2*sin(1*t)\""
                      },
                      {
                        "name": "Text",
                        "value": "\"your model, X =\""
                      }
                    ]
                  },
                  {
                    "Name": "model3",
                    "Type": "CheckBox",
                    "Properties": [
                      {
                        "name": "OnCheckOff",
                        "value": "showmodel=false;\n"
                      },
                      {
                        "name": "Checked",
                        "value": "showmodel"
                      },
                      {
                        "name": "Background",
                        "value": "\"Cyan\""
                      },
                      {
                        "name": "Tooltip",
                        "value": "\"show model\""
                      },
                      {
                        "name": "OnCheckOn",
                        "value": "showmodel=true;\n\n"
                      }
                    ]
                  },
                  {
                    "Name": "models",
                    "Type": "ComboBox",
                    "Properties": [
                      {
                        "name": "Options",
                        "value": "[\"2*sin(t)\",\"2*cos(t)\",\"0\",\"-2*cos(t)\",\"-1*cos(t)\",\"1*sin(t+1.57)\",\"1.41*sin(t+0.5236)\",\"show me\"]"
                      },
                      {
                        "name": "Tooltip",
                        "value": "\"select suggested models\""
                      },
                      {
                        "name": "OnChange",
                        "value": "showmodel=true;\nfunctionY=selectedmodel+\"\";\nif (selectedmodel[0]===\"show me\"){\nfunctionY= +_view._format(Acalculated,\"0.0\")+\"*sin(\" +_view._format(w,\"0.00\")+\"*t+(\"+_view._format(phi,\"0.00\")+\"))\";  \n  }\nxmodel=_view.fField.evaluate({ t : t, x : xmodel }); \n"
                      },
                      {
                        "name": "SelectedOptions",
                        "value": "%selectedmodel%"
                      }
                    ]
                  },
                  {
                    "Name": "fField",
                    "Type": "Function",
                    "Properties": [
                      {
                        "name": "Tooltip",
                        "value": "\"model input field\""
                      },
                      {
                        "name": "Value",
                        "value": "functionY"
                      },
                      {
                        "name": "OnChange",
                        "value": "showmodel=true;\nxmodel=_view.fField.evaluate({ t : t, x : xmodel }); \n"
                      },
                      {
                        "name": "Width",
                        "value": "200"
                      }
                    ]
                  }
                ]
              }
            ]
          },
          {
            "Name": "panel",
            "Type": "Panel",
            "Expanded": "true",
            "Properties": [
              {
                "name": "Width",
                "value": "\"100%\""
              },
              {
                "name": "Display",
                "value": "\"inline-block\""
              }
            ],
            "Children": [
              {
                "Name": "plottingPanel",
                "Type": "PlottingPanel",
                "Expanded": "true",
                "Properties": [
                  {
                    "name": "Gutters",
                    "value": "[0,0,0,0]"
                  },
                  {
                    "name": "ShowAreaRectangle",
                    "value": "false"
                  },
                  {
                    "name": "Background",
                    "value": "\"url(#mygrandient2)\""
                  },
                  {
                    "name": "YScalePrecision",
                    "value": "0"
                  },
                  {
                    "name": "XFixedTick",
                    "value": "10"
                  },
                  {
                    "name": "Enabled",
                    "value": "true"
                  },
                  {
                    "name": "OnDoubleClick",
                    "value": "toggleFullScreen();"
                  },
                  {
                    "name": "SquareAspect",
                    "value": "true"
                  },
                  {
                    "name": "MaximumY",
                    "value": "4"
                  },
                  {
                    "name": "MaximumX",
                    "value": "6"
                  },
                  {
                    "name": "YFixedTick",
                    "value": "10"
                  },
                  {
                    "name": "TRMessage",
                    "value": "print?\"\":\"number of bubble(s) =\"+sumcount"
                  },
                  {
                    "name": "YAutoTicks",
                    "value": "false"
                  },
                  {
                    "name": "MinimumX",
                    "value": "-4"
                  },
                  {
                    "name": "XTickStep",
                    "value": "100"
                  },
                  {
                    "name": "MinimumY",
                    "value": "-4"
                  },
                  {
                    "name": "YTickStep",
                    "value": "100"
                  },
                  {
                    "name": "XAutoTicks",
                    "value": "false"
                  },
                  {
                    "name": "Height",
                    "value": "\"90vh\""
                  },
                  {
                    "name": "XScalePrecision",
                    "value": "0"
                  },
                  {
                    "name": "Width",
                    "value": "Width1"
                  },
                  {
                    "name": "TLMessage",
                    "value": "print?\"\":text"
                  },
                  {
                    "name": "BRMessage",
                    "value": "print?\"\":\"t = \"+_view._format(t,\"0.0\")+ \" s \""
                  },
                  {
                    "name": "Display",
                    "value": "world?\"inline-block\":\"none\""
                  }
                ],
                "Children": [
                  {
                    "Name": "table2",
                    "Type": "Shape2D",
                    "Properties": [
                      {
                        "name": "FillColor",
                        "value": "\"DarkGray\""
                      },
                      {
                        "name": "SizeX",
                        "value": "20"
                      },
                      {
                        "name": "RelativePosition",
                        "value": "\"NORTH\""
                      },
                      {
                        "name": "ShapeType",
                        "value": "\"RECTANGLE\""
                      },
                      {
                        "name": "X",
                        "value": "0"
                      },
                      {
                        "name": "Y",
                        "value": "-3"
                      },
                      {
                        "name": "SizeY",
                        "value": "3"
                      }
                    ]
                  },
                  {
                    "Name": "table",
                    "Type": "Shape2D",
                    "Properties": [
                      {
                        "name": "FillColor",
                        "value": "\"url(#mygrandient3)\""
                      },
                      {
                        "name": "SizeX",
                        "value": "20"
                      },
                      {
                        "name": "RelativePosition",
                        "value": "\"NORTH\""
                      },
                      {
                        "name": "ShapeType",
                        "value": "\"RECTANGLE\""
                      },
                      {
                        "name": "X",
                        "value": "0"
                      },
                      {
                        "name": "Y",
                        "value": "-3"
                      },
                      {
                        "name": "SizeY",
                        "value": "3"
                      }
                    ]
                  },
                  {
                    "Name": "model2",
                    "Type": "Shape2D",
                    "Properties": [
                      {
                        "name": "FillColor",
                        "value": "\"Cyan\""
                      },
                      {
                        "name": "SizeX",
                        "value": "30"
                      },
                      {
                        "name": "ShapeType",
                        "value": "\"WHEEL\""
                      },
                      {
                        "name": "X",
                        "value": "xmodel"
                      },
                      {
                        "name": "Y",
                        "value": "y"
                      },
                      {
                        "name": "Visibility",
                        "value": "showmodel"
                      },
                      {
                        "name": "SizeY",
                        "value": "30"
                      },
                      {
                        "name": "PixelSize",
                        "value": "true"
                      },
                      {
                        "name": "EnabledPosition",
                        "value": "\"ENABLED_X\""
                      },
                      {
                        "name": "OnDrag",
                        "value": "%_initialize%"
                      }
                    ]
                  },
                  {
                    "Name": "image",
                    "Type": "Image2D",
                    "Properties": [
                      {
                        "name": "Transformation",
                        "value": "7*pi/4"
                      },
                      {
                        "name": "SizeX",
                        "value": "1"
                      },
                      {
                        "name": "X",
                        "value": "4"
                      },
                      {
                        "name": "ImageUrl",
                        "value": "\"./photosynthesis/1f526.png\""
                      },
                      {
                        "name": "Y",
                        "value": "0"
                      },
                      {
                        "name": "Visibility",
                        "value": "false"
                      },
                      {
                        "name": "SizeY",
                        "value": "1"
                      }
                    ]
                  },
                  {
                    "Name": "light2",
                    "Type": "Polygon2D",
                    "Properties": [
                      {
                        "name": "Points",
                        "value": "[[3,3],[xlamp,ylamp],[3,-3]]"
                      },
                      {
                        "name": "FillColor",
                        "value": "\"rgba(255,255,0,\"+intensity*0.16+\")\""
                      },
                      {
                        "name": "LineColor",
                        "value": "\"rgba(255,255,255,0.0)\""
                      },
                      {
                        "name": "Visibility",
                        "value": "expt==1"
                      }
                    ]
                  },
                  {
                    "Name": "light",
                    "Type": "Polygon2D",
                    "Properties": [
                      {
                        "name": "Points",
                        "value": "[[3,3],[xlamp,ylamp],[3,-3]]"
                      },
                      {
                        "name": "FillColor",
                        "value": "\"url(#mygrandient1)\""
                      },
                      {
                        "name": "LineColor",
                        "value": "\"rgba(255,255,255,0.0)\""
                      },
                      {
                        "name": "Visibility",
                        "value": "expt==1&&intensity>=1"
                      }
                    ]
                  },
                  {
                    "Name": "lightbulb",
                    "Type": "Text2D",
                    "Properties": [
                      {
                        "name": "X",
                        "value": "5.5"
                      },
                      {
                        "name": "Y",
                        "value": "-0.5"
                      },
                      {
                        "name": "Text",
                        "value": "\"\ud83d\udca1\""
                      },
                      {
                        "name": "Visibility",
                        "value": "false"
                      },
                      {
                        "name": "Font",
                        "value": "\"normal normal 150px \""
                      }
                    ]
                  },
                  {
                    "Name": "lamp",
                    "Type": "Image2D",
                    "Properties": [
                      {
                        "name": "SizeX",
                        "value": "1"
                      },
                      {
                        "name": "RelativePosition",
                        "value": "\"SOUTH\""
                      },
                      {
                        "name": "X",
                        "value": "5.5"
                      },
                      {
                        "name": "Y",
                        "value": "-3"
                      },
                      {
                        "name": "ImageUrl",
                        "value": "\"./photosynthesis/lampleft.png\""
                      },
                      {
                        "name": "SizeY",
                        "value": "4"
                      }
                    ]
                  },
                  {
                    "Name": "intensity",
                    "Type": "Group2D",
                    "Expanded": "true",
                    "Properties": [
                      {
                        "name": "Visibility",
                        "value": "expt==1"
                      }
                    ],
                    "Children": [
                      {
                        "Name": "shape",
                        "Type": "Shape2D",
                        "Properties": [
                          {
                            "name": "FillColor",
                            "value": "\"rgba(255,255,255,0.0)\""
                          },
                          {
                            "name": "Transformation",
                            "value": "pi/4"
                          },
                          {
                            "name": "SizeX",
                            "value": "20"
                          },
                          {
                            "name": "ShapeType",
                            "value": "\"WHEEL\""
                          },
                          {
                            "name": "X",
                            "value": "5"
                          },
                          {
                            "name": "LineColor",
                            "value": "\"Red\""
                          },
                          {
                            "name": "Y",
                            "value": "intensitydrag"
                          },
                          {
                            "name": "Visibility",
                            "value": "false"
                          },
                          {
                            "name": "SizeY",
                            "value": "20"
                          },
                          {
                            "name": "PixelSize",
                            "value": "true"
                          },
                          {
                            "name": "EnabledPosition",
                            "value": "\"ENABLED_Y\""
                          },
                          {
                            "name": "OnDrag",
                            "value": "\nvar position = _view.plottingPanel.getInteraction().getInteractionPoint();\n//xi = position[0];\n//yi = position[1];\nintensitydrag=Math.round(position[1]);\nintensitydrag=Math.max(intensitydrag,-3);\nintensitydrag=Math.min(intensitydrag,3);\nintensity = Math.round(intensitydrag+3);"
                          }
                        ]
                      },
                      {
                        "Name": "text",
                        "Type": "Text2D",
                        "Properties": [
                          {
                            "name": "RelativePosition",
                            "value": "\"SOUTH_EAST\""
                          },
                          {
                            "name": "X",
                            "value": "4.7"
                          },
                          {
                            "name": "Y",
                            "value": "intensitydrag"
                          },
                          {
                            "name": "Text",
                            "value": "\"intensity \\nof light \\n=\"+intensity"
                          }
                        ]
                      }
                    ]
                  },
                  {
                    "Name": "intensitydrag2",
                    "Type": "Text2D",
                    "Properties": [
                      {
                        "name": "Sensitivity",
                        "value": "50"
                      },
                      {
                        "name": "RelativePosition",
                        "value": "\"CENTERED\""
                      },
                      {
                        "name": "X",
                        "value": "5"
                      },
                      {
                        "name": "Y",
                        "value": "intensitydrag"
                      },
                      {
                        "name": "Text",
                        "value": "\"\u2195\""
                      },
                      {
                        "name": "Visibility",
                        "value": "expt==1"
                      },
                      {
                        "name": "Font",
                        "value": "\"normal normal 5vw \""
                      },
                      {
                        "name": "EnabledPosition",
                        "value": "\"ENABLED_Y\""
                      },
                      {
                        "name": "OnDrag",
                        "value": "\nvar position = _view.plottingPanel.getInteraction().getInteractionPoint();\n//xi = position[0];\n//yi = position[1];\nintensitydrag=Math.round(position[1]);\nintensitydrag=Math.max(intensitydrag,-3);\nintensitydrag=Math.min(intensitydrag,3);\nintensity = Math.round(intensitydrag+3);\n\n"
                      }
                    ]
                  },
                  {
                    "Name": "dragobjectworkbetter",
                    "Type": "Shape2D",
                    "Properties": [
                      {
                        "name": "Sensitivity",
                        "value": "0"
                      },
                      {
                        "name": "SizeX",
                        "value": "20"
                      },
                      {
                        "name": "ShapeType",
                        "value": "\"RECTANGLE\""
                      },
                      {
                        "name": "X",
                        "value": "5"
                      },
                      {
                        "name": "Y",
                        "value": "intensitydrag"
                      },
                      {
                        "name": "Visibility",
                        "value": "expt==1"
                      },
                      {
                        "name": "SizeY",
                        "value": "20"
                      },
                      {
                        "name": "PixelSize",
                        "value": "true"
                      },
                      {
                        "name": "DrawFill",
                        "value": "false"
                      },
                      {
                        "name": "EnabledPosition",
                        "value": "\"ENABLED_Y\""
                      },
                      {
                        "name": "OnDrag",
                        "value": "\nvar position = _view.plottingPanel.getInteraction().getInteractionPoint();\n//xi = position[0];\n//yi = position[1];\nintensitydrag=Math.round(position[1]);\nintensitydrag=Math.max(intensitydrag,-3);\nintensitydrag=Math.min(intensitydrag,3);\nintensity = Math.round(intensitydrag+3);\nif (intensitydrag <-2.5){ // == 0 didnt work\n  dr[0] = 0;\n  //alert(dr[0])\n  }\n  else {\ndr[0] = 0.05; // trying to fix bug of first bubble not starting\n//alert(\"else\")\n}\n"
                      }
                    ]
                  },
                  {
                    "Name": "wateroutside",
                    "Type": "Shape2D",
                    "Properties": [
                      {
                        "name": "FillColor",
                        "value": "\"rgba(0,0,255,0.1)\""
                      },
                      {
                        "name": "SizeX",
                        "value": "6"
                      },
                      {
                        "name": "RelativePosition",
                        "value": "\"SOUTH\""
                      },
                      {
                        "name": "ShapeType",
                        "value": "\"RECTANGLE\""
                      },
                      {
                        "name": "X",
                        "value": "0"
                      },
                      {
                        "name": "Y",
                        "value": "-3"
                      },
                      {
                        "name": "SizeY",
                        "value": "5.5"
                      }
                    ]
                  },
                  {
                    "Name": "rectanglebeaker",
                    "Type": "Polygon2D",
                    "Properties": [
                      {
                        "name": "Points",
                        "value": "[[-3.1,3],[-3,3],[-3,-3],[3,-3],[3,3],[3.1,3]]"
                      },
                      {
                        "name": "LineColor",
                        "value": "\"Black\""
                      },
                      {
                        "name": "LineWidth",
                        "value": "5"
                      }
                    ]
                  },
                  {
                    "Name": "clonicalflask",
                    "Type": "Polygon2D",
                    "Properties": [
                      {
                        "name": "Points",
                        "value": "[[-0.5,3.5],[-0.5,1],[-2.5,-3],[2.5,-3],[0.5,1],[0.5,3.5]]"
                      },
                      {
                        "name": "LineColor",
                        "value": "\"Blue\""
                      },
                      {
                        "name": "LineWidth",
                        "value": "5"
                      }
                    ]
                  },
                  {
                    "Name": "clonicalflaskliquid2",
                    "Type": "Polygon2D",
                    "Properties": [
                      {
                        "name": "Points",
                        "value": "[[-0.5,2.5],[-0.5,1],[-2.5,-3],[2.5,-3],[0.5,1],[0.5,2.5],[0.5,2.5,0],[-0.5,2.5,0],[-0.5,2.5]]"
                      },
                      {
                        "name": "FillColor",
                        "value": "\"rgba(0,0,255,0.2)\""
                      },
                      {
                        "name": "LineColor",
                        "value": "\"Blue\""
                      },
                      {
                        "name": "LineWidth",
                        "value": "5"
                      }
                    ]
                  },
                  {
                    "Name": "text32",
                    "Type": "Text2D",
                    "Properties": [
                      {
                        "name": "RelativePosition",
                        "value": "\"NORTH_WEST\""
                      },
                      {
                        "name": "X",
                        "value": "0.5"
                      },
                      {
                        "name": "Y",
                        "value": "3.5"
                      },
                      {
                        "name": "Text",
                        "value": "\"Water with \\ndissoved \\ncarbon dioxide\""
                      },
                      {
                        "name": "EnabledPosition",
                        "value": "\"ENABLED_ANY\""
                      }
                    ]
                  },
                  {
                    "Name": "pondweed",
                    "Type": "Image2D",
                    "Properties": [
                      {
                        "name": "SizeX",
                        "value": "1"
                      },
                      {
                        "name": "RelativePosition",
                        "value": "\"SOUTH\""
                      },
                      {
                        "name": "ImageUrl",
                        "value": "\"./photosynthesis/pondweed2.png\""
                      },
                      {
                        "name": "Y",
                        "value": "-3"
                      },
                      {
                        "name": "SizeY",
                        "value": "3"
                      }
                    ]
                  },
                  {
                    "Name": "greenwaterplant",
                    "Type": "Text2D",
                    "Properties": [
                      {
                        "name": "Y",
                        "value": "-3.3"
                      },
                      {
                        "name": "Text",
                        "value": "\"Green water plant\""
                      },
                      {
                        "name": "EnabledPosition",
                        "value": "\"ENABLED_ANY\""
                      }
                    ]
                  },
                  {
                    "Name": "imageSet",
                    "Type": "ImageSet2D",
                    "Properties": [
                      {
                        "name": "NumberOfElements",
                        "value": "ntotal"
                      },
                      {
                        "name": "SizeX",
                        "value": "40"
                      },
                      {
                        "name": "X",
                        "value": "xbubble"
                      },
                      {
                        "name": "Y",
                        "value": "ybubble"
                      },
                      {
                        "name": "ImageUrl",
                        "value": "\"./photosynthesis/212.png\""
                      },
                      {
                        "name": "Visibility",
                        "value": "bubbleburst"
                      },
                      {
                        "name": "SizeY",
                        "value": "40"
                      },
                      {
                        "name": "PixelSize",
                        "value": "true"
                      }
                    ]
                  },
                  {
                    "Name": "textSet",
                    "Type": "TextSet2D",
                    "Properties": [
                      {
                        "name": "NumberOfElements",
                        "value": "ntotal"
                      },
                      {
                        "name": "X",
                        "value": "xbubble"
                      },
                      {
                        "name": "Y",
                        "value": "ybubble"
                      },
                      {
                        "name": "Text",
                        "value": "index"
                      },
                      {
                        "name": "Visibility",
                        "value": "false"
                      }
                    ]
                  },
                  {
                    "Name": "bubble",
                    "Type": "ShapeSet2D",
                    "Properties": [
                      {
                        "name": "NumberOfElements",
                        "value": "ntotal"
                      },
                      {
                        "name": "FillColor",
                        "value": "\"url(#mygrandient)\""
                      },
                      {
                        "name": "SizeX",
                        "value": "r"
                      },
                      {
                        "name": "ShapeType",
                        "value": "\"ELLIPSE\""
                      },
                      {
                        "name": "X",
                        "value": "xbubble"
                      },
                      {
                        "name": "LineColor",
                        "value": "\"White\""
                      },
                      {
                        "name": "Y",
                        "value": "ybubble"
                      },
                      {
                        "name": "Visibility",
                        "value": "ybubbleshow"
                      },
                      {
                        "name": "SizeY",
                        "value": "r"
                      },
                      {
                        "name": "LineWidth",
                        "value": "3"
                      }
                    ]
                  },
                  {
                    "Name": "co2",
                    "Type": "Group2D",
                    "Expanded": "false",
                    "Properties": [
                      {
                        "name": "Visibility",
                        "value": "expt==2"
                      }
                    ],
                    "Children": [
                      {
                        "Name": "text2",
                        "Type": "Text2D",
                        "Properties": [
                          {
                            "name": "RelativePosition",
                            "value": "\"SOUTH_EAST\""
                          },
                          {
                            "name": "X",
                            "value": "-1.3"
                          },
                          {
                            "name": "Y",
                            "value": "carbondioxidedrag"
                          },
                          {
                            "name": "Text",
                            "value": "\"percentage of \\n carbon dioxide\\n=\"+carbondioxide.toFixed(2)+ \" %\""
                          }
                        ]
                      }
                    ]
                  },
                  {
                    "Name": "co2drag",
                    "Type": "Text2D",
                    "Properties": [
                      {
                        "name": "Sensitivity",
                        "value": "50"
                      },
                      {
                        "name": "X",
                        "value": "-1"
                      },
                      {
                        "name": "Y",
                        "value": "carbondioxidedrag"
                      },
                      {
                        "name": "Text",
                        "value": "\"\u2195\""
                      },
                      {
                        "name": "Visibility",
                        "value": "expt==2"
                      },
                      {
                        "name": "Font",
                        "value": "\"normal normal 4vw \""
                      },
                      {
                        "name": "EnabledPosition",
                        "value": "\"ENABLED_Y\""
                      },
                      {
                        "name": "OnDrag",
                        "value": "\nvar position = _view.plottingPanel.getInteraction().getInteractionPoint();\n//xi = position[0];\n//yi = position[1];\ncarbondioxidedrag=Math.round(position[1]);\ncarbondioxidedrag=Math.max(carbondioxidedrag,-3);\ncarbondioxidedrag=Math.min(carbondioxidedrag,3);\ncarbondioxide = ((carbondioxidedrag+3)/20);"
                      }
                    ]
                  },
                  {
                    "Name": "dragobjectworkbetter2",
                    "Type": "Shape2D",
                    "Properties": [
                      {
                        "name": "Sensitivity",
                        "value": "0"
                      },
                      {
                        "name": "SizeX",
                        "value": "20"
                      },
                      {
                        "name": "ShapeType",
                        "value": "\"RECTANGLE\""
                      },
                      {
                        "name": "X",
                        "value": "-1"
                      },
                      {
                        "name": "Y",
                        "value": "carbondioxidedrag"
                      },
                      {
                        "name": "Visibility",
                        "value": "expt==2"
                      },
                      {
                        "name": "SizeY",
                        "value": "20"
                      },
                      {
                        "name": "PixelSize",
                        "value": "true"
                      },
                      {
                        "name": "DrawFill",
                        "value": "false"
                      },
                      {
                        "name": "EnabledPosition",
                        "value": "\"ENABLED_Y\""
                      },
                      {
                        "name": "OnDrag",
                        "value": "\nvar position = _view.plottingPanel.getInteraction().getInteractionPoint();\n//xi = position[0];\n//yi = position[1];\ncarbondioxidedrag=Math.round(position[1]);\ncarbondioxidedrag=Math.max(carbondioxidedrag,-3);\ncarbondioxidedrag=Math.min(carbondioxidedrag,3);\ncarbondioxide = ((carbondioxidedrag+3)/20);\nif (carbondioxide==0){\n  dr[0] = 0\n  }\n  else {\n    dr[0] = 0.05\n    }\n"
                      }
                    ]
                  },
                  {
                    "Name": "x",
                    "Type": "Shape2D",
                    "Properties": [
                      {
                        "name": "FillColor",
                        "value": "\"Red\""
                      },
                      {
                        "name": "ShapeType",
                        "value": "\"ROUND_RECTANGLE\""
                      },
                      {
                        "name": "X",
                        "value": "x"
                      },
                      {
                        "name": "Y",
                        "value": "0"
                      },
                      {
                        "name": "Visibility",
                        "value": "false"
                      }
                    ]
                  }
                ]
              },
              {
                "Name": "plottingPanelxvst",
                "Type": "PlottingPanel",
                "Expanded": "true",
                "Properties": [
                  {
                    "name": "Gutters",
                    "value": "[0,0,0,0]"
                  },
                  {
                    "name": "YScalePrecision",
                    "value": "0"
                  },
                  {
                    "name": "XFixedTick",
                    "value": "0"
                  },
                  {
                    "name": "AxisYFont",
                    "value": "\"normal normal 1vw\""
                  },
                  {
                    "name": "OnDoubleClick",
                    "value": "toggleFullScreen();"
                  },
                  {
                    "name": "YFixedTick",
                    "value": "0"
                  },
                  {
                    "name": "XTickStep",
                    "value": "1"
                  },
                  {
                    "name": "YTickStep",
                    "value": "10"
                  },
                  {
                    "name": "XAutoTicks",
                    "value": "false"
                  },
                  {
                    "name": "Height",
                    "value": "\"90vh\""
                  },
                  {
                    "name": "Width",
                    "value": "Width2"
                  },
                  {
                    "name": "TitleYFont",
                    "value": "\"normal normal 1vw\""
                  },
                  {
                    "name": "TitleXFont",
                    "value": "\"normal normal 1vw\""
                  },
                  {
                    "name": "Title",
                    "value": "\"Displacement vs. Time\""
                  },
                  {
                    "name": "Enabled",
                    "value": "true"
                  },
                  {
                    "name": "MaximumY",
                    "value": "50"
                  },
                  {
                    "name": "MaximumX",
                    "value": "6"
                  },
                  {
                    "name": "YAutoTicks",
                    "value": "false"
                  },
                  {
                    "name": "MinimumX",
                    "value": "0"
                  },
                  {
                    "name": "MinimumY",
                    "value": "0"
                  },
                  {
                    "name": "TitleY",
                    "value": "\"number of bubbles \\nin 1 minute\""
                  },
                  {
                    "name": "AxisXFont",
                    "value": "\"normal normal 1vw\""
                  },
                  {
                    "name": "TitleX",
                    "value": "\"intensity\""
                  },
                  {
                    "name": "AutoScaleY",
                    "value": "true"
                  },
                  {
                    "name": "AutoScaleX",
                    "value": "false"
                  },
                  {
                    "name": "MarginX",
                    "value": "10"
                  },
                  {
                    "name": "MarginY",
                    "value": "10"
                  },
                  {
                    "name": "XScalePrecision",
                    "value": "0"
                  },
                  {
                    "name": "Display",
                    "value": "(expt==1)?\"inline-block\":\"none\""
                  }
                ],
                "Children": [
                  {
                    "Name": "analyticCurve2",
                    "Type": "AnalyticCurve2D",
                    "Properties": [
                      {
                        "name": "FunctionY",
                        "value": "\"50.5/(1+50*exp(-2.5*x+1))-0.5\""
                      },
                      {
                        "name": "FunctionX",
                        "value": "\"x\""
                      },
                      {
                        "name": "Minimum",
                        "value": "0"
                      },
                      {
                        "name": "Maximum",
                        "value": "6"
                      },
                      {
                        "name": "Variable",
                        "value": "\"x\""
                      },
                      {
                        "name": "LineColor",
                        "value": "\"Red\""
                      },
                      {
                        "name": "Visibility",
                        "value": "false"
                      },
                      {
                        "name": "LineWidth",
                        "value": "5"
                      }
                    ]
                  },
                  {
                    "Name": "instantaneousdata",
                    "Type": "Shape2D",
                    "Properties": [
                      {
                        "name": "FillColor",
                        "value": "\"rgba(0,0,255,0.5)\""
                      },
                      {
                        "name": "SizeX",
                        "value": "20"
                      },
                      {
                        "name": "ShapeType",
                        "value": "\"ELLIPSE\""
                      },
                      {
                        "name": "X",
                        "value": "intensity"
                      },
                      {
                        "name": "Y",
                        "value": "sumcount"
                      },
                      {
                        "name": "SizeY",
                        "value": "20"
                      },
                      {
                        "name": "PixelSize",
                        "value": "true"
                      }
                    ]
                  },
                  {
                    "Name": "shapeSet",
                    "Type": "ShapeSet2D",
                    "Properties": [
                      {
                        "name": "NumberOfElements",
                        "value": "datanMax"
                      },
                      {
                        "name": "FillColor",
                        "value": "\"Blue\""
                      },
                      {
                        "name": "SizeX",
                        "value": "20"
                      },
                      {
                        "name": "ShapeType",
                        "value": "\"WHEEL\""
                      },
                      {
                        "name": "X",
                        "value": "intensitydata"
                      },
                      {
                        "name": "Y",
                        "value": "sumcountdata"
                      },
                      {
                        "name": "SizeY",
                        "value": "20"
                      },
                      {
                        "name": "PixelSize",
                        "value": "true"
                      }
                    ]
                  }
                ]
              },
              {
                "Name": "plottingPanelxvst2",
                "Type": "PlottingPanel",
                "Expanded": "true",
                "Properties": [
                  {
                    "name": "Gutters",
                    "value": "[0,0,0,0]"
                  },
                  {
                    "name": "YScalePrecision",
                    "value": "0"
                  },
                  {
                    "name": "XFixedTick",
                    "value": "0"
                  },
                  {
                    "name": "AxisYFont",
                    "value": "\"normal normal 1vw\""
                  },
                  {
                    "name": "OnDoubleClick",
                    "value": "toggleFullScreen();"
                  },
                  {
                    "name": "YFixedTick",
                    "value": "0"
                  },
                  {
                    "name": "XTickStep",
                    "value": "0.05"
                  },
                  {
                    "name": "YTickStep",
                    "value": "10"
                  },
                  {
                    "name": "XAutoTicks",
                    "value": "false"
                  },
                  {
                    "name": "Height",
                    "value": "\"90vh\""
                  },
                  {
                    "name": "Width",
                    "value": "Width3"
                  },
                  {
                    "name": "TitleYFont",
                    "value": "\"normal normal 1vw\""
                  },
                  {
                    "name": "TitleXFont",
                    "value": "\"normal normal 1vw\""
                  },
                  {
                    "name": "Enabled",
                    "value": "true"
                  },
                  {
                    "name": "MaximumY",
                    "value": "50"
                  },
                  {
                    "name": "MaximumX",
                    "value": "0.3"
                  },
                  {
                    "name": "YAutoTicks",
                    "value": "false"
                  },
                  {
                    "name": "MinimumX",
                    "value": "0"
                  },
                  {
                    "name": "MinimumY",
                    "value": "0"
                  },
                  {
                    "name": "TitleY",
                    "value": "\"number of bubbles \\nin 1 minute\""
                  },
                  {
                    "name": "AxisXFont",
                    "value": "\"normal normal 1vw\""
                  },
                  {
                    "name": "TitleX",
                    "value": "\"percentage of \\ncarbon dioxide\""
                  },
                  {
                    "name": "AutoScaleY",
                    "value": "true"
                  },
                  {
                    "name": "AutoScaleX",
                    "value": "false"
                  },
                  {
                    "name": "MarginX",
                    "value": "10"
                  },
                  {
                    "name": "MarginY",
                    "value": "10"
                  },
                  {
                    "name": "XScalePrecision",
                    "value": "2"
                  },
                  {
                    "name": "Display",
                    "value": "(expt==2)?\"inline-block\":\"none\""
                  }
                ],
                "Children": [
                  {
                    "Name": "instantaneousdata2",
                    "Type": "Shape2D",
                    "Properties": [
                      {
                        "name": "FillColor",
                        "value": "\"rgba(255,0,0,0.5)\""
                      },
                      {
                        "name": "SizeX",
                        "value": "20"
                      },
                      {
                        "name": "ShapeType",
                        "value": "\"ELLIPSE\""
                      },
                      {
                        "name": "X",
                        "value": "carbondioxide"
                      },
                      {
                        "name": "Y",
                        "value": "sumcount"
                      },
                      {
                        "name": "SizeY",
                        "value": "20"
                      },
                      {
                        "name": "PixelSize",
                        "value": "true"
                      }
                    ]
                  },
                  {
                    "Name": "shapeSet2",
                    "Type": "ShapeSet2D",
                    "Properties": [
                      {
                        "name": "NumberOfElements",
                        "value": "datanMax"
                      },
                      {
                        "name": "FillColor",
                        "value": "\"Red\""
                      },
                      {
                        "name": "SizeX",
                        "value": "20"
                      },
                      {
                        "name": "ShapeType",
                        "value": "\"WHEEL\""
                      },
                      {
                        "name": "X",
                        "value": "carbondioxidedata"
                      },
                      {
                        "name": "Y",
                        "value": "sumcountdata"
                      },
                      {
                        "name": "SizeY",
                        "value": "20"
                      },
                      {
                        "name": "PixelSize",
                        "value": "true"
                      }
                    ]
                  }
                ]
              }
            ]
          },
          {
            "Name": "html",
            "Type": "Panel",
            "Properties": [
              {
                "name": "Html",
                "value": "<h2>Introduction</h2>\n<p>Plants make food through a process called photosynthesis.</p>\n<iframe width=\"560\" height=\"315\" src=\"https://www.youtube.com/embed/pmCtttrscFM?si=JZamK0n_BDB7oqsL\" title=\"YouTube video player\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen></iframe> <a href=\"https://www.youtube.com/watch?v=pmCtttrscFM\" target=\"_blank\">\n  https://www.youtube.com/watch?v=pmCtttrscFM\n</a>\n<p>Activity 1: Let\u2019s find out how the amount of light can affect photosynthesis through this activity. Record your observations by filling in your own table of amount of light versus amount of oxygen produced, using the automated graph readings as data.</p>\n<p>When the amount of light increased, the plant produced more oxygen. Hence, the rate of photosynthesis increased when the amount of light increased.</p>\n<p>Activity 2: Let\u2019s find out how the amount of carbon dioxide can affect photosynthesis through this activity. Record your observations by filling in your own table of amount of light versus amount of oxygen produced, using the automated graph readings as data.</p>\n<p>When the amount of carbon dioxide increased, the plant produced more oxygen. Hence, the rate of photosynthesis increased when the amount of carbon dioxide increased.</p>\n<h2>Critical thinking skills</h2>\n<p>More light generally equates to higher levels of photosynthesis. However, as the light intensity increases, the photosynthetic rate eventually reaches a maximum point. This point where the light intensity does not increase the photosynthesis rate is called the light saturation point. </p>\n<h2>Others</h2>\n<ul>\n \n  \n  <li><a href=\"https://iwant2study.org/ospsg/index.php/interactive-resources/biology/573-photosynthesis\" target=\"_blank\">Need a primary school version?</a></li>\n  <li><a href=\"https://iwant2study.org/ospsg/index.php/interactive-resources/biology/1154-photosynthesis-sec\" target=\"_blank\">Need a secondary school version with curve fitting?</a></li>\n  <li><a href=\"https://iwant2study.org/ospsg/index.php/interactive-resources/biology/1167-photosynthesis-3-factors\" target=\"_blank\">Need an advanced secondary school virtual lab version?</a></li>\n</ul>"
              }
            ]
          }
        ]
      }
    ],
    "RootProperties": []
  },
  "metadata": {
    "APP": "WebEJS",
    "CreatedWith": "WebEJS : The web version of Easy JavaScript Simulations",
    "MoreInfo": "WebEJS 1.2",
    "version": "https://www.um.es/fem/wikis/webejs/"
  }
}