diff --git a/src/main/java/species/DiadromousFish.java b/src/main/java/species/DiadromousFish.java index bec490f285042bce16328d16acfcc692d37f9269..a3594a287efbfded65e0620ecff7ec5a22eadef6 100644 --- a/src/main/java/species/DiadromousFish.java +++ b/src/main/java/species/DiadromousFish.java @@ -19,13 +19,6 @@ public class DiadromousFish extends AquaNism<Basin, BasinNetwork> { private Gender gender; private int numberOfReproduction; - public DiadromousFish(Pilot pilot, Basin position, double initialLength, long fishAmount) { - this(pilot, position, initialLength, fishAmount, Gender.UNDIFFERENCIED); - } - - public DiadromousFish(Pilot pilot, Basin position, double initialLength) { - this(pilot, position, initialLength, 1, Gender.UNDIFFERENCIED); - } public DiadromousFish(Pilot pilot, Basin position, double initialLength, long fishAmount, Gender gender) { super(pilot, position); diff --git a/src/main/java/species/PopulateBasinNetwork.java b/src/main/java/species/PopulateBasinNetwork.java index 68631510d0a9acf80f67206f587c1a384fca0323..aae4046c03976a067b46a4d38f1d837cd471c95e 100644 --- a/src/main/java/species/PopulateBasinNetwork.java +++ b/src/main/java/species/PopulateBasinNetwork.java @@ -5,6 +5,8 @@ import com.thoughtworks.xstream.io.xml.DomDriver; import environment.Basin; import fr.cemagref.simaqualife.kernel.processes.AquaNismsGroupProcess; +import species.DiadromousFish.Gender; + import org.openide.util.lookup.ServiceProvider; @ServiceProvider(service = AquaNismsGroupProcess.class) @@ -21,7 +23,7 @@ public class PopulateBasinNetwork extends AquaNismsGroupProcess<DiadromousFish, public void doProcess(DiadromousFishGroup group) { for (Basin basin : group.getEnvironment().getRiverBasins()){ for (int i=0; i < nbSIPerBasin; i++){ - group.addAquaNism(new DiadromousFish(group.getPilot(), basin, initialLength, nbFishPerSI)); + group.addAquaNism(new DiadromousFish(group.getPilot(), basin, initialLength, nbFishPerSI, Gender.UNDIFFERENCIED)); } } } diff --git a/src/main/java/species/PopulateBasinNetworkWithANorthLimit.java b/src/main/java/species/PopulateBasinNetworkWithANorthLimit.java index 1c1b972a3f04fb023f1d9a11982b0fd964e53edd..c1ea61d092aed0ddb4c90da8fe6272c8b40cabfe 100644 --- a/src/main/java/species/PopulateBasinNetworkWithANorthLimit.java +++ b/src/main/java/species/PopulateBasinNetworkWithANorthLimit.java @@ -24,6 +24,7 @@ import com.thoughtworks.xstream.io.xml.DomDriver; import environment.RiverBasin; import fr.cemagref.simaqualife.kernel.processes.AquaNismsGroupProcess; +import species.DiadromousFish.Gender; /** * @@ -46,7 +47,7 @@ public class PopulateBasinNetworkWithANorthLimit extends AquaNismsGroupProcess<D for (RiverBasin basin : group.getEnvironment().getRiverBasins()){ if (basin.getLatitude()<=northLimitLatitude){ for (int i=0; i < nbSIPerBasin; i++){ - group.addAquaNism(new DiadromousFish(group.getPilot(), basin, initialLength, nbFishPerSI)); + group.addAquaNism(new DiadromousFish(group.getPilot(), basin, initialLength, nbFishPerSI, Gender.UNDIFFERENCIED)); } } } diff --git a/src/main/java/species/PopulateWithASinglePopulation.java b/src/main/java/species/PopulateWithASinglePopulation.java index 5278c926286487d2c3b45f42bbf7278adabc342f..5af2db3d2a432d09a4b4fa924b88be98825299c0 100644 --- a/src/main/java/species/PopulateWithASinglePopulation.java +++ b/src/main/java/species/PopulateWithASinglePopulation.java @@ -5,6 +5,8 @@ import com.thoughtworks.xstream.io.xml.DomDriver; import environment.Basin; import fr.cemagref.simaqualife.kernel.processes.AquaNismsGroupProcess; +import species.DiadromousFish.Gender; + import org.openide.util.lookup.ServiceProvider; @ServiceProvider(service = AquaNismsGroupProcess.class) @@ -23,7 +25,7 @@ public class PopulateWithASinglePopulation extends AquaNismsGroupProcess<Diadrom Basin basin = group.getEnvironment().getRiverBasins()[bassinInd]; for (int i=0; i < nbSIPerBasin; i++){ - group.addAquaNism(new DiadromousFish(group.getPilot(), basin, initialLength, nbIndPerSI)); + group.addAquaNism(new DiadromousFish(group.getPilot(), basin, initialLength, nbIndPerSI, Gender.UNDIFFERENCIED)); } } } diff --git a/src/main/java/species/ReproduceAndSurviveAfterReproduction.java b/src/main/java/species/ReproduceAndSurviveAfterReproduction.java index 9903cfa63d4da333970b41e1aabaa4c872662acf..2bd1e21fba73c99cba21726270cb1253771884e0 100644 --- a/src/main/java/species/ReproduceAndSurviveAfterReproduction.java +++ b/src/main/java/species/ReproduceAndSurviveAfterReproduction.java @@ -10,6 +10,7 @@ import java.util.TreeMap; import miscellaneous.Duo; import miscellaneous.Miscellaneous; +import species.DiadromousFish.Gender; import org.openide.util.lookup.ServiceProvider; @@ -156,7 +157,7 @@ public class ReproduceAndSurviveAfterReproduction extends AquaNismsGroupProcess< ageOfNativeSpawners.put(age, fish.getAmount());*/ } - //System.out.println("l'âge du poisson est :" + fish.getAge() + " et la saison est :" + Time.getSeason()); + //System.out.println("l'�ge du poisson est :" + fish.getAge() + " et la saison est :" + Time.getSeason()); // Survive After Reproduction fish.incNumberOfReproduction(); @@ -170,7 +171,7 @@ public class ReproduceAndSurviveAfterReproduction extends AquaNismsGroupProcess< } /* - // calcul de la mortalité associée aux géniteurs autochtones + // calcul de la mortalit� associ�e aux g�niteurs autochtones if (numberOfGenitors > 0.) { System.out.println(riverBasin.getName().toUpperCase()); System.out.println("Spawners"); @@ -238,10 +239,10 @@ public class ReproduceAndSurviveAfterReproduction extends AquaNismsGroupProcess< // System.out.println(numberOfRecruit + " / " + amountPerSuperIndividual +" = " +numberOfsuperIndividual); //System.out.println(numberOfRecruit + " / " + numberOfsuperIndividual +" = " +effectiveAmount); for (int i=0; i<numberOfsuperIndividual; i++){ - group.addAquaNism(new DiadromousFish(group.getPilot(), riverBasin, initialLength, effectiveAmount)); + group.addAquaNism(new DiadromousFish(group.getPilot(), riverBasin, initialLength, effectiveAmount, Gender.UNDIFFERENCIED)); } riverBasin.getLastRecruitmentExpectations().push(Math.round(meanNumberOfRecruit)); - riverBasin.getLastRecruitments().push(numberOfsuperIndividual * effectiveAmount); // on remplit la pile qui permet de stocker un nombre fixé de derniers recrutement + riverBasin.getLastRecruitments().push(numberOfsuperIndividual * effectiveAmount); // on remplit la pile qui permet de stocker un nombre fix� de derniers recrutement riverBasin.getLastRecsOverProdCaps().push(((double) riverBasin.getLastRecruitments().getLastItem())/riverBasin.getLastProdCapacities().getLastItem()); if (numberOfAutochtones > 0){ @@ -289,7 +290,7 @@ public class ReproduceAndSurviveAfterReproduction extends AquaNismsGroupProcess< riverBasin.getSpawnerOrigins().push(spawnerOriginsDuringReproduction); //System.out.println(" AFTER " +riverBasin.getSpawnerOrigins().keySet()); } - // on met à jour les observeurs + // on met � jour les observeurs for (RiverBasin riverBasin : group.getEnvironment().getRiverBasins()){ riverBasin.getCobservable().fireChanges(riverBasin, pilot.getCurrentTime()); } diff --git a/src/main/java/species/ReproduceAndSurviveAfterReproductionWithDiagnose.java b/src/main/java/species/ReproduceAndSurviveAfterReproductionWithDiagnose.java index 530e581296c1df8c95f57c3b7094c2ca333e100e..9e4ca55954bb99f666783f51c6dc73a78e696cc1 100644 --- a/src/main/java/species/ReproduceAndSurviveAfterReproductionWithDiagnose.java +++ b/src/main/java/species/ReproduceAndSurviveAfterReproductionWithDiagnose.java @@ -11,6 +11,7 @@ import java.util.TreeMap; import miscellaneous.Duo; import miscellaneous.Miscellaneous; import miscellaneous.Trio; +import species.DiadromousFish.Gender; import org.apache.commons.math3.analysis.UnivariateFunction; import org.apache.commons.math3.optim.MaxEval; @@ -164,7 +165,7 @@ public class ReproduceAndSurviveAfterReproductionWithDiagnose extends AquaNismsG ageOfNativeSpawners.put(age, fish.getAmount()); } - //System.out.println("l'âge du poisson est :" + fish.getAge() + " et la saison est :" + Time.getSeason()); + //System.out.println("l'�ge du poisson est :" + fish.getAge() + " et la saison est :" + Time.getSeason()); // Survive After Reproduction fish.incNumberOfReproduction(); @@ -178,7 +179,7 @@ public class ReproduceAndSurviveAfterReproductionWithDiagnose extends AquaNismsG } - // prepare les données pour le calcul de la mortalité associée aux géniteurs autochtones + // prepare les donn�es pour le calcul de la mortalit� associ�e aux g�niteurs autochtones if (numberOfGenitors > 0.) { List<Trio<Integer, Long, Long>> mortalityData= new ArrayList<Trio<Integer, Long, Long>>(); // first age @@ -270,10 +271,10 @@ public class ReproduceAndSurviveAfterReproductionWithDiagnose extends AquaNismsG // System.out.println(numberOfRecruit + " / " + amountPerSuperIndividual +" = " +numberOfsuperIndividual); //System.out.println(numberOfRecruit + " / " + numberOfsuperIndividual +" = " +effectiveAmount); for (int i=0; i<numberOfsuperIndividual; i++){ - group.addAquaNism(new DiadromousFish(group.getPilot(), riverBasin, initialLength, effectiveAmount)); + group.addAquaNism(new DiadromousFish(group.getPilot(), riverBasin, initialLength, effectiveAmount, Gender.UNDIFFERENCIED)); } riverBasin.getLastRecruitmentExpectations().push(Math.round(meanNumberOfRecruit)); - riverBasin.getLastRecruitments().push(numberOfsuperIndividual * effectiveAmount); // on remplit la pile qui permet de stocker un nombre fixé de derniers recrutement + riverBasin.getLastRecruitments().push(numberOfsuperIndividual * effectiveAmount); // on remplit la pile qui permet de stocker un nombre fix� de derniers recrutement riverBasin.getLastRecsOverProdCaps().push(((double) riverBasin.getLastRecruitments().getLastItem())/riverBasin.getLastProdCapacities().getLastItem()); if (numberOfAutochtones > 0){ @@ -321,7 +322,7 @@ public class ReproduceAndSurviveAfterReproductionWithDiagnose extends AquaNismsG riverBasin.getSpawnerOrigins().push(spawnerOriginsDuringReproduction); //System.out.println(" AFTER " +riverBasin.getSpawnerOrigins().keySet()); } - // on met à jour les observeurs + // on met � jour les observeurs for (RiverBasin riverBasin : group.getEnvironment().getRiverBasins()){ riverBasin.getCobservable().fireChanges(riverBasin, pilot.getCurrentTime()); }