Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found
Select Git revision

Target

Select target project
  • VIPS/models/java/Model_ROUGHAGENU
1 result
Select Git revision
Show changes
Commits on Source (2)
......@@ -1351,6 +1351,7 @@ public class RoughageNutritionModelImpl implements CostFunction {
WeatherObservation eldsteDoegnverdi;
WeatherObservation forrigeDoegnverdi = null;
Calendar cal = Calendar.getInstance(this.timeZone);
// Må ha minst sju jordtemperaturverdier
Iterator<WeatherObservation> ji = (jordTemperatur != null && jordTemperatur.size() >= 7) ? jordTemperatur.iterator() : null;
for (Iterator<WeatherObservation> i = dognMiddelLuftTemperatur.iterator(); i.hasNext();) {
......@@ -1568,6 +1569,7 @@ public class RoughageNutritionModelImpl implements CostFunction {
}
Date forrigeDato = null;
int hulljordTemp = 0;
boolean first = true;
int counter = 0;
Calendar cal = Calendar.getInstance(this.timeZone);
......@@ -1578,7 +1580,7 @@ public class RoughageNutritionModelImpl implements CostFunction {
WeatherObservation potFord = potFordI.next();
WeatherObservation straaling = straalingI.next();
WeatherObservation jordTemperatur = (jordTempI != null && jordTempI.hasNext()) ? jordTempI.next() : null;
Date dagensDato = luftTemperatur.getTimeMeasured();
if (first) {
......@@ -1601,14 +1603,19 @@ public class RoughageNutritionModelImpl implements CostFunction {
+ "<ul><li>Temperaturlinjas dato er " + dagensDato.toString() + "</li><li>Nedb&oslash;rlinjas dato er " + nedboer.getTimeMeasured().toString()
+ "</li><li>Potensiell fordampinglinjas dato er " + potFord.getTimeMeasured().toString() + "</li><li>Globalstr&aring;lingslinjas dato er " + straaling.getTimeMeasured().toString() + "</li></ul>");
}
if (jordTemperatur != null && dagensDato.compareTo(jordTemperatur.getTimeMeasured()) != 0) {
throw new ModelExcecutionException("Feil ved klimadata: Jordemperatur har hull i datasettet, omkring dato " + dagensDato);
if (jordTemperatur != null && dagensDato.compareTo(jordTemperatur.getTimeMeasured()) == 0) {
hulljordTemp = counter;
//throw new ModelExcecutionException("Feil ved klimadata: Jordemperatur har hull i datasettet, omkring dato " + dagensDato);
}
forrigeDato = dagensDato;
counter++;
}
// jordTemperatur holder bare verdier frem til et evt hull i serien. Serien kan derfor være kortere enn seriene for temperatur, nedbør, fordamping og stråling
this.jordTemperaturVerdier = this.jordTemperaturVerdier.subList(0, hulljordTemp);
sisteDato = forrigeDato;
if (counter < 10 || foersteDato == null || sisteDato == null) {
throw new ModelExcecutionException("Feil ved klimadata: For få klimadata.");
......
......@@ -114,8 +114,47 @@ public class RoughageNutritionModelTest {
}
}
/**
@Test
public void testGetResultMissingTJM() throws Exception {
System.out.println("getResultMissingTJM");
try
{
ModelConfiguration config = this.getConfiguration("/weatherdata_kvithamar_holes_2016.json");
Calendar cal = Calendar.getInstance(TimeZone.getTimeZone("Europe/Oslo"));
cal.set(2016, Calendar.JUNE, 1, 0, 0, 0);
cal.set(Calendar.MILLISECOND,0);
config.setConfigParameter("timeZone","Europe/Oslo");
config.setConfigParameter("firstHarvest", cal.getTime());
cal.set(Calendar.MONTH, Calendar.APRIL);
cal.set(Calendar.DATE, 15);
config.setConfigParameter("firstPossibleGrowthStartDate", cal.getTime());
config.setConfigParameter("soilType", RoughageNutritionModel.JORDTYPE_SAND);
config.setConfigParameter("cloverShare", RoughageNutritionModel.ENGSAMMENSETNING_KLOEVERANDEL_LITEN);
String[] optimizationInfoLines = {"2016-06-02,2,3,,,,"};
List<String> optimizationInfo = Arrays.asList(optimizationInfoLines);
config.setConfigParameter("optimizationInfo", optimizationInfo);
RoughageNutritionModel instance = new RoughageNutritionModel();
instance.setConfiguration(config);
//List<Result> expResult = null;
List<Result> result = instance.getResult();
//assertEquals(expResult, result);
assertNotNull(result);
Collections.sort(result);
//System.out.println("Number of result objects: " + result.size());
//for(Result r:result)
//{
// System.out.println(r);
//}
}
catch(ConfigValidationException | ModelExcecutionException ex)
{
ex.printStackTrace();
fail(ex.getMessage());
}
}
/**
* Test of getModelId method, of class RoughageNutritionModel.
......
This diff is collapsed.