diff --git a/src/main/java/no/nibio/vips/logic/scheduling/model/preprocessor/AltenariaModelPreprocessor.java b/src/main/java/no/nibio/vips/logic/scheduling/model/preprocessor/AltenariaModelPreprocessor.java
new file mode 100644
index 0000000000000000000000000000000000000000..d4b1d7e817ea76e9c21f501a075263fa619352cf
--- /dev/null
+++ b/src/main/java/no/nibio/vips/logic/scheduling/model/preprocessor/AltenariaModelPreprocessor.java
@@ -0,0 +1,131 @@
+/**
+ * Project			:	VIPSLogic
+ * Organization			:	NIBIO, Ås
+ * Department			:	VIPS
+ * 
+ * Author			:	bhabesh
+ *
+ * 
+ * File Name			:	AltenariaModelPreprocessor.java
+ * Package Name			:	no.nibio.vips.logic.scheduling.model.preprocessor
+ * Date of creation		:	12 May 2020 10:07:46 am
+ * Date of modification :	
+ * 
+ * Summary			:	
+ *
+ */
+/*
+ * 
+Error reading included file Templates/Classes/Templates/Licenses/license-nibio_open_source_license.ftl.txt */
+
+package no.nibio.vips.logic.scheduling.model.preprocessor;
+
+import java.util.Calendar;
+import java.util.Date;
+import java.util.List;
+import java.util.TimeZone;
+import no.nibio.vips.entity.ModelConfiguration;
+import no.nibio.vips.entity.WeatherObservation;
+import no.nibio.vips.logic.entity.ForecastConfiguration;
+import no.nibio.vips.logic.entity.PointOfInterestWeatherStation;
+import no.nibio.vips.logic.scheduling.model.ModelRunPreprocessor;
+import no.nibio.vips.logic.scheduling.model.PreprocessorException;
+import no.nibio.vips.logic.util.SystemTime;
+import no.nibio.vips.util.WeatherElements;
+import no.nibio.vips.util.WeatherUtil;
+import no.nibio.vips.util.weather.WeatherDataSourceException;
+import no.nibio.vips.util.weather.WeatherDataSourceUtil;
+
+/**
+ *
+ * @author bhabesh
+ */
+public class AltenariaModelPreprocessor extends ModelRunPreprocessor{
+    
+    /**
+     * method name : getModelConfiguration
+     * @param      :
+     * @return     : no.nibio.vips.entity.ModelConfiguration
+     *
+     * purpose     :
+     *
+     * date        : Expression date is undefined on line 20, column 19 in Templates/Classes/Code/GeneratedMethodBody. Expression time is undefined on line 20, column 27 in Templates/Classes/Code/GeneratedMethodBody.
+     */
+    @Override
+    public ModelConfiguration getModelConfiguration(ForecastConfiguration configuration) throws PreprocessorException
+    {
+        PointOfInterestWeatherStation weatherStation = (PointOfInterestWeatherStation) configuration.getWeatherStationPointOfInterestId();
+        // What timezone is the calculation for
+        TimeZone timeZone = TimeZone.getTimeZone(weatherStation.getTimeZone());
+        // Getting date three days after "today"
+        Calendar cal = Calendar.getInstance(timeZone);
+        cal.setTime(SystemTime.getSystemTime());
+        cal.add(Calendar.DATE, 3);
+        WeatherUtil wUtil = new WeatherUtil();
+        Date endDate = wUtil.normalizeToExactDate(cal.getTime(), timeZone);
+        cal.set(Calendar.MONTH, Calendar.JANUARY);
+        cal.set(Calendar.DATE, 1);
+        Date startDate = wUtil.normalizeToExactDate(configuration.getDateStart(), timeZone);
+        
+        ModelConfiguration retVal = new ModelConfiguration();
+        WeatherDataSourceUtil wdsUtil = new WeatherDataSourceUtil();
+        List<WeatherObservation> observations;
+        
+        try {
+            observations = wdsUtil.getWeatherObservations( 
+                    weatherStation,
+                    WeatherObservation.LOG_INTERVAL_ID_1D,
+                    new String[]{
+                        WeatherElements.TEMPERATURE_MEAN, 
+                        WeatherElements.SOIL_TEMPERATURE_10CM_MEAN
+                    },
+                    startDate, 
+                    endDate);
+        } catch (WeatherDataSourceException ex) {
+            throw new PreprocessorException(ex.getMessage());
+        }
+        
+           // If daily observations are not available, try hourly
+        if(observations == null || observations.isEmpty())
+        {
+            try {
+                observations = wdsUtil.getWeatherObservations(
+                        weatherStation,
+                        WeatherObservation.LOG_INTERVAL_ID_1H,
+                        new String[]{
+                            WeatherElements.TEMPERATURE_MEAN,
+                            WeatherElements.SOIL_TEMPERATURE_10CM_MEAN
+                        },
+                        startDate,
+                        endDate);
+            } catch (WeatherDataSourceException ex) {
+                throw new PreprocessorException(ex.getMessage());
+            }
+        }
+        
+        // TODO:  weather data validation
+        retVal.setModelId(this.getModelId());
+        retVal.setConfigParameter("timeZone", timeZone.getID());
+        retVal.setConfigParameter("observations", observations);
+            
+        return retVal; 
+        
+    }
+
+    /**
+    * method name : getModelId
+    * @param      :
+    * @return     : java.lang.String
+    *
+    * purpose     :
+    *
+    * date        : Expression date is undefined on line 20, column 19 in Templates/Classes/Code/GeneratedMethodBody. Expression time is undefined on line 20, column 27 in Templates/Classes/Code/GeneratedMethodBody.
+    */
+    @Override
+    public String getModelId()
+    {
+
+        return "ALTERNARIA";
+    }
+
+}