From f846ba58ea262c0e94e5c229cbd772ca8d51fc18 Mon Sep 17 00:00:00 2001 From: Poulet Camille <camille.poulet@irstea.priv> Date: Wed, 26 Jun 2019 17:51:24 +0200 Subject: [PATCH] Compute Nutrient Fluxes in each watershed for population --- data/input/fishTryRealBV_CC.xml | 5 ---- src/main/java/species/FishNutrient.java | 6 +++++ ...dSurviveAfterReproductionWithDiagnose.java | 25 ++++++++++++++++++- 3 files changed, 30 insertions(+), 6 deletions(-) diff --git a/data/input/fishTryRealBV_CC.xml b/data/input/fishTryRealBV_CC.xml index 454aa2e..ab30970 100644 --- a/data/input/fishTryRealBV_CC.xml +++ b/data/input/fishTryRealBV_CC.xml @@ -269,11 +269,6 @@ <mortalityRateInOffshore>0.4</mortalityRateInOffshore> </species.Survive> - <species.ExportLenghtAgeDistribution> - <synchronisationMode>ASYNCHRONOUS</synchronisationMode> - <exportSeason>SPRING</exportSeason> - <fileNameOutput>lengthAgeDistribution</fileNameOutput> - </species.ExportLenghtAgeDistribution> <species.ReproduceAndSurviveAfterReproductionWithDiagnose> <synchronisationMode>ASYNCHRONOUS</synchronisationMode> diff --git a/src/main/java/species/FishNutrient.java b/src/main/java/species/FishNutrient.java index 753335d..cd09d24 100644 --- a/src/main/java/species/FishNutrient.java +++ b/src/main/java/species/FishNutrient.java @@ -308,6 +308,12 @@ public class FishNutrient { return getWeight (fish, SpawningPosition.PRE); } + + +public ArrayList<String> getNutrientsOfInterest() { + return nutrientsOfInterest; + } + /** * @param args */ diff --git a/src/main/java/species/ReproduceAndSurviveAfterReproductionWithDiagnose.java b/src/main/java/species/ReproduceAndSurviveAfterReproductionWithDiagnose.java index 7ae9f27..9ce8025 100644 --- a/src/main/java/species/ReproduceAndSurviveAfterReproductionWithDiagnose.java +++ b/src/main/java/species/ReproduceAndSurviveAfterReproductionWithDiagnose.java @@ -3,6 +3,7 @@ package species; import java.util.ArrayList; import java.util.HashMap; +import java.util.Hashtable; import java.util.List; import java.util.Map; import java.util.Map.Entry; @@ -107,6 +108,15 @@ public class ReproduceAndSurviveAfterReproductionWithDiagnose extends AquaNismsG List<DiadromousFish> fishInBasin = riverBasin.getFishs(group); if (fishInBasin != null){ + + Map<String, Double> totalFluxes = new Hashtable<String, Double>(); //On créer la Map pour stocker les flux + + for (String nutrient : group.getFishNutrient().getNutrientsOfInterest()) { + + totalFluxes.put(nutrient, 0.); // ON MET A JOUR NOTRE map + + } + // -------------------------------------------------------------------------------------------------- // definition of the stock recruiment relationship @@ -341,14 +351,27 @@ public class ReproduceAndSurviveAfterReproductionWithDiagnose extends AquaNismsG // -------------------------------------------------------------------------------------------------- for (DiadromousFish fish : deadFish){ - group.getFishNutrient().computeNutrientsInputForDeathAfterSpawning(fish); // + Map<String, Double> aFlux = group.getFishNutrient().computeNutrientsInputForDeathAfterSpawning(fish); // + + for (String nutrient: aFlux.keySet()) { + + totalFluxes.put(nutrient,totalFluxes.get(nutrient) + aFlux.get(nutrient) * fish.getAmount()); + } + + + group.removeAquaNism(fish); } deadFish.clear(); + + System.out.println(group.getPilot().getCurrentTime() + "; " + Time.getYear(group.getPilot()) + ";" + Time.getSeason(group.getPilot()) + ";" + + riverBasin.getName() + "; " + totalFluxes); + } else { riverBasin.setYearOfLastNulRep(Time.getYear(group.getPilot())); } + // System.out.println("("+numberOfGenitors+")"); //System.out.println(" BEFORE " +riverBasin.getSpawnerOrigins().keySet()); -- GitLab