diff --git a/src/main/java/environment/updateTemperatureInRealBasin.java b/src/main/java/environment/updateTemperatureInRealBasin.java index 747352451e8e2e972f74a75cb1a7907397f055fd..c57370bb29a970a956eabd39ab536786c06a81e0 100644 --- a/src/main/java/environment/updateTemperatureInRealBasin.java +++ b/src/main/java/environment/updateTemperatureInRealBasin.java @@ -11,9 +11,9 @@ import environment.Time.Season; import fr.cemagref.simaqualife.kernel.processes.AquaNismsGroupProcess; public class updateTemperatureInRealBasin extends AquaNismsGroupProcess<DiadromousFish, DiadromousFishGroup> { - + double offshoreTemperature = 12.; - + public static void main(String[] args) { System.out.println((new XStream(new DomDriver())) .toXML(new updateTemperatureInRealBasin())); } @@ -24,18 +24,23 @@ public class updateTemperatureInRealBasin extends AquaNismsGroupProcess<Diadromo if (Time.getSeason(group.getPilot()) == Season.WINTER){ Map<String, Double[]> temperaturesbasin = ((BasinNetworkReal) group.getEnvironment()).getTemperaturesBasin(Time.getYear(group.getPilot())); - for (Basin basin : group.getEnvironment().getBasins()){ - if (basin instanceof RiverBasin){ - basin.setWinterTemperature(temperaturesbasin.get(basin.getName())[0]); - basin.setSpringTemperature(temperaturesbasin.get(basin.getName())[1]); - basin.setSummerTemperature(temperaturesbasin.get(basin.getName())[2]); - basin.setFallTemperature(temperaturesbasin.get(basin.getName())[3]); - } else if (basin instanceof SeaBasin) { - basin.setWinterTemperature((offshoreTemperature + temperaturesbasin.get(group.getEnvironment().getAssociatedRiverBasin(basin).getName())[0])/2.); - basin.setSpringTemperature((offshoreTemperature + temperaturesbasin.get(group.getEnvironment().getAssociatedRiverBasin(basin).getName())[1])/2.); - basin.setSummerTemperature((offshoreTemperature + temperaturesbasin.get(group.getEnvironment().getAssociatedRiverBasin(basin).getName())[2])/2.); - basin.setFallTemperature((offshoreTemperature + temperaturesbasin.get(group.getEnvironment().getAssociatedRiverBasin(basin).getName())[3])/2.); - } + if (temperaturesbasin != null) { + for (Basin basin : group.getEnvironment().getBasins()){ + if (basin instanceof RiverBasin){ + basin.setWinterTemperature(temperaturesbasin.get(basin.getName())[0]); + basin.setSpringTemperature(temperaturesbasin.get(basin.getName())[1]); + basin.setSummerTemperature(temperaturesbasin.get(basin.getName())[2]); + basin.setFallTemperature(temperaturesbasin.get(basin.getName())[3]); + } else if (basin instanceof SeaBasin) { + basin.setWinterTemperature((offshoreTemperature + temperaturesbasin.get(group.getEnvironment().getAssociatedRiverBasin(basin).getName())[0])/2.); + basin.setSpringTemperature((offshoreTemperature + temperaturesbasin.get(group.getEnvironment().getAssociatedRiverBasin(basin).getName())[1])/2.); + basin.setSummerTemperature((offshoreTemperature + temperaturesbasin.get(group.getEnvironment().getAssociatedRiverBasin(basin).getName())[2])/2.); + basin.setFallTemperature((offshoreTemperature + temperaturesbasin.get(group.getEnvironment().getAssociatedRiverBasin(basin).getName())[3])/2.); + } + } + } + else { + System.out.println("pb with temperature at "+ Time.getYear(group.getPilot() )); } } }