Getting Recipe Data - the Old Fashioned Way


Me and a group of friends were working on a similar project to MIT openAg (a JSON-based API for retrieving plant data) prior to discovering this project. Everything was going quite well, except we ran into a massive roadblock - no where on the internet can precise plant recipes be found. Most of the knowledge can only be picked from anecdotal stories on farming forums. I noticed that the recipes repo on github right now is also quite slim, and I thus imagine this is a roadblock for others.

I’m aware that the point of openAg is to fine-tune and discover precise recipes, but even finding a rough starting point can be difficult - i.e. what soil content is appropriate for plant X?

So I was thinking about spending a weekend in the library and possibly collecting old fashioned book data into JSON documents. Has anyone tried this - or does anyone with botanical experience know any good guides/encyclopedias to start with? I imagine it will be time consuming and tedious, so I want to make sure I attack it with quality sources.


Sounds pretty cool!
It reminded me of a story about how Kindle started with some guys at amazon taking pictures of books and flipping the pages by hand…

btw, can you share what your current recipe format looks like? We’re mulling over what the recipe should be like and your input would be nice to have as well


@wbratches I am very interested in this, and definitely have found it to be a roadblock myself.

I personally (and I think a few others on these forums as well) have adopted the Cornell guide to be a pretty standardized method of production for at least lettuce. I know there is also a Spinach guide as well.

I will reach out to someone I know from the Botanical Gardens and a few professors I know who may be aware of some good starting points.

@webbhm any other ideas?


@wbraches, @spaghet, @rbaynes, @Webb.Peter, @wsnook
This is definitely a key topic, and one needs work. I started a topic around using the Cornell Handbook and JSON, and while I think that Cornell is a good starting point (already well documented), JSON is not the way to start writing. I would suggest informal prose for the moment, an indented style (for sub-parts, attributes, related parts) and possibly a property:pair structure.
Whatever we start with will be refactored for re-usable parts, so any effort put into this should be around content, and not format. If the content is decent, we can parse it into a format later. Formatting JSON is a pain (without a good editor), and if the editor strips out the white spaces it becomes almost unreadable.
Another suggestion is to separate the ‘recipe’ from ‘protocols’. The recipe is instructions for growing something (lettuce) and should be slightly abstract to avoid instructions that are specific to particular hardware (personal food computer, vertical farm). It states what is to be done, not how. My go-to example is The Joy of Cooking and chocolate chip recipes; they don’t specify if mix by hand or with an electric mixer, or whether the oven is gas or electric. The ‘how to’ instructions, and instructions for things other than the plant (mixing fertilizer, cleaning the equipment, calibrating an Ph sensor) are protocols/procedures; separate from the recipe and usually specific to the environment (and environment is another related thing we will need to describe).
There are two approaches to this: Shotgun it by looking for multiple sources (library, back of seed packages, agricultural handbooks) and seeing what they have in common; or digging into one specific example (Cornell) and seeing what we can make of it - I started the latter approach.


Well, it seems not to be many recipes over there. I guess this is a brand new technology and community hasn’t still done too much. This seems to be also a hard work to make a recipe work, hard investigation and practice. I propose, though guess unpopular, ask whether anybody there has a good-working recipe for sale, maybe that way we could find recipe-makers or even start’em up. Iḿ thinking seriously to make an industrial openAG growing factory and I could buy a recipe if it fits my local market needs (please no more lettuce…:-))


I agree with @webbhm. There are a couple levels to the problem:

  1. What are recipes and related protocols for specific things you might want to grow? We need more examples, and prose would be a good format for them.
  2. Moving beyond specific examples, how do we model the abstract concepts that recipes are built from? I’m hoping we’ll make progress at answering this with working implementations of languages and parsers.



Take a look at the beginnings of recipes here:

It is still very early but this will give you an idea of the direction they are going in I think.


In a literal sense, you’re completely right. Grow recipes make sense when you control every environmental variable, and that has not historically been possible.

On the other hand, there is useful data if you look in the right place: Wikipedia. Look up where your crop evolved and determine typical climate (temp, wind hardiness, natural crop cycle, etc) and soil conditions (pH, strength of nutrition, soil drainage, etc). For crops grown worldwide, pay close attention to where most of their production is, because that’s where they grow best. Find out whether is long-day or short-day to inform light cycle.

