Sustainable Food

Of the just over 2 hectares of habitable land per person that is available on this planet, the 2396 m² of arable land alone is more than enough to provide each human being with more than adequate food.

They would need to know:

  1. their local climate and the type of soil on their land
  2. their daily - and hence annual - nutritional needs
  3. the necessary crop mix which would grow on their land
  4. types and sources of machinery to help them do the job
  5. recipes and means for turning those crops into meals

It should be possible to build databases to furnish any family anywhere on the habitable surface of this planet with the information they would need to produce their own food from their local land.

However, making all this happen would, I fear, require an impossible paradigm shift in technical and political thinking.


The crops you can grow, and to a lesser extent, the proper constitution of diet, depend on the type of climate in which you live. If you know your climate type, you can select it in the form below.

Elevation: metres
Climate Type:

The climate you select in the above form will be posted to other forms in this project for further computations.

The climate types currently offered by this form are too few to enable a database to determine accurately which crops will or will not grow in your locality. For this reason I intend some time to write an applet to automate the above form to enable it to determine climate type automatically and much more precisely from your latitude, longitude and elevation above sea level.

If your personal computer is equipped with a GPS card then latitude, longitude and height could be entered automatically by your system.

Detailed climate databases at:
FAO Climate Database Home Page
FAO Climate Database (Data)

Our Food Needs

Inputs and Outputs

The human body is a biological machine. As such it needs two main inputs:

It also requires small amounts of other inputs to facilitate control of processes which consume the two main inputs. The body also produces outputs of controlled work, heat and waste material. The way in which the physical inputs and outputs to the human body are classified is illustrated below.

Carbohydrate is the body's main fuel providing immediate energy. Fat is used to store energy in a stable form. Protein provides the building materials for growth and repair. Vitamins and minerals are the agents and catalysts which facilitate bodily processes. This, however, is an extremely over-simplistic view. For instance, excess protein is also used as fuel. Indeed, if the body is short of carbohydrate, it will use protein as a fuel as first priority before using it for growth and repair. A detailed explanation is available on the web site of the United Nations Food & Agriculture Organisation.

The human body has a complex interrelationship with the terrestrial biosphere. In fact, in isolation, the human body is not a complete functional system. It is only one part of a system, the rest of which is its terrestrial environment. Consequently, there is a large number of other inputs and outputs to the human body. It consumes oxygen and returns carbon dioxide and water. The skin absorbs light to produce vitamins by photo-synthesis. It also sheds skin scales and sweats moisture.

Fortunately the human body is equipped with an excellent control system, which has sufficient built-in negative feed back to give the body a wide tolerance in the amount of each required input. It corrects the amount of each input by passing the excess straight through. Adequate nutrition is achieved, therefore, by ensuring that there is enough of the diet's least available input.

Foodstuffs (things like eggs, milk, meat, vegetables, fruit) between them contain enough of all the things the body needs in proportion to the carbohydrate, protein and fat they contain. In other words, if you get the amounts of those three right using natural foodstuffs, you should by default get an adequate supply of all the other things you need. So provided you are in normal health, all you need do when planning a menu is calculate F(c, p, f) to make sure that the amount of each of these inputs is within the body's window of tolerance.


Different types of individual require different amounts of food according to:

For the planning of diet, these differences should be taken into account. A food Energy Database could be built from available data from which a program could calculate a person's food needs. The following HTML form should allow anybody, anywhere in the world, to convey enough about himself over the Web to allow such a program to return his required carbohydrate, protein and fat energy needs F(c, p, f) in Megajoules per day. Climate type is posted in the following form automatically from the 'climate' form.

Climate type:
Your age: Over 60 years
30 to 60 years
18 to 30 years
12 to 18 years
Under 12 years
Type of Work: light
Gender: male
Your height: metres
Your weight: kilograms

For the purpose of planning food production, it is less complicated to plan for the needs of a generic human. That is, to produce quantities F(c, p, f) from which the quantities F'(c, p, f) needed for any particular type of individual can be provided. This allows the necessary contingency for such things as:

