A Cotton Irrigator’s Decision Support System Using ... · Google App Engine • Cloud computing...

19
A Cotton Irrigator’s Decision Support System Using National, Regional and Local Data ISESS 2015, Melbourne LAND & WATER FLAGSHIP / AGRICULTURE FLAGSHIP Jamie Vleeshouwer, Nicholas J. Car, John Hornbuckle 26 March 2015

Transcript of A Cotton Irrigator’s Decision Support System Using ... · Google App Engine • Cloud computing...

Page 1: A Cotton Irrigator’s Decision Support System Using ... · Google App Engine • Cloud computing platform we are using to host IrriSAT • Scalable – Create new app instances when

A Cotton Irrigator’s Decision Support System Using National, Regional and Local DataISESS 2015, Melbourne

LAND & WATER FLAGSHIP / AGRICULTURE FLAGSHIP

Jamie Vleeshouwer, Nicholas J. Car, John Hornbuckle26 March 2015

Page 2: A Cotton Irrigator’s Decision Support System Using ... · Google App Engine • Cloud computing platform we are using to host IrriSAT • Scalable – Create new app instances when

Irrigation in the cotton industry

• Background• Water is scarce• Irrigation entitlements for regions• Farmers maximise revenue by getting best

return on water “more crop per drop”• IrriSATSMS

• Weather/Sattelite based irrigation decision support system

• Provide information on how much to irrigate• SMS User Interface• Has become outdated

• IrriSAT – Next Gen• Use modern technology / automation• Add forecasting (7 days) / benchmarking

functionality

A cotton growers decision support system using National, Regional and local data| Jamie Vleeshouwer2 |

Page 3: A Cotton Irrigator’s Decision Support System Using ... · Google App Engine • Cloud computing platform we are using to host IrriSAT • Scalable – Create new app instances when

• Water balance• Rain + Irrig – CropWaterUse = 0• Too much = inefficient• Too little = restricted growth

How much water should I use?

A cotton growers decision support system using National, Regional and local data| Jamie Vleeshouwer3 |

Actual Crop Water Use

ReferenceWater Use (Weather

Station / SILO)

Crop Coefficient(Relates your crop to the reference crop)

Page 4: A Cotton Irrigator’s Decision Support System Using ... · Google App Engine • Cloud computing platform we are using to host IrriSAT • Scalable – Create new app instances when

What are we doing about it?

• IrriSAT - weather-based irrigation scheduling service• Satellite imagery determines crop coefficients (Kc) to

calculate crop water requirements and provides customised scheduling information

• Irrigation scheduling with:• low-cost• wide coverage

• Add value - not replace existing methods• Daily water balance updated in real time• Targeting smartphone interfaces as well as web

A cotton growers decision support system using National, Regional and local data| Jamie Vleeshouwer4 |

Page 5: A Cotton Irrigator’s Decision Support System Using ... · Google App Engine • Cloud computing platform we are using to host IrriSAT • Scalable – Create new app instances when

How will it work?

A cotton growers decision support system using National, Regional and local data| Jamie Vleeshouwer5 |

Regional weather data – ETo(weather stations)

Crop growth data - Kc(satellite imagery)

Rainfall and irrigation data(farmers via phones)

Water balance model

Benchmarking data store

Mobile phone app

Remotely Sensed

On Ground

Page 6: A Cotton Irrigator’s Decision Support System Using ... · Google App Engine • Cloud computing platform we are using to host IrriSAT • Scalable – Create new app instances when

What could we improve upon?

• What didn’t work well in the previous system• Satellite processing was all manual (lots of time, effort, data storage)• Data entry errors (SMS autocorrect interfering)• Had commercial interest but too complex to transfer• Tightly coupled

• How technology has evolved• Cloud computing• Web services• High performance computing• Increased usage of smartphones / tablets

After many thoughts, discussions and experimentation...

A cotton growers decision support system using National, Regional and local data| Jamie Vleeshouwer6 |

Page 7: A Cotton Irrigator’s Decision Support System Using ... · Google App Engine • Cloud computing platform we are using to host IrriSAT • Scalable – Create new app instances when

System Architecture Overview

A cotton growers decision support system using National, Regional and local data| Jamie Vleeshouwer7 |

Google App Engine Google Earth

EngineCSIRO Automatic Weather Stations

IrriSAT API (Google Endpoints)

Google Endpoints

Google Datastore

Google Analytics

Google Drive

Google Memcache

Google Accounts

Google Cloud PlatformCSIRO

GEE API

REST/JSON

Forecasted Weather

Authentication

Android iOS Web Other Products

Sensor Observation Service (SOS)

XML / O&M

52 North SOS

Website

XML / O&M

12

3

Page 8: A Cotton Irrigator’s Decision Support System Using ... · Google App Engine • Cloud computing platform we are using to host IrriSAT • Scalable – Create new app instances when

Google Earth Engine

• Not to be confused with Google Earth• Develop and run algorithms on large satellite

imagery archives (Landsat, MODIS, etc)• Access web services via restful API

• Python• Javascript

• Runs in real-time on Google’s parallel processing platform

• Just-In-Time distributed model• Ideal for IrriSAT

• Define a field and analyse instantly• Data archive constantly being updated• No need to manage any data

A cotton growers decision support system using National, Regional and local data| Jamie Vleeshouwer8 |

1

Page 9: A Cotton Irrigator’s Decision Support System Using ... · Google App Engine • Cloud computing platform we are using to host IrriSAT • Scalable – Create new app instances when

Our approach for determining Kc

• Landsat Sources 30 m (operational missions)• Landsat 8 OLI• Landsat 7 ETM+

• 16 Days to orbit earth• LS8 and LS7 offset 8 days from each other• Combining provides full coverage every 8 days