If you want to do library legwork, there are compendiums of horticultural advice. (For example, I reference Success with Herbs a lot.) They will give advice that’s either general or not directly applicable to hydroponics – like how much bone meal to put in your soil soil mix. The good news is they will note any critical deviation from standard growing conditions. They might also note useful cultural best practices like how to prune a certain plant. And if you really really want to do your homework, bone meal is used as a phosphorous supplement. If you read a suggestion for lots of bone meal, use a nutrient solution that has a higher P value.

This information will not be precise, computer-ready data, but it’s a place to start.


Thanks for the insight, it sounds like you have some real experience. I’d be interested in getting more of your insight based on your experience. @jimbell

I agree there is some “translation” that needs to be done. Have you seen this tool: Open Source Nutrient Calculator + Blog


@mayble you are mentioning the book Success with Herbs. Is it the one from Gertrude B Foster (Amazon link)?


I’ll bel honest, I haven’t had the time to dig through these resources too much, I just wanted to get them out there. I’d appreciate a review if anyone has the time to review and see about the viability of converting these into climate recipes @wsnook @ATBFarms @BioLumo if you have other sources of compiled recommendations please share them:


The only sources i know of are Myfolia and OSSI at this point in time. I will ponder on if i know of more.

There is also the separate Open Source Seeds thing In Europe. It is like brand new though, so not much there. This is different from the one above.

Edit: places like MyFolia are great because they do put the info for traits such as days-to-maturity and phenotype data, and growth preferences like shady or full sun, etc. So stuff like that can be helpful for “recipies” and growth information for a PFC.

But i will mention that the Days-to-maturity thing in traditional gardening is a sham and is totally arbitrary. A watermelon for example that takes 90 days-to-maturity in Southern Georgia would probably take like 135 days here in Northern Colorado. I can’t even get 135 days of growing here, maybe 100. 120 if pushing it in a good year. maybe. Im just guessing, but you get the point. Much of this is because it is not days themselves but on something known as Growing Degree Days. Basically heat units. How many heat units for a given variety to mature. An old thread that talks about this can be viewed here. It is quite interesting and a topic i would like to resurrect and discuss more on.

So my vote is to get rid of the Day-to-maturity and replace it with Growing-Degree-Days which is more accurate and repeatable for everybody!

:slight_smile: Way interesting!!!

@Webb.Peter thanks for tagging me in this discussion. Now i have something to learn about again. I love this GDD stuff!


This is great, give me a few days to absorb. You’re speaking my language.

One of the cool things about the MVP/$300 Food Computer is that it only uses exhaustive cooling. I want to modify the thermostat software to set an average temperature goal, rather than a constant setpoint. This way if it knows that last night (when lights were off and there was no control over temperature) it got to 60 degrees for 12 hours, and our goal was 70 for the day, it would then allow the temp to rise to 80 using heat from the lights. This would provide for that 24 hour period a perfect 70. From what I’ve learned listening to Dr. Kubotas talks (obsessed) all that really matters is the 24 hour average, not so much at what point did it happen (within limits).

I think this is that old conversation you mentioned:

Something I haven’t had the time to do but am constantly pondering and trying to wrap my head around is how recipes translate from the plant level to the “Environment” or hardware on which they will be actuated. I think perhaps the best way to just get started is to store plant recipes in a way where each variable is defined for only a 24 hour period. Things like GDD, and DLI (Daily Light Interval), and photoperiod can all be defined this way and then converted much easier. The next tier of definition would be the “quality” of the variable. Perhaps Max, Min of temperature (to catch for stress) or the spectrum of the lighting.

It’s not like we’re going to find the optimal spectrum of light for every species somewhere, but we are likely to find DLI, and perhaps the recommended season. Can we use the season (and even location of that outdoor recipe) to calculate the light that might cause these plants to flourish? I’ve heard things like “Shady” means that they react well to UV. I’ve also heard that green light travels through the canopy easier, so perhaps plants who like shade prefer more green light than others in direct sunlight?