Therefore if
c = amount (in Mj) of carbohydrate per person per day
p = amount (in Mj) of protein per person per day
f = amount (in Mj) of fat per person per day
n = number of people in family
then the amount of food a self-supporting family must produce each year for itself is
E = 365 × n × F(c, p, f)

Crop Mixes

We could grow only the types of crop we need within the constraints of our local climate. However, for these to survive, we must intersperse them with other crops that will protect what we need from destruction by pest and tempest.

What Could We Grow?

The set S of possible crops we could grow is mainly a function of
C = climate type
s = soil type

Climate is itself a function of many variables, but a global Climate Database could be built from which our local climate type C could be retrieved from our location vector such that C = getC(lat, long, height). The item 'getC' refers to the Java 'method' which retrieves a climate type from the database upon submission of a given latitude, longitude and height.

A global Growable Crops Database could be built from which we could extract a set S of all the possible crops we could grow in our particular locality as follows:

S = getS(C, s).

Soil type 's' can change abruptly within only a few metres. It is therefore not practical to account for it within a global Climate Database. That is why it appears as a separate argument in the retrieval method getS() above.

We do not necessarily want all the crops we could grow in our locality. We only want a sub-set M of these which meet our dietary needs. A suitable access method could be built which would select this subset in such a way that it provides the annual needs of our family:

M = getM(S, E)

The access method should be designed to return M as a vector offering a choice of optional crop mixes M1, M2, ... Mn which would each provide our dietary needs.

Threats & Protectors

Many of the crops in this set will be open to threat from pests and blights. These are a function of many variables including climate and soil type. However, a global Threats Database of all threats from pests and blights could be built. From this, the sub-set of threats affecting crops in a particular locality could be retrieved according to our local climate type, based on our global location.

The set T of threats to crops in our locality is therefore

T = getT(M, C, s)

There are protectors we can grow along side our set of crops M which will deter or eradicate the things which threaten them. We can regard these protectors themselves as crops. A global Protectors Database could be built so that the set of protectors P which will protect crops from the set of threats T in our locality could be retrieved by the statement

P = getP(T)

T and hence P are quantified by the presence of M as an argument to their retrieval methods above.

What Must We Grow?

What we actually need to grow G on our family land is therefore the quantified mix of food crops M interspersed with the appropriate quantified mix of their protector crops P. Thus:

G = M + P

Below is summarised the whole sequence of statements for arriving at the quantified mix of food crops and their protector crops we must grow to provide our family's annual food needs.

Family food needs (energy in Megajoules per year):
E = 365 × n × F(c, p, f)
The climate in our particular locality is:
C = getC(lat, long, height)
The set of growable crops:
S = getS(C, s)
Subsets that will provide E:
M = getM(S, E))
M = getM(getS(C, s), 365 × n × F(c, p, f))
Local threats to the set of crops M:
T = getT(M, C, s)
Protectors to counter the set of threats T:
P = getP(T)
P = getP(getT(M, C, s))
What we must grow:
G = M + P
G = M + getP(getT(M, C, s))

Providing The Knowledge

To be able to provide everybody - anywhere in the habitable world - with a choice of quantified growable protectable crop mixes we need to build 4 global databases:

These databases must be built from global information and local knowledge from a variety of sources. They must also be easy to maintain by a wide range of people. Under the prevailing technology at the time of writing, it seems an ideal application for XML.

For anybody - anywhere in the habitable world - to be able to benefit from this system of databases, it is necessary to give them access to it. Under the prevailing technology at the time of writing, this seems an ideal application for a browser-based Java applet or even a plain simple HTML query form like the one below.

Climate type is posted to the following form automatically by the 'climate' form at the beginning of this document set. The soil type options it offers are very limited and are by way of example only.

Climate type:
Soil Type:
Family size: adults+children

On submission, the server would then return an HTML document containing a range of growable crop mixes which would provide the family's needs, including the necessary protector crops. It would also contain links to instruction and advice pages on how to sow, care for and harvest the crops. This reasonably assumes that each family will have access to an Internet PC either directly or through their local community.

Planting Layout

A computer program manages crop planting and harvesting. It maps crops onto hexagonal planting templates for optional crop packing and mixing. It also provides annual crop rotation schedules plus the planting and harvesting dates for each plant position within the map.

