diff --git a/README.md b/README.md
index 471574fbf32a71e1733d5e1354c63e5c1738169f..dc263a7795101b38fb9a5e32e81d8c818c58bdd3 100644
--- a/README.md
+++ b/README.md
@@ -1,2 +1,41 @@
 # Yellow Stemborer (Scirpophaga incertulas) temperature model
-TODO: Add documentation
+The model is a simple day-degree model, where a certain heat sum leads to a transition of one phase to another. It is designed to fit into the [VIPS](https://www.nibio.no/en/subjects/plant-health/vips--a-digital-pest-prediction-platform) automatic pest prediction system.
+
+## Authors
+Tor-Einar Skog, NIBIO
+
+## Input data
+Input data are provided as Json
+* Daily minimum and maximum temperatures (°C)
+* TimeZone (E.g. "Europe/Oslo" or "GMT+0530")
+* Biofix date, the time of eggs deposit
+
+Example input data are given below: 
+``` json
+{
+    "timeZone":"GMT+05:30",
+    "biofixDate":"2019-01-05",
+    
+    "observations":[{"elementMeasurementTypeId":"TN","logIntervalId":2,"timeMeasured":"2018-12-31T18:30:00Z","value":10.5},{"elementMeasurementTypeId":"TX","logIntervalId":2,"timeMeasured":"2018-12-31T18:30:00Z","value":24.2},{"elementMeasurementTypeId":"TN","logIntervalId":2,"timeMeasured":"2019-01-01T18:30:00Z","value":11.3},{"elementMeasurementTypeId":"TX","logIntervalId":2,"timeMeasured":"2019-01-01T18:30:00Z","value":26.0},{"elementMeasurementTypeId":"TN","logIntervalId":2,"timeMeasured":"2019-01-02T18:30:00Z","value":10.0},{"elementMeasurementTypeId":"TX","logIntervalId":2,"timeMeasured":"2019-01-02T18:30:00Z","value":28.0},{"elementMeasurementTypeId":"TN","logIntervalId":2,"timeMeasured":"2019-01-03T18:30:00Z","value":10.5},{"elementMeasurementTypeId":"TX","logIntervalId":2,"timeMeasured":"2019-01-03T18:30:00Z","value":30.0},{"elementMeasurementTypeId":"TN","logIntervalId":2,"timeMeasured":"2019-01-04T18:30:00Z","value":10.2},{"elementMeasurementTypeId":"TX","logIntervalId":2,"timeMeasured":"2019-01-04T18:30:00Z","value":31.0},{"elementMeasurementTypeId":"TN","logIntervalId":2,"timeMeasured":"2019-01-05T18:30:00Z","value":11.2},{"elementMeasurementTypeId":"TX","logIntervalId":2,"timeMeasured":"2019-01-05T18:30:00Z","value":32.0},{"elementMeasurementTypeId":"TN","logIntervalId":2,"timeMeasured":"2019-01-06T18:30:00Z","value":10.5},{"elementMeasurementTypeId":"TX","logIntervalId":2,"timeMeasured":"2019-01-06T18:30:00Z","value":32.5},{"elementMeasurementTypeId":"TN","logIntervalId":2,"timeMeasured":"2019-01-07T18:30:00Z","value":11.5},{"elementMeasurementTypeId":"TX","logIntervalId":2,"timeMeasured":"2019-01-07T18:30:00Z","value":32.2},{"elementMeasurementTypeId":"TN","logIntervalId":2,"timeMeasured":"2019-01-08T18:30:00Z","value":12.0},{"elementMeasurementTypeId":"TX","logIntervalId":2,"timeMeasured":"2019-01-08T18:30:00Z","value":31.5},{"elementMeasurementTypeId":"TN","logIntervalId":2,"timeMeasured":"2019-01-09T18:30:00Z","value":13.0},{"elementMeasurementTypeId":"TX","logIntervalId":2,"timeMeasured":"2019-01-09T18:30:00Z","value":31.5},{"elementMeasurementTypeId":"TN","logIntervalId":2,"timeMeasured":"2019-01-10T18:30:00Z","value":10.5},{"elementMeasurementTypeId":"TX","logIntervalId":2,"timeMeasured":"2019-01-10T18:30:00Z","value":28.0},{"elementMeasurementTypeId":"TN","logIntervalId":2,"timeMeasured":"2019-01-11T18:30:00Z","value":13.3},{"elementMeasurementTypeId":"TX","logIntervalId":2,"timeMeasured":"2019-01-11T18:30:00Z","value":27.3},{"elementMeasurementTypeId":"TN","logIntervalId":2,"timeMeasured":"2019-01-12T18:30:00Z","value":13.0},{"elementMeasurementTypeId":"TX","logIntervalId":2,"timeMeasured":"2019-01-12T18:30:00Z","value":26.9},{"elementMeasurementTypeId":"TN","logIntervalId":2,"timeMeasured":"2019-01-13T18:30:00Z","value":11.0},{"elementMeasurementTypeId":"TX","logIntervalId":2,"timeMeasured":"2019-01-13T18:30:00Z","value":28.2},{"elementMeasurementTypeId":"TN","logIntervalId":2,"timeMeasured":"2019-01-14T18:30:00Z","value":12.2},{"elementMeasurementTypeId":"TX","logIntervalId":2,"timeMeasured":"2019-01-14T18:30:00Z","value":27.3},{"elementMeasurementTypeId":"TN","logIntervalId":2,"timeMeasured":"2019-01-15T18:30:00Z","value":11.0},{"elementMeasurementTypeId":"TX","logIntervalId":2,"timeMeasured":"2019-01-15T18:30:00Z","value":25.0},{"elementMeasurementTypeId":"TN","logIntervalId":2,"timeMeasured":"2019-01-16T18:30:00Z","value":11.9},{"elementMeasurementTypeId":"TX","logIntervalId":2,"timeMeasured":"2019-01-16T18:30:00Z","value":26.3},{"elementMeasurementTypeId":"TN","logIntervalId":2,"timeMeasured":"2019-01-17T18:30:00Z","value":12.0},{"elementMeasurementTypeId":"TX","logIntervalId":2,"timeMeasured":"2019-01-17T18:30:00Z","value":28.0},{"elementMeasurementTypeId":"TN","logIntervalId":2,"timeMeasured":"2019-01-18T18:30:00Z","value":15.2},{"elementMeasurementTypeId":"TX","logIntervalId":2,"timeMeasured":"2019-01-18T18:30:00Z","value":27.3},{"elementMeasurementTypeId":"TN","logIntervalId":2,"timeMeasured":"2019-01-19T18:30:00Z","value":12.2},{"elementMeasurementTypeId":"TX","logIntervalId":2,"timeMeasured":"2019-01-19T18:30:00Z","value":28.6},{"elementMeasurementTypeId":"TN","logIntervalId":2,"timeMeasured":"2019-01-20T18:30:00Z","value":13.2},{"elementMeasurementTypeId":"TX","logIntervalId":2,"timeMeasured":"2019-01-20T18:30:00Z","value":29.0},{"elementMeasurementTypeId":"TN","logIntervalId":2,"timeMeasured":"2019-01-21T18:30:00Z","value":14.2},{"elementMeasurementTypeId":"TX","logIntervalId":2,"timeMeasured":"2019-01-21T18:30:00Z","value":28.2},{"elementMeasurementTypeId":"TN","logIntervalId":2,"timeMeasured":"2019-01-22T18:30:00Z","value":13.0},{"elementMeasurementTypeId":"TX","logIntervalId":2,"timeMeasured":"2019-01-22T18:30:00Z","value":28.5},{"elementMeasurementTypeId":"TN","logIntervalId":2,"timeMeasured":"2019-01-23T18:30:00Z","value":15.5},{"elementMeasurementTypeId":"TX","logIntervalId":2,"timeMeasured":"2019-01-23T18:30:00Z","value":28.2},{"elementMeasurementTypeId":"TN","logIntervalId":2,"timeMeasured":"2019-01-24T18:30:00Z","value":14.0},{"elementMeasurementTypeId":"TX","logIntervalId":2,"timeMeasured":"2019-01-24T18:30:00Z","value":28.0},{"elementMeasurementTypeId":"TN","logIntervalId":2,"timeMeasured":"2019-01-25T18:30:00Z","value":15.3},{"elementMeasurementTypeId":"TX","logIntervalId":2,"timeMeasured":"2019-01-25T18:30:00Z","value":28.1},{"elementMeasurementTypeId":"TN","logIntervalId":2,"timeMeasured":"2019-01-26T18:30:00Z","value":16.2},{"elementMeasurementTypeId":"TX","logIntervalId":2,"timeMeasured":"2019-01-26T18:30:00Z","value":28.5},{"elementMeasurementTypeId":"TN","logIntervalId":2,"timeMeasured":"2019-01-27T18:30:00Z","value":16.2},{"elementMeasurementTypeId":"TX","logIntervalId":2,"timeMeasured":"2019-01-27T18:30:00Z","value":24.5},{"elementMeasurementTypeId":"TN","logIntervalId":2,"timeMeasured":"2019-01-28T18:30:00Z","value":16.5},{"elementMeasurementTypeId":"TX","logIntervalId":2,"timeMeasured":"2019-01-28T18:30:00Z","value":26.5},{"elementMeasurementTypeId":"TN","logIntervalId":2,"timeMeasured":"2019-01-29T18:30:00Z","value":16.0},{"elementMeasurementTypeId":"TX","logIntervalId":2,"timeMeasured":"2019-01-29T18:30:00Z","value":25.4},{"elementMeasurementTypeId":"TN","logIntervalId":2,"timeMeasured":"2019-01-30T18:30:00Z","value":15.8},{"elementMeasurementTypeId":"TX","logIntervalId":2,"timeMeasured":"2019-01-30T18:30:00Z","value":26.1},{"elementMeasurementTypeId":"TN","logIntervalId":2,"timeMeasured":"2019-01-31T18:30:00Z","value":15.1},{"elementMeasurementTypeId":"TX","logIntervalId":2,"timeMeasured":"2019-01-31T18:30:00Z","value":27.5},{"elementMeasurementTypeId":"TN","logIntervalId":2,"timeMeasured":"2019-02-01T18:30:00Z","value":15.1},{"elementMeasurementTypeId":"TX","logIntervalId":2,"timeMeasured":"2019-02-01T18:30:00Z","value":29.0},{"elementMeasurementTypeId":"TN","logIntervalId":2,"timeMeasured":"2019-02-02T18:30:00Z","value":16.1},{"elementMeasurementTypeId":"TX","logIntervalId":2,"timeMeasured":"2019-02-02T18:30:00Z","value":28.9},{"elementMeasurementTypeId":"TN","logIntervalId":2,"timeMeasured":"2019-02-03T18:30:00Z","value":16.5},{"elementMeasurementTypeId":"TX","logIntervalId":2,"timeMeasured":"2019-02-03T18:30:00Z","value":31.0},{"elementMeasurementTypeId":"TN","logIntervalId":2,"timeMeasured":"2019-02-04T18:30:00Z","value":16.4},{"elementMeasurementTypeId":"TX","logIntervalId":2,"timeMeasured":"2019-02-04T18:30:00Z","value":29.8},{"elementMeasurementTypeId":"TN","logIntervalId":2,"timeMeasured":"2019-02-05T18:30:00Z","value":17.1},{"elementMeasurementTypeId":"TX","logIntervalId":2,"timeMeasured":"2019-02-05T18:30:00Z","value":32.0},{"elementMeasurementTypeId":"TN","logIntervalId":2,"timeMeasured":"2019-02-06T18:30:00Z","value":16.8},{"elementMeasurementTypeId":"TX","logIntervalId":2,"timeMeasured":"2019-02-06T18:30:00Z","value":32.5},{"elementMeasurementTypeId":"TN","logIntervalId":2,"timeMeasured":"2019-02-07T18:30:00Z","value":16.6},{"elementMeasurementTypeId":"TX","logIntervalId":2,"timeMeasured":"2019-02-07T18:30:00Z","value":31.8},{"elementMeasurementTypeId":"TN","logIntervalId":2,"timeMeasured":"2019-02-08T18:30:00Z","value":16.8},{"elementMeasurementTypeId":"TX","logIntervalId":2,"timeMeasured":"2019-02-08T18:30:00Z","value":30.6},{"elementMeasurementTypeId":"TN","logIntervalId":2,"timeMeasured":"2019-02-09T18:30:00Z","value":17.0},{"elementMeasurementTypeId":"TX","logIntervalId":2,"timeMeasured":"2019-02-09T18:30:00Z","value":32.2},{"elementMeasurementTypeId":"TN","logIntervalId":2,"timeMeasured":"2019-02-10T18:30:00Z","value":16.2},{"elementMeasurementTypeId":"TX","logIntervalId":2,"timeMeasured":"2019-02-10T18:30:00Z","value":32.4},{"elementMeasurementTypeId":"TN","logIntervalId":2,"timeMeasured":"2019-02-11T18:30:00Z","value":16.1},{"elementMeasurementTypeId":"TX","logIntervalId":2,"timeMeasured":"2019-02-11T18:30:00Z","value":29.5},{"elementMeasurementTypeId":"TN","logIntervalId":2,"timeMeasured":"2019-02-12T18:30:00Z","value":15.2},{"elementMeasurementTypeId":"TX","logIntervalId":2,"timeMeasured":"2019-02-12T18:30:00Z","value":29.6},{"elementMeasurementTypeId":"TN","logIntervalId":2,"timeMeasured":"2019-02-13T18:30:00Z","value":15.0},{"elementMeasurementTypeId":"TX","logIntervalId":2,"timeMeasured":"2019-02-13T18:30:00Z","value":31.0},{"elementMeasurementTypeId":"TN","logIntervalId":2,"timeMeasured":"2019-02-14T18:30:00Z","value":15.6},{"elementMeasurementTypeId":"TX","logIntervalId":2,"timeMeasured":"2019-02-14T18:30:00Z","value":32.5},{"elementMeasurementTypeId":"TN","logIntervalId":2,"timeMeasured":"2019-02-15T18:30:00Z","value":17.0},{"elementMeasurementTypeId":"TX","logIntervalId":2,"timeMeasured":"2019-02-15T18:30:00Z","value":27.2},{"elementMeasurementTypeId":"TN","logIntervalId":2,"timeMeasured":"2019-02-16T18:30:00Z","value":17.6},{"elementMeasurementTypeId":"TX","logIntervalId":2,"timeMeasured":"2019-02-16T18:30:00Z","value":27.5},{"elementMeasurementTypeId":"TN","logIntervalId":2,"timeMeasured":"2019-02-17T18:30:00Z","value":17.5},{"elementMeasurementTypeId":"TX","logIntervalId":2,"timeMeasured":"2019-02-17T18:30:00Z","value":30.6},{"elementMeasurementTypeId":"TN","logIntervalId":2,"timeMeasured":"2019-02-18T18:30:00Z","value":17.5},{"elementMeasurementTypeId":"TX","logIntervalId":2,"timeMeasured":"2019-02-18T18:30:00Z","value":32.0},{"elementMeasurementTypeId":"TN","logIntervalId":2,"timeMeasured":"2019-02-19T18:30:00Z","value":17.6},{"elementMeasurementTypeId":"TX","logIntervalId":2,"timeMeasured":"2019-02-19T18:30:00Z","value":34.2},{"elementMeasurementTypeId":"TN","logIntervalId":2,"timeMeasured":"2019-02-20T18:30:00Z","value":18.0},{"elementMeasurementTypeId":"TX","logIntervalId":2,"timeMeasured":"2019-02-20T18:30:00Z","value":34.0},{"elementMeasurementTypeId":"TN","logIntervalId":2,"timeMeasured":"2019-02-21T18:30:00Z","value":19.0},{"elementMeasurementTypeId":"TX","logIntervalId":2,"timeMeasured":"2019-02-21T18:30:00Z","value":35.0},{"elementMeasurementTypeId":"TN","logIntervalId":2,"timeMeasured":"2019-02-22T18:30:00Z","value":19.2},{"elementMeasurementTypeId":"TX","logIntervalId":2,"timeMeasured":"2019-02-22T18:30:00Z","value":34.8},{"elementMeasurementTypeId":"TN","logIntervalId":2,"timeMeasured":"2019-02-23T18:30:00Z","value":20.0},{"elementMeasurementTypeId":"TX","logIntervalId":2,"timeMeasured":"2019-02-23T18:30:00Z","value":36.0},{"elementMeasurementTypeId":"TN","logIntervalId":2,"timeMeasured":"2019-02-24T18:30:00Z","value":20.0},{"elementMeasurementTypeId":"TX","logIntervalId":2,"timeMeasured":"2019-02-24T18:30:00Z","value":32.0},{"elementMeasurementTypeId":"TN","logIntervalId":2,"timeMeasured":"2019-02-25T18:30:00Z","value":21.0},{"elementMeasurementTypeId":"TX","logIntervalId":2,"timeMeasured":"2019-02-25T18:30:00Z","value":32.2},{"elementMeasurementTypeId":"TN","logIntervalId":2,"timeMeasured":"2019-02-26T18:30:00Z","value":21.5},{"elementMeasurementTypeId":"TX","logIntervalId":2,"timeMeasured":"2019-02-26T18:30:00Z","value":31.0},{"elementMeasurementTypeId":"TN","logIntervalId":2,"timeMeasured":"2019-02-27T18:30:00Z","value":20.6},{"elementMeasurementTypeId":"TX","logIntervalId":2,"timeMeasured":"2019-02-27T18:30:00Z","value":30.0}]}
+```
+
+## Daily heat sum contribution calculation 
+The daily contribution to the heat sum is calculated from min and max temperatures using the single sine wave function. 
+
+## Outputs
+The output is a time series of values. For every day, these values are returned:
+* Weather data (max and min temp)
+* Daily contribution and total heat sum
+* Current phase
+* Thresholds for phase transitions
+* Warning status. 2 = No risk, 3 = Possible risk, 4 = High risk. 0 = Warning status not applicable (e.g. out of season)
+
+## Developing and testing the model
+### Writing code
+It is recommended to use an IDE (Integrated Development Environment) such as [NetBeans](https://netbeans.apache.org/) or [Eclipse](https://www.eclipse.org/) to develop and test the model. 
+
+### Testing
+[JUnit](https://junit.org/) is used for testing the model. See the `src/test/java/no/nibio/vips/model/yellowstemborertempmodel/YellowStemborerTempModelTest.java` file for how it's done.
+
+### Building
+Building is done using [Maven](https://maven.apache.org/).
\ No newline at end of file
diff --git a/src/test/java/no/nibio/vips/model/yellowstemborertempmodel/YellowStemborerTempModelTest.java b/src/test/java/no/nibio/vips/model/yellowstemborertempmodel/YellowStemborerTempModelTest.java
index ed59e6dfe75131079eabdd2ded6c9787a6d0c013..1411a632169c3aa4fa319589f96d9fe7aef6a467 100644
--- a/src/test/java/no/nibio/vips/model/yellowstemborertempmodel/YellowStemborerTempModelTest.java
+++ b/src/test/java/no/nibio/vips/model/yellowstemborertempmodel/YellowStemborerTempModelTest.java
@@ -53,12 +53,15 @@ public class YellowStemborerTempModelTest {
         ModelConfiguration config = wfr.getModelConfigurationWithWeatherData("/test_data_2019.json", YellowStemborerTempModel.MODEL_ID.toString());
         config.setConfigParameter("timeZone", "GMT+05:30");
         config.setConfigParameter("biofixDate", "2019-01-05");
+        // Print the config
+        //System.out.println(config.toJSON());
         YellowStemborerTempModel instance = new YellowStemborerTempModel();
         instance.setConfiguration(config);
         
         List<Result> result = instance.getResult();
         assertNotNull(result);
-        result.forEach(r->System.out.println(r));
+        // Print the result
+        //result.forEach(r->System.out.println(r));
     }