ok. me too.

Still great discussion! I want to continue to talk about GDD estimates and how one can use that for more accurate growing estimates and how one could then use that to convert back into “days-to-maturity” in one’s local conditions (Artificial environment or not). Thank you for linking that thread. I was talking about the old one on that forum but glad to see it mentioned here. Funny how it was also first mentioned here in relation to growing corn (maize) like it was on the other forum i linked to.

good point. i hadn’t thought about that. Yeah perhaps plants that die in full sunlight and thrive in shade or partial shade have different spectrum requirements… hmm… interesting idea…


Don’t be too hard on ‘days to maturity’, it is a standard ‘short hand’ that is easier for comparisons than growing degree days.
My main experience is with corn, where growing degree days has been heavily studied, but still almost every bag of seed corn identifies it as a ‘120 day’ or ‘112 day’ variety.
It is the nature of common language to abbreviate and assume context. Days to maturity is just assuming a ‘normal’ temperature. Be aware that ‘growing degree days’ is assuming a context of ‘normal’ photoperiod, light intensity, CO2 and nutrients. Raise or lower the PAR between two plants and you will have different growth even if the temperature is the same for both.
As we get more detailed in research, there is a need to peel away the layers of assumptions and look at what can become a variable. I agree that ‘growing degree days’ is more precise, and hence a better term for our use; but that is because of the context in which we want to work.


Standard maybe, and for some things its fine. But for me when i buy an average packet of seed from wallyworld or some other bigbox store and it has been bred for generations on the East coast, or in a greenhouse on the east coast, or in Oregon, or in California and an average Days-to-maturity label put on those seeds when i import them into my garden here with the heavy swings in temperature from day to night those days-to-maturity labels are so way off that they actually become useless.

You make a good point about PAR levels and CO2 etc with the same GDD levels causing different growth habits. That’s true, i hadn’t thought about that. But i am talking about growing degree days in the context of growing outside in a garden whereas it sounds like you are talking within a controlled environment like a food computer. GDD is more useful to me as a plant breeder so it may not mean that it would mean much to the average gardener, but that is still no reason why we shouldn’t help work towards a paradigm shift and hope for a day where seed packets have both a crappy days-to-maturity estimate but also a GDD estimate as well. Wouldn’t take up much more space.


I don’t think anyone is arguing with you. This article is quite clear that days to maturity is a very blunt tool.

As I said, context of use is everything as to whether it is helpful or not. For us, GDD seems to be a more useful (and sharper) tool.


Really what you need is then a conversion from a standard “recipe” into an “environment” that then determines actuation.

In your case, actuation is manual (pollinate), and the environment is uncontrolled, and not something you can control. We can however hopefully begin to develop predictive models (OpenAg started this with openag_sim that allow for us to plan ahead. This already has been going on for quite some time (crop insurance) but isn’t really accessible to the public so far as I’m aware. If we can plan ahead, and predict what the weather (PAR, Temp, Co2) will likely be, we can then communicate the proper GDD to the grower based on geographical location.

Perhaps an easier win, would be using logging (or real-time weather data) that is then localized to the user. If the user inputs the date they seeded, it could then tell them how many complete GDD’s have elapsed so far that season and what results they should be expecting.

Now we just need Burpee to fund someone to make this model for them and put QR codes on seed packs.


Great idea! Yes that would work!

Here is a graph i tried to make of my area based on GDD in 2015 to estimate growing season. It has some flaws, but it actually was pretty darn accurate. I could even predict when i would get a snowstorm within a day or two based on past experience. (and the graph actually was using about 5-6 years worth of data despite it only showing like 3).

Thoughts? And yes, this data was gathered / mined from local weather stations from the internet.


So, question: How does one take complex and changing weather information like the above example environment and turn that into a PFC Climate Recipe. I’ve only glanced at the food recipes on the wiki but they seem very or overly simplistic and artificial in nature. For many / most application in a PFC a simplistic recipe might be fine. But for my uses i think replicating actual climates like the quoted graph to be more what i would want/need. So… How does one create a climate recipie that changes from high temp during the day to cool temp during the night and that changes from week to week over a series of months?