The hexagonal planting pattern, shown on the right, facilitates the maximum packing of crop plants. The yellow circles represent one type of crop plant and the cyan circles represent a different type of crop plant which can grow benignly along side it. The magenta circles in the middle of the hexagons are anti-pest/anti-blight protector plants appropriate for the two types of crop plant. A specially moulded aluminium template is used to locate the points at which the plants should be placed to maintain the hexagonal planting pattern.

This pattern is ideal for low [ground level] plants where, for example, the blue circles could represent potato plants and the yellow circles could represent carrot plants. The size of the hexagon must provide the correct spacing for each kind of plant. For potatoes the length of the side of each hexagon should be between 30 and 40 cm. The recommended spacing for carrots is only 10 cm. When planted alternately, the larger measure should be used. This may seem wasteful but it does not take very much area to grow all that is needed for a family of four people.

The same planting pattern could be used for vertical crops like peas, beans and lentils. Fruit trees and nut trees are also best planted in this way, although each hexagon would be very much larger. The same protection strategy could be used by alternating fruit trees and nut trees around the hexagons with a protector tree in the middle of each hexagon, which could also be a source of construction material or fuel.

To maximise the planting density, different types of crop could be planted in separate disjointed small contiguous areas of hexagons. This way, the ideal hexagon size could be used for each respective crop, for example: 35 cm for potatoes, 10 cm for carrots.

Throughout the year [or growing season, depending on your latitude] each plant harvested should be replaced with a new seed in order to maintain a continuous supply. At the beginning of each new year [or growing season] crop areas should be rotated with soil replenishers like grass and clover.

Appropriate Machinery

Farming has been mechanised for a long time. The profit motive has always driven machine development to cater for increasingly large scale operations, each involving a decreasing diversity of crops. Ecological harmony requires that this be reversed without diminishing efficiency.

For small-scale sustainable agriculture, machines must be able to sow and harvest an interspersed mix of crops and protectors. These machines will necessarily be smaller and more complex. They must also be flexible and totally user-maintainable.

This is quite an engineering challenge. Nevertheless, in an ecologically sound world of diverse small scale farms in which all its human inhabitants are well fed, the potential market would be vast. This would mean that, though small and complex, these machines would also become cheap to produce.

Machines could be modular. A snap-on power unit could drive a user-configurable set of snap-on devices for sowing or harvesting an interspersed mix of crops and their protectors. Efficiency would come from universal interconnection standards for linkages and control interfaces. Machines could also become robotic - sowing, planting, harvesting automatically. I think that on a world scale this is highly practical.

It would not be easy to impart all the necessary knowledge and skill to all who would, in such a world, be providing directly for themselves from the earth. But this is not necessary. I could not tell when a crop I have never grown before is exactly ready for harvesting. But if I have a device which can analyse the light signature coming from the crop, together with prevailing time-of-day and weather information, this information could be passed through a neural network which has been 'taught' by experienced growers to tell me exactly when to harvest it. Many such useful aids are possible.

Making Meals

Meals must be created from ingredients that you can grow and protect on your own plot of land constrained by the local climate.

Selecting a Recipe

Innumerable recipe books are readily available to almost everybody. You choose a recipe book. You find within it an attractive meal that suites your fancy. It then tells you the ingredients you need, then how to mix and cook them to produce your meal.

If you are a middle-income yuppie living in your bland suburban box with a dazzling supermarket just around the corner, then this is for you. But if you are a citizen of the brave new world having grown your own food on your own land as described in this project, this conventional recipe book is definitely not for you. It goes about it exactly the wrong way.

You cannot start by choosing a meal you fancy and then demand the necessary ingredients. You must start with available ingredients and then ask your recipe book what exciting meals you can make from them. The best approach is therefore to select, out of the crops you grow, those which are currently in season or in store. Suppose the crops you grow are posted to a selection form as shown below.

In stock or in season today we have:
Meals for people ...

The crops which are currently in season or in storage are highlighted automatically. What is in season is determined automatically from the system date. You can cancel the highlighting of the ones you wish to exclude and highlight ingredients which perhaps a guest has brought.

