Grow Recipe Data Standard

By: Jason Biegel

Agrowbox

What are plant recipes?

Instructions on how to grow plants

What information do recipes contain?

Air Metrics

Temperature

Relative Humidity

Carbon Dioxide

Water Metrics

Temperature

Electro Conductivity

Minerals and Soluble Nutrients

pH

Light Metrics

Intensity

Wavelength

Correlated Color Temperature

Growth Stages

Germination

Seedling

Vegetative

Flowering

The Recipe Structure

What is the recipe structure all about?

Now that we've discussed the different metric types, and potential growth stages, we can organize this into recipe.

But first we need a baseline..

Creating the Default Stage

Each recipe includes a default stage for defining default metrics.

Metrics can be defined by a tolerable range or precise value.

              
                <recipe>
                  <default>
                    <air>
                      <temperature min="18" max="24" />
                    </air>
                    <water>
                      <ph min="6.8" max="6.8" />
                    </water>
                  </default>
                </recipe>
              
            

Adding Additional Stages

Each additional stage builds upon the Default stage. We only include the metrics that are different.

              
                <recipe>
                  <default>
                    <air>
                      <temperature min="18" max="24" />
                    </air>
                    <water>
                      <ph min="6.8" max="6.8" />
                    </water>
                  </default>
                  <vegetative>
                    <air>
                      <temperature min="12" max="15" />
                    </air>
                  </vegetative>
                </recipe>
              
            

Timing and Duration

We can also specify time intervals for how long a Stage should last.

Or a stage can be defined further into day or night phases, for example.

              
                <recipe>
                  <default>
                    <air>
                      <temperature min="18" max="24" />
                    </air>
                    <water>
                      <ph min="6.8" max="6.8" />
                    </water>
                  </default>
                  <!-- 7 days -->
                  <vegetative duration="604800">
                    <air>
                      <temperature min="12" max="15" />
                    </air>
                  </vegetative>
                </recipe>
              
            

How to write a recipe

Temperatures should be in the range of 65 F. (18 C.) or more indoors
Flowering will be promoted by warmer temperatures and best growth is from 75 to 85 F. (24-29 C.)
              
                <recipe>

                </recipe> 
              
            

Benefits of XML

One of the most popular open standards for text data

Supported by many programming langauges

Has rich schema support (XSL, RELAX NG)

Formatting and Schema

              
                <notagreatrecipe>
                  <default>
                    <air>
                      <butterflies min="more than five" max="many" />
                    </lava>
                    <moons>
                      <bananas min="6.8" max="sandwiches" />
                    </moons>
                  </def>
                </notagreatrecipe>
              
            

Formatting and Schema continued

..from a valid one

              
                <recipe>
                  <default>
                    <air>
                      <temperature min="18" max="24" />
                    </air>
                    <water>
                      <pH min="6.8" max="7.25" />
                    </air>
                  </default>
                </recipe>
              
            

What are the solutions out there now?

Free form text

What else is out there?

MIT's Open Ag Initiative

Open Ag Data Alliance

Open Ag Tech

Treat grow recipes like source code

Content should be propietarty,
not the content's format.

              
                $ git checkout -b higher-temp-test

                $ vim recipe.xml

                $ git add recipe.xml

                $ git commit -m "increase air temperature"

                $ git checkout master

                $ git merge higher-temp-test
              
            

Whats next?

Adaptation

Try GARDNR!

How to get involved

Fill out a survey

Fork the repository

https://github.com/njason/grow-recipe-schema

Try it out yourself!

Thank you!