README.md 7.9 KB
Newer Older
Tor-Einar Skog's avatar
Tor-Einar Skog committed
1
2
3
4
5
6
7
8
9
10
11
12
13
14
# VIPS Documentation

Tor-Einar Skog, NIBIO

Last edit: 2021-02-04

## About this project
Since VIPS consists of multiple subsystems, this project is a starting point for VIPS documentation, describing the system as a whole. Documentation to each subsystem is linked from here.

## Introduction to VIPS
### What is VIPS?
* VIPS is an automatic forecasting system for pests and diseases in agriculture.
* VIPS is an acronym for **V**arsling **I**nnen **P**lante**S**kadegjørere (Norwegian) - which simply translates into Forecasting of Pests and Diseases in Crops. VIPS is also a word used in Norwegian, similar to "Hey presto!"

Tor-Einar Skog's avatar
Tor-Einar Skog committed
15
16
17
18
19
20
21
22
23
### What's the use of predicting pest risk in agricultural crops?
Pesticides have increased the yields of crops worldwide by huge margins. However, they pose a risk to farmers, consumers and the environment. Traditionally, pesticides have been applied according to a spraying plan, meaning that every growing season the farmer uses more or less the same amount of pesticides, regardless of the actual risk of infections.

If the farmer monitors the predictions of the system, pesticides are applied only when actually needed. This means that the farmer has a more efficient use of pesticides. The benefits of this are:
* Reduced costs and less time spent on applying pesticides for the farmer
* Reduced health risks for the farmer
* Lower pesticide residues in the produce, meaning better health for the consumer
* Less pesticide entering the farm's environment, enhancing biodiversity and water quality.

Tor-Einar Skog's avatar
Tor-Einar Skog committed
24
25
26
27
28
29
30
31
32
### How does it work?
* Weather data from the past (from agricultural weather stations) and the future (weather forecasts) is used as input data to models that use biological knowledge to predict historic, present and future occurences of pests in agricultural crops.
* Field observations of pests are also commonly used as input data, as well as field specific information such as sowing date/biofix and tilling, crop rotation etc.
* A model is specific to a certain pest, e.g. potato late blight, apple scab and Septoria.
* The models are run automatically for given locations at specified intervals.
* The results are available either on the web, on the phone or as SMS notifications

![Basic VIPS functionality](./illustrations/vips_basic_workflow.png "Basic VIPS functionality")

Tor-Einar Skog's avatar
Tor-Einar Skog committed
33
34
35
### Why use VIPS and not make your own or use some other Decision Support System?
#### Ready-to-go infrastructure for making models operational
VIPS is designed to make it easy to implement, test and deploy new models. So by using VIPS, you don't have to create your own infrastructure for getting weather data, inputs from the user, displaying data, running the model regularly and all these things that need to be implemented **in addition** to the model itself. You can also rest assured that best practices for web development are making your model operational. The wheel has already been invented, now you can use it.
Tor-Einar Skog's avatar
Tor-Einar Skog committed
36

Tor-Einar Skog's avatar
Tor-Einar Skog committed
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
So by using VIPS, you free up a lot of resources (time and money) in your project, resources you can use on more research. 

Also, by using VIPS, you can collaborate more easily with other researchers on model development, if they're familiar with VIPS.

#### Open Source
There are plenty of Decision Support Systems providers available, and some of them may be willing to implement your model on their systems. However, if you want to rest assured that the implementation can live on even when abandoned by the company (e.g. in case of conflicts or bankruptcy), VIPS is Open Source and can be modified and deployed by everyone - provided that modifications and improvements are fed back to the community. Everyone benefits from this collaborative model of development.  

#### Easy to translate and adapt to your needs
VIPS supports translation of all components. Currently, we have Norwegian, English and Chinese translations available. 

#### GIS enabled
VIPS is using the PostgreSQL/PostGIS database as backend, and thus supports advanced GIS operations

#### Compatible with many different weather data sources, including free worldwide weather forecasts
VIPS is able to read weather data from many types of weather stations, and adding new adapters/readers is straightforward. VIPS also has free access to 9-day weather forecasts across the globe - kindly provided by the Norwegian Meteorological Institute.

### Technical description
VIPS consists of several loosely coupled systems. Each system serves a distinct purpose, and depending on your needs, you may omit one or more of them entirely. The architecture is illustrated below.

![The VIPS architecture](./illustrations/VIPS_whole_architecture.png "The VIPS architecture")

#### VIPS pest prediction models
The pest prediction models are independent units running inside the VIPSCore runtime. Models can be implemented and tested locally, totally independent of the VIPS infrastructure. They can be programmed in Java or most other languages that run on the Java Virtual Machine. These include Ruby, Python, R and JavaScript. See [the complete list](https://en.wikipedia.org/wiki/List_of_JVM_languages).

The model must follow a specific design (AKA interface) to be compatible with the VIPSCore runtime. This imposes no restrictions on the inner workings of the model, though. Input data has a basic format, but the model specifyes freely what kind of data it needs.

![The VIPS model](./illustrations/vips_model.png "The VIPS model")
![The VIPS model interface](./illustrations/vips_model_interface.png "The VIPS model interface")

The results are returned in a standard format, but there's a high degree freedom in what can be returned as well. The model is self-describing, meaning that it must provide human readable information about
* An overview of the model (description, references etc.)
* What input data are needed
* How to interpret the results

#### The VIPSCore runtime
A VIPS model can be deployed to a server running the VIPSCore runtime. The model is autodetected and indexed by the runtime, and made available from a web service endpoint. See the illustration below.

![The VIPSCore runtime](./illustrations/vipscore_illustration.png "The VIPSCore runtime")

If high loads are expected, it's straightforward to create multiple instances of the runtime. No data are stored on the server, it's up to the client to do that.

Read more about the runtime in the [VIPSCore documentation](https://gitlab.nibio.no/VIPS/VIPSCore)

#### VIPSLogic - the administration system
One such client is the VIPSLogic system, that handles all the business logic for the VIPS system. You can read more about it in the [VIPSLogic documentation](https://gitlab.nibio.no/VIPS/VIPSLogic)

#### VIPSWeb - the public web page
Displaying the pest predictions to the public (farmers, advisers, researchers) can be done by any client pulling data over REST web services from VIPSLogic. NIBIO [uses the VIPSWeb to do this](https://www.vips-landbruk.no/). Every organization using the VIPS system may install their own copy of VIPSWeb and adapt to their needs. Read more in the [VIPSWeb documentation](https://gitlab.nibio.no/VIPS/VIPSWeb)

## The history of VIPS
[NIBIO](https://www.nibio.no/) is a merger of several research institutes owned by the Norwegian Ministry of Agriculture and Food. Back in the 1950s, the "Statens Plantevern" (The Public Pest Protection Institute) cooperated with the Norwegian Meteorological Office and the Norwegian Public Broadcasting Corporation in issuing potato late blight forecasts together with the weather forecasts on radio.

In the 1990s, automatic weather stations were installed in central agricultural areas, and the forecasts were provided as automatic dial-in phone services.

In 2001, the first WWW version of the system was launced, and it was called VIPS. It included several new prediction models in fruits, vegetables, potato and cereals. 
Tor-Einar Skog's avatar
Tor-Einar Skog committed
92

Tor-Einar Skog's avatar
Tor-Einar Skog committed
93
After several initiatives to make the code from 2001 adapted to international use, a version built from scratch to meet the needs for translation, modern web design and flexibility was launched in 2016.
Tor-Einar Skog's avatar
Tor-Einar Skog committed
94