Enter the number of people the meal is for. The default is the number of people in your family. Then hit the 'Get Recipes' button to submit your recipe request to a recipe database somewhere on the Internet. Back comes a document full of exciting meals you can make with the ingredients you specified.

Preparing The Meal

Whatever ingredients you have and whatever recipe you select, you need a system for turning them into a meal and serving the meal to those who will eat it. The following diagram was drawn by analysing the activities involved in preparing and eating food, and then integrating them to form the simplest possible unified system.

This results in the design of an efficient kitchen/dining environment that minimises the amount of physical and mental effort required to feed one's family. It is flexible in that it allows great latitude in how different individuals may prefer to realise it physically.


This part of the Project is at the 'Request for Information' stage. I should therefore be most grateful if you could tell me of any Internet information sources you know on the following topics.

  1. Ensuring that water drawn from a well is fit to drink
  2. Small-scale drilling for [and pumping] underground water
  3. Capturing and purifying [acid/polluted] rain water.
  4. Condensing water from the atmosphere.
  5. Domestic water recycling providing different grades of cleanliness for flushing, washing and drinking.
  6. Closed cycle systems like those proposed for space travel
  7. Possible urine recycling via hydroponics. [My grandpappy used to 'water' his tomato plants with 50% urine (his own). Best tomatoes I ever tasted.]

Please send information to Robert John Morton. Thanks.

  1. boil drinking water for 5 minutes (add 1 min per 1000ft above 10,000ft. Kills all except chemical pollutants.
  2. use iodine (or chlorine) to remove chemical pollutants. Removes all chemical pollutants except toxins. Prolonged use can cause thyroid problems.
  3. for protection against toxic chemical contamination, draw water from a source in which fish are living happily, there are algae on the rocks, crowdads on the bottom and insects skimming on the surface.

Political Hurdles

Today's world is characterised by disparity. The comfortable majority of the First World lack nothing in terms of food. The profit-motivated market manipulation of the capitalist system proactively isolates people from natural food, replacing it with tinsel wrapped pre-processed oven-ready pulp.

The result is too much fat and not enough exercise. This is exacerbated by comfort eating inspired by the accelerating levels of stress generated by the ever-intensifying competitive frenzy of the modern job market.

This Western life-style does not sustain itself. It is made possible only by economic exploitation - a process by which the First World rapes the Third World of its natural resources. Ruthless dictators are seduced by Western corporations to grow monolithic cash crops for foreign exchange while their landless people starve to death on the open road. The result is ecological and social destruction. Western corporations then appease their executive consciences and earn the good will of their customers and employees by making pathetic contributions to Third World charities through which they replace a proverbial drop in the ocean they have stolen.

Obviously, small-scale farming could not function within the present world order. Radical changes must be made to the rules by which trade and industry operate.


Your food energy needs are:




The database would return a choice of menus comprising food crops and their necessary protector crops, giving for each food crop:

Included would be links to instruction and advice documents on how to plant, care for and harvest the crops.


My Favourite Curry

A chicken curry, which if you omit the chicken, becomes a complete vegan meal with all the protein you need. Guaranteed to put hairs on your chest.


Accompanyments For The Table
(complementos do prato)

Put 6 small dishes in the middle of the table, each containing one of the following:

How to Cook The Curry

Boil the rice and lentils together with tempero for 15 minutes drain and rinse them, then leave them to dry. Put 1 small coffee cup of olive oil in a large pan. Heat the pan with low heat. Dice the onions and put them in the pan to fry until golden. Add the curry powder and stir thoroughly. Add the tomato purée and stir thoroughly. When the mixture is very hot, add water an continue stirring. Add the oat meal and continue stirring until thick. Turn off the gas. Add the wine and stir. Dice and fry the meat in a little olive oil. Add the meat to the curry mixture an stir. Steam the rice and lentils for 15 minutes.

How to Serve The Curry

Put rice and lentils on each person's plate. Form it into an annulus (circle with a hole in the middle). Put the curry in the middle. Add the accompaniments as desired.

How to Eat The Curry

Eat with a fork. If your mouth catches fire, quench it with Naan bread, not water.

RETURN | © December 2008 Robert John Morton