diff --git a/.classpath b/.classpath deleted file mode 100644 index dbf82ad7810fe2addb8d6676f96c355ac8416dcf..0000000000000000000000000000000000000000 --- a/.classpath +++ /dev/null @@ -1,20 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<classpath> - <classpathentry kind="src" output="target/classes" path="src"> - <attributes> - <attribute name="optional" value="true"/> - <attribute name="maven.pomderived" value="true"/> - </attributes> - </classpathentry> - <classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER"> - <attributes> - <attribute name="maven.pomderived" value="true"/> - </attributes> - </classpathentry> - <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"> - <attributes> - <attribute name="maven.pomderived" value="true"/> - </attributes> - </classpathentry> - <classpathentry kind="output" path="target/classes"/> -</classpath> diff --git a/.gitignore b/.gitignore index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..beef00d016539f0af7e0cb61be0ef1028cc8db48 100644 --- a/.gitignore +++ b/.gitignore @@ -0,0 +1,4 @@ +.classpath +.project +.settings +target diff --git a/.project b/.project deleted file mode 100644 index a8f3d174160086b2f571690cda898e4c952c7eb8..0000000000000000000000000000000000000000 --- a/.project +++ /dev/null @@ -1,23 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<projectDescription> - <name>SturioSaintSeurin</name> - <comment></comment> - <projects> - </projects> - <buildSpec> - <buildCommand> - <name>org.eclipse.jdt.core.javabuilder</name> - <arguments> - </arguments> - </buildCommand> - <buildCommand> - <name>org.eclipse.m2e.core.maven2Builder</name> - <arguments> - </arguments> - </buildCommand> - </buildSpec> - <natures> - <nature>org.eclipse.m2e.core.maven2Nature</nature> - <nature>org.eclipse.jdt.core.javanature</nature> - </natures> -</projectDescription> diff --git a/.settings/org.eclipse.core.resources.prefs b/.settings/org.eclipse.core.resources.prefs deleted file mode 100644 index b083d7b160e569262462accf28e208ac4264eb83..0000000000000000000000000000000000000000 --- a/.settings/org.eclipse.core.resources.prefs +++ /dev/null @@ -1,3 +0,0 @@ -eclipse.preferences.version=1 -encoding/<project>=ISO-8859-15 -encoding/src=ISO-8859-15 diff --git a/.settings/org.eclipse.jdt.core.prefs b/.settings/org.eclipse.jdt.core.prefs deleted file mode 100644 index 6428c68059887b376417b619e4d9d344cda345db..0000000000000000000000000000000000000000 --- a/.settings/org.eclipse.jdt.core.prefs +++ /dev/null @@ -1,12 +0,0 @@ -eclipse.preferences.version=1 -org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 -org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve -org.eclipse.jdt.core.compiler.compliance=1.6 -org.eclipse.jdt.core.compiler.debug.lineNumber=generate -org.eclipse.jdt.core.compiler.debug.localVariable=generate -org.eclipse.jdt.core.compiler.debug.sourceFile=generate -org.eclipse.jdt.core.compiler.problem.assertIdentifier=error -org.eclipse.jdt.core.compiler.problem.enumIdentifier=error -org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning -org.eclipse.jdt.core.compiler.source=1.6 diff --git a/.settings/org.eclipse.m2e.core.prefs b/.settings/org.eclipse.m2e.core.prefs deleted file mode 100644 index 14b697b7bbb0d85e8d8ee19141a2a92d9ce211be..0000000000000000000000000000000000000000 --- a/.settings/org.eclipse.m2e.core.prefs +++ /dev/null @@ -1,4 +0,0 @@ -activeProfiles= -eclipse.preferences.version=1 -resolveWorkspaceProjects=true -version=1 diff --git a/.svn/entries b/.svn/entries deleted file mode 100644 index 48082f72f087ce7e6fa75b9c41d7387daecd447b..0000000000000000000000000000000000000000 --- a/.svn/entries +++ /dev/null @@ -1 +0,0 @@ -12 diff --git a/.svn/format b/.svn/format deleted file mode 100644 index 48082f72f087ce7e6fa75b9c41d7387daecd447b..0000000000000000000000000000000000000000 --- a/.svn/format +++ /dev/null @@ -1 +0,0 @@ -12 diff --git a/.svn/pristine/02/02ba1c394c1ec2a3f8e6e40f608f76cc2f526e6d.svn-base b/.svn/pristine/02/02ba1c394c1ec2a3f8e6e40f608f76cc2f526e6d.svn-base deleted file mode 100644 index a8f3d174160086b2f571690cda898e4c952c7eb8..0000000000000000000000000000000000000000 --- a/.svn/pristine/02/02ba1c394c1ec2a3f8e6e40f608f76cc2f526e6d.svn-base +++ /dev/null @@ -1,23 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<projectDescription> - <name>SturioSaintSeurin</name> - <comment></comment> - <projects> - </projects> - <buildSpec> - <buildCommand> - <name>org.eclipse.jdt.core.javabuilder</name> - <arguments> - </arguments> - </buildCommand> - <buildCommand> - <name>org.eclipse.m2e.core.maven2Builder</name> - <arguments> - </arguments> - </buildCommand> - </buildSpec> - <natures> - <nature>org.eclipse.m2e.core.maven2Nature</nature> - <nature>org.eclipse.jdt.core.javanature</nature> - </natures> -</projectDescription> diff --git a/.svn/pristine/03/0364424290f30b92993711930f524170969c88c5.svn-base b/.svn/pristine/03/0364424290f30b92993711930f524170969c88c5.svn-base deleted file mode 100644 index b083d7b160e569262462accf28e208ac4264eb83..0000000000000000000000000000000000000000 --- a/.svn/pristine/03/0364424290f30b92993711930f524170969c88c5.svn-base +++ /dev/null @@ -1,3 +0,0 @@ -eclipse.preferences.version=1 -encoding/<project>=ISO-8859-15 -encoding/src=ISO-8859-15 diff --git a/.svn/pristine/09/09a593e73b6dfe70254123aa3ffeca6975f6207e.svn-base b/.svn/pristine/09/09a593e73b6dfe70254123aa3ffeca6975f6207e.svn-base deleted file mode 100644 index 6defe9b407df3fd9e27f6b5cb538d50774472ecd..0000000000000000000000000000000000000000 --- a/.svn/pristine/09/09a593e73b6dfe70254123aa3ffeca6975f6207e.svn-base +++ /dev/null @@ -1,205 +0,0 @@ -/** - * Patrick.Lambert - * @author Patrick Lambert - * @copyright Copyright (c) 2014, Irstea - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - - */ -package species; - -import java.lang.reflect.InvocationTargetException; -import java.util.ArrayList; -import java.util.LinkedList; -import java.util.List; -import java.util.Map; -import java.util.Map.Entry; -import java.util.TreeMap; - - - -import species.Sturgeon.Gender; -import species.Sturgeon.Status; -import environment.Station; -import fr.cemagref.observation.kernel.Observable; -import fr.cemagref.simaqualife.kernel.AquaNismsGroup; -import fr.cemagref.simaqualife.pilot.Pilot; - -/** - * - */ -public class SturgeonGroup extends AquaNismsGroup<Sturgeon, Station> { - - private transient Map<String, List<Sturgeon>> batches; - private transient List<Integer> femaleSpawnerNbHistory; - private transient List<Double> larvaeProductionHistory; - private transient double annualLarvaeProduction; - - @Override - public void initTransientParameters(Pilot pilot) throws IllegalArgumentException, - IllegalAccessException, InvocationTargetException { - // TODO Auto-generated method stub - super.initTransientParameters(pilot); - batches = new TreeMap<String, List<Sturgeon>>(); - - femaleSpawnerNbHistory = new LinkedList<Integer>(); - larvaeProductionHistory = new LinkedList<Double>(); - - } - - @Override - public void addAquaNism(Sturgeon fish) { - super.addAquaNism(fish); - - if(batches.containsKey(fish.getBatchName())){ - batches.get(fish.getBatchName()).add(fish); - } - else { - List<Sturgeon> batch = new ArrayList<Sturgeon>(); - batch.add(fish); - batches.put(fish.getBatchName(), batch); - } - - } - - @Override - public void removeAquaNism(Sturgeon fish) { - // TODO Auto-generated method stub - super.removeAquaNism(fish); - - batches.get(fish.getBatchName()).remove(fish); - } - - - public void printNumberInBatches(){ - int total=0; - for (Entry<String, List<Sturgeon>> entry : batches.entrySet()){ - System.out.println(" "+ entry.getKey()+ ":\t"+entry.getValue().size()); - total += entry.getValue().size(); - } - System.out.println("-->"+total+"vs"+this.getAquaNismsList().size()); - } - - @Observable(description = "Fish number") - public int getFishNumber() { - if ( this.getAquaNismsList() != null) - return this.getAquaNismsList().size(); - else - return 0; - } - - public Integer[] getFemaleHistory() { - return (Integer[]) femaleSpawnerNbHistory.toArray(); - } - - @Observable(description = "nb of female ready to spawn") - public int getNumberOfFemaleInMaturation() { - int nb=0; - for (Sturgeon fish : this.getAquaNismsList()){ - if (fish.getGender() == Gender.FEMALE & fish.isReadyToSpawn()){ - nb++; - } - } - return nb; - } - - @Observable(description = "nb of male ready to spawn") - public int getNumberOfMaleInMaturation() { - int nb=0; - for (Sturgeon fish : this.getAquaNismsList()){ - if (fish.getGender() == Gender.MALE & fish.isReadyToSpawn()){ - nb++; - } - } - return nb; - } - - @Observable(description = "nb of normal fish") - public int getNormalFishNumber() { - int nb=0; - for (Sturgeon fish : this.getAquaNismsList()){ - if (fish.getStatus() == Status.NORMAL){ - nb++; - } - } - return nb; - } - - @Observable(description = "nb of deformed fish") - public int getDeformedFishNumber() { - int nb=0; - for (Sturgeon fish : this.getAquaNismsList()){ - if (fish.getStatus() == Status.DEFORMED){ - nb++; - } - } - return nb; - } - - @Observable(description = "annual larvae production") - public double getAnnualLarvaeProduction() { - return Math.round(annualLarvaeProduction * 1000.)/1000.; - } - - public void setAnnualLarvaeProduction(double annualLarvaeProduction) { - this.annualLarvaeProduction = annualLarvaeProduction; - } - - public void setLarvaeProductionHistory(List<Double> larvaeProductionHistory) { - this.larvaeProductionHistory = larvaeProductionHistory; - } - - public Map<String, List<Sturgeon>> getBatches() { - return batches; - } - - public List<Integer> getFemaleSpawnerNbHistory() { - return femaleSpawnerNbHistory; - } - - public List<Double> getLarvaeProductionHistory() { - return larvaeProductionHistory; - } - - @Observable(description = "female spawner history") - public Integer[] getFemaleSpawnersArray() { - Integer[] output= new Integer[femaleSpawnerNbHistory.size()]; - for(int i=0; i < femaleSpawnerNbHistory.size(); i++){ - output[i] =femaleSpawnerNbHistory.get(i); - } - return output; - } - - @Observable(description = "female spawner history") - public String getFemaleSpawnersString() { - String output=""; - String sep=""; - for (int i=0; i< femaleSpawnerNbHistory.size(); i++){ - output=output.concat(sep).concat(femaleSpawnerNbHistory.get(i).toString()); - sep=", "; - } - return output; - } - - @Observable(description = "larvae hsitory history") - public String getLarvaeProductionString() { - String output=""; - String sep=""; - for (int i=0; i< larvaeProductionHistory.size(); i++){ - output=output.concat(sep).concat(larvaeProductionHistory.get(i).toString()); - sep=", "; - } - return output; - } -} diff --git a/.svn/pristine/0f/0fb6877ccd1a8bd8ba27aafa0bc880517de4bdac.svn-base b/.svn/pristine/0f/0fb6877ccd1a8bd8ba27aafa0bc880517de4bdac.svn-base deleted file mode 100644 index b8a62efe0bf1f28a77feffa74143c85cf712a963..0000000000000000000000000000000000000000 --- a/.svn/pristine/0f/0fb6877ccd1a8bd8ba27aafa0bc880517de4bdac.svn-base +++ /dev/null @@ -1,140 +0,0 @@ -<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> - <modelVersion>4.0.0</modelVersion> - - <!-- ************************************************************* --> - <!-- *** POM Relationships *************************************** --> - <!-- ************************************************************* --> - <groupId>SturioSaintSeurin</groupId> - <artifactId>SturioSaintSeurin</artifactId> - <version>0.0.1-SNAPSHOT</version> - - <dependencies> - <dependency> - <groupId>fr.cemagref</groupId> - <artifactId>simaqualife</artifactId> - <version>2.0</version> - </dependency> - - <dependency> - <groupId>commons-lang</groupId> - <artifactId>commons-lang</artifactId> - <version>2.6</version> - <type>jar</type> - </dependency> - </dependencies> - - <!-- ************************************************************* --> - <!-- *** Project Information ************************************* --> - <!-- ************************************************************* --> - - <name>${project.artifactId} ${project.version}</name> - <description></description> - <url></url> - - <licenses> - <license> - <name>GPL</name> - <url>http://www.gnu.org/copyleft/gpl.html</url> - <distribution>repo</distribution> - </license> - </licenses> - - <!-- ************************************************************* --> - <!-- *** Build Settings ****************************************** --> - <!-- ************************************************************* --> - <packaging>jar</packaging> - - <build> - <sourceDirectory>src</sourceDirectory> - - <plugins> - - <plugin> - <artifactId>maven-compiler-plugin</artifactId> - <version>2.3.2</version> - <configuration> - <source>1.6</source> - <target>1.6</target> - </configuration> - </plugin> - - <plugin> - <artifactId>maven-assembly-plugin</artifactId> - <executions> - <execution> - <phase>package</phase> - <goals> - <goal>assembly</goal> - </goals> - <configuration> - <appendAssemblyId>false</appendAssemblyId> - <descriptorRefs> - <descriptorRef>jar-with-dependencies</descriptorRef> - </descriptorRefs> - </configuration> - </execution> - </executions> - </plugin> - - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-resources-plugin</artifactId> - <configuration> - <encoding>${project.build.sourceEncoding}</encoding> - </configuration> - <executions> - <execution> - <phase>package</phase> - <goals> - <goal>resources</goal> - </goals> - </execution> - </executions> - </plugin> - - <plugin> - <groupId>org.apache.felix</groupId> - <artifactId>maven-bundle-plugin</artifactId> - <extensions>true</extensions> - <configuration> - <manifestLocation>target/META-INF</manifestLocation> - <finalName>${symbolic.name}_${project.version}</finalName> - <instructions> - <Bundle-Name>${project.groupId}.${project.artifactId}</Bundle-Name> - <Bundle-SymbolicName>${project.groupId}.${project.artifactId}</Bundle-SymbolicName> - <Import-Package>*;resolution:=optional</Import-Package> - <Export-Package>fr.cemagref.simaqualife.extensions.pilot.BatchRunner;fr.cemagref.simaqualife.*;miscellaneous.*</Export-Package> - <Embed-Dependency>*;scope=!provided;inline=true</Embed-Dependency> - <Embed-Transitive>true</Embed-Transitive> - <eclipse.buddypolicy>global</eclipse.buddypolicy> - </instructions> - </configuration> - </plugin> - </plugins> - - </build> - - - <repositories> - <repository> - <id>trac.clermont.cemagref.fr.nexus.public</id> - <url>http://trac.clermont.cemagref.fr/nexus/content/groups/public</url> - </repository> - <repository> - <id>trac.clermont.cemagref.fr.nexus.snapshots</id> - <url>http://trac.clermont.cemagref.fr/nexus/content/repositories/snapshots</url> - </repository> - <repository> - <id>maven2-repository.dev.java.net</id> - <name>Java.net repository</name> - <url>http://download.java.net/maven/2</url> - </repository> - </repositories> - - <properties> - <project.build.sourceEncoding>ISO-8859-15</project.build.sourceEncoding> - <build.timestamp>${maven.build.timestamp}</build.timestamp> - <netbeans.hint.license>gpl30</netbeans.hint.license> - </properties> -</project> \ No newline at end of file diff --git a/.svn/pristine/16/165a0396af4cd4e5d2a986c7688a6eeefa80191b.svn-base b/.svn/pristine/16/165a0396af4cd4e5d2a986c7688a6eeefa80191b.svn-base deleted file mode 100644 index 89135df6990130a69e58e918fe7de31732e2ad0f..0000000000000000000000000000000000000000 --- a/.svn/pristine/16/165a0396af4cd4e5d2a986c7688a6eeefa80191b.svn-base +++ /dev/null @@ -1,23 +0,0 @@ -/** - * Patrick.Lambert - * @author Patrick Lambert - * @copyright Copyright (c) 2014, Irstea - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - - */ -/** - * - */ -package environment; \ No newline at end of file diff --git a/.svn/pristine/1b/1b6713d3bad9b10658390d20fdac65c5e656b1c2.svn-base b/.svn/pristine/1b/1b6713d3bad9b10658390d20fdac65c5e656b1c2.svn-base deleted file mode 100644 index 6e8fab98ac3dc18b727f6b85d910f3682c84ee19..0000000000000000000000000000000000000000 --- a/.svn/pristine/1b/1b6713d3bad9b10658390d20fdac65c5e656b1c2.svn-base +++ /dev/null @@ -1,126 +0,0 @@ -package observer; - -import java.lang.reflect.InvocationTargetException; - -import fr.cemagref.observation.kernel.ObservablesHandler; -import fr.cemagref.observation.observers.ConsoleObserver; -import fr.cemagref.ohoui.annotations.Description; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; -import java.util.logging.Level; -import java.util.logging.Logger; - -public class MyCSVObserver extends ConsoleObserver { - - @Description(name = "Field separator", tooltip = "") - protected char separator = ';'; - private List<String> observables; - protected transient List<ObservablesHandler.ObservableFetcher> fetchers; - /** - * <code>classObservable</code> is used to display name of attributes as - * header - */ - private transient ObservablesHandler classObservable; - - public MyCSVObserver() { - } - - public MyCSVObserver(boolean sysout, String outputFile) { - super(sysout, outputFile); - } - - public MyCSVObserver(boolean sysout, String outputFile, String... obsvervables) { - super(sysout, outputFile); - this.observables = Arrays.asList(obsvervables); - } - - public List<String> getObservables() { - return observables; - } - - @Override - public void addObservable(ObservablesHandler classObservable) { - ObservablesHandler bak = this.classObservable; - this.classObservable = classObservable; - if (bak != null) // The observable has been changed - { - this.init(); - } - } - - @Override - public void valueChanged(ObservablesHandler clObservable, Object instance, long t) { - if (isInDates(t)) { - StringBuffer buf = new StringBuffer(); - StringBuffer sbSeparator = new StringBuffer(" " + this.separator + " "); - // print current Time - buf.append(t); - - // print value of each field - for (ObservablesHandler.ObservableFetcher fetcher : fetchers) { - buf.append(sbSeparator); - Object value = getValue(fetcher, instance); - buf.append(value == null ? "N/A" : value); - } - outputStream.println(buf); - } - } - - /** - * - * @param fetcher - * @param instance - * @return the value returned by the fetcher or null if a problem has - * occured due to the introspection. - */ - protected Object getValue(ObservablesHandler.ObservableFetcher fetcher, Object instance) { - try { - return fetcher.fetchValue(instance); - } catch (IllegalArgumentException ex) { - Logger.getLogger(MyCSVObserver.class.getName()).log(Level.SEVERE, null, ex); - return null; - } catch (IllegalAccessException ex) { - Logger.getLogger(MyCSVObserver.class.getName()).log(Level.SEVERE, null, ex); - return null; - } catch (InvocationTargetException ex) { - Logger.getLogger(MyCSVObserver.class.getName()).log(Level.SEVERE, null, ex); - return null; - } - } - - @Override - public void init() { - super.init(); - if (classObservable != null) { - fetchers = new ArrayList<ObservablesHandler.ObservableFetcher>(); - if (observables != null) { - for (String name : observables) { - fetchers.add(classObservable.getObservableFetcherByName(name)); - } - } else { - fetchers.addAll(Arrays.asList(classObservable.getObservableFetchers())); - } - // Headers printing - StringBuffer buf = new StringBuffer(); - StringBuffer sbSeparator = new StringBuffer(" " + this.separator + " "); - buf.append("Year"); - buf.append(sbSeparator); - buf.append("Season"); - for (ObservablesHandler.ObservableFetcher fetcher : fetchers) { - buf.append(sbSeparator); - buf.append(fetcher.getDescription()); - } - outputStream.println(buf); - } - } - - @Override - public String toString() { - if (observables != null) { - return observables.toString() + " " + super.toString(); - } else { - return super.toString(); - } - } -} diff --git a/.svn/pristine/27/2708e0bf6b4154efd48681b889b1f6c996506960.svn-base b/.svn/pristine/27/2708e0bf6b4154efd48681b889b1f6c996506960.svn-base deleted file mode 100644 index 081fc9cd1060e49f3f3a3cc74b20ea2ca1cd3302..0000000000000000000000000000000000000000 --- a/.svn/pristine/27/2708e0bf6b4154efd48681b889b1f6c996506960.svn-base +++ /dev/null @@ -1,118 +0,0 @@ -/** - * Patrick.Lambert - * @author Patrick Lambert - * @copyright Copyright (c) 2014, Irstea - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - - */ -package species; - -import java.io.FileReader; -import java.util.Locale; -import java.util.Scanner; -import java.util.regex.Pattern; - -import species.Sturgeon.Diet; -import species.Sturgeon.Gender; -import species.Sturgeon.Stage; -import species.Sturgeon.Status; - -import com.thoughtworks.xstream.XStream; -import com.thoughtworks.xstream.io.xml.DomDriver; - -import fr.cemagref.simaqualife.kernel.processes.AquaNismsGroupProcess; - -/** - * - */ -public class PopulateWithActualCaptiveStock extends AquaNismsGroupProcess<Sturgeon, SturgeonGroup> { - - private String sturgeonStockName ="data/input/maturation geniteurs juin2014.csv"; - private Boolean fishWithPb = true; - private int presentYear = 2014; - - public static void main(String[] args) { System.out.println((new - XStream(new DomDriver())) .toXML(new PopulateWithActualCaptiveStock())); } - - - /* (non-Javadoc) - * @see fr.cemagref.simaqualife.kernel.processes.Process#doProcess(java.lang.Object) - */ - @Override - public void doProcess(SturgeonGroup group) { - - int cohort, birthYear, YearlastMaturation,pb; - String alim, stage, sex, name, status; - - try { - // open the file - FileReader reader = new FileReader(sturgeonStockName); - - // Parsing the file - Scanner scanner = new Scanner(reader); - scanner.useLocale(Locale.ENGLISH); // to have a comma as decimal separator !!! - scanner.useDelimiter(Pattern.compile("(;|\r\n|\n)")); - - // skip the first line - scanner.nextLine(); - //System.out.println(scanner.nextLine()); - while (scanner.hasNext()) { - cohort = scanner.nextInt(); - birthYear = scanner.nextInt(); - name= scanner.next(); - //System.out.print(name+ " "); - scanner.next(); // skip colum - scanner.next(); // skip colum - sex = scanner.next(); - alim= scanner.next(); - status = scanner.next(); - stage = scanner.next(); - YearlastMaturation = scanner.nextInt(); - pb = scanner.nextInt(); - scanner.next(); // skip colum - scanner.next(); // skip colum - scanner.next(); // skip colum - - //public Sturgeon(Tanks position, int cohort, int age, Stage stage, Gender gender, Diet diet, - // Status status, String name, double ageAtLastReproduction); - - if (fishWithPb | (!fishWithPb & pb == 0 )){ - Sturgeon sturgeon = new Sturgeon(group.getPilot(), group.getEnvironment().getTanks(), cohort, (presentYear-birthYear), - (stage.equalsIgnoreCase("mature") ? Stage.MATURE : Stage.IMMATURE), - (sex.equalsIgnoreCase("femelle") ? Gender.FEMALE : Gender.MALE), - (alim.equalsIgnoreCase("alim naturelle") ? Diet.NATURAL : Diet.MIXED), - (status.equalsIgnoreCase("tordu") ? Status.DEFORMED : Status.NORMAL), - name, - (YearlastMaturation==-1 ? Double.NaN :(presentYear-birthYear-YearlastMaturation))); - group.addAquaNism(sturgeon); - } - } - //System.out.println(); - //System.out.println(group.getFishNumber()+" fish in the captive stock"); - scanner.close(); - reader.close(); - } - catch (Exception e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - - //System.out.println(group.getFishNumber()); - //group.printNumberInBatches(); - - } - - -} diff --git a/.svn/pristine/29/29012f70b994318fc090429771a6dc7470cba503.svn-base b/.svn/pristine/29/29012f70b994318fc090429771a6dc7470cba503.svn-base deleted file mode 100644 index 7fad85aa395b61672fec14605c123ce5d5aa09e1..0000000000000000000000000000000000000000 --- a/.svn/pristine/29/29012f70b994318fc090429771a6dc7470cba503.svn-base +++ /dev/null @@ -1,87 +0,0 @@ -/** - * Patrick.Lambert - * @author Patrick Lambert - * @copyright Copyright (c) 2014, Irstea - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - - */ -package species; - -import java.io.FileNotFoundException; -import java.io.FileReader; -import java.util.Locale; -import java.util.Scanner; -import java.util.regex.Pattern; - -import species.Sturgeon.Diet; -import species.Sturgeon.Gender; -import species.Sturgeon.Stage; -import species.Sturgeon.Status; -import umontreal.iro.lecuyer.randvar.UniformGen; - -import com.thoughtworks.xstream.XStream; -import com.thoughtworks.xstream.io.xml.DomDriver; - -import fr.cemagref.simaqualife.kernel.processes.AquaNismsGroupProcess; -import fr.cemagref.simaqualife.kernel.util.TransientParameters.InitTransientParameters; -import fr.cemagref.simaqualife.pilot.Pilot; - -/** - * - */ -public class Enter extends AquaNismsGroupProcess<Sturgeon, SturgeonGroup> { - - private int nbWithNaturalDiet=25; - private int nbWithMixedDiet=25; - - private transient UniformGen genUniform; - - public static void main(String[] args) { System.out.println((new - XStream(new DomDriver())) .toXML(new Enter())); } - - @Override - @InitTransientParameters - public void initTransientParameters(Pilot pilot) { - genUniform = new UniformGen(pilot.getRandomStream(),0.,1.); - } - - /* (non-Javadoc) - * @see fr.cemagref.simaqualife.kernel.processes.Process#doProcess(java.lang.Object) - */ - @Override - public void doProcess(SturgeonGroup group) { - - int cohort = (int) group.getPilot().getCurrentTime(); - int age = 0; - - // fish with natural diet ( not deformed) - for (int i=0; i < nbWithNaturalDiet; i++){ - Sturgeon sturgeon = new Sturgeon(group.getPilot(), group.getEnvironment().getTanks(), cohort, age, Stage.IMMATURE, - (genUniform.nextDouble() <0.5) ? Gender.FEMALE : Gender.MALE, - Diet.NATURAL, Status.NORMAL); - group.addAquaNism(sturgeon); - } - // fish with mixed diet (not Deformed) - for (int i=0; i < nbWithMixedDiet; i++){ - Sturgeon sturgeon = new Sturgeon(group.getPilot(), group.getEnvironment().getTanks(), cohort, age, Stage.IMMATURE, - (genUniform.nextDouble() <0.5) ? Gender.FEMALE : Gender.MALE, - Diet.MIXED, Status.NORMAL); - group.addAquaNism(sturgeon); - } - - //System.out.println(group.getFishNumber()); - //group.printNumberInBatches(); - } -} diff --git a/.svn/pristine/2c/2c1d6d58ef110c51c396b85a6352a4fbcd7fe475.svn-base b/.svn/pristine/2c/2c1d6d58ef110c51c396b85a6352a4fbcd7fe475.svn-base deleted file mode 100644 index 0322ae0c4ac2b9a5c295c92fd313596fa956c194..0000000000000000000000000000000000000000 --- a/.svn/pristine/2c/2c1d6d58ef110c51c396b85a6352a4fbcd7fe475.svn-base +++ /dev/null @@ -1,85 +0,0 @@ -/** - * Patrick.Lambert - * @author Patrick Lambert - * @copyright Copyright (c) 2014, Irstea - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - - */ -package species; - -import java.util.ArrayList; -import java.util.List; - -import com.thoughtworks.xstream.XStream; -import com.thoughtworks.xstream.io.xml.DomDriver; - -import umontreal.iro.lecuyer.randvar.ExponentialGen; -import umontreal.iro.lecuyer.randvar.UniformGen; -import fr.cemagref.simaqualife.kernel.processes.AquaNismsGroupProcess; -import fr.cemagref.simaqualife.kernel.util.TransientParameters.InitTransientParameters; -import fr.cemagref.simaqualife.pilot.Pilot; - -/** - * - */ -public class DieByAccident extends AquaNismsGroupProcess<Sturgeon, SturgeonGroup> { - - private double probaAccident= 0.65; - private double dieScaleAccident = 11.85746 ; - - private transient UniformGen genUniform; - private transient ExponentialGen exponentialGen; - - - public static void main(String[] args) { System.out.println((new - XStream(new DomDriver())) .toXML(new DieByAccident())); } - - @Override - @InitTransientParameters - public void initTransientParameters(Pilot pilot) { - genUniform = new UniformGen( pilot.getRandomStream(),0.,1.); - exponentialGen = new ExponentialGen(pilot.getRandomStream(), dieScaleAccident); - } - - /* (non-Javadoc) - * @see fr.cemagref.simaqualife.kernel.processes.Process#doProcess(java.lang.Object) - */ - @Override - public void doProcess(SturgeonGroup stock) { - List<Sturgeon> deadFish = new ArrayList<Sturgeon>(); - double probaToDie =0; - - for (List<Sturgeon> batch : stock.getBatches().values()){ - if (! batch.isEmpty()){ - if (genUniform.nextDouble() < probaAccident){ - probaToDie =exponentialGen.nextDouble(); - //System.out.println(" proba to die:" + probaToDie ); - for (Sturgeon fish : batch){ - if (genUniform.nextDouble() < probaToDie){ - deadFish.add(fish); - } - } - } - } - } - - // remove fish from the list - for (Sturgeon fish : deadFish){ - stock.removeAquaNism(fish); - } - - //stock.printNumberInBatches(); - } -} diff --git a/.svn/pristine/34/347ffdcb69b47a6e335d0724cc20ee1263fb9c07.svn-base b/.svn/pristine/34/347ffdcb69b47a6e335d0724cc20ee1263fb9c07.svn-base deleted file mode 100644 index 6428c68059887b376417b619e4d9d344cda345db..0000000000000000000000000000000000000000 --- a/.svn/pristine/34/347ffdcb69b47a6e335d0724cc20ee1263fb9c07.svn-base +++ /dev/null @@ -1,12 +0,0 @@ -eclipse.preferences.version=1 -org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 -org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve -org.eclipse.jdt.core.compiler.compliance=1.6 -org.eclipse.jdt.core.compiler.debug.lineNumber=generate -org.eclipse.jdt.core.compiler.debug.localVariable=generate -org.eclipse.jdt.core.compiler.debug.sourceFile=generate -org.eclipse.jdt.core.compiler.problem.assertIdentifier=error -org.eclipse.jdt.core.compiler.problem.enumIdentifier=error -org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning -org.eclipse.jdt.core.compiler.source=1.6 diff --git a/.svn/pristine/36/361c5a629a2404bf1299b4ffdaaa53bbeaaf1591.svn-base b/.svn/pristine/36/361c5a629a2404bf1299b4ffdaaa53bbeaaf1591.svn-base deleted file mode 100644 index f298254fabb3977c6ba4b2dd026202c0ca9119ff..0000000000000000000000000000000000000000 --- a/.svn/pristine/36/361c5a629a2404bf1299b4ffdaaa53bbeaaf1591.svn-base +++ /dev/null @@ -1,29 +0,0 @@ -/** - * Patrick.Lambert - * @author Patrick Lambert - * @copyright Copyright (c) 2014, Irstea - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - - */ -package environment; - -import fr.cemagref.simaqualife.kernel.spatial.Position; - -/** - * - */ -public class Tanks implements Position { - -} diff --git a/.svn/pristine/43/432db9fec18773650423aab6f3c0ede28f5c6a02.svn-base b/.svn/pristine/43/432db9fec18773650423aab6f3c0ede28f5c6a02.svn-base deleted file mode 100644 index 3978042500acbe0f55550c29956f934c9a6586ac..0000000000000000000000000000000000000000 --- a/.svn/pristine/43/432db9fec18773650423aab6f3c0ede28f5c6a02.svn-base +++ /dev/null @@ -1,72 +0,0 @@ -<list> - <species.SturgeonGroup> - <processes> - <processesAtBegin> - <species.PopulateWithActualCaptiveStock> - <synchronisationMode>ASYNCHRONOUS</synchronisationMode> - <sturgeonStockName>data/input/MaturationGeniteursJuin14.csv</sturgeonStockName> - <fishWithPb>true</fishWithPb> - <presentYear>2014</presentYear> - </species.PopulateWithActualCaptiveStock> - </processesAtBegin> - - <processesEachStep> - - <species.Deform> - <synchronisationMode>ASYNCHRONOUS</synchronisationMode> - <scaleDeform>0.3203588</scaleDeform> - <shapeDeform>6.55763282</shapeDeform> - <piDeformForNaturalDiet>0.05565945</piDeformForNaturalDiet> - <piDeformForMixedDiet>0.5463054</piDeformForMixedDiet> - </species.Deform> - - <species.DieByAccident> - <synchronisationMode>ASYNCHRONOUS</synchronisationMode> - <probaAccident>0.65</probaAccident> - <dieScaleAccident>11.85746</dieScaleAccident> - </species.DieByAccident> - - <species.Die> - <synchronisationMode>ASYNCHRONOUS</synchronisationMode> - <dieScaleForNormal>0.01877447</dieScaleForNormal> - <dieScaleForDeformed>0.40354444</dieScaleForDeformed> - <dieShape>1.0</dieShape> - </species.Die> - - <species.MatureWithTruncatedDistribution> - <synchronisationMode>ASYNCHRONOUS</synchronisationMode> - <probTruncature>0.01</probTruncature> - <femaleMeanAgeAtMaturation>16.4</femaleMeanAgeAtMaturation> - <femaleSdAgeAtMaturation>2.7</femaleSdAgeAtMaturation> - <femaleMeanInterSpawningInterval>4.0 - </femaleMeanInterSpawningInterval> - <maleMeanAgeAtMaturation>8.0</maleMeanAgeAtMaturation> - <maleSdAgeAtMaturation>1.4</maleSdAgeAtMaturation> - <maleMeanInterSpawningInterval>1.5</maleMeanInterSpawningInterval> - </species.MatureWithTruncatedDistribution> - - <species.ProduceLarvae> - <synchronisationMode>ASYNCHRONOUS</synchronisationMode> - <pi>0.75</pi> - <mu>4.347</mu> - <sigma>0.7806</sigma> - <maxProd>250.0</maxProd> - </species.ProduceLarvae> - - - <species.Age> - <synchronisationMode>ASYNCHRONOUS</synchronisationMode> - </species.Age> - - </processesEachStep> - - <processesAtEnd> - <species.Analyse> - <synchronisationMode>ASYNCHRONOUS</synchronisationMode> - </species.Analyse> - </processesAtEnd> - </processes> - - <useCemetery>false</useCemetery> - </species.SturgeonGroup> -</list> \ No newline at end of file diff --git a/.svn/pristine/46/46e8ddb19a22963124aef81d1ab465f8512aca66.svn-base b/.svn/pristine/46/46e8ddb19a22963124aef81d1ab465f8512aca66.svn-base deleted file mode 100644 index fd4a4e058e8cde0968eddf744931b772fb0fad96..0000000000000000000000000000000000000000 --- a/.svn/pristine/46/46e8ddb19a22963124aef81d1ab465f8512aca66.svn-base +++ /dev/null @@ -1,279 +0,0 @@ -/* - * Copyright (C) 2012 dumoulin - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - */ -package miscellaneous; - -import java.lang.reflect.Field; -import java.lang.reflect.InvocationTargetException; -import java.lang.reflect.Method; -import java.util.List; -import java.util.logging.Level; -import java.util.logging.Logger; -import org.apache.commons.lang.ArrayUtils; - -/** - * - * @author dumoulin - */ -public class ReflectUtils { - - private static final Logger LOGGER = Logger.getLogger(ReflectUtils.class.getName()); - - /** - * - * @param type - * @param name - * @return null if the field wasn't found - */ - public static Field getField(Class type, String name) throws NoSuchFieldException { - Class current = type; - while (current != null) { - for (Field f : current.getDeclaredFields()) { - if (f.getName().equals(name)) { - return f; - } - } - current = current.getSuperclass(); - } - throw new NoSuchFieldException("The field " + name + " hasn't been found in the class " + type.getName()); - } - - public static Fetcher getFetcher(Class type, String name) throws NoSuchFieldException { - Class current = type; - while (current != null) { - for (Field f : current.getDeclaredFields()) { - if (f.getName().equals(name)) { - return new FieldFetcher(f); - } - } - for (Method m : current.getDeclaredMethods()) { - if (m.getName().equals(name)) { - return new MethodFetcher(m); - } - } - current = current.getSuperclass(); - } - throw new NoSuchFieldException("The field or method " + name + " hasn't been found in the class " + type.getName()); - } - - /** - * - * @param field - * @param instance - * @return null if a problem has occured during the introspection. - */ - public static Object getFieldValue(Field field, Object instance) { - boolean old = field.isAccessible(); - field.setAccessible(true); - Object value = null; - try { - value = field.get(instance); - } catch (Exception ex) { - LOGGER.log(Level.SEVERE, "Error during field value retrieving", ex); - } - field.setAccessible(old); - return value; - } - - /** - * - * @param fieldname - * @param instance - * @return null if a problem has occured during the introspection. - */ - public static Object getFieldValue(String fieldname, Object instance) throws NoSuchFieldException { - Object value = null; - Field field = getField(instance.getClass(), fieldname); - if (field != null) { - value = getFieldValue(field, instance); - } - return value; - } - - /** - * - * @param methodName - * @param instance - * @param parameters - * @return null if a problem has occured during the introspection. - */ - public static Object invokeMethod(String methodName, Object instance, Object... parameters) { - Object result = null; - Class[] parametersType = new Class[parameters.length]; - for (int i = 0; i < parameters.length; i++) { - parametersType[i] = parameters[i].getClass(); - } - try { - Method method = instance.getClass().getDeclaredMethod(methodName, parametersType); - boolean accessible = method.isAccessible(); - method.setAccessible(true); - result = method.invoke(instance, parameters); - method.setAccessible(accessible); - } catch (Exception ex) { - LOGGER.log(Level.SEVERE, "Error during method invocation " + instance.getClass() + "." + methodName + "(" + ArrayUtils.toString(parameters) + ")", ex); - } - return result; - } - - public static void setField(Field field, Object instance, Object value) throws IllegalAccessException, IllegalArgumentException { - boolean old = field.isAccessible(); - field.setAccessible(true); - field.set(instance, value); - field.setAccessible(old); - - } - - public static void setField(String fieldname, Object instance, Object value) throws IllegalAccessException, IllegalArgumentException, NoSuchFieldException { - Field field = getField(instance.getClass(), fieldname); - if (field != null) { - setField(field, instance, value); - } - } - - /** - * - * @param instance - * @param path The path of the field to retrieve from the class of the - * instance given. The path must contain a dot "." for accessing nested - * fields. The element of a list can be accessed by its index. For example : - * <tt>elements.2.aField</tt> - * @return - * @throws NoSuchFieldException - */ - public static FieldOnInstance getFieldOnInstance(Object instance, String path) throws NoSuchFieldException { - if (path.contains(".")) { - String[] nodes = path.split("\\."); - for (int i = 0; i < nodes.length - 1; i++) { - if (nodes[i].matches("[0-9]*")) { - instance = ((List) instance).get(Integer.parseInt(nodes[i])); - } else { - instance = ReflectUtils.getFieldValue(nodes[i], instance); - } - } - path = nodes[nodes.length - 1]; - } - return new FieldOnInstance(instance, getField(instance.getClass(), path)); - } - - public static FetcherOnInstance getFetcherOnInstance(Object instance, String path) throws NoSuchFieldException { - if (path.contains(".")) { - String[] nodes = path.split("\\."); - for (int i = 0; i < nodes.length - 1; i++) { - if (nodes[i].matches("[0-9]*")) { - instance = ((List) instance).get(Integer.parseInt(nodes[i])); - } else { - instance = ReflectUtils.getFieldValue(nodes[i], instance); - } - } - path = nodes[nodes.length - 1]; - } - return new FetcherOnInstance(instance, getFetcher(instance.getClass(), path)); - } - - public static void setFieldValueFromPath(Object instance, String path, Object value) throws NoSuchFieldException, IllegalArgumentException, IllegalAccessException { - getFieldOnInstance(instance, path).setValue(value); - } - - public static Object getValueFromPath(Object instance, String path) throws NoSuchFieldException, IllegalArgumentException, IllegalAccessException, InvocationTargetException { - return getFetcherOnInstance(instance, path).getValue(); - } - - public static abstract class Fetcher { - - public abstract Object getValue(Object instance) throws IllegalArgumentException, IllegalAccessException, - InvocationTargetException; - } - - public static class MethodFetcher extends Fetcher { - - private Method method; - - public MethodFetcher(Method method) { - this.method = method; - } - - @Override - public Object getValue(Object instance) throws IllegalArgumentException, IllegalAccessException, - InvocationTargetException { - return method.invoke(instance, new Object[]{}); - } - } - - public static class FieldFetcher extends Fetcher { - - private Field field; - - public FieldFetcher(Field field) { - this.field = field; - } - - @Override - public Object getValue(Object instance) throws IllegalArgumentException, IllegalAccessException, - InvocationTargetException { - return field.get(instance); - } - } - - public static class FetcherOnInstance { - - private final Object instance; - private final Fetcher fetcher; - - public FetcherOnInstance(Object instance, Fetcher fetcher) { - this.instance = instance; - this.fetcher = fetcher; - } - - public Object getInstance() { - return instance; - } - - public Object getValue() throws IllegalAccessException, IllegalArgumentException, InvocationTargetException { - return fetcher.getValue(instance); - } - } - - /** - * Class that wraps a field with an instance on which will be - * retrieved/update a field. - */ - public static class FieldOnInstance { - - private final Object instance; - private final Field field; - - public FieldOnInstance(Object instance, Field field) { - this.instance = instance; - this.field = field; - } - - public Field getField() { - return field; - } - - public Object getInstance() { - return instance; - } - - public void setValue(Object value) throws IllegalAccessException { - setField(field, instance, value); - } - - public Object getValue() throws IllegalAccessException { - return getFieldValue(field, instance); - } - } -} diff --git a/.svn/pristine/5c/5c0fa9fa45e00f89e1d164f1b101181624fed021.svn-base b/.svn/pristine/5c/5c0fa9fa45e00f89e1d164f1b101181624fed021.svn-base deleted file mode 100644 index 8270ff69308f46946131e0d9d6d4b9c29ffa0649..0000000000000000000000000000000000000000 --- a/.svn/pristine/5c/5c0fa9fa45e00f89e1d164f1b101181624fed021.svn-base +++ /dev/null @@ -1,43 +0,0 @@ -package miscellaneous; - -import fr.cemagref.simaqualife.pilot.Pilot; -import umontreal.iro.lecuyer.randvar.NormalGen; -import umontreal.iro.lecuyer.randvar.UniformGen; - -public class Miscellaneous { - - static public long binomialForSuperIndividual(Pilot pilot, long amount, double succesProba, long threshold) { - long amountWithSuccess; - if (amount > threshold) { // use a normal approximation for huge amount - amountWithSuccess= -1; - while (amountWithSuccess <0 | amountWithSuccess>amount){ - amountWithSuccess = Math.round(NormalGen.nextDouble(pilot.getRandomStream(),0.,1.) * Math.sqrt(succesProba * (1 - succesProba) * amount) - + succesProba * amount); - } - } - else { - amountWithSuccess= 0; - for (long i=0; i < amount; i++){ - if (UniformGen.nextDouble(pilot.getRandomStream(), 0.,1.) < succesProba) - amountWithSuccess++; - } - } - return amountWithSuccess; - } - - static public long binomialForSuperIndividual(Pilot pilot, long amount, double succesProba) { - return binomialForSuperIndividual(pilot, amount, succesProba, 50); - } - - static public double logNormalAlea(Pilot pilot, double mean, double cv){ - if (cv > 0.){ - double mu=Math.log(mean)- (cv *cv)/2.; - double sigma = Math.sqrt(Math.log(cv*cv +1)); - return Math.exp((UniformGen.nextDouble(pilot.getRandomStream(),0.,1. ) * sigma + mu)); - } - else - return mean; - } - - -} diff --git a/.svn/pristine/5d/5d8750dc847f6c3cf61cb64ffad3d915ee1a67e2.svn-base b/.svn/pristine/5d/5d8750dc847f6c3cf61cb64ffad3d915ee1a67e2.svn-base deleted file mode 100644 index 985de6a946ea247c7ff22c1c9200378261a98de3..0000000000000000000000000000000000000000 --- a/.svn/pristine/5d/5d8750dc847f6c3cf61cb64ffad3d915ee1a67e2.svn-base +++ /dev/null @@ -1,22 +0,0 @@ - -obsFile = newFile(); -obsFile << "<hashtable></hashtable>"; - -arguments = ['-simDuration','44','-simBegin','2007','-timeStepDuration','1', - '-groups', groupFile.getAbsolutePath(),'-env',envFile.getAbsolutePath(),'-observers',obsFile.getAbsolutePath(), - '-RNGStatusIndex', replicat - ] as String[] - -path = "aquaticWorld.aquaNismsGroupsList.0.processes.processesEachStep." - -Pilot.init() - -BatchRunner.parseArgs(arguments,false,true,false); - -BatchRunner.load(); -ReflectUtils.setFieldValueFromPath(Pilot.getInstance(), path+"0.nbWithNaturalDiet", nbIn); - -Pilot.run() -femaleInLastReproduction = ReflectUtils.getValueFromPath(Pilot.getInstance(),"aquaticWorld.aquaNismsGroupsList.0.getNumberOfFemaleInMaturation"); -femaleInReproductions = ReflectUtils.getValueFromPath(Pilot.getInstance(),"aquaticWorld.aquaNismsGroupsList.0.getFemaleSpawnersString"); -larvaeProductions = ReflectUtils.getValueFromPath(Pilot.getInstance(),"aquaticWorld.aquaNismsGroupsList.0.getLarvaeProductionString"); \ No newline at end of file diff --git a/.svn/pristine/69/69ae76376936d0f6f255b7510fbe974add550c00.svn-base b/.svn/pristine/69/69ae76376936d0f6f255b7510fbe974add550c00.svn-base deleted file mode 100644 index 0762ff0e519d6b516c39f96954d7427b0d10b55a..0000000000000000000000000000000000000000 --- a/.svn/pristine/69/69ae76376936d0f6f255b7510fbe974add550c00.svn-base +++ /dev/null @@ -1,142 +0,0 @@ -/** - * @author Patrick Lambert - * @copyright Copyright (c) 2014, Irstea - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - - */ -package species; - -import environment.Tanks; -import environment.Station; -import fr.cemagref.simaqualife.kernel.AquaNism; -import fr.cemagref.simaqualife.pilot.Pilot; - -/** - * - */ -public class Sturgeon extends AquaNism<Tanks, Station>{ - - public static enum Stage {IMMATURE, MATURE}; - public static enum Gender {FEMALE, MALE}; - public static enum Diet {NATURAL, MIXED}; - public static enum Status {NORMAL, DEFORMED}; - - private final int cohort; - private final Gender gender; - private final Diet diet; - private Stage stage; - private Status status; - private int age; - private String name; - - private int numberOfReproduction; - private double ageAtLastReproduction; - private boolean readyToSpawn; - - /** - * - * @param position - * @param stage - * @param gender - * @param diet - * @param isDeformed - */ - - public Sturgeon(Pilot pilot, Tanks position, int cohort, int age, Stage stage, Gender gender, Diet diet, - Status status, String name, double ageAtLastReproduction) { - super(pilot, position); - this.cohort = cohort; - this.age = age; - this.stage = stage; - this.gender = gender; - this.diet = diet; - this.status = status; - this.ageAtLastReproduction = ageAtLastReproduction; - this.name = name; - - this.numberOfReproduction = 0; - this.readyToSpawn = false; - } - - public Sturgeon(Pilot pilot, Tanks position, int cohort, int age, Stage stage, Gender gender, Diet diet, - Status status) { - this(pilot, position, cohort, age, stage, gender, diet, status, "", Double.NaN ); - } - - public Status getStatus() { - return status; - } - - public void setStatus(Status status) { - this.status = status; - } - - public Gender getGender() { - return gender; - } - - public Diet getDiet() { - return diet; - } - - public Stage getStage() { - return stage; - } - - public void setStage(Stage stage) { - this.stage = stage; - } - - public int getAge() { - return age; - } - - public void incrementAge(){ - this.age++; - } - - public int getCohort() { - return cohort; - } - - public String getBatchName(){ - return String.valueOf(this.getCohort()).concat("-").concat(this.getDiet().toString()); - } - - public int getNumberOfReproduction() { - return numberOfReproduction; - } - - public void incrementNumberOfReproduction() { - this.numberOfReproduction += 1; - } - - public double getAgeAtLastReproduction() { - return ageAtLastReproduction; - } - - public void setAgeAtLastReproduction() { - this.ageAtLastReproduction = this.age; - } - - public boolean isReadyToSpawn() { - return readyToSpawn; - } - - public void setReadyToSpawn(boolean readyToSpawn) { - this.readyToSpawn = readyToSpawn; - } - -} diff --git a/.svn/pristine/6a/6ab0a26199c4d28b30319d02f8fcffbc62beb770.svn-base b/.svn/pristine/6a/6ab0a26199c4d28b30319d02f8fcffbc62beb770.svn-base deleted file mode 100644 index 044f966e389267bcedd7bf291532a364c96e11b1..0000000000000000000000000000000000000000 --- a/.svn/pristine/6a/6ab0a26199c4d28b30319d02f8fcffbc62beb770.svn-base +++ /dev/null @@ -1,12 +0,0 @@ -Cohorte;Aliment Nat Exclusif;Age;survivant;normal;deform -2007;oui;6;73;72;1 -2007;non;6;76;57;19 -2008;oui;5;87;85;2 -2008;non;5;179;127;52 -2009;oui;4;36;35;1 -2009;non;4;88;62;26 -2011;oui;2;50;50;0 -2011;non;2;83;79;4 -2012;oui;1;27;27;0 -2012;non;1;25;25;0 -2013;oui;0;80;80;0 diff --git a/.svn/pristine/83/839d12205b3ef9fe5bbc8f128e4ce7e50d26e601.svn-base b/.svn/pristine/83/839d12205b3ef9fe5bbc8f128e4ce7e50d26e601.svn-base deleted file mode 100644 index 33abdc578e391acc809f752d1f03574ce395c15c..0000000000000000000000000000000000000000 --- a/.svn/pristine/83/839d12205b3ef9fe5bbc8f128e4ce7e50d26e601.svn-base +++ /dev/null @@ -1,66 +0,0 @@ -<list> - <species.SturgeonGroup> - <processes> - <processesAtBegin> - <species.PopulateWithActualCaptiveStock> - <synchronisationMode>ASYNCHRONOUS</synchronisationMode> - <sturgeonStockName>D:/workspace/SturioSaintSeurin/data/input/MaturationGeniteursJuin14.csv</sturgeonStockName> - <fishWithPb>true</fishWithPb> - <presentYear>2014</presentYear> - </species.PopulateWithActualCaptiveStock> - </processesAtBegin> - - <processesEachStep> - - <species.Deform> - <synchronisationMode>ASYNCHRONOUS</synchronisationMode> - <scaleDeform>0.3203588</scaleDeform> - <shapeDeform>6.55763282</shapeDeform> - <piDeformForNaturalDiet>0.05565945</piDeformForNaturalDiet> - <piDeformForMixedDiet>0.5463054</piDeformForMixedDiet> - </species.Deform> - - <species.Die> - <synchronisationMode>ASYNCHRONOUS</synchronisationMode> - <dieScaleForNormal>0.01877447</dieScaleForNormal> - <dieScaleForDeformed>0.40354444</dieScaleForDeformed> - <dieShape>1.0</dieShape> - </species.Die> - - <species.MatureWithTruncatedDistribution> - <synchronisationMode>ASYNCHRONOUS</synchronisationMode> - <probTruncature>0.01</probTruncature> - <femaleMeanAgeAtMaturation>16.4</femaleMeanAgeAtMaturation> - <femaleSdAgeAtMaturation>2.7</femaleSdAgeAtMaturation> - <femaleMeanInterSpawningInterval>4.0 - </femaleMeanInterSpawningInterval> - <maleMeanAgeAtMaturation>8.0</maleMeanAgeAtMaturation> - <maleSdAgeAtMaturation>1.4</maleSdAgeAtMaturation> - <maleMeanInterSpawningInterval>1.5</maleMeanInterSpawningInterval> - </species.MatureWithTruncatedDistribution> - - <species.ProduceLarvae> - <synchronisationMode>ASYNCHRONOUS</synchronisationMode> - <pi>0.75</pi> - <mu>4.347</mu> - <sigma>0.7806</sigma> - <maxProd>250.0</maxProd> - </species.ProduceLarvae> - - - <species.Age> - <synchronisationMode>ASYNCHRONOUS</synchronisationMode> - </species.Age> - - </processesEachStep> - - <processesAtEnd> - <species.Analyse> - <synchronisationMode>ASYNCHRONOUS</synchronisationMode> - </species.Analyse> - </processesAtEnd> - </processes> - - <useCemetery>false</useCemetery> - </species.SturgeonGroup> -</list> \ No newline at end of file diff --git a/.svn/pristine/88/88234ca9a82458ac8c31e81ade3dec2acef32c2f.svn-base b/.svn/pristine/88/88234ca9a82458ac8c31e81ade3dec2acef32c2f.svn-base deleted file mode 100644 index 29ab8ae0d4a542b6eeb6381bd7839c0d4bd69eed..0000000000000000000000000000000000000000 --- a/.svn/pristine/88/88234ca9a82458ac8c31e81ade3dec2acef32c2f.svn-base +++ /dev/null @@ -1,23 +0,0 @@ -/** - * Patrick.Lambert - * @author Patrick Lambert - * @copyright Copyright (c) 2014, Irstea - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - - */ -/** - * - */ -package species; \ No newline at end of file diff --git a/.svn/pristine/89/890cd70d2816e4a86c9e30d6bae6c34bec25bcaf.svn-base b/.svn/pristine/89/890cd70d2816e4a86c9e30d6bae6c34bec25bcaf.svn-base deleted file mode 100644 index 8c2ea43e939cf8a959353f254b18c7541288a997..0000000000000000000000000000000000000000 --- a/.svn/pristine/89/890cd70d2816e4a86c9e30d6bae6c34bec25bcaf.svn-base +++ /dev/null @@ -1,118 +0,0 @@ -/** - * Patrick.Lambert - * @author Patrick Lambert - * @copyright Copyright (c) 2014, Irstea - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - - */ -package species; - -import java.io.FileReader; -import java.util.Locale; -import java.util.Scanner; -import java.util.regex.Pattern; - -import species.Sturgeon.Diet; -import species.Sturgeon.Gender; -import species.Sturgeon.Stage; -import species.Sturgeon.Status; -import umontreal.iro.lecuyer.randvar.UniformGen; - -import com.thoughtworks.xstream.XStream; -import com.thoughtworks.xstream.io.xml.DomDriver; - -import fr.cemagref.simaqualife.kernel.processes.AquaNismsGroupProcess; -import fr.cemagref.simaqualife.kernel.util.TransientParameters.InitTransientParameters; -import fr.cemagref.simaqualife.pilot.Pilot; - -/** - * - */ -public class Populate extends AquaNismsGroupProcess<Sturgeon, SturgeonGroup> { - - private String sturgeonStockName ="data/input/stockSaintSeurin.csv"; - - private transient UniformGen genUniform; - - public static void main(String[] args) { System.out.println((new - XStream(new DomDriver())) .toXML(new Populate())); } - - @Override - @InitTransientParameters - public void initTransientParameters(Pilot pilot) { - genUniform = new UniformGen(pilot.getRandomStream(),0.,1.); - } - - /* (non-Javadoc) - * @see fr.cemagref.simaqualife.kernel.processes.Process#doProcess(java.lang.Object) - */ - @Override - public void doProcess(SturgeonGroup group) { - - int cohort, age, nbNormal, nbDeformed; - String alim; - - try { - // open the file - FileReader reader = new FileReader(sturgeonStockName); - - // Parsing the file - Scanner scanner = new Scanner(reader); - scanner.useLocale(Locale.ENGLISH); // to have a comma as decimal separator !!! - scanner.useDelimiter(Pattern.compile("(;|\r\n|\n)")); - - // skip the first line - scanner.nextLine(); - //System.out.println(scanner.nextLine()); - while (scanner.hasNext()) { - cohort = scanner.nextInt(); - alim= scanner.next(); - age = scanner.nextInt(); - scanner.next(); // skip nb survival - nbNormal = scanner.nextInt(); - nbDeformed = scanner.nextInt(); - - // normal fish - for (int i=0; i < nbNormal; i++){ - Sturgeon sturgeon = new Sturgeon(group.getPilot(), group.getEnvironment().getTanks(), cohort, age, Stage.IMMATURE, - (genUniform.nextDouble() <0.5) ? Gender.FEMALE : Gender.MALE, - (alim.equalsIgnoreCase("oui")) ? Diet.NATURAL : Diet.MIXED, - Status.NORMAL); - group.addAquaNism(sturgeon); - } - // deformed fish - for (int i=0; i < nbDeformed; i++){ - Sturgeon sturgeon = new Sturgeon(group.getPilot(), group.getEnvironment().getTanks(), cohort, age, Stage.IMMATURE, - (genUniform.nextDouble() <0.5) ? Gender.FEMALE : Gender.MALE, - (alim.equalsIgnoreCase("oui")) ? Diet.NATURAL : Diet.MIXED, - Status.DEFORMED); - group.addAquaNism(sturgeon); - } - } - scanner.close(); - reader.close(); - } - catch (Exception e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - - //System.out.println(group.getFishNumber()); - //group.printNumberInBatches(); - - } - - -} diff --git a/.svn/pristine/96/960e25840b92b7ffb0b4e12474e6e08d0a9871a3.svn-base b/.svn/pristine/96/960e25840b92b7ffb0b4e12474e6e08d0a9871a3.svn-base deleted file mode 100644 index 2a990e6b4c4374f07a223062bdff42324553b35b..0000000000000000000000000000000000000000 --- a/.svn/pristine/96/960e25840b92b7ffb0b4e12474e6e08d0a9871a3.svn-base +++ /dev/null @@ -1,80 +0,0 @@ -/** - * Patrick.Lambert - * @author Patrick Lambert - * @copyright Copyright (c) 2014, Irstea - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - - */ -package species; - -import com.thoughtworks.xstream.XStream; -import com.thoughtworks.xstream.io.xml.DomDriver; - -import species.Sturgeon.Diet; -import species.Sturgeon.Status; -import umontreal.iro.lecuyer.probdist.GammaDist; -import umontreal.iro.lecuyer.randvar.UniformGen; -import fr.cemagref.simaqualife.kernel.processes.AquaNismsGroupProcess; -import fr.cemagref.simaqualife.kernel.util.TransientParameters.InitTransientParameters; -import fr.cemagref.simaqualife.pilot.Pilot; - -/** - * - */ -public class Deform extends AquaNismsGroupProcess<Sturgeon, SturgeonGroup> { - - private double scaleDeform = 0.3203588; // as in R: (inverse in in Lecuyer) - private double shapeDeform = 6.55763282; - private double piDeformForNaturalDiet = 0.05565945; - private double piDeformForMixedDiet = 0.5463054; - - private transient UniformGen genUniform; - private transient GammaDist gammaDist; - - public static void main(String[] args) { System.out.println((new - XStream(new DomDriver())) .toXML(new Deform())); } - - @Override - @InitTransientParameters - public void initTransientParameters(Pilot pilot) { - genUniform = new UniformGen( pilot.getRandomStream(),0.,1.); - gammaDist = new GammaDist(shapeDeform, 1/scaleDeform); - } - - /* (non-Javadoc) - * @see fr.cemagref.simaqualife.kernel.processes.Process#doProcess(java.lang.Object) - */ - @Override - public void doProcess(SturgeonGroup stock) { - for (Sturgeon fish : stock.getAquaNismsList()){ - if (fish.getStatus() == Status.NORMAL){ - //System.out.println(" "+fish.getAge()+" : " + getProbaToDeform(fish)); - if (genUniform.nextDouble() < getProbaToDeform(stock.getPilot(), fish)){ - fish.setStatus(Status.DEFORMED); - } - } - } - } - - public double getProbaToDeform(Pilot pilot, Sturgeon fish){ - double proba=0.; - double pi = (fish.getDiet() == Diet.NATURAL) ? piDeformForNaturalDiet : piDeformForMixedDiet; - double probaT = gammaDist.cdf(fish.getAge()); - double probaTplus = gammaDist.cdf(fish.getAge() + pilot.getTimeStepDuration()); - proba = pi * (probaTplus - probaT) / (1 - pi * probaT); - return proba; - } - -} diff --git a/.svn/pristine/97/9712c4489898442d011ad0dad23fc8a4dec8d7b7.svn-base b/.svn/pristine/97/9712c4489898442d011ad0dad23fc8a4dec8d7b7.svn-base deleted file mode 100644 index 6f74d819d7d3cda439547e5b9fb10016ba682688..0000000000000000000000000000000000000000 --- a/.svn/pristine/97/9712c4489898442d011ad0dad23fc8a4dec8d7b7.svn-base +++ /dev/null @@ -1,58 +0,0 @@ -<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> - <modelVersion>4.0.0</modelVersion> - <groupId>SturioSaintSeurin</groupId> - <artifactId>SturioSaintSeurin</artifactId> - <version>0.0.1-SNAPSHOT</version> - <build> - <sourceDirectory>src</sourceDirectory> - <plugins> - <plugin> - <artifactId>maven-compiler-plugin</artifactId> - <version>3.1</version> - <configuration> - <source>1.7</source> - <target>1.7</target> - </configuration> - </plugin> - - <plugin> - <groupId>org.apache.felix</groupId> - <artifactId>maven-bundle-plugin</artifactId> - <extensions>true</extensions> - <configuration> - <manifestLocation>target/META-INF</manifestLocation> - <finalName>${symbolic.name}_${project.version}</finalName> - <instructions> - <Bundle-Name>${project.groupId}.${project.artifactId}</Bundle-Name> - <Bundle-SymbolicName>${project.groupId}.${project.artifactId}</Bundle-SymbolicName> - <Import-Package>*;resolution:=optional</Import-Package> - <Export-Package>fr.cemagref.simaqualife.extensions.pilot.BatchRunner;fr.cemagref.simaqualife.*;miscellaneous.*</Export-Package> - <Embed-Dependency>*;scope=!provided;inline=true</Embed-Dependency> - <Embed-Transitive>true</Embed-Transitive> - <eclipse.buddypolicy>global</eclipse.buddypolicy> - </instructions> - </configuration> - </plugin> - </plugins> - </build> - <dependencies> - <dependency> - <groupId>fr.cemagref</groupId> - <artifactId>simaqualife</artifactId> - <version>1.4</version> - </dependency> - </dependencies> - - <repositories> - <repository> - <id>trac.clermont.cemagref.fr.nexus.public</id> - <url>http://trac.clermont.cemagref.fr/nexus/content/groups/public</url> - </repository> - <repository> - <id>trac.clermont.cemagref.fr.nexus.snapshots</id> - <url>http://trac.clermont.cemagref.fr/nexus/content/repositories/snapshots</url> - </repository> - </repositories> - -</project> \ No newline at end of file diff --git a/.svn/pristine/9c/9c52379c20f0afbc186e26cb897f085366a789e9.svn-base b/.svn/pristine/9c/9c52379c20f0afbc186e26cb897f085366a789e9.svn-base deleted file mode 100644 index 0f0d0c5cecc7eba51c19f1ffffcdc558fb5d2b15..0000000000000000000000000000000000000000 --- a/.svn/pristine/9c/9c52379c20f0afbc186e26cb897f085366a789e9.svn-base +++ /dev/null @@ -1,69 +0,0 @@ -<list> - <species.SturgeonGroup> - <processes> - <processesAtBegin> - - </processesAtBegin> - - <processesEachStep> - <species.Enter> - <synchronisationMode>ASYNCHRONOUS</synchronisationMode> - <nbWithNaturalDiet>40</nbWithNaturalDiet> - <nbWithMixedDiet>0</nbWithMixedDiet> - </species.Enter> - - <species.Deform> - <synchronisationMode>ASYNCHRONOUS</synchronisationMode> - <scaleDeform>0.3203588</scaleDeform> - <shapeDeform>6.55763282</shapeDeform> - <piDeformForNaturalDiet>0.05565945</piDeformForNaturalDiet> - <piDeformForMixedDiet>0.5463054</piDeformForMixedDiet> - </species.Deform> - - <species.DieByAccident> - <synchronisationMode>ASYNCHRONOUS</synchronisationMode> - <probaAccident>0.65</probaAccident> - <dieScaleAccident>11.85746</dieScaleAccident> - </species.DieByAccident> - - <species.Die> - <synchronisationMode>ASYNCHRONOUS</synchronisationMode> - <dieScaleForNormal>0.01877447</dieScaleForNormal> - <dieScaleForDeformed>0.40354444</dieScaleForDeformed> - <dieShape>1.0</dieShape> - </species.Die> - - <species.MatureWithTruncatedDistribution> - <synchronisationMode>ASYNCHRONOUS</synchronisationMode> - <probTruncature>0.01</probTruncature> - <femaleMeanAgeAtMaturation>16.4</femaleMeanAgeAtMaturation> - <femaleSdAgeAtMaturation>2.7</femaleSdAgeAtMaturation> - <femaleMeanInterSpawningInterval>4.0 - </femaleMeanInterSpawningInterval> - <maleMeanAgeAtMaturation>8.0</maleMeanAgeAtMaturation> - <maleSdAgeAtMaturation>1.4</maleSdAgeAtMaturation> - <maleMeanInterSpawningInterval>1.5</maleMeanInterSpawningInterval> - </species.MatureWithTruncatedDistribution> - - <species.ProduceLarvae> - <synchronisationMode>ASYNCHRONOUS</synchronisationMode> - <pi>0.75</pi> - <mu>4.347</mu> - <sigma>0.7806</sigma> - <maxProd>250.0</maxProd> - </species.ProduceLarvae> - - - <species.Age> - <synchronisationMode>ASYNCHRONOUS</synchronisationMode> - </species.Age> - - </processesEachStep> - - <processesAtEnd> - </processesAtEnd> - </processes> - - <useCemetery>false</useCemetery> - </species.SturgeonGroup> -</list> \ No newline at end of file diff --git a/.svn/pristine/a1/a112be21c325d37ebc17baafd40c0386b5d09df1.svn-base b/.svn/pristine/a1/a112be21c325d37ebc17baafd40c0386b5d09df1.svn-base deleted file mode 100644 index 14b697b7bbb0d85e8d8ee19141a2a92d9ce211be..0000000000000000000000000000000000000000 --- a/.svn/pristine/a1/a112be21c325d37ebc17baafd40c0386b5d09df1.svn-base +++ /dev/null @@ -1,4 +0,0 @@ -activeProfiles= -eclipse.preferences.version=1 -resolveWorkspaceProjects=true -version=1 diff --git a/.svn/pristine/a1/a1445bee6c80c4ba1df383b332984d83c507d474.svn-base b/.svn/pristine/a1/a1445bee6c80c4ba1df383b332984d83c507d474.svn-base deleted file mode 100644 index 171c83a5a1c0c54f76899857d37af407a1be826e..0000000000000000000000000000000000000000 --- a/.svn/pristine/a1/a1445bee6c80c4ba1df383b332984d83c507d474.svn-base +++ /dev/null @@ -1,80 +0,0 @@ -/** - * Patrick.Lambert - * @author Patrick Lambert - * @copyright Copyright (c) 2014, Irstea - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - - */ -package species; - -import com.thoughtworks.xstream.XStream; -import com.thoughtworks.xstream.io.xml.DomDriver; - -import species.Sturgeon.Gender; -import umontreal.iro.lecuyer.probdist.LognormalDist; -import umontreal.iro.lecuyer.probdist.NormalDist; -import umontreal.iro.lecuyer.randvar.LognormalGen; -import umontreal.iro.lecuyer.randvar.NormalGen; -import fr.cemagref.simaqualife.kernel.processes.AquaNismsGroupProcess; -import fr.cemagref.simaqualife.pilot.Pilot; - -/** - * - */ -public class ProduceLarvae extends AquaNismsGroupProcess<Sturgeon, SturgeonGroup> { - - private double pi=.75; - private double mu=4.3470; - private double sigma=0.7806; - private double maxProd=250.; - transient NormalGen genAleaNormal; - transient LognormalGen genAleaLognormal; - - @Override - public void initTransientParameters(Pilot pilot) { - super.initTransientParameters(pilot); - - genAleaNormal = new NormalGen(pilot.getRandomStream(), new NormalDist(0.,1.)); - genAleaLognormal = new LognormalGen(pilot.getRandomStream(), new LognormalDist(mu, sigma)); - } - - public static void main(String[] args) { System.out.println((new - XStream(new DomDriver())) .toXML(new ProduceLarvae())); } - - - /* (non-Javadoc) - * @see fr.cemagref.simaqualife.kernel.processes.Process#doProcess(java.lang.Object) - */ - @Override - public void doProcess(SturgeonGroup group) { - int nbFemale=0; - double nbLarvae=0.; // in thousound of fish - for (Sturgeon fish : group.getAquaNismsList()){ - if (fish.getGender() == Gender.FEMALE & fish.isReadyToSpawn()){ - nbFemale++; - - if (genAleaNormal.nextDouble()<pi){ - double nlarvae=Math.min(maxProd,genAleaLognormal.nextDouble()); - nbLarvae +=nlarvae; - //System.out.println(nlarvae); - } - } - } - group.getFemaleSpawnerNbHistory().add(nbFemale); - group.getLarvaeProductionHistory().add(nbLarvae); - group.setAnnualLarvaeProduction(nbLarvae); - } - -} diff --git a/.svn/pristine/a1/a1c6e6d38346e9008f73c721f76668cee1c0f01e.svn-base b/.svn/pristine/a1/a1c6e6d38346e9008f73c721f76668cee1c0f01e.svn-base deleted file mode 100644 index d99be8476629add70ea15347b29cbc3b7fc2ba6a..0000000000000000000000000000000000000000 --- a/.svn/pristine/a1/a1c6e6d38346e9008f73c721f76668cee1c0f01e.svn-base +++ /dev/null @@ -1,95 +0,0 @@ -/** - * Patrick.Lambert - * @author Patrick Lambert - * @copyright Copyright (c) 2014, Irstea - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - - */ -package species; - -import java.util.ArrayList; -import java.util.List; - -import com.thoughtworks.xstream.XStream; -import com.thoughtworks.xstream.io.xml.DomDriver; - - -import species.Sturgeon.Status; -import umontreal.iro.lecuyer.probdist.WeibullDist; -import umontreal.iro.lecuyer.randvar.UniformGen; -import fr.cemagref.simaqualife.kernel.processes.AquaNismsGroupProcess; -import fr.cemagref.simaqualife.kernel.util.TransientParameters.InitTransientParameters; -import fr.cemagref.simaqualife.pilot.Pilot; - -/** - * - */ -public class Die extends AquaNismsGroupProcess<Sturgeon, SturgeonGroup> { - - private double dieScaleForNormal = 0.01877447; - private double dieScaleForDeformed = 0.40354444; - private double dieShape = 1.; - - private transient UniformGen genUniform; - private transient WeibullDist weibullDistForNormal; - private transient WeibullDist weibullDistForDeformed; - - public static void main(String[] args) { System.out.println((new - XStream(new DomDriver())) .toXML(new Die())); } - - @Override - @InitTransientParameters - public void initTransientParameters(Pilot pilot) { - genUniform = new UniformGen( pilot.getRandomStream(),0.,1.); - weibullDistForNormal = new WeibullDist(dieShape, dieScaleForNormal, 0.); - weibullDistForDeformed = new WeibullDist(dieShape, dieScaleForDeformed, 0.); - } - - /* (non-Javadoc) - * @see fr.cemagref.simaqualife.kernel.processes.Process#doProcess(java.lang.Object) - */ - @Override - public void doProcess(SturgeonGroup stock) { - List<Sturgeon> deadFish = new ArrayList<Sturgeon>(); - for (Sturgeon fish : stock.getAquaNismsList()){ - //System.out.println(fish.getAge()+":"+getProbaToDie(fish)); - if (genUniform.nextDouble() < getProbaToDie(stock.getPilot(), fish)){ - deadFish.add(fish); - } - } - // remove fish from the list - for (Sturgeon fish : deadFish){ - stock.removeAquaNism(fish); - } - - //stock.printNumberInBatches(); - } - - public double getProbaToDie(Pilot pilot, Sturgeon fish){ - double probaT, probaTplus; - if (fish.getStatus() == Status.DEFORMED){ - probaT = weibullDistForDeformed.cdf(fish.getAge()); - probaTplus = weibullDistForDeformed.cdf(fish.getAge() + pilot.getTimeStepDuration()); - } - else { - probaT = weibullDistForNormal.cdf(fish.getAge()); - probaTplus = weibullDistForNormal.cdf(fish.getAge() + pilot.getTimeStepDuration()); - } - - return ((probaTplus - probaT) / (1 - probaT)); - - } - -} diff --git a/.svn/pristine/a4/a480ba770bb5c18ee3c407f189a2451ff6e0e186.svn-base b/.svn/pristine/a4/a480ba770bb5c18ee3c407f189a2451ff6e0e186.svn-base deleted file mode 100644 index 99465e1c94293ea89374b46b26a9258f89be3ad5..0000000000000000000000000000000000000000 --- a/.svn/pristine/a4/a480ba770bb5c18ee3c407f189a2451ff6e0e186.svn-base +++ /dev/null @@ -1,3 +0,0 @@ -<environment.Station> - -</environment.Station> \ No newline at end of file diff --git a/.svn/pristine/ad/adfb7cb2023625e3c8ba6ccdbd4a5982933751d8.svn-base b/.svn/pristine/ad/adfb7cb2023625e3c8ba6ccdbd4a5982933751d8.svn-base deleted file mode 100644 index 4014af0aa4b417600257dc7fcd20f582fd2574b4..0000000000000000000000000000000000000000 --- a/.svn/pristine/ad/adfb7cb2023625e3c8ba6ccdbd4a5982933751d8.svn-base +++ /dev/null @@ -1,23 +0,0 @@ -package miscellaneous; - -import umontreal.iro.lecuyer.probdist.GammaDist; - -public class TruncatedGammaDist { - - private final double probTroncature; - private GammaDist gammaDist; - - public TruncatedGammaDist(double alpha, double lambda, double probTroncature) { - gammaDist = new GammaDist(alpha, lambda); - this.probTroncature = probTroncature; - } - - public double cdf(double x) { - return Math.max(0, (gammaDist.cdf(x)- probTroncature) / (1-probTroncature)); - } - - public double getXTrucature(){ - return gammaDist.inverseF(probTroncature); - } - -} diff --git a/.svn/pristine/c0/c0cd8a1ebd097b94487ff2b13441cbe94a9509f6.svn-base b/.svn/pristine/c0/c0cd8a1ebd097b94487ff2b13441cbe94a9509f6.svn-base deleted file mode 100644 index d5a82718c98a8fe79ff1620c3563730b1220289f..0000000000000000000000000000000000000000 --- a/.svn/pristine/c0/c0cd8a1ebd097b94487ff2b13441cbe94a9509f6.svn-base +++ /dev/null @@ -1,76 +0,0 @@ -package miscellaneous; - -import java.util.concurrent.ArrayBlockingQueue; - -public class QueueMemory<E> extends ArrayBlockingQueue<E> { - - private int memorySize; - - public QueueMemory(int memorySize) { - super(memorySize); - this.memorySize = memorySize; - } - - public void push(E item){ - try { - if (this.size() == this.memorySize){ - this.poll(); - } - this.put(item); - } catch (InterruptedException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - } - - public E getLastItem(){ - E[] items= (E[]) this.toArray(); - if (items.length > 0) - return items[items.length-1]; - else - return null; - } - - public double getMean(){ - double sum= 0; - for (E item : this){ - sum += this.doubleValue(item); - } - sum = sum / memorySize ; - return (sum); - } - - public double getGeometricMean(){ - double sum= 0; - for (E item : this){ - sum += Math.log(this.doubleValue(item)); - } - return (Math.exp(sum / memorySize)); - } - - public double getStandartDeviation(){ - double mean= this.getMean(); - double sse= 0; - for (E item : this){ - sse += Math.pow(this.doubleValue(item) - mean, 2.); - } - return (Math.sqrt(sse /(memorySize -1.))); - } - - public double getCoefficientVariation(){ - return (this.getStandartDeviation() / this.getMean()); - } - - private double doubleValue(E item){ - if (item instanceof Double) - return ((Double) item); - else if (item instanceof Float) - return ((Float) item).doubleValue(); - else if (item instanceof Long) - return ((Long) item).doubleValue(); - else if (item instanceof Integer) - return ((Integer) item).doubleValue(); - else - return Double.NaN; - } -} diff --git a/.svn/pristine/ce/ce816ea457800c0961dac1151087ae25753ac0ab.svn-base b/.svn/pristine/ce/ce816ea457800c0961dac1151087ae25753ac0ab.svn-base deleted file mode 100644 index dbf82ad7810fe2addb8d6676f96c355ac8416dcf..0000000000000000000000000000000000000000 --- a/.svn/pristine/ce/ce816ea457800c0961dac1151087ae25753ac0ab.svn-base +++ /dev/null @@ -1,20 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<classpath> - <classpathentry kind="src" output="target/classes" path="src"> - <attributes> - <attribute name="optional" value="true"/> - <attribute name="maven.pomderived" value="true"/> - </attributes> - </classpathentry> - <classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER"> - <attributes> - <attribute name="maven.pomderived" value="true"/> - </attributes> - </classpathentry> - <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"> - <attributes> - <attribute name="maven.pomderived" value="true"/> - </attributes> - </classpathentry> - <classpathentry kind="output" path="target/classes"/> -</classpath> diff --git a/.svn/pristine/d1/d10271adacf2a350183ab3df355b7f4bb5163568.svn-base b/.svn/pristine/d1/d10271adacf2a350183ab3df355b7f4bb5163568.svn-base deleted file mode 100644 index 024296666b69b23e0fef6c155b60090d1481a395..0000000000000000000000000000000000000000 --- a/.svn/pristine/d1/d10271adacf2a350183ab3df355b7f4bb5163568.svn-base +++ /dev/null @@ -1,45 +0,0 @@ -/** - * Patrick.Lambert - * @author Patrick Lambert - * @copyright Copyright (c) 2014, Irstea - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - - */ -package species; - -import com.thoughtworks.xstream.XStream; -import com.thoughtworks.xstream.io.xml.DomDriver; - -import fr.cemagref.simaqualife.kernel.processes.AquaNismsGroupProcess; - -/** - * - */ -public class Age extends AquaNismsGroupProcess<Sturgeon, SturgeonGroup> { - - public static void main(String[] args) { System.out.println((new - XStream(new DomDriver())) .toXML(new Age())); } - - /* (non-Javadoc) - * @see fr.cemagref.simaqualife.kernel.processes.Process#doProcess(java.lang.Object) - */ - @Override - public void doProcess(SturgeonGroup stock) { - for (Sturgeon fish : stock.getAquaNismsList()){ - fish.incrementAge(); - } - } - -} diff --git a/.svn/pristine/d4/d4a815491319c64e6bb16de9ec68d1f39bd923a3.svn-base b/.svn/pristine/d4/d4a815491319c64e6bb16de9ec68d1f39bd923a3.svn-base deleted file mode 100644 index 06afb5207c40155549ef5ee39fdbbad76a8beaf7..0000000000000000000000000000000000000000 --- a/.svn/pristine/d4/d4a815491319c64e6bb16de9ec68d1f39bd923a3.svn-base +++ /dev/null @@ -1,45 +0,0 @@ -/** - * Patrick.Lambert - * @author Patrick Lambert - * @copyright Copyright (c) 2014, Irstea - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - - */ -package species; - -import com.thoughtworks.xstream.XStream; -import com.thoughtworks.xstream.io.xml.DomDriver; - -import fr.cemagref.simaqualife.kernel.processes.AquaNismsGroupProcess; - -/** - * - */ -public class Analyse extends AquaNismsGroupProcess<Sturgeon, SturgeonGroup> { - - /* (non-Javadoc) - * @see fr.cemagref.simaqualife.kernel.processes.Process#doProcess(java.lang.Object) - */ - @Override - public void doProcess(SturgeonGroup group) { - // TODO Auto-generated method stub - System.out.println(group.getLarvaeProductionString()); - System.out.println(group.getFemaleSpawnersString()); - } - - public static void main(String[] args) { System.out.println((new - XStream(new DomDriver())) .toXML(new Analyse())); } - -} diff --git a/.svn/pristine/d6/d6dad07ac6f2338d6acaf267057c979e724ebe64.svn-base b/.svn/pristine/d6/d6dad07ac6f2338d6acaf267057c979e724ebe64.svn-base deleted file mode 100644 index 96dfd26c2ebf2348121d9e2286e8ff04b05f36b1..0000000000000000000000000000000000000000 --- a/.svn/pristine/d6/d6dad07ac6f2338d6acaf267057c979e724ebe64.svn-base +++ /dev/null @@ -1,138 +0,0 @@ -/** - * - */ -package species; - -import miscellaneous.TruncatedGammaDist; - -import org.openide.util.lookup.ServiceProvider; - -import species.Sturgeon.Gender; -import species.Sturgeon.Stage; -import umontreal.iro.lecuyer.probdist.PoissonDist; -import umontreal.iro.lecuyer.randvar.UniformGen; - -import com.thoughtworks.xstream.XStream; -import com.thoughtworks.xstream.io.xml.DomDriver; - -import fr.cemagref.simaqualife.kernel.processes.AquaNismsGroupProcess; -import fr.cemagref.simaqualife.kernel.util.TransientParameters.InitTransientParameters; -import fr.cemagref.simaqualife.pilot.Pilot; - -/** - * @author Patrick.Lambert - * - */ - -@ServiceProvider(service = AquaNismsGroupProcess.class) -public class MatureWithTruncatedDistribution extends -AquaNismsGroupProcess<Sturgeon, SturgeonGroup> { - - - private double probTruncature = 0.01; - - private double femaleMeanAgeAtMaturation = 16.4; // in year - private double femaleSdAgeAtMaturation = 2.7; - private double femaleMeanInterSpawningInterval = 4.; - - private double maleMeanAgeAtMaturation = 8; // in year - private double maleSdAgeAtMaturation = 1.4; - private double maleMeanInterSpawningInterval = 1.5; - - private transient double lag; - private transient TruncatedGammaDist femaleMaturationDist; - private transient TruncatedGammaDist maleMaturationDist; - private transient PoissonDist femaleInterSpawningIntervalDist; - private transient PoissonDist maleInterSpawningIntervalDist; - private transient UniformGen genUniform; - - public static void main(String[] args) { System.out.println((new - XStream(new DomDriver())) .toXML(new MatureWithTruncatedDistribution())); } - - @Override - @InitTransientParameters - public void initTransientParameters(Pilot pilot) { - genUniform = new UniformGen(pilot.getRandomStream(),0.,1.); - - // for female first maturation - double alpha, lambda; - alpha = Math.pow( femaleMeanAgeAtMaturation / femaleSdAgeAtMaturation, 2); - lambda = femaleMeanAgeAtMaturation /Math.pow(femaleSdAgeAtMaturation, 2); - femaleMaturationDist = new TruncatedGammaDist(alpha, lambda, probTruncature); - - // for male first maturation - alpha = Math.pow(maleMeanAgeAtMaturation / maleSdAgeAtMaturation, 2); - lambda = maleMeanAgeAtMaturation / Math.pow(maleSdAgeAtMaturation, 2); - maleMaturationDist = new TruncatedGammaDist(alpha, lambda, probTruncature); - - // interval between maturation - lag =1.; // to avoid forgetting the proba for interval =0 - femaleInterSpawningIntervalDist = new PoissonDist(femaleMeanInterSpawningInterval-lag); - maleInterSpawningIntervalDist = new PoissonDist(maleMeanInterSpawningInterval-lag); - - } - - @Override - public void doProcess(SturgeonGroup group) { - - double age, laggedTimeFromLastReproduction, probaToMature; - - for (Sturgeon fish : group.getAquaNismsList()) { - age = fish.getAge(); - - // new maturation - if (fish.getStage() == Stage.MATURE){ - laggedTimeFromLastReproduction = age - fish.getAgeAtLastReproduction() - lag; - if (fish.getGender() == Gender.FEMALE){ - probaToMature = (femaleInterSpawningIntervalDist.cdf(laggedTimeFromLastReproduction) - - femaleInterSpawningIntervalDist.cdf(laggedTimeFromLastReproduction -1.)) - / (1 - femaleInterSpawningIntervalDist.cdf(laggedTimeFromLastReproduction - 1.)); - } - else { - probaToMature = (maleInterSpawningIntervalDist.cdf(laggedTimeFromLastReproduction) - - maleInterSpawningIntervalDist.cdf(laggedTimeFromLastReproduction -1.)) - / (1 - maleInterSpawningIntervalDist.cdf(laggedTimeFromLastReproduction - 1.)); - } - - // - if (genUniform.nextDouble() < probaToMature){ - fish.setReadyToSpawn(true); - fish.setAgeAtLastReproduction(); - } - else { - fish.setReadyToSpawn(false); - } - } - // first maturation - else { - if (fish.getGender() == Gender.FEMALE){ - // compute the prob to mature between age and age-1 - // knowing that it was not mature before - probaToMature = (femaleMaturationDist.cdf(age) - femaleMaturationDist.cdf(age -1.)) - / (1 - femaleMaturationDist.cdf(age - 1.)); - } - else { - probaToMature = (maleMaturationDist.cdf(age) - maleMaturationDist.cdf(age -1.)) - / (1 - maleMaturationDist.cdf(age - 1.)); - } - //System.out.println(fish.getGender() +": "+fish.getAge() + "-->"+ probaToMature); - - if (genUniform.nextDouble() < probaToMature){ - fish.setStage(Stage.MATURE); - fish.setReadyToSpawn(true); - fish.setAgeAtLastReproduction(); - } - } - } - -/* int nb=0; - for (Sturgeon fish : group.getAquaNismsList()){ - if (fish.getGender() == Gender.FEMALE & fish.isReadyToSpawn()){ - nb++; - } - } - group.getFemaleSpawnerNbHistory().add(nb);*/ - } - //System.out.println(this.getClass()+ " is finished"); -} - diff --git a/.svn/pristine/e1/e1d718cd7e12cadaf53b18520d4255b15150f25e.svn-base b/.svn/pristine/e1/e1d718cd7e12cadaf53b18520d4255b15150f25e.svn-base deleted file mode 100644 index ebc65b121b24f46d192f536c51d4f37007f16e0f..0000000000000000000000000000000000000000 --- a/.svn/pristine/e1/e1d718cd7e12cadaf53b18520d4255b15150f25e.svn-base +++ /dev/null @@ -1,72 +0,0 @@ -<list> - <species.SturgeonGroup> - <processes> - <processesAtBegin> - <species.PopulateWithActualCaptiveStock> - <synchronisationMode>ASYNCHRONOUS</synchronisationMode> - <sturgeonStockName>D:/workspace/SturioSaintSeurin/data/input/MaturationGeniteursJuin14.csv</sturgeonStockName> - <fishWithPb>true</fishWithPb> - <presentYear>2014</presentYear> - </species.PopulateWithActualCaptiveStock> - </processesAtBegin> - - <processesEachStep> - - <species.Deform> - <synchronisationMode>ASYNCHRONOUS</synchronisationMode> - <scaleDeform>0.3203588</scaleDeform> - <shapeDeform>6.55763282</shapeDeform> - <piDeformForNaturalDiet>0.05565945</piDeformForNaturalDiet> - <piDeformForMixedDiet>0.5463054</piDeformForMixedDiet> - </species.Deform> - - <species.DieByAccident> - <synchronisationMode>ASYNCHRONOUS</synchronisationMode> - <probaAccident>0.65</probaAccident> - <dieScaleAccident>11.85746</dieScaleAccident> - </species.DieByAccident> - - <species.Die> - <synchronisationMode>ASYNCHRONOUS</synchronisationMode> - <dieScaleForNormal>0.01877447</dieScaleForNormal> - <dieScaleForDeformed>0.40354444</dieScaleForDeformed> - <dieShape>1.0</dieShape> - </species.Die> - - <species.MatureWithTruncatedDistribution> - <synchronisationMode>ASYNCHRONOUS</synchronisationMode> - <probTruncature>0.01</probTruncature> - <femaleMeanAgeAtMaturation>16.4</femaleMeanAgeAtMaturation> - <femaleSdAgeAtMaturation>2.7</femaleSdAgeAtMaturation> - <femaleMeanInterSpawningInterval>4.0 - </femaleMeanInterSpawningInterval> - <maleMeanAgeAtMaturation>8.0</maleMeanAgeAtMaturation> - <maleSdAgeAtMaturation>1.4</maleSdAgeAtMaturation> - <maleMeanInterSpawningInterval>1.5</maleMeanInterSpawningInterval> - </species.MatureWithTruncatedDistribution> - - <species.ProduceLarvae> - <synchronisationMode>ASYNCHRONOUS</synchronisationMode> - <pi>0.75</pi> - <mu>4.347</mu> - <sigma>0.7806</sigma> - <maxProd>250.0</maxProd> - </species.ProduceLarvae> - - - <species.Age> - <synchronisationMode>ASYNCHRONOUS</synchronisationMode> - </species.Age> - - </processesEachStep> - - <processesAtEnd> - <species.Analyse> - <synchronisationMode>ASYNCHRONOUS</synchronisationMode> - </species.Analyse> - </processesAtEnd> - </processes> - - <useCemetery>false</useCemetery> - </species.SturgeonGroup> -</list> \ No newline at end of file diff --git a/.svn/pristine/e3/e3327ad96e179b6763c9a7ef5402ccfe04a5f1f0.svn-base b/.svn/pristine/e3/e3327ad96e179b6763c9a7ef5402ccfe04a5f1f0.svn-base deleted file mode 100644 index 8a3975a672a9b7df8f97b5819ce676e94a572630..0000000000000000000000000000000000000000 --- a/.svn/pristine/e3/e3327ad96e179b6763c9a7ef5402ccfe04a5f1f0.svn-base +++ /dev/null @@ -1,38 +0,0 @@ -<hashtable> - <entry> - <java-class>species.SturgeonGroup</java-class> - <fr.cemagref.observation.kernel.ObservablesHandler> - <observers> - <fr.cemagref.observation.observers.jfreechart.TemporalSerieChart> - <graphType>LINE</graphType> - <title>Total Abundance</title> - <xAxisLabel>Time (year)</xAxisLabel> - <yAxisLabel>number of fish</yAxisLabel> - <variableName>getFishNumber</variableName> - </fr.cemagref.observation.observers.jfreechart.TemporalSerieChart> - - <fr.cemagref.observation.observers.jfreechart.TemporalSerieChart> - <graphType>LINE</graphType> - <title>Total Larvae production</title> - <xAxisLabel>Time (year)</xAxisLabel> - <yAxisLabel>annual number of larvae</yAxisLabel> - <variableName>getAnnualLarvaeProduction</variableName> - </fr.cemagref.observation.observers.jfreechart.TemporalSerieChart> - - <observer.MyCSVObserver> - <separator>;</separator> - <sysout>true</sysout> - <outputFile>data/output/totalAbundance.csv</outputFile> - <observables> - <string>getNormalFishNumber</string> - <string>getDeformedFishNumber</string> - <string>getNumberOfMaleInMaturation</string> - <string>getNumberOfFemaleInMaturation</string> - <string>getAnnualLarvaeProduction</string> - </observables> - </observer.MyCSVObserver> - - </observers> - </fr.cemagref.observation.kernel.ObservablesHandler> - </entry> -</hashtable> \ No newline at end of file diff --git a/.svn/pristine/e5/e506a5bff87cde0595b5024f67733ea8122261cc.svn-base b/.svn/pristine/e5/e506a5bff87cde0595b5024f67733ea8122261cc.svn-base deleted file mode 100644 index 323365d9ba12a852c16bdbfa32eb44b060d796ec..0000000000000000000000000000000000000000 --- a/.svn/pristine/e5/e506a5bff87cde0595b5024f67733ea8122261cc.svn-base +++ /dev/null @@ -1,25 +0,0 @@ - -obsFile = newFile(); -obsFile << "<hashtable></hashtable>"; - -arguments = ['-simDuration','36','-simBegin','2015','-timeStepDuration','1', - '-groups', groupFile.getAbsolutePath(),'-env',envFile.getAbsolutePath(),'-observers',obsFile.getAbsolutePath(), - '-RNGStatusIndex', replicat - ] as String[] - -path = "aquaticWorld.aquaNismsGroupsList.0.processes.processesEachStep." - -Pilot.init() - -BatchRunner.parseArgs(arguments,false,true,false); - -BatchRunner.load(); -//ReflectUtils.setFieldValueFromPath(Pilot.getInstance(), path+"0.nbWithNaturalDiet", nbIn); - -Pilot.run() -femaleInLastReproduction = -ReflectUtils.getValueFromPath(Pilot.getInstance(),"aquaticWorld.aquaNismsGroupsList.0.getNumberOfFemaleInMaturation"); -femaleInReproductions = -ReflectUtils.getValueFromPath(Pilot.getInstance(),"aquaticWorld.aquaNismsGroupsList.0.getFemaleSpawnersString"); -larvaeProductions = -ReflectUtils.getValueFromPath(Pilot.getInstance(),"aquaticWorld.aquaNismsGroupsList.0.getLarvaeProductionString"); \ No newline at end of file diff --git a/.svn/pristine/ea/eaba64b90ac859b9e02cbe2e020a68f4d40e9a3a.svn-base b/.svn/pristine/ea/eaba64b90ac859b9e02cbe2e020a68f4d40e9a3a.svn-base deleted file mode 100644 index 1d44b6b990ea79f6af083871fb1aaf442d2dabc0..0000000000000000000000000000000000000000 --- a/.svn/pristine/ea/eaba64b90ac859b9e02cbe2e020a68f4d40e9a3a.svn-base +++ /dev/null @@ -1,81 +0,0 @@ -/** - * Patrick.Lambert - * @author Patrick Lambert - * @copyright Copyright (c) 2014, Irstea - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - - */ -package environment; - -import java.util.List; - -import species.Sturgeon; -import fr.cemagref.simaqualife.kernel.AquaNismsGroup; -import fr.cemagref.simaqualife.kernel.spatial.Environment; - -/** - * - */ -public class Station extends Environment<Tanks, Sturgeon> { - - Tanks tanks; - - public Station() { - super(); - tanks = new Tanks(); - } - - /* (non-Javadoc) - * @see fr.cemagref.simaqualife.kernel.spatial.Environment#addAquaNism(fr.cemagref.simaqualife.kernel.AquaNism, fr.cemagref.simaqualife.kernel.AquaNismsGroup) - */ - @Override - public void addAquaNism(Sturgeon aquaNism, AquaNismsGroup group) { - // TODO Auto-generated method stub - - } - - /* (non-Javadoc) - * @see fr.cemagref.simaqualife.kernel.spatial.Environment#removeAquaNism(fr.cemagref.simaqualife.kernel.AquaNism, fr.cemagref.simaqualife.kernel.AquaNismsGroup) - */ - @Override - public void removeAquaNism(Sturgeon aquaNism, AquaNismsGroup group) { - // TODO Auto-generated method stub - - } - - /* (non-Javadoc) - * @see fr.cemagref.simaqualife.kernel.spatial.Environment#moveAquaNism(fr.cemagref.simaqualife.kernel.AquaNism, fr.cemagref.simaqualife.kernel.AquaNismsGroup, fr.cemagref.simaqualife.kernel.spatial.Position) - */ - @Override - public void moveAquaNism(Sturgeon aquaNism, AquaNismsGroup group, - Tanks destination) { - // nothing to do - - } - - /* (non-Javadoc) - * @see fr.cemagref.simaqualife.kernel.spatial.Environment#getNeighbours(fr.cemagref.simaqualife.kernel.spatial.Position) - */ - @Override - public List<Tanks> getNeighbours(Tanks position) { - // TODO Auto-generated method stub - return null; - } - - public Tanks getTanks(){ - return tanks; - } - -} diff --git a/.svn/pristine/f0/f0ab6cdf18ff816ab9386ae70b586063bbee403f.svn-base b/.svn/pristine/f0/f0ab6cdf18ff816ab9386ae70b586063bbee403f.svn-base deleted file mode 100644 index f3813f540e8da10f02ee9cec28613c59f309b7a6..0000000000000000000000000000000000000000 --- a/.svn/pristine/f0/f0ab6cdf18ff816ab9386ae70b586063bbee403f.svn-base +++ /dev/null @@ -1,76 +0,0 @@ -// pour une execution sur ma machine -// cd C:\Program Files\OpenMOLE -// openmole.bat -c -p D:\workspace\SturioSaintSeurin\target\${symbolic.name}_0.0.1-SNAPSHOT.jar -s D:\workspace\SturioSaintSeurin\openMole\ddpSaintSeurin.scala 2>D:\workspace\SturioSaintSeurin\openMole\erreur.txt - -//1>&2 - -// pour un lancement sur le serveur de calcul -// /usr/local/openmole/openmole -c -configuration /home/win/BORDEAUX/patrick.lambert/SturioSaintSeurin/ -p /home/win/BORDEAUX/patrick.lambert/SturioSaintSeurin/target/SturioSaintSeurin-0.0.1-SNAPSHOT.jar -s /home/win/BORDEAUX/patrick.lambert/SturioSaintSeurin/openMole/SD4ref.scala 2>/home/win/BORDEAUX/patrick.lambert/SturioSaintSeurin/openMole/erreur.txt - -import org.openmole.plugin.task.groovy._ -import org.openmole.plugin.domain.range._ -import org.openmole.plugin.hook.display._ -import org.openmole.core.model.execution.Environment -import org.openmole.plugin.domain.collection._ -import org.openmole.plugin.sampling.combine._ -import org.openmole.plugin.domain.distribution._ -import org.openmole.plugin.hook.display._ -import org.openmole.plugin.hook.file._ -import org.openmole.plugin.environment.pbs._ - -// pour une execution sur ma machine -val wd = "D:/workspace/SturioSaintSeurin/" - -// pour une execution sur le serveur -//val wd ="/home/win/BORDEAUX/patrick.lambert/SturioSaintSeurin/" - -// lancement sur la ferme de calcul de Clermont -//logger.level("FINE") -//val env = PBSEnvironment("rougier", "calcul64.clermont.cemagref.fr") - -// ================================= prototype -// ----------- input -val replicat = Prototype[Int]("replicat") - -val nbIn = Prototype[Int]("nbIn") - -val groupFile = Prototype[File]("groupFile") -val envFile = Prototype[File]("envFile") - -// ---------------- output -val femaleInLastReproduction = Prototype[Int]("femaleInLastReproduction") -val femaleInReproductions = Prototype[String]("femaleInReproductions") -val larvaeProductions = Prototype[String]("larvaeProductions") - -// ======================================== exploration -val explo = ExplorationTask("explo", - Factor(nbIn, 25 to 50 by 5 toDomain) x - Factor(replicat, 1 to 10000 by 1 toDomain) - ) - -// tache Groovy -val model = GroovyTask("model", scala.io.Source.fromFile(wd + "openMole/ddpSaintSeurin.groovy").mkString) -model addImport "fr.cemagref.simaqualife.extensions.pilot.BatchRunner" -model addImport "fr.cemagref.simaqualife.pilot.Pilot" -model addImport "miscellaneous.ReflectUtils" -model addInput replicat -model addInput nbIn -model addParameter (groupFile -> new File(wd+"data/input/juvenileStock.xml")) -model addParameter (envFile -> new File(wd+"data/input/SaintSeurin.xml")) - -model addOutput replicat -model addOutput nbIn -model addOutput femaleInLastReproduction -model addOutput femaleInReproductions -model addOutput larvaeProductions - - // sur l'ordi - val h = AppendToCSVFileHook(wd + "data/output/ddpSaintSeurin.txt") - - //sur le serveur de calcul (pas la même version d'openMole que sur ma machine) - //val h = new AppendToCSVFileHook(wd + "data/output/ddpSaintSeurin.txt") - - -val ex = explo -< (model hook h) toExecution -ex.start -ex.waitUntilEnded \ No newline at end of file diff --git a/.svn/pristine/f3/f3b8f77a424c79ff067bd6ecf4e09a73442bb497.svn-base b/.svn/pristine/f3/f3b8f77a424c79ff067bd6ecf4e09a73442bb497.svn-base deleted file mode 100644 index 3aba822ec8581e8754dac0a08b4495c9135592dd..0000000000000000000000000000000000000000 --- a/.svn/pristine/f3/f3b8f77a424c79ff067bd6ecf4e09a73442bb497.svn-base +++ /dev/null @@ -1,76 +0,0 @@ -// pour une execution sur ma machine -// cd C:\Program Files\OpenMOLE -// openmole.bat -c -p D:\workspace\SturioSaintSeurin\target\${symbolic.name}_0.0.1-SNAPSHOT.jar -s D:\workspace\SturioSaintSeurin\openMole\GENddpSaintSeurin.scala 2>D:\workspace\SturioSaintSeurin\openMole\erreur.txt - -//1>&2 - -// pour un lancement sur le serveur de calcul -// /usr/local/openmole/openmole -c -configuration /home/win/BORDEAUX/patrick.lambert/SturioSaintSeurin/ -p /home/win/BORDEAUX/patrick.lambert/SturioSaintSeurin/target/SturioSaintSeurin-0.0.1-SNAPSHOT.jar -s /home/win/BORDEAUX/patrick.lambert/SturioSaintSeurin/openMole/SD4ref.scala 2>/home/win/BORDEAUX/patrick.lambert/SturioSaintSeurin/openMole/erreur.txt - -import org.openmole.plugin.task.groovy._ -import org.openmole.plugin.domain.range._ -import org.openmole.plugin.hook.display._ -import org.openmole.core.model.execution.Environment -import org.openmole.plugin.domain.collection._ -import org.openmole.plugin.sampling.combine._ -import org.openmole.plugin.domain.distribution._ -import org.openmole.plugin.hook.display._ -import org.openmole.plugin.hook.file._ -import org.openmole.plugin.environment.pbs._ - -// pour une execution sur ma machine -val wd = "D:/workspace/SturioSaintSeurin/" - -// pour une execution sur le serveur -//val wd ="/home/win/BORDEAUX/patrick.lambert/SturioSaintSeurin/" - -// lancement sur la ferme de calcul de Clermont -//logger.level("FINE") -//val env = PBSEnvironment("rougier", "calcul64.clermont.cemagref.fr") - -// ================================= prototype -// ----------- input -val replicat = Prototype[Int]("replicat") - -//val nbIn = Prototype[Int]("nbIn") - -val groupFile = Prototype[File]("groupFile") -val envFile = Prototype[File]("envFile") - -// ---------------- output -val femaleInLastReproduction = Prototype[Int]("femaleInLastReproduction") -val femaleInReproductions = Prototype[String]("femaleInReproductions") -val larvaeProductions = Prototype[String]("larvaeProductions") - -// ======================================== exploration -val explo = ExplorationTask("explo", - //Factor(nbIn, 25 to 50 by 5 toDomain) x - Factor(replicat, 1 to 10000 by 1 toDomain) - ) - -// tache Groovy -val model = GroovyTask("model", scala.io.Source.fromFile(wd + "openMole/GENddpSaintSeurin.groovy").mkString) -model addImport "fr.cemagref.simaqualife.extensions.pilot.BatchRunner" -model addImport "fr.cemagref.simaqualife.pilot.Pilot" -model addImport "miscellaneous.ReflectUtils" -model addInput replicat -//model addInput nbIn -model addParameter (groupFile -> new File(wd+"data/input/geniteurStockSansAccidentOM.xml")) -model addParameter (envFile -> new File(wd+"data/input/SaintSeurin.xml")) - -model addOutput replicat -//model addOutput nbIn -model addOutput femaleInLastReproduction -model addOutput femaleInReproductions -model addOutput larvaeProductions - - // sur l'ordi - val h = AppendToCSVFileHook(wd + "data/output/GENddpSaintSeurinSansAccident.txt") - - //sur le serveur de calcul (pas la même version d'openMole que sur ma machine) - //val h = new AppendToCSVFileHook(wd + "data/output/GENddpSaintSeurin.txt") - - -val ex = explo -< (model hook h) toExecution -ex.start -ex.waitUntilEnded \ No newline at end of file diff --git a/.svn/pristine/f5/f55c8c416469a5b5605c3038ce6a7f0d1175b55c.svn-base b/.svn/pristine/f5/f55c8c416469a5b5605c3038ce6a7f0d1175b55c.svn-base deleted file mode 100644 index 188c02e1820af2f0af2efc9c60ccf3ef9f3cf454..0000000000000000000000000000000000000000 --- a/.svn/pristine/f5/f55c8c416469a5b5605c3038ce6a7f0d1175b55c.svn-base +++ /dev/null @@ -1,54 +0,0 @@ -Cohorte;année Naissance;Appellation;Matricule;Pit-tag;Sexe;alim;tordus;stade;dernière maturation;bête à pb;expulsion gamètes;pré-sélection échec repro;Particip_repro -9495;1994;LEONCE;30401;3D49;femelle;alim naturelle;;mature;2014;0;2014;;2012 /2014 -9495;1994;ALEXIS;70101;21D5 ou 41BC;femelle;alim naturelle;;mature;2011;0;2011;;2011 -1988;1988;D.N.;930102;OD01;femelle;alim naturelle;;mature;2013;0;2013;;2013 -1994;1994;JEANNETTE / Jeanne;951401;041121EAOC;femelle;alim naturelle;;mature;2012;0;2012;;2008 / 2012 -1994;1994;ODILE;951504;4.11E+165;femelle;alim naturelle;;mature;2012;0;2012;;2008 / 2012 -1994;1994;KARINE;951402;041121EFF7;femelle;alim naturelle;;mature;2012;0;;2008 / 2012; -1994;1994;950212;950212;041121E4A5;femelle;alim naturelle;;mature;2011;0;2011;;2011 -1994;1994;HENRIETTE;951202;041121CACF;femelle;alim naturelle;;mature;2011;0;2011;2013;2 011 -1994;1994;SEVERINE;10202;3B2B;femelle;alim naturelle;;mature;2012;0;2012;;2012 -1994;1994;MARTINE;951502;041121FO7D;femelle;alim naturelle;;mature;2012;0;2012;;2012 -1994;1994;951201;951201;041121F065;femelle;alim naturelle;;mature;2012;0;;2012;2012 -1994;1994;JULES;30102;279C;femelle;alim naturelle;;mature;2013;0;2013;2011;2013 -1994;1994;FIACRE;10102;3480;femelle;alim naturelle;;mature;2013;0;2013;;2011 / 2013 -1994;1994;LUCETTE;951501;041121E82D;femelle;alim naturelle;;mature;2013;0;2013;;2011 / 2013 -1994;1994;FRANCINE;951001;041121E7E8;femelle;alim naturelle;;mature;2013;0;2013;;2007 / 2009 / 2011 / 2013 -1995;1995;THIERRY;20201;41BO;femelle;alim naturelle;;mature;2013;0;2013;;2012 / 2013 -1995;1995;JULIE;30101;3CBE;femelle;alim naturelle;;mature;2014;0;2014;;2008 / 2012 / 2014 -1995;1995;ARISTIDE;10103;31AB;femelle;alim naturelle;;mature;2013;0;2013;2009;2011 / 2013 -1995;1995;EDITH;20301;2F5D;femelle;alim naturelle;;mature;2013;0;2013;;2011 / 2013 -1995;1995;FULBERT;30202;4278;femelle;alim naturelle;;mature;2013;0;2013;;2013 -1995;1995;309;95309;04108E12A8;femelle;alim naturelle;;immature;-1;1;;; -1995;1995;349;95349;O4108E2670;femelle;alim naturelle;;immature;-1;1;;; -1995;1995;316;95316;041121D0D6;femelle;alim naturelle;;mature;2012;0;;2012; -1995;1995;355;95355;04108E136D;femelle;alim naturelle;;immature;-1;0;;; -1995;1995;360;95360;04108E0E9C;femelle;alim naturelle;;mature;2014;0;2012 / 2014 ?;2010;2008 / 2012 / 2014 ? -1995;1995;313;95313;04108E1A85;femelle;alim naturelle;;mature;2012;0;;2012; -1995;1995;337;95337;04108E1E16;femelle;alim naturelle;;mature;2012;0;;2010 / 2012 ?; -1995;1995;361;95361;04108E15A2;femelle;alim naturelle;;immature;-1;1;;; -8485;8485;JUSTIN;950901;OD61;mâle;alim naturelle;;mature;2014;0;2012 / 2014 ?;;1995 / 2007 / 2011 / 2012 / 2014 ? -8788;8788;MARIETTE;951103;OD48;mâle;alim naturelle;;mature;2014;0;2013 / 2014 ? ;;2011 / 2012 / 2013 / 2014 ? -8889;8889;EMELINE;940301;1439;mâle;alim naturelle;;mature;2013;0;2013;;2008 / 2010 / 2011 / 2013 -0;1994;GAUTIER;30201;1F1A;mâle;alim naturelle;;mature;2013;0;2013;;2013 -0;1994;PACO;70201;0411285OE5;mâle;alim naturelle;;mature;2013;0;2013;;2012 / 2013 -1984;1984;PHILIPPE;970101;OD20;mâle;alim naturelle;;mature;2011;0;2008;2011;2008 -1988;1988;ASCENSION;950801;111A;mâle;alim naturelle;;mature;2012;0;;2010 / 2011 / 2012; -1988;1988;BLEU;930201;1A29;mâle;alim naturelle;;mature;2013;0;2013;;2008 / 2010 / 2011 / 2012 / 2013 -1992;1992;DELPHINE;10201;3EF1;mâle;alim naturelle;;mature;2014;0;2014 ? ;2010 / 2012;2014 ? -1994;1994;PASCAL;951601;041121FO8A;mâle;alim naturelle;;mature;2014;0;2014;2010 / 2011 / 2012;2013 / 2014 -1994;1994;NORMAN;951503;041121CADA;mâle;alim naturelle;;mature;2013;0;2013;2010 / 2012;2011 / 2013 -1994;1994;CAROL;950210;O41121E3C4;mâle;alim naturelle;;mature;2014;0;2014;2010 / 2011 / 2012;2012 / 2014 -1994;1994;ISABEAU;951301;041121E82C;mâle;alim naturelle;;mature;2014;0;2008 / 2014 ? ;2010 / 2011 / 2012;2008 / 2014 ? -1994;1994;NATHALIE;101;4.11E+98;mâle;alim naturelle;;mature;2013;0;2013;2014;2010 / 2012 / 2013 -1995;1995;GILLES;10104;479C;mâle;alim naturelle;;immature;-1;1;;; -1995;1995;HERVE;20101;5AA5;mâle;alim naturelle;;mature;2014;0;2014;;2009 / 2014 -1995;1995;MARTINIEN;20202;3FC6;mâle;alim naturelle;;mature;2013;0;2013;2008 / 2011;2009 / 2013 -1995;1995;137;95137;041121CDEC;mâle;alim artificielle;;mature;2012;0;2012;2010 / 2011 ;2012 / 2013 -1995;1995;365;95365;1159;mâle;alim naturelle;;mature;2012;0;;2010 / 2011 / 2012; -1995;1995;4;95004;04108E1EEF;mâle;alim artificielle;tordu;immature;-1;1;;; -1995;1995;353;95353;04108E10AC;mâle;alim naturelle;tordu;mature;2010;1;;2010; -1995;1995;328;95328;041121DFB4;mâle;alim naturelle;;mature;2013;0;2013;2010 / 2011 / 2012;2013 -1995;1995;364;95364;04108E233D;mâle;alim naturelle;;mature;2013;0;2013;;2013 -1995;1995;338;95338;04108E16B9;mâle;alim naturelle;;mature;2013;0;2013;2010 / 2011 / 2012;2009 / 2013 -1995;1995;163;95163;04108E1CDC;mâle;alim artificielle;;mature;2012;0;;2012; diff --git a/.svn/wc.db b/.svn/wc.db deleted file mode 100644 index 4581684883b3980c5fced8e0d8cf2575c8a4fbff..0000000000000000000000000000000000000000 Binary files a/.svn/wc.db and /dev/null differ