A cotton growers decision support system using National, Regional and local data| Jamie Vleeshouwer9 |

Landsat 7 Landsat 8 Combined

1

Page 10: A Cotton Irrigator’s Decision Support System Using ... · Google App Engine • Cloud computing platform we are using to host IrriSAT • Scalable – Create new app instances when

Computing Kc (the workflow)

A cotton growers decision support system using National, Regional and local data| Jamie Vleeshouwer10 |

LS8 OLI NDVI

LS7 ETM+ NDVI

Remove Cloud Affected Areas

Remove Cloud Affected Areas

Blended NDVI

BackfillMissingPixels

Compute Crop Coefficient (Kc)

Aggregate Paddock

SimpleCloudScore algorithm.

Better cloud / cloud shadow detection being developed

(FMASK).

Primary (Landsat 8) Secondary (Landsat 7)

1

Linear Scaling for Cotton

Kc = NDVI x 1.36 – 0.086

Developed using the GEE

API

Orthorectified scenes

NIR – REDNDVI = --------------

NIR + RED

Page 11: A Cotton Irrigator’s Decision Support System Using ... · Google App Engine • Cloud computing platform we are using to host IrriSAT • Scalable – Create new app instances when

Computing Kc (spatial representation)

A cotton growers decision support system using National, Regional and local data| Jamie Vleeshouwer11 |

Define fields

Detect where clouds are present

Remove pixels from NDVI

Compute Kc

Need to address cloud shadows

1

Page 12: A Cotton Irrigator’s Decision Support System Using ... · Google App Engine • Cloud computing platform we are using to host IrriSAT • Scalable – Create new app instances when

Generating time series data for a field

• Spatial algorithm can be reused in time domain• Aggregation of pixels over a field (ie Kc, Field visibility)• Again, execution occurs in real-time on Google’s servers

A cotton growers decision support system using National, Regional and local data| Jamie Vleeshouwer12 |

1

Page 13: A Cotton Irrigator’s Decision Support System Using ... · Google App Engine • Cloud computing platform we are using to host IrriSAT • Scalable – Create new app instances when

Google App Engine

• Cloud computing platform we are using to host IrriSAT• Scalable – Create new app instances when heavy loads occur• Cheap – free so far

• Platform as a Service (PlaaS)• App managed via a web console• No need to worry about operating system specifics, DBA’s etc

• Develop in: Python, Java, PHP, Go (Python for IrriSAT)• Simple to transfer to industry if opportunity comes along again

A cotton growers decision support system using National, Regional and local data| Jamie Vleeshouwer13 |

2

DeveloperConsole

Page 14: A Cotton Irrigator’s Decision Support System Using ... · Google App Engine • Cloud computing platform we are using to host IrriSAT • Scalable – Create new app instances when

Weather Station Data (ETo)

• Sensor Observation Service• Standardised Web service interface to

– Query observation data– Sensor metadata– Features over the web

• OGC specification –XML/O&M/GML/SensorML Markups

• 3 Core methods• GetCapabilities - offeres operations and

endpoints as well as the available sensor data• GetObservation - observed values, including

their metadata• DescribeSensor - provides sensor metadata

(location, parameters, etc)

A cotton growers decision support system using National, Regional and local data| Jamie Vleeshouwer14 |

3

Enable Google Cloud Platform to access Weather Observations within CSIRO

GetObservation Response

Page 15: A Cotton Irrigator’s Decision Support System Using ... · Google App Engine • Cloud computing platform we are using to host IrriSAT • Scalable – Create new app instances when

Current Users

• Farmers (around Moree, NSW + southern QLD)• Consultants (HMAg, Sundown Pastoral

Company)• DPI – Studying water use efficiency between

different irrigation setups (spatial variation)• Spray• Drip, etc

• Software Engineers – building other products on top of IrriSAT API

A cotton growers decision support system using National, Regional and local data| Jamie Vleeshouwer15 |

Page 16: A Cotton Irrigator’s Decision Support System Using ... · Google App Engine • Cloud computing platform we are using to host IrriSAT • Scalable – Create new app instances when

Future challenges

A cotton growers decision support system using National, Regional and local data| Jamie Vleeshouwer16 |

1

2 3 4

5 6

7 8

9 10 11 12 13

Refuge Crop

• Complex irrigation regimes• Refine the accuracy and

ability of the system to meet cotton growers’ needs

• Buffering?• Multipolygon?• Further algorithms to auto

detect roads? Etc• Decision Support Systems

• Too complex = won’t use• Too simple = not useful

Page 17: A Cotton Irrigator’s Decision Support System Using ... · Google App Engine • Cloud computing platform we are using to host IrriSAT • Scalable – Create new app instances when

How users are actually using IrriSAT

A cotton growers decision support system using National, Regional and local data| Jamie Vleeshouwer17 |

“This saved me 4 months of work”...

Page 18: A Cotton Irrigator’s Decision Support System Using ... · Google App Engine • Cloud computing platform we are using to host IrriSAT • Scalable – Create new app instances when

Conclusions

• IrriSAT will provide real time crop water use at broad scale and low cost

• Work to date (enabling data services):• Future work involves: refining the accuracy; incorporating 7

day forecast of irrigation demand; and also benchmarkingagainst nearby fields.

• Visit the IrriSAT website:www.irrisat-cloud.appspot.com

A cotton growers decision support system using National, Regional and local data| Jamie Vleeshouwer18 |

Page 19: A Cotton Irrigator’s Decision Support System Using ... · Google App Engine • Cloud computing platform we are using to host IrriSAT • Scalable – Create new app instances when

Land and Water FlagshipJamie VleeshouwerSoftware Engineert +61 7 3833 5589e [email protected] www.csiro.au

LAND & WATER FLAGSHIP / AGRICULTURE FLAGSHIP

Thank you