r58 - in trunk: . src/site src/site/en/rst src/site/resources/css src/site/resources/images/devel src/site/resources/v4/downloads src/site/rst src/site/rst/history src/site/rst/tools src/site/rst/v1 src/site/rst/v2 src/site/rst/v2/devel src/site/rst/v2/user src/site/rst/v3 src/site/rst/v3/devel src/site/rst/v3/user src/site/rst/v4 src/site/rst/v4/devel src/site/rst/v4/user src/site/rst/v4/user/tutorials src/site/rst/v4/user/usermanual
Author: jcouteau Date: 2011-12-09 11:32:24 +0100 (Fri, 09 Dec 2011) New Revision: 58 Url: http://forge.codelutin.com/repositories/revision/isis-fish-docs/58 Log: EOL Modified: trunk/LICENSE.txt trunk/README.txt trunk/changelog.txt trunk/pom.xml trunk/src/site/en/rst/index.rst trunk/src/site/resources/css/site.css trunk/src/site/resources/images/devel/AnalysePlanMexico.svg trunk/src/site/resources/v4/downloads/EffortReduction.java trunk/src/site/resources/v4/downloads/Effort_2000_2004_MultiSp.java trunk/src/site/resources/v4/downloads/Exemple_PlanSimulation.java trunk/src/site/resources/v4/downloads/MigrationAdultsAvrilHistoric.java trunk/src/site/resources/v4/downloads/MigrationAout.java trunk/src/site/resources/v4/downloads/MzonesAnneeMpertMgdg.java trunk/src/site/resources/v4/downloads/Repro_recru0-2_StockOeufs_Spatialisee061107.java trunk/src/site/resources/v4/downloads/TACfix_Es_Anchois.java trunk/src/site/resources/v4/downloads/VBGFAnchois.java trunk/src/site/resources/v4/downloads/Weight_month.java trunk/src/site/resources/v4/downloads/prixAnchois.java trunk/src/site/resources/v4/downloads/traitementSorties.R trunk/src/site/rst/contact.rst trunk/src/site/rst/download.rst trunk/src/site/rst/history.rst trunk/src/site/rst/history/changelog.rst trunk/src/site/rst/history/history.rst trunk/src/site/rst/index.rst trunk/src/site/rst/license.rst trunk/src/site/rst/listStats.rst trunk/src/site/rst/news.rst trunk/src/site/rst/othertools.rst trunk/src/site/rst/presentation.rst trunk/src/site/rst/publications.rst trunk/src/site/rst/research.rst trunk/src/site/rst/tools/eclipse.rst trunk/src/site/rst/tools/netbeans.rst trunk/src/site/rst/v1/changelog.rst trunk/src/site/rst/v2/changelog.rst trunk/src/site/rst/v2/devel/index.rst trunk/src/site/rst/v2/index.rst trunk/src/site/rst/v2/user/ECMAScript.rst trunk/src/site/rst/v2/user/ECMAScriptEdit.rst trunk/src/site/rst/v2/user/FAQ.rst trunk/src/site/rst/v2/user/Rules.rst trunk/src/site/rst/v2/user/ScriptHilaire.rst trunk/src/site/rst/v2/user/SimulationLauncher.rst trunk/src/site/rst/v2/user/index.rst trunk/src/site/rst/v3/changeVersion.rst trunk/src/site/rst/v3/changelog.rst trunk/src/site/rst/v3/devel/SyntaxeOption.rst trunk/src/site/rst/v3/devel/index.rst trunk/src/site/rst/v3/devel/isis-architecture.rst trunk/src/site/rst/v3/devel/usbkey.rst trunk/src/site/rst/v3/index.rst trunk/src/site/rst/v3/user/AnalysePlan.rst trunk/src/site/rst/v3/user/ExternalScriptEditor.rst trunk/src/site/rst/v3/user/FAQ.rst trunk/src/site/rst/v3/user/Historique.rst trunk/src/site/rst/v3/user/Installation.rst trunk/src/site/rst/v3/user/Introduction.rst trunk/src/site/rst/v3/user/LaunchOption.rst trunk/src/site/rst/v3/user/UserInterface.rst trunk/src/site/rst/v3/user/addSshKey.rst trunk/src/site/rst/v3/user/index.rst trunk/src/site/rst/v3/user/inputs.rst trunk/src/site/rst/v3/user/isisFishData.rst trunk/src/site/rst/v3/user/result.rst trunk/src/site/rst/v3/user/scripts.rst trunk/src/site/rst/v3/user/simulations.rst trunk/src/site/rst/v4/devel/architecture.rst trunk/src/site/rst/v4/devel/architectureMexico.rst trunk/src/site/rst/v4/devel/index.rst trunk/src/site/rst/v4/index.rst trunk/src/site/rst/v4/user/API.rst trunk/src/site/rst/v4/user/FAQ.rst trunk/src/site/rst/v4/user/caparmor.rst trunk/src/site/rst/v4/user/changements40.rst trunk/src/site/rst/v4/user/installation.rst trunk/src/site/rst/v4/user/installationr.rst trunk/src/site/rst/v4/user/isisFishModel.rst trunk/src/site/rst/v4/user/migrationv3v4.rst trunk/src/site/rst/v4/user/scripts.rst trunk/src/site/rst/v4/user/scriptsR.rst trunk/src/site/rst/v4/user/tutorials.rst trunk/src/site/rst/v4/user/tutorials/firstLaunch.rst trunk/src/site/rst/v4/user/tutorials/parameterising.rst trunk/src/site/rst/v4/user/tutorials/simulationPlan.rst trunk/src/site/rst/v4/user/tutorials/useAPI.rst trunk/src/site/rst/v4/user/tutorials/utilCaparmor.rst trunk/src/site/rst/v4/user/usermanual.rst trunk/src/site/rst/v4/user/usermanual/GUI.rst trunk/src/site/rst/v4/user/usermanual/analysisPlan.rst trunk/src/site/rst/v4/user/usermanual/inputs.rst trunk/src/site/rst/v4/user/usermanual/introduction.rst trunk/src/site/rst/v4/user/usermanual/launcher.rst trunk/src/site/rst/v4/user/usermanual/queue.rst trunk/src/site/rst/v4/user/usermanual/results.rst trunk/src/site/rst/v4/user/usermanual/scripts.rst trunk/src/site/rst/v4/user/usermanual/sensitivity.rst trunk/src/site/rst/v4/user/warning.rst trunk/src/site/site_en.xml trunk/src/site/site_fr.xml Property changes on: trunk/LICENSE.txt ___________________________________________________________________ Added: svn:eol-style + native Property changes on: trunk/README.txt ___________________________________________________________________ Added: svn:eol-style + native Property changes on: trunk/changelog.txt ___________________________________________________________________ Added: svn:eol-style + native Property changes on: trunk/pom.xml ___________________________________________________________________ Added: svn:eol-style + native Property changes on: trunk/src/site/en/rst/index.rst ___________________________________________________________________ Added: svn:eol-style + native Property changes on: trunk/src/site/resources/css/site.css ___________________________________________________________________ Added: svn:eol-style + native Property changes on: trunk/src/site/resources/images/devel/AnalysePlanMexico.svg ___________________________________________________________________ Added: svn:eol-style + native Modified: trunk/src/site/resources/v4/downloads/EffortReduction.java =================================================================== --- trunk/src/site/resources/v4/downloads/EffortReduction.java 2011-12-09 10:27:08 UTC (rev 57) +++ trunk/src/site/resources/v4/downloads/EffortReduction.java 2011-12-09 10:32:24 UTC (rev 58) @@ -1,133 +1,133 @@ -package rules; - -import static org.nuiton.i18n.I18n._; - -import java.util.List; - -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; - -import scripts.SiMatrix; -import fr.ifremer.isisfish.entities.Metier; -import fr.ifremer.isisfish.entities.Strategy; -import fr.ifremer.isisfish.rule.AbstractRule; -import fr.ifremer.isisfish.simulator.SimulationContext; -import fr.ifremer.isisfish.types.Date; -import fr.ifremer.isisfish.util.Doc; - -/** - * EffortReduction.java - * - * Created: 3 septembre 2008 - * - * @author anonymous <anonymous@labs.libre-entreprise.org> - * @version $Revision: 204 $ - */ -public class EffortReduction extends AbstractRule { - - /** to use log facility, just put in your code: log.info("..."); */ - static private Log log = LogFactory.getLog(EffortReduction.class); - - @Doc("Begin date") - public Date param_beginDate = new Date(0); - @Doc("End date") - public Date param_endDate = new Date(59); - - @Doc("Pourcentage de reduction d effort applique.") - public double param_PercentReduction = 0.5; - - boolean first = true; - - protected String[] necessaryResult = {}; - - /** - * @return the necessaryResult - */ - @Override - public String[] getNecessaryResult() { - return this.necessaryResult; - } - - /** - * Permet d'afficher a l'utilisateur une aide sur la regle. - * @return L'aide ou la description de la regle - */ - @Override - public String getDescription() { - return _("Reduce monthly effort of each strategy of the percent indicated"); - } - - /** - * Appele au demarrage de la simulation, cette methode permet d'initialiser - * des valeurs. - * @param context La simulation pour lequel on utilise cette regle - */ - @Override - public void init(SimulationContext context) throws Exception { - } - - /** - * La condition qui doit etre vrai pour faire les actions - * @param context La simulation pour lequel on utilise cette regle - * @return vrai si on souhaite que les actions soit faites - */ - @Override - public boolean condition(SimulationContext context, Date date, Metier metier) - throws Exception { - - boolean result = true; - if (date.before(param_beginDate)) { - result = false; - } else if (date.after(param_endDate)) { - result = false; - } - if (result) - System.out.println("condition vraie"); - return result; - } - - /** - * Si la condition est vrai alors cette action est executee avant le pas - * de temps de la simulation. - * @param context La simulation pour lequel on utilise cette regle - */ - @Override - public void preAction(SimulationContext context, Date date, Metier metier) - throws Exception { - // shinte la boucle metier - if (first) { - first = false; - SiMatrix siMatrix = SiMatrix.getSiMatrix(context); - List<Strategy> strs = siMatrix.getStrategies(date); - for (Strategy str : strs) { - System.out.println("strategy evaluee : " + str.getName()); - - /* Dans un premiere temps tant que l inactivit� est un entier on utilise - * la proportion du nombre de bateaux de la strategie pour reduire l effort - * ce qu on ferait aussi pour une mesure de reduction du nombre de bateaux mais - * comme actuellement on ne tient pas compte de l economie... ca revient au meme - * En fait passer par l inactivit� n est pas la meilleure facon de modifier - * l effort le mieux serait d agir sur un autre coeff qui est multipli� a - * l effort (Fstd ou ciblage) car comme ca le code serait generique mais on - * ne verrait pas que l effort nominal est modifi�... - */ - - double propOld = str.getProportionSetOfVessels(); - double newProp = propOld * (1 - param_PercentReduction); - str.setProportionSetOfVessels(newProp); - } - } - } - - /** - * Si la condition est vrai alors cette action est executee apres le pas - * de temps de la simulation. - * @param context La simulation pour lequel on utilise cette regle - */ - @Override - public void postAction(SimulationContext context, Date date, Metier metier) - throws Exception { - first = true; - } - -} +package rules; + +import static org.nuiton.i18n.I18n._; + +import java.util.List; + +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; + +import scripts.SiMatrix; +import fr.ifremer.isisfish.entities.Metier; +import fr.ifremer.isisfish.entities.Strategy; +import fr.ifremer.isisfish.rule.AbstractRule; +import fr.ifremer.isisfish.simulator.SimulationContext; +import fr.ifremer.isisfish.types.Date; +import fr.ifremer.isisfish.util.Doc; + +/** + * EffortReduction.java + * + * Created: 3 septembre 2008 + * + * @author anonymous <anonymous@labs.libre-entreprise.org> + * @version $Revision: 204 $ + */ +public class EffortReduction extends AbstractRule { + + /** to use log facility, just put in your code: log.info("..."); */ + static private Log log = LogFactory.getLog(EffortReduction.class); + + @Doc("Begin date") + public Date param_beginDate = new Date(0); + @Doc("End date") + public Date param_endDate = new Date(59); + + @Doc("Pourcentage de reduction d effort applique.") + public double param_PercentReduction = 0.5; + + boolean first = true; + + protected String[] necessaryResult = {}; + + /** + * @return the necessaryResult + */ + @Override + public String[] getNecessaryResult() { + return this.necessaryResult; + } + + /** + * Permet d'afficher a l'utilisateur une aide sur la regle. + * @return L'aide ou la description de la regle + */ + @Override + public String getDescription() { + return _("Reduce monthly effort of each strategy of the percent indicated"); + } + + /** + * Appele au demarrage de la simulation, cette methode permet d'initialiser + * des valeurs. + * @param context La simulation pour lequel on utilise cette regle + */ + @Override + public void init(SimulationContext context) throws Exception { + } + + /** + * La condition qui doit etre vrai pour faire les actions + * @param context La simulation pour lequel on utilise cette regle + * @return vrai si on souhaite que les actions soit faites + */ + @Override + public boolean condition(SimulationContext context, Date date, Metier metier) + throws Exception { + + boolean result = true; + if (date.before(param_beginDate)) { + result = false; + } else if (date.after(param_endDate)) { + result = false; + } + if (result) + System.out.println("condition vraie"); + return result; + } + + /** + * Si la condition est vrai alors cette action est executee avant le pas + * de temps de la simulation. + * @param context La simulation pour lequel on utilise cette regle + */ + @Override + public void preAction(SimulationContext context, Date date, Metier metier) + throws Exception { + // shinte la boucle metier + if (first) { + first = false; + SiMatrix siMatrix = SiMatrix.getSiMatrix(context); + List<Strategy> strs = siMatrix.getStrategies(date); + for (Strategy str : strs) { + System.out.println("strategy evaluee : " + str.getName()); + + /* Dans un premiere temps tant que l inactivit� est un entier on utilise + * la proportion du nombre de bateaux de la strategie pour reduire l effort + * ce qu on ferait aussi pour une mesure de reduction du nombre de bateaux mais + * comme actuellement on ne tient pas compte de l economie... ca revient au meme + * En fait passer par l inactivit� n est pas la meilleure facon de modifier + * l effort le mieux serait d agir sur un autre coeff qui est multipli� a + * l effort (Fstd ou ciblage) car comme ca le code serait generique mais on + * ne verrait pas que l effort nominal est modifi�... + */ + + double propOld = str.getProportionSetOfVessels(); + double newProp = propOld * (1 - param_PercentReduction); + str.setProportionSetOfVessels(newProp); + } + } + } + + /** + * Si la condition est vrai alors cette action est executee apres le pas + * de temps de la simulation. + * @param context La simulation pour lequel on utilise cette regle + */ + @Override + public void postAction(SimulationContext context, Date date, Metier metier) + throws Exception { + first = true; + } + +} Property changes on: trunk/src/site/resources/v4/downloads/EffortReduction.java ___________________________________________________________________ Added: svn:eol-style + native Modified: trunk/src/site/resources/v4/downloads/Effort_2000_2004_MultiSp.java =================================================================== --- trunk/src/site/resources/v4/downloads/Effort_2000_2004_MultiSp.java 2011-12-09 10:27:08 UTC (rev 57) +++ trunk/src/site/resources/v4/downloads/Effort_2000_2004_MultiSp.java 2011-12-09 10:32:24 UTC (rev 58) @@ -1,304 +1,304 @@ -package rules; - -import static org.nuiton.i18n.I18n._; - -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; - -import scripts.GravityModel; -import scripts.ResultName; -import scripts.SiMatrix; - -import java.util.Arrays; -import java.util.ArrayList; -import java.util.List; -import java.util.Collection; -import java.util.Collections; -import java.util.HashSet; -import java.util.HashMap; -import java.util.Map; -import java.util.Set; -import java.io.File; -import java.io.Writer; -import java.io.FileWriter; -import java.io.BufferedWriter; -import java.io.FileReader; - -import org.nuiton.math.matrix.*; - -import fr.ifremer.isisfish.simulator.SimulationContext; -import fr.ifremer.isisfish.types.Date; -import fr.ifremer.isisfish.types.Month; -import fr.ifremer.isisfish.entities.*; -import fr.ifremer.isisfish.rule.AbstractRule; -import fr.ifremer.isisfish.datastore.ResultStorage; - -import org.nuiton.util.FileUtil; - -/** - * effortObs_MultiSp - * - * Created: 26 aout 2008 - * - * @author anonymous <anonymous@labs.libre-entreprise.org> - * @version $Revision: 1.2 $ - * - * Last update: $Date: 2007-07-18 08:59:38 $ - * by : $Author: 2SY- Sigrid+Youen+Stephanie $ - */ -public class Effort_2000_2004_MultiSp extends AbstractRule { - /** to use log facility, just put in your code: log.info("..."); */ - static private Log log = LogFactory.getLog(Effort_2000_2004_MultiSp.class); - - // fichiers rangpertoire de lancement d'ISIS (la ou se trouve le go) dans rep EffortObs/ - // fichiers mtiers x date - /*protected String param_nomfichier_EffortBolBretons = "/home1/caparmor/slehuta/Inputs_Anchois/EffortObs_V32/EffortBolBretons.csv";//yv - protected String param_nomfichier_EffortBolBasques = "/home1/caparmor/slehuta/Inputs_Anchois/EffortObs_V32/EffortBolBasques.csv";//yv - protected String param_nomfichier_EffortPelProfil1 = "/home1/caparmor/slehuta/Inputs_Anchois/EffortObs_V32/EffortPelProf1.csv";//yv - protected String param_nomfichier_EffortPelProfil2 = "/home1/caparmor/slehuta/Inputs_Anchois/EffortObs_V32/EffortPelProf2.csv";//yv - protected String param_nomfichier_EffortSpanish = "/home1/caparmor/slehuta/Inputs_Anchois/EffortObs_V32/EffortSpanish.csv"; - protected String param_nomfichier_Inactivity = "/home1/caparmor/slehuta/Inputs_Anchois/EffortObs_V32/Inactivity.csv"; - */ - - protected String param_nomfichier_EffortBolBretons = "Inputs_Anchois/EffortObs_MultiSp/EffortBolProf2.csv";//yv - protected String param_nomfichier_EffortBolBasques = "Inputs_Anchois/EffortObs_MultiSp/EffortBolProf1.csv";//yv - protected String param_nomfichier_EffortPelProfil1 = "Inputs_Anchois/EffortObs_MultiSp/EffortPelProf1.csv";//yv - protected String param_nomfichier_EffortPelProfil2 = "Inputs_Anchois/EffortObs_MultiSp/EffortPelProf2.csv";//yv - protected String param_nomfichier_EffortSpanish = "Inputs_Anchois/EffortObs_MultiSp/EffortSpanish.csv"; - protected String param_nomfichier_Inactivity = "Inputs_Anchois/EffortObs_MultiSp/Inactivity.csv"; - - public int param_dateDebut = 0; - - protected File EffortBolBasques; - protected File EffortBolBretons; - protected File EffortPelProfil1; - protected File EffortPelProfil2; - protected File EffortSpanish; - protected File Inactivity; - - protected List<Metier> metiers; - protected List<Strategy> allStrategies ; - // interdit de faire des set sur les strategies de la map, il faut recuperer les strategies de la date courante - //protected Map<String , Strategy> mesStrategies; - - protected MatrixND matEffortBolBretons; - protected MatrixND matEffortBolBasques; - protected MatrixND matEffortPelProfil1; - protected MatrixND matEffortPelProfil2; - protected MatrixND matEffortSpanish; - protected MatrixND matInactivity; - - public String [] necessaryResult = { - }; - - public String[] getNecessaryResult() { - return this.necessaryResult; - } - - /** - * Permet d'afficher a l'utilisateur une aide sur la regle. - * @return L'aide ou la description de la regle - */ - public String getDescription() throws Exception { - return _("Chaque annee et mois les efforts % et inactivity observ"); - - } - - /** - * Appel - * des valeurs - * @param simulation La simulation pour lequel on utilise cette regle - */ - public void init(SimulationContext context) throws Exception { - - // reccuperation des metiers et strategies - SiMatrix siMatrix = SiMatrix.getSiMatrix(context); - - Date date = new Date(0); - List<Date> dates = new ArrayList <Date>(); - for (int i=0; i < 60; i++) { - dates.add(new Date (i)); - } -//System.out.println("Dates : "+ dates); - // reccuperation des metiers et strategies - - metiers = siMatrix.getMetiers(date); - allStrategies = siMatrix.getStrategies(date); - List<Month> months = Arrays.asList(Month.MONTH); - - String[] metiersNomsNous = new String[]{"Espagnols","Autre", "PelProfil1Gironde", "PelProfil1Landes", - "PelProfil1Nord", "PelProfil1Rochebonne","PelProfil2Gironde", "PelProfil2Landes", "PelProfil2Nord", - "PelProfil2Rochebonne","BolincheProfil1gir", "BolincheProfil1lan","BolincheProfil2nord", - "GermonPel1","GermonPel2","SardinePel1","SardinePel2","SardineBol1","SardineBol2", - "BarPel1_GdG","BarPel2_GdG","BarPel1_Manche","BarPel2_Manche"}; - List<Metier> metiersNous = new ArrayList<Metier>(); - for(String metiersNomCurrent : metiersNomsNous){ - for (Metier met : metiers){ - System.out.println("met.getname : " + met.getName() + "; metiercourant :" + metiersNomCurrent + "; liste:" + metiersNous); - if(met.getName().equals(metiersNomCurrent)){ - metiersNous.add(met); - } - } - } - - Map<String , Strategy> mesStrategies = new HashMap<String, Strategy>(); - for(Strategy str : allStrategies) { - mesStrategies.put(str.getName(), str); - } - List <Strategy> strNous = new ArrayList<Strategy>(); - strNous.add(mesStrategies.get("PelProfil1")); - strNous.add(mesStrategies.get("PelProfil2")); - strNous.add(mesStrategies.get("BolBasques")); - strNous.add(mesStrategies.get("BolBretons")); - strNous.add(mesStrategies.get("Espagnols")); - - - // load fishing efforts in a matrix for each strategy - if (param_nomfichier_EffortBolBretons==null || "".equals(param_nomfichier_EffortBolBretons)){ - EffortBolBretons = FileUtil.getFile(".*.csv", "fichier 0 csv sparateur ';'"); - EffortBolBasques = FileUtil.getFile(".*.csv", "fichier 1 csv sparateur ';'"); - EffortPelProfil1 = FileUtil.getFile(".*.csv", "fichier 2 csv sparateur ';'"); - EffortPelProfil2 = FileUtil.getFile(".*.csv", "fichier 3 csv parateur ';'"); - EffortSpanish = FileUtil.getFile(".*.csv", "fichier 4 csv sparateur ';'"); - Inactivity = FileUtil.getFile(".*.csv", "fichier 5 csv sparateur ';'"); - } else { - EffortBolBretons = new File(param_nomfichier_EffortBolBretons); - EffortBolBasques = new File(param_nomfichier_EffortBolBasques); - EffortPelProfil1 = new File(param_nomfichier_EffortPelProfil1); - EffortPelProfil2 = new File(param_nomfichier_EffortPelProfil2); - EffortSpanish = new File(param_nomfichier_EffortSpanish); - Inactivity = new File(param_nomfichier_Inactivity); - - } - - - matEffortBolBretons = MatrixFactory.getInstance().create( - "matEffortBolBretons", - new List[]{metiersNous,dates}, - new String[]{"Metiers","Date"}); - matEffortBolBasques = MatrixFactory.getInstance().create( - "matEffortBolBasques", - new List[]{metiersNous,dates}, - new String[]{"Metiers","Date"}); - matEffortPelProfil1 = MatrixFactory.getInstance().create( - "matEffortPelProfil1", - new List[]{metiersNous,dates}, - new String[]{"Metiers","Date"}); - matEffortPelProfil2 = MatrixFactory.getInstance().create( - "matEffortPelProfil2", - new List[]{metiersNous,dates}, - new String[]{"Metiers","Date"}); - matEffortSpanish = MatrixFactory.getInstance().create( - "matEffortSpanish", - new List[]{metiersNous,dates}, - new String[]{"Metiers","Date"}); - matInactivity = MatrixFactory.getInstance().create( - "matInactivity", - new List[]{strNous,dates}, - new String[]{"Strategies","Date"}); - - matEffortBolBretons.importCSV(new FileReader(EffortBolBretons),new int []{0,0}); - matEffortBolBasques.importCSV(new FileReader(EffortBolBasques),new int []{0,0}); - matEffortPelProfil1.importCSV(new FileReader(EffortPelProfil1),new int []{0,0}); - matEffortPelProfil2.importCSV(new FileReader(EffortPelProfil2),new int []{0,0}); - matEffortSpanish.importCSV(new FileReader(EffortSpanish),new int []{0,0}); - matInactivity.importCSV(new FileReader(Inactivity),new int []{0,0}); - /*System.out.println("Chargement de matrice matEffortBolBretons" + matEffortBolBretons); - System.out.println("Chargement de matrice matEffortBolBasques" + matEffortBolBasques); - System.out.println("Chargement de matrice matEffortPelProfil1" + matEffortPelProfil1); - System.out.println("Chargement de matrice matEffortPelProfil2" + matEffortPelProfil2); - System.out.println("Chargement de matrice matEffortSpanish" + matEffortSpanish); - System.out.println("Chargement de matrice matInactivity" + matInactivity); - System.out.println("dim de inactivity" + " " + Arrays.toString(matInactivity.getDim()));*/ - - }// fin de init - /** - * La condition qui doit etre vrai pour faire les actions - * @param simulation La simulation pour lequel on utilise cette regle - * @return vrai si on souhaite que les actions soit faites - */ - public boolean condition(SimulationContext context, Date date, Metier metier) throws Exception { - if (date.getYear()+param_dateDebut < 5){ - return true; - } else return false; - } - - /** - * Si la condition est vrai alors cette action est execute avant le pas - * de temps de la simulation. - * @param simulation La simulation pour lequel on utilise cette regle - */ - // Booleen permettant que ne boucler que sur un seul metier dans la preaction : - boolean first = true; - public void preAction(SimulationContext context, Date date, Metier metier) throws Exception { - if (log.isDebugEnabled()) { - log.debug("first = "+ first + "date:"+ date); - } - System.out.println("first = " + first+ " ,on passe dans la preaction ?"); - if (first){ // on passe dans preaction pour la premiere fois - //System.out.println("Oui, preaction : "); - double newProp=0; - int newInactivity = 0; - - // Boucle sur les strategies - //System.out.println("strs dans preaction : " + strs); - //System.out.println("mesStrategies : " + mesStrategies); - - //List<Strategy> mStr = new ArrayList(mesStrategies.values()); - for(Strategy strIndex : allStrategies){ - //for(Strategy strIndex : mStr){ - // interdit de faire des set sur les strategies de la semantique de la matrice, il faut recuperer les strategies de la date courante - Strategy str = (Strategy)context.getDB().findByTopiaId(strIndex.getTopiaId()); - StrategyMonthInfo smi = str.getStrategyMonthInfo(date.getMonth()); - - //System.out.println("pour str="+str.getName()); - - newInactivity = (int) matInactivity.getValue(str,date.getDate()+param_dateDebut); - smi.setMinInactivityDays(newInactivity); - //System.out.println("pour la strategy=" + str.getName() +", l'ann: "+ date.getYear() + " et le mois = "+date.getMonth()+": newInactivity= "+ newInactivity); - - // on boucle sur les metiers de la strategie pour initialiser les efforts avec matEffort - Collection<EffortDescription> strMet = str.getSetOfVessels().getPossibleMetiers() ; - for (EffortDescription ed : strMet){ - Metier strMetier = ed.getPossibleMetiers(); - System.out.println("pour le metier=" + strMetier); - if (str.getName().equals("BolBretons")){ - newProp = matEffortBolBretons.getValue(strMetier,date.getDate()+param_dateDebut); - } else if (str.getName().equals("BolBasques")){ - newProp = matEffortBolBasques.getValue(strMetier,date.getDate()+param_dateDebut); - } else if (str.getName().equals("PelProfil1")){ - newProp = matEffortPelProfil1.getValue(strMetier,date.getDate()+param_dateDebut); - } else if (str.getName().equals("PelProfil2")){ - newProp = matEffortPelProfil2.getValue(strMetier,date.getDate()+param_dateDebut); - } else if (str.getName().equals("Espagnols")){ - newProp = matEffortSpanish.getValue(strMetier,date.getDate()+param_dateDebut); - } - //System.out.println("pour le metier=" + strMetier +" l'anne : "+ date.getYear() + "et le mois = "+date.getMonth()+" newProp= "+ newProp); - smi.setProportionMetier(strMetier,newProp); - - } - }//fin de boucle sur strategies - first = false; - }// fin de first= true - if (log.isDebugEnabled()) { - log.debug("fin Effort Anchois Action avant"); - } - }// fin de pre action - - /** - * Si la condition est vrai alors cette action est strategy=" + str.getName() +", l'anne : "+ date.getYear() + " et le mois = "+date.getMonth()+": newInactivity= "+ newInactivity); - - // on boucle sur les metiers de la strategie pour initialiser les efforts avec matEffort - Collection<EffortDescription> strMet = str.getSetOfVessels().getPossibleMetiers() ; - for (EffortDescription ed : strMet){ - Metier strMetier = ed.getPossibleMetiers(); - System.out.println("pour le metier=" + strMetier); -execut©e apres le pas - * de temps de la simulation. - * @param simulation La simulation pour lequel on utilise cette regle - */ - public void postAction(SimulationContext context, Date date, Metier metier) throws Exception { - first = true; - } - -} +package rules; + +import static org.nuiton.i18n.I18n._; + +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; + +import scripts.GravityModel; +import scripts.ResultName; +import scripts.SiMatrix; + +import java.util.Arrays; +import java.util.ArrayList; +import java.util.List; +import java.util.Collection; +import java.util.Collections; +import java.util.HashSet; +import java.util.HashMap; +import java.util.Map; +import java.util.Set; +import java.io.File; +import java.io.Writer; +import java.io.FileWriter; +import java.io.BufferedWriter; +import java.io.FileReader; + +import org.nuiton.math.matrix.*; + +import fr.ifremer.isisfish.simulator.SimulationContext; +import fr.ifremer.isisfish.types.Date; +import fr.ifremer.isisfish.types.Month; +import fr.ifremer.isisfish.entities.*; +import fr.ifremer.isisfish.rule.AbstractRule; +import fr.ifremer.isisfish.datastore.ResultStorage; + +import org.nuiton.util.FileUtil; + +/** + * effortObs_MultiSp + * + * Created: 26 aout 2008 + * + * @author anonymous <anonymous@labs.libre-entreprise.org> + * @version $Revision: 1.2 $ + * + * Last update: $Date: 2007-07-18 08:59:38 $ + * by : $Author: 2SY- Sigrid+Youen+Stephanie $ + */ +public class Effort_2000_2004_MultiSp extends AbstractRule { + /** to use log facility, just put in your code: log.info("..."); */ + static private Log log = LogFactory.getLog(Effort_2000_2004_MultiSp.class); + + // fichiers rangpertoire de lancement d'ISIS (la ou se trouve le go) dans rep EffortObs/ + // fichiers mtiers x date + /*protected String param_nomfichier_EffortBolBretons = "/home1/caparmor/slehuta/Inputs_Anchois/EffortObs_V32/EffortBolBretons.csv";//yv + protected String param_nomfichier_EffortBolBasques = "/home1/caparmor/slehuta/Inputs_Anchois/EffortObs_V32/EffortBolBasques.csv";//yv + protected String param_nomfichier_EffortPelProfil1 = "/home1/caparmor/slehuta/Inputs_Anchois/EffortObs_V32/EffortPelProf1.csv";//yv + protected String param_nomfichier_EffortPelProfil2 = "/home1/caparmor/slehuta/Inputs_Anchois/EffortObs_V32/EffortPelProf2.csv";//yv + protected String param_nomfichier_EffortSpanish = "/home1/caparmor/slehuta/Inputs_Anchois/EffortObs_V32/EffortSpanish.csv"; + protected String param_nomfichier_Inactivity = "/home1/caparmor/slehuta/Inputs_Anchois/EffortObs_V32/Inactivity.csv"; + */ + + protected String param_nomfichier_EffortBolBretons = "Inputs_Anchois/EffortObs_MultiSp/EffortBolProf2.csv";//yv + protected String param_nomfichier_EffortBolBasques = "Inputs_Anchois/EffortObs_MultiSp/EffortBolProf1.csv";//yv + protected String param_nomfichier_EffortPelProfil1 = "Inputs_Anchois/EffortObs_MultiSp/EffortPelProf1.csv";//yv + protected String param_nomfichier_EffortPelProfil2 = "Inputs_Anchois/EffortObs_MultiSp/EffortPelProf2.csv";//yv + protected String param_nomfichier_EffortSpanish = "Inputs_Anchois/EffortObs_MultiSp/EffortSpanish.csv"; + protected String param_nomfichier_Inactivity = "Inputs_Anchois/EffortObs_MultiSp/Inactivity.csv"; + + public int param_dateDebut = 0; + + protected File EffortBolBasques; + protected File EffortBolBretons; + protected File EffortPelProfil1; + protected File EffortPelProfil2; + protected File EffortSpanish; + protected File Inactivity; + + protected List<Metier> metiers; + protected List<Strategy> allStrategies ; + // interdit de faire des set sur les strategies de la map, il faut recuperer les strategies de la date courante + //protected Map<String , Strategy> mesStrategies; + + protected MatrixND matEffortBolBretons; + protected MatrixND matEffortBolBasques; + protected MatrixND matEffortPelProfil1; + protected MatrixND matEffortPelProfil2; + protected MatrixND matEffortSpanish; + protected MatrixND matInactivity; + + public String [] necessaryResult = { + }; + + public String[] getNecessaryResult() { + return this.necessaryResult; + } + + /** + * Permet d'afficher a l'utilisateur une aide sur la regle. + * @return L'aide ou la description de la regle + */ + public String getDescription() throws Exception { + return _("Chaque annee et mois les efforts % et inactivity observ"); + + } + + /** + * Appel + * des valeurs + * @param simulation La simulation pour lequel on utilise cette regle + */ + public void init(SimulationContext context) throws Exception { + + // reccuperation des metiers et strategies + SiMatrix siMatrix = SiMatrix.getSiMatrix(context); + + Date date = new Date(0); + List<Date> dates = new ArrayList <Date>(); + for (int i=0; i < 60; i++) { + dates.add(new Date (i)); + } +//System.out.println("Dates : "+ dates); + // reccuperation des metiers et strategies + + metiers = siMatrix.getMetiers(date); + allStrategies = siMatrix.getStrategies(date); + List<Month> months = Arrays.asList(Month.MONTH); + + String[] metiersNomsNous = new String[]{"Espagnols","Autre", "PelProfil1Gironde", "PelProfil1Landes", + "PelProfil1Nord", "PelProfil1Rochebonne","PelProfil2Gironde", "PelProfil2Landes", "PelProfil2Nord", + "PelProfil2Rochebonne","BolincheProfil1gir", "BolincheProfil1lan","BolincheProfil2nord", + "GermonPel1","GermonPel2","SardinePel1","SardinePel2","SardineBol1","SardineBol2", + "BarPel1_GdG","BarPel2_GdG","BarPel1_Manche","BarPel2_Manche"}; + List<Metier> metiersNous = new ArrayList<Metier>(); + for(String metiersNomCurrent : metiersNomsNous){ + for (Metier met : metiers){ + System.out.println("met.getname : " + met.getName() + "; metiercourant :" + metiersNomCurrent + "; liste:" + metiersNous); + if(met.getName().equals(metiersNomCurrent)){ + metiersNous.add(met); + } + } + } + + Map<String , Strategy> mesStrategies = new HashMap<String, Strategy>(); + for(Strategy str : allStrategies) { + mesStrategies.put(str.getName(), str); + } + List <Strategy> strNous = new ArrayList<Strategy>(); + strNous.add(mesStrategies.get("PelProfil1")); + strNous.add(mesStrategies.get("PelProfil2")); + strNous.add(mesStrategies.get("BolBasques")); + strNous.add(mesStrategies.get("BolBretons")); + strNous.add(mesStrategies.get("Espagnols")); + + + // load fishing efforts in a matrix for each strategy + if (param_nomfichier_EffortBolBretons==null || "".equals(param_nomfichier_EffortBolBretons)){ + EffortBolBretons = FileUtil.getFile(".*.csv", "fichier 0 csv sparateur ';'"); + EffortBolBasques = FileUtil.getFile(".*.csv", "fichier 1 csv sparateur ';'"); + EffortPelProfil1 = FileUtil.getFile(".*.csv", "fichier 2 csv sparateur ';'"); + EffortPelProfil2 = FileUtil.getFile(".*.csv", "fichier 3 csv parateur ';'"); + EffortSpanish = FileUtil.getFile(".*.csv", "fichier 4 csv sparateur ';'"); + Inactivity = FileUtil.getFile(".*.csv", "fichier 5 csv sparateur ';'"); + } else { + EffortBolBretons = new File(param_nomfichier_EffortBolBretons); + EffortBolBasques = new File(param_nomfichier_EffortBolBasques); + EffortPelProfil1 = new File(param_nomfichier_EffortPelProfil1); + EffortPelProfil2 = new File(param_nomfichier_EffortPelProfil2); + EffortSpanish = new File(param_nomfichier_EffortSpanish); + Inactivity = new File(param_nomfichier_Inactivity); + + } + + + matEffortBolBretons = MatrixFactory.getInstance().create( + "matEffortBolBretons", + new List[]{metiersNous,dates}, + new String[]{"Metiers","Date"}); + matEffortBolBasques = MatrixFactory.getInstance().create( + "matEffortBolBasques", + new List[]{metiersNous,dates}, + new String[]{"Metiers","Date"}); + matEffortPelProfil1 = MatrixFactory.getInstance().create( + "matEffortPelProfil1", + new List[]{metiersNous,dates}, + new String[]{"Metiers","Date"}); + matEffortPelProfil2 = MatrixFactory.getInstance().create( + "matEffortPelProfil2", + new List[]{metiersNous,dates}, + new String[]{"Metiers","Date"}); + matEffortSpanish = MatrixFactory.getInstance().create( + "matEffortSpanish", + new List[]{metiersNous,dates}, + new String[]{"Metiers","Date"}); + matInactivity = MatrixFactory.getInstance().create( + "matInactivity", + new List[]{strNous,dates}, + new String[]{"Strategies","Date"}); + + matEffortBolBretons.importCSV(new FileReader(EffortBolBretons),new int []{0,0}); + matEffortBolBasques.importCSV(new FileReader(EffortBolBasques),new int []{0,0}); + matEffortPelProfil1.importCSV(new FileReader(EffortPelProfil1),new int []{0,0}); + matEffortPelProfil2.importCSV(new FileReader(EffortPelProfil2),new int []{0,0}); + matEffortSpanish.importCSV(new FileReader(EffortSpanish),new int []{0,0}); + matInactivity.importCSV(new FileReader(Inactivity),new int []{0,0}); + /*System.out.println("Chargement de matrice matEffortBolBretons" + matEffortBolBretons); + System.out.println("Chargement de matrice matEffortBolBasques" + matEffortBolBasques); + System.out.println("Chargement de matrice matEffortPelProfil1" + matEffortPelProfil1); + System.out.println("Chargement de matrice matEffortPelProfil2" + matEffortPelProfil2); + System.out.println("Chargement de matrice matEffortSpanish" + matEffortSpanish); + System.out.println("Chargement de matrice matInactivity" + matInactivity); + System.out.println("dim de inactivity" + " " + Arrays.toString(matInactivity.getDim()));*/ + + }// fin de init + /** + * La condition qui doit etre vrai pour faire les actions + * @param simulation La simulation pour lequel on utilise cette regle + * @return vrai si on souhaite que les actions soit faites + */ + public boolean condition(SimulationContext context, Date date, Metier metier) throws Exception { + if (date.getYear()+param_dateDebut < 5){ + return true; + } else return false; + } + + /** + * Si la condition est vrai alors cette action est execute avant le pas + * de temps de la simulation. + * @param simulation La simulation pour lequel on utilise cette regle + */ + // Booleen permettant que ne boucler que sur un seul metier dans la preaction : + boolean first = true; + public void preAction(SimulationContext context, Date date, Metier metier) throws Exception { + if (log.isDebugEnabled()) { + log.debug("first = "+ first + "date:"+ date); + } + System.out.println("first = " + first+ " ,on passe dans la preaction ?"); + if (first){ // on passe dans preaction pour la premiere fois + //System.out.println("Oui, preaction : "); + double newProp=0; + int newInactivity = 0; + + // Boucle sur les strategies + //System.out.println("strs dans preaction : " + strs); + //System.out.println("mesStrategies : " + mesStrategies); + + //List<Strategy> mStr = new ArrayList(mesStrategies.values()); + for(Strategy strIndex : allStrategies){ + //for(Strategy strIndex : mStr){ + // interdit de faire des set sur les strategies de la semantique de la matrice, il faut recuperer les strategies de la date courante + Strategy str = (Strategy)context.getDB().findByTopiaId(strIndex.getTopiaId()); + StrategyMonthInfo smi = str.getStrategyMonthInfo(date.getMonth()); + + //System.out.println("pour str="+str.getName()); + + newInactivity = (int) matInactivity.getValue(str,date.getDate()+param_dateDebut); + smi.setMinInactivityDays(newInactivity); + //System.out.println("pour la strategy=" + str.getName() +", l'ann: "+ date.getYear() + " et le mois = "+date.getMonth()+": newInactivity= "+ newInactivity); + + // on boucle sur les metiers de la strategie pour initialiser les efforts avec matEffort + Collection<EffortDescription> strMet = str.getSetOfVessels().getPossibleMetiers() ; + for (EffortDescription ed : strMet){ + Metier strMetier = ed.getPossibleMetiers(); + System.out.println("pour le metier=" + strMetier); + if (str.getName().equals("BolBretons")){ + newProp = matEffortBolBretons.getValue(strMetier,date.getDate()+param_dateDebut); + } else if (str.getName().equals("BolBasques")){ + newProp = matEffortBolBasques.getValue(strMetier,date.getDate()+param_dateDebut); + } else if (str.getName().equals("PelProfil1")){ + newProp = matEffortPelProfil1.getValue(strMetier,date.getDate()+param_dateDebut); + } else if (str.getName().equals("PelProfil2")){ + newProp = matEffortPelProfil2.getValue(strMetier,date.getDate()+param_dateDebut); + } else if (str.getName().equals("Espagnols")){ + newProp = matEffortSpanish.getValue(strMetier,date.getDate()+param_dateDebut); + } + //System.out.println("pour le metier=" + strMetier +" l'anne : "+ date.getYear() + "et le mois = "+date.getMonth()+" newProp= "+ newProp); + smi.setProportionMetier(strMetier,newProp); + + } + }//fin de boucle sur strategies + first = false; + }// fin de first= true + if (log.isDebugEnabled()) { + log.debug("fin Effort Anchois Action avant"); + } + }// fin de pre action + + /** + * Si la condition est vrai alors cette action est strategy=" + str.getName() +", l'anne : "+ date.getYear() + " et le mois = "+date.getMonth()+": newInactivity= "+ newInactivity); + + // on boucle sur les metiers de la strategie pour initialiser les efforts avec matEffort + Collection<EffortDescription> strMet = str.getSetOfVessels().getPossibleMetiers() ; + for (EffortDescription ed : strMet){ + Metier strMetier = ed.getPossibleMetiers(); + System.out.println("pour le metier=" + strMetier); +execut©e apres le pas + * de temps de la simulation. + * @param simulation La simulation pour lequel on utilise cette regle + */ + public void postAction(SimulationContext context, Date date, Metier metier) throws Exception { + first = true; + } + +} Property changes on: trunk/src/site/resources/v4/downloads/Effort_2000_2004_MultiSp.java ___________________________________________________________________ Added: svn:eol-style + native Property changes on: trunk/src/site/resources/v4/downloads/Exemple_PlanSimulation.java ___________________________________________________________________ Added: svn:eol-style + native Modified: trunk/src/site/resources/v4/downloads/MigrationAdultsAvrilHistoric.java =================================================================== --- trunk/src/site/resources/v4/downloads/MigrationAdultsAvrilHistoric.java 2011-12-09 10:27:08 UTC (rev 57) +++ trunk/src/site/resources/v4/downloads/MigrationAdultsAvrilHistoric.java 2011-12-09 10:32:24 UTC (rev 58) @@ -1,16 +1,16 @@ -// Adult migration coefficients {2000,...,2008,mean} -double [] gir = {0.2523304,0.2086467,0.5008767,0.1155539,0.1063631,0.5764831,0.2469257,0.2556178,0.3414639,0.289}; -double [] lc = {0.05400881,0.16173449,0.04129422,0.14009017,0.29670246,0.00000000,0.30205351,0.14407688,0.19059324,0.148}; -double [] ll = {0.138540813,0.184829055,0.252067222,0.108165542,0.363177244,0.299495371,0.002653738,0.112834679,0.151165424,0.179}; -double [] ro = {0.4937572,0.3623039,0.1978877,0.4360312,0.2149993,0.1233157,0.4476018,0.4413241,0.3155026,0.337}; -double [] no = { 0.0613627737,0.0824858520,0.0078741776,0.2001591791,0.0187579836,0.0007059103,0.0007652638,0.0461465156,0.0012747868,0.047}; -// hindcast model -int y = context.getSimulationControl().getDate().getYear(); -// prediction model : mean -//int y = 9; -if(group.getId() > 14 && "MigHiver".equals(departureZone.getName())){ - if("gironde".equals(arrivalZone.getName()))return gir[y]; - else if("Rochebonne".equals(arrivalZone.getName())) return ro[y]; - else if("LandesCote".equals(arrivalZone.getName())) return lc[y]; - else if("LandesLarge".equals(arrivalZone.getName())) return ll[y]; +// Adult migration coefficients {2000,...,2008,mean} +double [] gir = {0.2523304,0.2086467,0.5008767,0.1155539,0.1063631,0.5764831,0.2469257,0.2556178,0.3414639,0.289}; +double [] lc = {0.05400881,0.16173449,0.04129422,0.14009017,0.29670246,0.00000000,0.30205351,0.14407688,0.19059324,0.148}; +double [] ll = {0.138540813,0.184829055,0.252067222,0.108165542,0.363177244,0.299495371,0.002653738,0.112834679,0.151165424,0.179}; +double [] ro = {0.4937572,0.3623039,0.1978877,0.4360312,0.2149993,0.1233157,0.4476018,0.4413241,0.3155026,0.337}; +double [] no = { 0.0613627737,0.0824858520,0.0078741776,0.2001591791,0.0187579836,0.0007059103,0.0007652638,0.0461465156,0.0012747868,0.047}; +// hindcast model +int y = context.getSimulationControl().getDate().getYear(); +// prediction model : mean +//int y = 9; +if(group.getId() > 14 && "MigHiver".equals(departureZone.getName())){ + if("gironde".equals(arrivalZone.getName()))return gir[y]; + else if("Rochebonne".equals(arrivalZone.getName())) return ro[y]; + else if("LandesCote".equals(arrivalZone.getName())) return lc[y]; + else if("LandesLarge".equals(arrivalZone.getName())) return ll[y]; }return 0; \ No newline at end of file Property changes on: trunk/src/site/resources/v4/downloads/MigrationAdultsAvrilHistoric.java ___________________________________________________________________ Added: svn:eol-style + native Modified: trunk/src/site/resources/v4/downloads/MigrationAout.java =================================================================== --- trunk/src/site/resources/v4/downloads/MigrationAout.java 2011-12-09 10:27:08 UTC (rev 57) +++ trunk/src/site/resources/v4/downloads/MigrationAout.java 2011-12-09 10:32:24 UTC (rev 58) @@ -1,17 +1,17 @@ - if (group.getId() == 1 && "SudGolfe".equals(arrivalZone.getName()) ) return 1; - else if(group.getId() ==3 && "SudGolfe".equals(departureZone.getName()) && "Recru".equals(arrivalZone.getName()) ) return 1; - else if((group.getId() == 16 || group.getId() == 17) && "MigHiver".equals(arrivalZone.getName()) ){ - - if("gironde".equals(departureZone.getName()) || - "Rochebonne".equals(departureZone.getName()) || - "LandesCote".equals(departureZone.getName()) || - "LandesLarge".equals(departureZone.getName()) ){ - MatrixND Ngr = N.getSubMatrix(0,group,1) ; - double tot = Ngr.sumAll() ; - if(tot != 0){ - double coeff = (0.65*tot - N.getValue(group,arrivalZone)) / (tot-N.getValue(group,arrivalZone)); - return coeff ; - }else {return 0;} - } - } -return 0; + if (group.getId() == 1 && "SudGolfe".equals(arrivalZone.getName()) ) return 1; + else if(group.getId() ==3 && "SudGolfe".equals(departureZone.getName()) && "Recru".equals(arrivalZone.getName()) ) return 1; + else if((group.getId() == 16 || group.getId() == 17) && "MigHiver".equals(arrivalZone.getName()) ){ + + if("gironde".equals(departureZone.getName()) || + "Rochebonne".equals(departureZone.getName()) || + "LandesCote".equals(departureZone.getName()) || + "LandesLarge".equals(departureZone.getName()) ){ + MatrixND Ngr = N.getSubMatrix(0,group,1) ; + double tot = Ngr.sumAll() ; + if(tot != 0){ + double coeff = (0.65*tot - N.getValue(group,arrivalZone)) / (tot-N.getValue(group,arrivalZone)); + return coeff ; + }else {return 0;} + } + } +return 0; Property changes on: trunk/src/site/resources/v4/downloads/MigrationAout.java ___________________________________________________________________ Added: svn:eol-style + native Modified: trunk/src/site/resources/v4/downloads/MzonesAnneeMpertMgdg.java =================================================================== --- trunk/src/site/resources/v4/downloads/MzonesAnneeMpertMgdg.java 2011-12-09 10:27:08 UTC (rev 57) +++ trunk/src/site/resources/v4/downloads/MzonesAnneeMpertMgdg.java 2011-12-09 10:32:24 UTC (rev 58) @@ -1,34 +1,34 @@ -//test survies martin -Date date = context.getSimulationControl().getDate(); - -// aov survie contrast = sum pour month et year / ref = north(5) / Megg=pert Madults = 1.49 -/*double [] Gir = { 108.157079907313,104.040441019196,114.867357631927,102.775218050167,95.5102675884572,97.4002336900792,97.6896434553373,95.698434692503 }; - double[] Lc = { 1000,160.131882990035,1000,149.685042379658,119.942294122065,125.499807305511,126.431453048777,120.459876791989 }; - double[] Ll = { 127.063329543669,118.855448855865,145.161762228118,116.576747614374,104.931458169551,107.770091172289,108.214891158855,105.209212529286 }; - double[] Ro = { 103.573871689489,100.116829822123,108.991227355935,99.0360699306787,92.6833694996939,94.3585183099993,94.6137091311044,92.8508073480452 }; - double[] No = { 110.499702421585,106.002939231345,118.004634498226,104.634276240226,96.8752699349442,98.8790216414094,99.1866992785972,97.0743501369063 }; -*/ -// aov survie contrast = sum pour month et year / ref = north(5) / Megg=gdg Madults = 2.84 -double [] Gir = { 83.2167553797197,80.0493868483888,88.3796863724735,79.0759161296458,73.4862163528401,74.9403684701997,75.1630422115824,73.630993337216 }; -double[] Lc = { 1000,123.206504342530,1000,115.168637747853,92.2843752641238,96.5603617783932,97.2771760265618,92.6826067110963 }; -double[] Ll = { 97.763345880174,91.4481495012754,111.688396803782,89.6949020582122,80.7349411949353,82.9190037491769,83.2612357297987,80.948647192079 }; -double[] Ro = { 79.6904053946439,77.0305350684429,83.8585538106882,76.1989914322092,71.3111827171539,72.6000530240379,72.7963984889233,71.4400104784017 }; -double[] No = { 85.0191842626395,81.5593456397455,90.793527442933,80.5062875003543,74.5364579686243,76.0781574647785,76.3148866247337,74.6896315609755 }; - - -int y = date.getYear(); -if (group == null){ return 0; -} else if (group.getId() == 0 ){ - if(y < 8){ - -// script effet annee * zones - if ("gironde".equals(zone.getName())){return Gir[y];}else if ("Rochebonne".equals(zone.getName())) {return Ro[y];}else if ("LandesCote".equals(zone.getName())){return Lc[y];}else if ("LandesLarge".equals(zone.getName())){return Ll[y];}else if ("MigHiver".equals(zone.getName())){return No[y];}else return 0; - - }else return 102.9699; -//return 102.9699; -} else if (group.getId() == 1 ){ return 0 ; -//Mpert 1.49 -//} else if (group.getId() == 2 ){ return 9.13896671274146 ; } else if (group.getId() == 3 ){ return 6.52011321674013 ; } else if (group.getId() == 4 ){ return 5.07483463318751 ; } else if (group.getId() == 5 ){ return 4.15653572014739 ; } else if (group.getId() == 6 ){ return 3.5208050737082 ; } else if (group.getId() == 7 ){ return 3.05436780362196 ; } else if (group.getId() == 8 ){ return 2.69743614913744 ; } else if (group.getId() == 9 ){ return 2.41544170418373 ; } else if (group.getId() == 10 ){ return 2.18699518587283 ; } else if (group.getId() == 11 ){ return 1.99814758538767 ; } else if (group.getId() == 12 ){ return 1.83941167360153 ; } else if (group.getId() == 13 ){ return 1.70410904289053 ; } else if (group.getId() == 14 ){ return 1.58740166718328 ; } else if (group.getId() == 15 ){ return 1.49 ; } else if (group.getId() == 16 ){ return 1.39 ; } else if (group.getId() == 17 ){ return 1.49 ; }else return 0; - -//Mgdg 2.84 +//test survies martin +Date date = context.getSimulationControl().getDate(); + +// aov survie contrast = sum pour month et year / ref = north(5) / Megg=pert Madults = 1.49 +/*double [] Gir = { 108.157079907313,104.040441019196,114.867357631927,102.775218050167,95.5102675884572,97.4002336900792,97.6896434553373,95.698434692503 }; + double[] Lc = { 1000,160.131882990035,1000,149.685042379658,119.942294122065,125.499807305511,126.431453048777,120.459876791989 }; + double[] Ll = { 127.063329543669,118.855448855865,145.161762228118,116.576747614374,104.931458169551,107.770091172289,108.214891158855,105.209212529286 }; + double[] Ro = { 103.573871689489,100.116829822123,108.991227355935,99.0360699306787,92.6833694996939,94.3585183099993,94.6137091311044,92.8508073480452 }; + double[] No = { 110.499702421585,106.002939231345,118.004634498226,104.634276240226,96.8752699349442,98.8790216414094,99.1866992785972,97.0743501369063 }; +*/ +// aov survie contrast = sum pour month et year / ref = north(5) / Megg=gdg Madults = 2.84 +double [] Gir = { 83.2167553797197,80.0493868483888,88.3796863724735,79.0759161296458,73.4862163528401,74.9403684701997,75.1630422115824,73.630993337216 }; +double[] Lc = { 1000,123.206504342530,1000,115.168637747853,92.2843752641238,96.5603617783932,97.2771760265618,92.6826067110963 }; +double[] Ll = { 97.763345880174,91.4481495012754,111.688396803782,89.6949020582122,80.7349411949353,82.9190037491769,83.2612357297987,80.948647192079 }; +double[] Ro = { 79.6904053946439,77.0305350684429,83.8585538106882,76.1989914322092,71.3111827171539,72.6000530240379,72.7963984889233,71.4400104784017 }; +double[] No = { 85.0191842626395,81.5593456397455,90.793527442933,80.5062875003543,74.5364579686243,76.0781574647785,76.3148866247337,74.6896315609755 }; + + +int y = date.getYear(); +if (group == null){ return 0; +} else if (group.getId() == 0 ){ + if(y < 8){ + +// script effet annee * zones + if ("gironde".equals(zone.getName())){return Gir[y];}else if ("Rochebonne".equals(zone.getName())) {return Ro[y];}else if ("LandesCote".equals(zone.getName())){return Lc[y];}else if ("LandesLarge".equals(zone.getName())){return Ll[y];}else if ("MigHiver".equals(zone.getName())){return No[y];}else return 0; + + }else return 102.9699; +//return 102.9699; +} else if (group.getId() == 1 ){ return 0 ; +//Mpert 1.49 +//} else if (group.getId() == 2 ){ return 9.13896671274146 ; } else if (group.getId() == 3 ){ return 6.52011321674013 ; } else if (group.getId() == 4 ){ return 5.07483463318751 ; } else if (group.getId() == 5 ){ return 4.15653572014739 ; } else if (group.getId() == 6 ){ return 3.5208050737082 ; } else if (group.getId() == 7 ){ return 3.05436780362196 ; } else if (group.getId() == 8 ){ return 2.69743614913744 ; } else if (group.getId() == 9 ){ return 2.41544170418373 ; } else if (group.getId() == 10 ){ return 2.18699518587283 ; } else if (group.getId() == 11 ){ return 1.99814758538767 ; } else if (group.getId() == 12 ){ return 1.83941167360153 ; } else if (group.getId() == 13 ){ return 1.70410904289053 ; } else if (group.getId() == 14 ){ return 1.58740166718328 ; } else if (group.getId() == 15 ){ return 1.49 ; } else if (group.getId() == 16 ){ return 1.39 ; } else if (group.getId() == 17 ){ return 1.49 ; }else return 0; + +//Mgdg 2.84 } else if (group.getId() == 2 ){ return 11.6872477676121 ; } else if (group.getId() == 3 ){ return 8.99134625041905 ; } else if (group.getId() == 4 ){ return 7.39969983293818 ; } else if (group.getId() == 5 ){ return 6.33559260446452 ; } else if (group.getId() == 6 ){ return 5.56804905759846 ; } else if (group.getId() == 7 ){ return 4.98515455624756 ; } else if (group.getId() == 8 ){ return 4.52564872475113 ; } else if (group.getId() == 9 ){ return 4.15299824047493 ; } else if (group.getId() == 10 ){ return 3.84398003597826 ; } else if (group.getId() == 11 ){ return 3.5830824617687 ; } else if (group.getId() == 12 ){ return 3.35952602350689 ; } else if (group.getId() == 13 ){ return 3.16557278228505 ; } else if (group.getId() == 14 ){ return 2.99551574007537 ; } else if (group.getId() == 15 ){ return 2.84 ; } else if (group.getId() == 16 ){ return 2.74 ; } else if (group.getId() == 17 ){ return 2.84 ; }else return 0; \ No newline at end of file Property changes on: trunk/src/site/resources/v4/downloads/MzonesAnneeMpertMgdg.java ___________________________________________________________________ Added: svn:eol-style + native Modified: trunk/src/site/resources/v4/downloads/Repro_recru0-2_StockOeufs_Spatialisee061107.java =================================================================== --- trunk/src/site/resources/v4/downloads/Repro_recru0-2_StockOeufs_Spatialisee061107.java 2011-12-09 10:27:08 UTC (rev 57) +++ trunk/src/site/resources/v4/downloads/Repro_recru0-2_StockOeufs_Spatialisee061107.java 2011-12-09 10:32:24 UTC (rev 58) @@ -1,76 +1,76 @@ -//Equation de repro du modele en longueur v3// -////////////////////////////////////////// -/*hypothese : il existe une taille minimum et un declencheur (temp etc) -la dur�e de repro depend de la taille en avril -Le declencheur a lieu en avril sauf pour rochebonne en mai*/ - -double ind = 1; -double tot = 0.0; -//boucle pour implementer le recrutement observ� -if (context.getSimulationControl().getDate().getYear() < 3){ -double coeffR = 0; -double recru = 0; - for (Zone zr : zoneRepro) { - double R = 0 ; - if ("gironde".equals(zr.getName())){ - if (Month.APRIL.equals(month)) { coeffR = 0.111; - }else if (Month.MAY.equals(month)) { coeffR = 0.272 ; - }else if (Month.JUNE.equals(month)) { coeffR = 0.317; - }else if (Month.JULY.equals(month)) { coeffR = 0.226 ; - }else if (Month.AUGUST.equals(month)) { coeffR = 0.0745; - } - if (context.getSimulationControl().getDate().getYear() == 0){ - recru = 2.405172e14; - }else if (context.getSimulationControl().getDate().getYear() == 1){ - recru = 2.04885e14; - }else if (context.getSimulationControl().getDate().getYear() == 2){ - recru = 3.860327e+14; - }else if (context.getSimulationControl().getDate().getYear() == 3){ - recru = 4.69e+13; - }else if (context.getSimulationControl().getDate().getYear() == 4){ - recru = 3.196e+14; - } - R = recru*coeffR ; - } -result.setValue(zr,R); - } -}else{ -for(Zone zr : zoneRepro){ - String nomZone = zr.getName(); - tot = 0; - for (PopulationGroup cr : groups){ - ind = 1; - - if (Month.APRIL.equals(month) && "Rochebonne".equals(nomZone)) { - ind = 0; - }else if (Month.JUNE.equals(month)&&!"Rochebonne".equals(nomZone)&&cr.getId() < 13){ //hyp orange A - //}else if (Month.JUNE.equals(month)&&!"Rochebonne".equals(nomZone)&&cr.getId() < 14){//hyp orange B - ind = 0; - - }else if (Month.JULY.equals(month)){ - if (!"Rochebonne".equals(nomZone)){ - if (cr.getId() < 15) ind =0; - }else { - if (cr.getId() <13 ) ind = 0 ; //hyp orange A - //if (cr.getId() <14 ) ind = 0 ; //hyp orange B - } - }else if (Month.AUGUST.equals(month)){ - if (!"Rochebonne".equals(nomZone)){ - ind =0; - }else { - if (cr.getId() <15 ) ind = 0 ; - } - } -double fec = cr.getReproductionRate(); -//if(context.getSimulationControl().getDate().getYear() == 5 || context.getSimulationControl().getDate().getYear() == 6){ -//fec = fec*0.8 ; -//} - -tot += fec*cr.getMeanWeight()*N.getValue(cr,zr)/2.0*ind; - }// fin de la boucle sur les classes - - result.setValue(zr,tot); - -} // end of boucle for (areas) -}// end of condition on year -return 0; +//Equation de repro du modele en longueur v3// +////////////////////////////////////////// +/*hypothese : il existe une taille minimum et un declencheur (temp etc) +la dur�e de repro depend de la taille en avril +Le declencheur a lieu en avril sauf pour rochebonne en mai*/ + +double ind = 1; +double tot = 0.0; +//boucle pour implementer le recrutement observ� +if (context.getSimulationControl().getDate().getYear() < 3){ +double coeffR = 0; +double recru = 0; + for (Zone zr : zoneRepro) { + double R = 0 ; + if ("gironde".equals(zr.getName())){ + if (Month.APRIL.equals(month)) { coeffR = 0.111; + }else if (Month.MAY.equals(month)) { coeffR = 0.272 ; + }else if (Month.JUNE.equals(month)) { coeffR = 0.317; + }else if (Month.JULY.equals(month)) { coeffR = 0.226 ; + }else if (Month.AUGUST.equals(month)) { coeffR = 0.0745; + } + if (context.getSimulationControl().getDate().getYear() == 0){ + recru = 2.405172e14; + }else if (context.getSimulationControl().getDate().getYear() == 1){ + recru = 2.04885e14; + }else if (context.getSimulationControl().getDate().getYear() == 2){ + recru = 3.860327e+14; + }else if (context.getSimulationControl().getDate().getYear() == 3){ + recru = 4.69e+13; + }else if (context.getSimulationControl().getDate().getYear() == 4){ + recru = 3.196e+14; + } + R = recru*coeffR ; + } +result.setValue(zr,R); + } +}else{ +for(Zone zr : zoneRepro){ + String nomZone = zr.getName(); + tot = 0; + for (PopulationGroup cr : groups){ + ind = 1; + + if (Month.APRIL.equals(month) && "Rochebonne".equals(nomZone)) { + ind = 0; + }else if (Month.JUNE.equals(month)&&!"Rochebonne".equals(nomZone)&&cr.getId() < 13){ //hyp orange A + //}else if (Month.JUNE.equals(month)&&!"Rochebonne".equals(nomZone)&&cr.getId() < 14){//hyp orange B + ind = 0; + + }else if (Month.JULY.equals(month)){ + if (!"Rochebonne".equals(nomZone)){ + if (cr.getId() < 15) ind =0; + }else { + if (cr.getId() <13 ) ind = 0 ; //hyp orange A + //if (cr.getId() <14 ) ind = 0 ; //hyp orange B + } + }else if (Month.AUGUST.equals(month)){ + if (!"Rochebonne".equals(nomZone)){ + ind =0; + }else { + if (cr.getId() <15 ) ind = 0 ; + } + } +double fec = cr.getReproductionRate(); +//if(context.getSimulationControl().getDate().getYear() == 5 || context.getSimulationControl().getDate().getYear() == 6){ +//fec = fec*0.8 ; +//} + +tot += fec*cr.getMeanWeight()*N.getValue(cr,zr)/2.0*ind; + }// fin de la boucle sur les classes + + result.setValue(zr,tot); + +} // end of boucle for (areas) +}// end of condition on year +return 0; Property changes on: trunk/src/site/resources/v4/downloads/Repro_recru0-2_StockOeufs_Spatialisee061107.java ___________________________________________________________________ Added: svn:eol-style + native Modified: trunk/src/site/resources/v4/downloads/TACfix_Es_Anchois.java =================================================================== --- trunk/src/site/resources/v4/downloads/TACfix_Es_Anchois.java 2011-12-09 10:27:08 UTC (rev 57) +++ trunk/src/site/resources/v4/downloads/TACfix_Es_Anchois.java 2011-12-09 10:32:24 UTC (rev 58) @@ -1,228 +1,228 @@ -package rules; - -import java.util.HashSet; -import java.util.List; -import java.util.Set; -import java.util.ArrayList; -import java.util.Collection; -import java.util.Collections; -import java.util.Iterator; - -import static org.nuiton.i18n.I18n._; - -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; -import org.nuiton.math.matrix.*; - -import scripts.ResultName; -import scripts.RuleUtil; -import scripts.SiMatrix; - -import fr.ifremer.isisfish.IsisFishDAOHelper; -import fr.ifremer.isisfish.entities.*; -import fr.ifremer.isisfish.rule.AbstractRule; -import fr.ifremer.isisfish.simulator.MetierMonitor; -import fr.ifremer.isisfish.simulator.PopulationMonitor; -import fr.ifremer.isisfish.simulator.SimulationContext; -import fr.ifremer.isisfish.simulator.SimulationContext; -import fr.ifremer.isisfish.types.Date; -import fr.ifremer.isisfish.types.Month; -import org.nuiton.topia.*;// pour pouvoir utiliser la methode StringUtil.toDouble() -import org.nuiton.util.*;// pour pouvoir utiliser la methode StringUtil.toDouble() - -import scripts.ResultName; -import java.io.*; -import java.util.*; -import org.nuiton.math.matrix.*; -import fr.ifremer.isisfish.*; -import fr.ifremer.isisfish.types.*; -import fr.ifremer.isisfish.simulator.SimulationContext; -import fr.ifremer.isisfish.types.Date; -import fr.ifremer.isisfish.entities.*; -import fr.ifremer.isisfish.simulator.SimulationParameter; -import fr.ifremer.isisfish.datastore.SimulationStorage; -import fr.ifremer.isisfish.datastore.ResultStorage; - -/** - * TAC.java - *partage TQC entre frqncqis et espqgnols - * Created: 7 septembre 2006 - * - * @author anonymous <anonymous@labs.libre-entreprise.org> - * @version $Revision: 1.3 $ - * - * Last update: $Date: 2007/01/24 18:25:34 $ - * by : $Author: bpoussin $ - */ - -/** - * - */ -public class TACfix_Es_Anchois extends AbstractRule { - - /** to use log facility, just put in your code: log.info("..."); */ - static private Log log = LogFactory.getLog(TACfix_Es_Anchois.class); - - public Population param_pop = null ; - public Date param_beginDate = new Date(6); - public Date param_endDate = new Date(119); - public Month param_beginMonth = Month.JULY; - public Month param_endMonth = Month.JUNE; - /** TAC in tonne */ - public double param_allocCountries = 0.5; - public double param_TAC = 33000000; - - protected double SSBmay = 0; - - protected String [] necessaryResult = { - ResultName.MATRIX_CATCH_WEIGHT_PER_STRATEGY_MET_PER_ZONE_POP, - ResultName.MATRIX_BIOMASS, - }; - - /** - * @return the necessaryResult - */ - public String[] getNecessaryResult() { - return this.necessaryResult; - } - - public String getDescription() { - return _("TAC fix ou nul si biomasse < 21000t et partage Fr/Es , context contient TACesp et catchEsp in kg "); - } - - /** - * Appelà - * des valeurs - * @param simulation La simulation pour lequel on utilise cette regle - */ - public void init(SimulationContext context) throws Exception { - } - - /** - * La condition qui doit etre vrai pour faire les actions - * @param simulation La simulation pour lequel on utilise cette regle - * @return vrai si on souhaite que les actions soit faites - */ - - public boolean condition(SimulationContext context, Date date, Metier metier) throws Exception { - boolean result = false; - - if(date.before(param_beginDate)) { - return false; - } else if(date.after(param_endDate)) { - return false; - } else { - int ny = date.getYear() ; - boolean firstSemester = date.getMonth().before(param_beginMonth); - ResultStorage matResult = context.getSimulationStorage().getResultStorage(); - SiMatrix siMatrix = SiMatrix.getSiMatrix(context); - - //year in which to consider biomass in may ? - int year = 0; - if(firstSemester & ny > 0) year = ny - 1; - else year = ny ; - - // Biomass in may - for (Date dat = new Date(0); dat.before(date); dat = dat.next()) { - if (dat.getYear() == year & dat.getMonth().equals(Month.JUNE)){ - MatrixND matB = matResult.getMatrix(dat, param_pop, ResultName.MATRIX_BIOMASS); - SSBmay = matB.sumAll(); - } - } - - double TACvalue = param_TAC; -System.out.println("SSBmay : " + SSBmay); -System.out.println("tac avant la biom "+ TACvalue); - /* fermeture si SSB < 21000T*/ - if(SSBmay < 21000000) { -System.out.println("la biom est inf a 21000t"); - TACvalue = 0 ; - } -System.out.println("tac apres la biom "+ TACvalue); -System.out.println("paramTacInKg_esp : "+TACvalue*param_allocCountries); - context.setValue("TACesp",TACvalue * param_allocCountries); - - // Quantit pechee entre juillet et juin - double CatchEspTot = 0; - List<Strategy> strategies = siMatrix.getStrategies(new Date(0)); - for (Date dat = new Date(0); dat.before(date); dat = dat.next()) { - if( (dat.getYear() == year & dat.getMonth().after(param_endMonth)) || - (firstSemester & dat.getYear() == ny) ){ - - MatrixND mat = matResult.getMatrix(dat, param_pop, - ResultName.MATRIX_CATCH_WEIGHT_PER_STRATEGY_MET_PER_ZONE_POP); - // pour les espagnols - int comp = 0; - for(Strategy str : strategies){ - if("Espagnols".equals(str.getName())){ - MatrixND Esp = mat.copy().getSubMatrix(0,comp,1); - Esp = Esp.sumOverDim(1); // sum metiers - Esp = Esp.sumOverDim(2); // sum groups - Esp = Esp.sumOverDim(3); // sum zones - Esp = Esp.reduce(); - double CatchEsp = Esp.getValue(0); - CatchEspTot += CatchEsp; - }// if esp - comp += 1; - }//for strategy - }//if year - }//for date - System.out.println("capture espagnole : "+ CatchEspTot); - context.setValue("CatchEsp",CatchEspTot); - - if (CatchEspTot >= TACvalue * param_allocCountries) { - result = true ; - System.out.println("CAPTURE ESPAGNOLE DEPASSEE"); - } - //}//if ts - } - return result; - } - - - - /** - * Si la condition est vrai alors cette action est executée avant le pas - * de temps de la simulation. - * @param simulation La simulation pour lequel on utilise cette regle - */ - public void preAction(SimulationContext context, Date date, Metier metier) throws Exception { - TargetSpecies ts = metier.getMetierSeasonInfo(date.getMonth()).getSpeciesTargetSpecies(param_pop.getSpecies()); - if(ts != null && ts.getPrimaryCatch()) { - // recupere tous les metiers qui ont l'espece en capture principale =>metiers vises - - //récupere toutes les stratégies pratiquant le métier et pour lesquelles la proportion !=0 - SiMatrix siMatrix = SiMatrix.getSiMatrix(context); - Set<Strategy> strs = new HashSet<Strategy>(); - for (Strategy str : siMatrix.getStrategies(date)) { - double prop = str.getStrategyMonthInfo(date.getMonth()).getProportionMetier(metier); - if (str.getName().equals("Espagnols")){ - if (prop != 0) { - strs.add(str); - } - } - } - - for (Strategy str : strs){ - StrategyMonthInfo smi = str.getStrategyMonthInfo(date.getMonth()); - - MetierMonitor metierMon = context.getMetierMonitor(); - MatrixND mat = metierMon.getOrCreateNoActivity(date, - ResultName.MATRIX_NO_ACTIVITY, - siMatrix.getStrategies(date), - siMatrix.getMetiers(date)); - mat.setValue(str, metier, smi.getProportionMetier(metier)); - smi.setProportionMetier(metier, 0); - } - } - } - - /** - * Si la condition est vrai alors cette action est executée apres le pas - * de temps de la simulation. - * @param simulation La simulation pour lequel on utilise cette regle - */ - public void postAction(SimulationContext context, Date date, Metier metier) throws Exception { - } - -} +package rules; + +import java.util.HashSet; +import java.util.List; +import java.util.Set; +import java.util.ArrayList; +import java.util.Collection; +import java.util.Collections; +import java.util.Iterator; + +import static org.nuiton.i18n.I18n._; + +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.nuiton.math.matrix.*; + +import scripts.ResultName; +import scripts.RuleUtil; +import scripts.SiMatrix; + +import fr.ifremer.isisfish.IsisFishDAOHelper; +import fr.ifremer.isisfish.entities.*; +import fr.ifremer.isisfish.rule.AbstractRule; +import fr.ifremer.isisfish.simulator.MetierMonitor; +import fr.ifremer.isisfish.simulator.PopulationMonitor; +import fr.ifremer.isisfish.simulator.SimulationContext; +import fr.ifremer.isisfish.simulator.SimulationContext; +import fr.ifremer.isisfish.types.Date; +import fr.ifremer.isisfish.types.Month; +import org.nuiton.topia.*;// pour pouvoir utiliser la methode StringUtil.toDouble() +import org.nuiton.util.*;// pour pouvoir utiliser la methode StringUtil.toDouble() + +import scripts.ResultName; +import java.io.*; +import java.util.*; +import org.nuiton.math.matrix.*; +import fr.ifremer.isisfish.*; +import fr.ifremer.isisfish.types.*; +import fr.ifremer.isisfish.simulator.SimulationContext; +import fr.ifremer.isisfish.types.Date; +import fr.ifremer.isisfish.entities.*; +import fr.ifremer.isisfish.simulator.SimulationParameter; +import fr.ifremer.isisfish.datastore.SimulationStorage; +import fr.ifremer.isisfish.datastore.ResultStorage; + +/** + * TAC.java + *partage TQC entre frqncqis et espqgnols + * Created: 7 septembre 2006 + * + * @author anonymous <anonymous@labs.libre-entreprise.org> + * @version $Revision: 1.3 $ + * + * Last update: $Date: 2007/01/24 18:25:34 $ + * by : $Author: bpoussin $ + */ + +/** + * + */ +public class TACfix_Es_Anchois extends AbstractRule { + + /** to use log facility, just put in your code: log.info("..."); */ + static private Log log = LogFactory.getLog(TACfix_Es_Anchois.class); + + public Population param_pop = null ; + public Date param_beginDate = new Date(6); + public Date param_endDate = new Date(119); + public Month param_beginMonth = Month.JULY; + public Month param_endMonth = Month.JUNE; + /** TAC in tonne */ + public double param_allocCountries = 0.5; + public double param_TAC = 33000000; + + protected double SSBmay = 0; + + protected String [] necessaryResult = { + ResultName.MATRIX_CATCH_WEIGHT_PER_STRATEGY_MET_PER_ZONE_POP, + ResultName.MATRIX_BIOMASS, + }; + + /** + * @return the necessaryResult + */ + public String[] getNecessaryResult() { + return this.necessaryResult; + } + + public String getDescription() { + return _("TAC fix ou nul si biomasse < 21000t et partage Fr/Es , context contient TACesp et catchEsp in kg "); + } + + /** + * Appelà + * des valeurs + * @param simulation La simulation pour lequel on utilise cette regle + */ + public void init(SimulationContext context) throws Exception { + } + + /** + * La condition qui doit etre vrai pour faire les actions + * @param simulation La simulation pour lequel on utilise cette regle + * @return vrai si on souhaite que les actions soit faites + */ + + public boolean condition(SimulationContext context, Date date, Metier metier) throws Exception { + boolean result = false; + + if(date.before(param_beginDate)) { + return false; + } else if(date.after(param_endDate)) { + return false; + } else { + int ny = date.getYear() ; + boolean firstSemester = date.getMonth().before(param_beginMonth); + ResultStorage matResult = context.getSimulationStorage().getResultStorage(); + SiMatrix siMatrix = SiMatrix.getSiMatrix(context); + + //year in which to consider biomass in may ? + int year = 0; + if(firstSemester & ny > 0) year = ny - 1; + else year = ny ; + + // Biomass in may + for (Date dat = new Date(0); dat.before(date); dat = dat.next()) { + if (dat.getYear() == year & dat.getMonth().equals(Month.JUNE)){ + MatrixND matB = matResult.getMatrix(dat, param_pop, ResultName.MATRIX_BIOMASS); + SSBmay = matB.sumAll(); + } + } + + double TACvalue = param_TAC; +System.out.println("SSBmay : " + SSBmay); +System.out.println("tac avant la biom "+ TACvalue); + /* fermeture si SSB < 21000T*/ + if(SSBmay < 21000000) { +System.out.println("la biom est inf a 21000t"); + TACvalue = 0 ; + } +System.out.println("tac apres la biom "+ TACvalue); +System.out.println("paramTacInKg_esp : "+TACvalue*param_allocCountries); + context.setValue("TACesp",TACvalue * param_allocCountries); + + // Quantit pechee entre juillet et juin + double CatchEspTot = 0; + List<Strategy> strategies = siMatrix.getStrategies(new Date(0)); + for (Date dat = new Date(0); dat.before(date); dat = dat.next()) { + if( (dat.getYear() == year & dat.getMonth().after(param_endMonth)) || + (firstSemester & dat.getYear() == ny) ){ + + MatrixND mat = matResult.getMatrix(dat, param_pop, + ResultName.MATRIX_CATCH_WEIGHT_PER_STRATEGY_MET_PER_ZONE_POP); + // pour les espagnols + int comp = 0; + for(Strategy str : strategies){ + if("Espagnols".equals(str.getName())){ + MatrixND Esp = mat.copy().getSubMatrix(0,comp,1); + Esp = Esp.sumOverDim(1); // sum metiers + Esp = Esp.sumOverDim(2); // sum groups + Esp = Esp.sumOverDim(3); // sum zones + Esp = Esp.reduce(); + double CatchEsp = Esp.getValue(0); + CatchEspTot += CatchEsp; + }// if esp + comp += 1; + }//for strategy + }//if year + }//for date + System.out.println("capture espagnole : "+ CatchEspTot); + context.setValue("CatchEsp",CatchEspTot); + + if (CatchEspTot >= TACvalue * param_allocCountries) { + result = true ; + System.out.println("CAPTURE ESPAGNOLE DEPASSEE"); + } + //}//if ts + } + return result; + } + + + + /** + * Si la condition est vrai alors cette action est executée avant le pas + * de temps de la simulation. + * @param simulation La simulation pour lequel on utilise cette regle + */ + public void preAction(SimulationContext context, Date date, Metier metier) throws Exception { + TargetSpecies ts = metier.getMetierSeasonInfo(date.getMonth()).getSpeciesTargetSpecies(param_pop.getSpecies()); + if(ts != null && ts.getPrimaryCatch()) { + // recupere tous les metiers qui ont l'espece en capture principale =>metiers vises + + //récupere toutes les stratégies pratiquant le métier et pour lesquelles la proportion !=0 + SiMatrix siMatrix = SiMatrix.getSiMatrix(context); + Set<Strategy> strs = new HashSet<Strategy>(); + for (Strategy str : siMatrix.getStrategies(date)) { + double prop = str.getStrategyMonthInfo(date.getMonth()).getProportionMetier(metier); + if (str.getName().equals("Espagnols")){ + if (prop != 0) { + strs.add(str); + } + } + } + + for (Strategy str : strs){ + StrategyMonthInfo smi = str.getStrategyMonthInfo(date.getMonth()); + + MetierMonitor metierMon = context.getMetierMonitor(); + MatrixND mat = metierMon.getOrCreateNoActivity(date, + ResultName.MATRIX_NO_ACTIVITY, + siMatrix.getStrategies(date), + siMatrix.getMetiers(date)); + mat.setValue(str, metier, smi.getProportionMetier(metier)); + smi.setProportionMetier(metier, 0); + } + } + } + + /** + * Si la condition est vrai alors cette action est executée apres le pas + * de temps de la simulation. + * @param simulation La simulation pour lequel on utilise cette regle + */ + public void postAction(SimulationContext context, Date date, Metier metier) throws Exception { + } + +} Property changes on: trunk/src/site/resources/v4/downloads/TACfix_Es_Anchois.java ___________________________________________________________________ Added: svn:eol-style + native Modified: trunk/src/site/resources/v4/downloads/VBGFAnchois.java =================================================================== --- trunk/src/site/resources/v4/downloads/VBGFAnchois.java 2011-12-09 10:27:08 UTC (rev 57) +++ trunk/src/site/resources/v4/downloads/VBGFAnchois.java 2011-12-09 10:32:24 UTC (rev 58) @@ -1,6 +1,6 @@ -// Parameters to input -double Linf = 18.77; -double K = 1.25; -double t0 = -0.17; - -return (Linf*(1.0-Math.exp((-K*((age/12)-t0))))); +// Parameters to input +double Linf = 18.77; +double K = 1.25; +double t0 = -0.17; + +return (Linf*(1.0-Math.exp((-K*((age/12)-t0))))); Property changes on: trunk/src/site/resources/v4/downloads/VBGFAnchois.java ___________________________________________________________________ Added: svn:eol-style + native Modified: trunk/src/site/resources/v4/downloads/Weight_month.java =================================================================== --- trunk/src/site/resources/v4/downloads/Weight_month.java 2011-12-09 10:27:08 UTC (rev 57) +++ trunk/src/site/resources/v4/downloads/Weight_month.java 2011-12-09 10:32:24 UTC (rev 58) @@ -1,30 +1,30 @@ -//Weight equation - -/*Based on legth-weight key based on PelGas survey 2000-2005 -W = 0.004184069 * L ^ 3.200812 -for Spring and summer and juveniles (group <15)*/ - -Date date = context.getSimulationControl().getDate(); -if(group.getId() == 0){ return 0; -}else if (group.getId() < 15){ - double Poids = (0.004184069 * Math.pow((group.getMaxLength() + group.getMinLength())/2 , 3.200812))*0.001; - return Poids ; - -}else if(Month.JULY.equals(date.getMonth()) || Month.AUGUST.equals(date.getMonth())){ - if(group.getId() == 15) return 0.02655; //(Pelgas for group 14) - else if(group.getId() == 16) return 0.03294; // Pelgas for group 15 - else if(group.getId() == 17) return 0.04268; // Pelgas for group 16 - -/* based on market sampling in Autumn and winter */ -}else if (date.getMonth().after(Month.AUGUST) & date.getMonth().before(Month.MARCH)){ - if(group.getId()==15){ return 0.018; - }else if(group.getId()== 16){ return 0.031; - }else if(group.getId()== 17){ return 0.040; - }else return 0; - -} else { - -double Poids = (0.004184069 * Math.pow((group.getMaxLength() + group.getMinLength())/2 , 3.200812))*0.001; - return Poids ; -} -return 0; +//Weight equation + +/*Based on legth-weight key based on PelGas survey 2000-2005 +W = 0.004184069 * L ^ 3.200812 +for Spring and summer and juveniles (group <15)*/ + +Date date = context.getSimulationControl().getDate(); +if(group.getId() == 0){ return 0; +}else if (group.getId() < 15){ + double Poids = (0.004184069 * Math.pow((group.getMaxLength() + group.getMinLength())/2 , 3.200812))*0.001; + return Poids ; + +}else if(Month.JULY.equals(date.getMonth()) || Month.AUGUST.equals(date.getMonth())){ + if(group.getId() == 15) return 0.02655; //(Pelgas for group 14) + else if(group.getId() == 16) return 0.03294; // Pelgas for group 15 + else if(group.getId() == 17) return 0.04268; // Pelgas for group 16 + +/* based on market sampling in Autumn and winter */ +}else if (date.getMonth().after(Month.AUGUST) & date.getMonth().before(Month.MARCH)){ + if(group.getId()==15){ return 0.018; + }else if(group.getId()== 16){ return 0.031; + }else if(group.getId()== 17){ return 0.040; + }else return 0; + +} else { + +double Poids = (0.004184069 * Math.pow((group.getMaxLength() + group.getMinLength())/2 , 3.200812))*0.001; + return Poids ; +} +return 0; Property changes on: trunk/src/site/resources/v4/downloads/Weight_month.java ___________________________________________________________________ Added: svn:eol-style + native Modified: trunk/src/site/resources/v4/downloads/prixAnchois.java =================================================================== --- trunk/src/site/resources/v4/downloads/prixAnchois.java 2011-12-09 10:27:08 UTC (rev 57) +++ trunk/src/site/resources/v4/downloads/prixAnchois.java 2011-12-09 10:32:24 UTC (rev 58) @@ -1,20 +1,20 @@ -Date date = context.getSimulationControl().getDate() ; -Population pop = group.getPopulation() ; -String name = "matrixCatchWeightPerStrategyMetPerZonePop" ; -MatrixND landing = context.getResultManager().getMatrix(date,pop,name).copy(); -MatrixND land = landing.getSubMatrix(0,1,4); -Double landingSum = land.sumAll(); - -double[] Coef10 = {0,-0.275977,-0.093828,-2.89188,-2.437983,2.528421,0.194449,1.10878,0.529903,0.527172,1.503888,1.410975}; -double[] Coef20 = {-0.268437,-0.427446,-0.482732,-1.824395,-1.41204,0.203052,-0.550787,-0.28221,-0.236633,-0.385919,-0.342456,-1.918256}; -double[] Coef30 = {-0.808865,-0.804389,-1.133971,-2.13875,-1.91298,-0.643282,-1.324481,-0.641541,-0.543603,-0.830526,-0.486578,-4.372755}; -double[] Coef40 = {-1.824897,-0.43577,-1.155683,-3.574861,-2.3858,-0.977611,-0.949024,-0.233802,-0.412412,0.392487,-0.321009,-0.413922}; -if (group.getMeanWeight() <12/1000){ -coeff= Coef40; -}else if(group.getMeanWeight() <20/1000){ -coeff= Coef30; -}else if(group.getMeanWeight() <33/1000){ -coeff= Coef20; -}else { coeff= Coef40;} - double prix = -0.356622*Math.log(landingSum)+ coeff[date.getMonth().getMonthNumber()]; +Date date = context.getSimulationControl().getDate() ; +Population pop = group.getPopulation() ; +String name = "matrixCatchWeightPerStrategyMetPerZonePop" ; +MatrixND landing = context.getResultManager().getMatrix(date,pop,name).copy(); +MatrixND land = landing.getSubMatrix(0,1,4); +Double landingSum = land.sumAll(); + +double[] Coef10 = {0,-0.275977,-0.093828,-2.89188,-2.437983,2.528421,0.194449,1.10878,0.529903,0.527172,1.503888,1.410975}; +double[] Coef20 = {-0.268437,-0.427446,-0.482732,-1.824395,-1.41204,0.203052,-0.550787,-0.28221,-0.236633,-0.385919,-0.342456,-1.918256}; +double[] Coef30 = {-0.808865,-0.804389,-1.133971,-2.13875,-1.91298,-0.643282,-1.324481,-0.641541,-0.543603,-0.830526,-0.486578,-4.372755}; +double[] Coef40 = {-1.824897,-0.43577,-1.155683,-3.574861,-2.3858,-0.977611,-0.949024,-0.233802,-0.412412,0.392487,-0.321009,-0.413922}; +if (group.getMeanWeight() <12/1000){ +coeff= Coef40; +}else if(group.getMeanWeight() <20/1000){ +coeff= Coef30; +}else if(group.getMeanWeight() <33/1000){ +coeff= Coef20; +}else { coeff= Coef40;} + double prix = -0.356622*Math.log(landingSum)+ coeff[date.getMonth().getMonthNumber()]; return prix; \ No newline at end of file Property changes on: trunk/src/site/resources/v4/downloads/prixAnchois.java ___________________________________________________________________ Added: svn:eol-style + native Modified: trunk/src/site/resources/v4/downloads/traitementSorties.R =================================================================== --- trunk/src/site/resources/v4/downloads/traitementSorties.R 2011-12-09 10:27:08 UTC (rev 57) +++ trunk/src/site/resources/v4/downloads/traitementSorties.R 2011-12-09 10:32:24 UTC (rev 58) @@ -1,106 +1,106 @@ -# Un script R pour le traitement des resultats de simulation. -# Auteur : Hussein -# objectif du programme : importations des resultats des plans d'analyse (issus -# de 256 simulations) "l'analyse de sensibilite", avec ce programme R, on peut -# importer les 256 resultats -# des simulations (Biomasse Finale, Abondance finale, les captures cumulees de -# la derniere annee, les captures cumulees au cours de 5 dernieres annees de -# simulation, Effort de peche -# cumule sur toute la duree de simulation) en meme temps. Et en fin renvoyer -# tous les resultats dans une meme matrice. - -#------------- - -#----Import des fichiers de simulation --------- - -FILES<-list.files(path="C:\\Documents and Settings\\nom\\isis-database-3\\simulations") #pour recuperer les noms des repertoires des simulations - -# Import du Fichier 1 : Biomasse Finale " BF" = la biomasse du mois de decembre -# de la derniere annee de simulation (soit 10 ans de simulation) -#------------- - -Biomasse<-list() - -for (i in 1:length(FILES)) -{ -Biomasse[[i]]<-read.table(paste("C:\\Documents and Settings\\nom\\isis-database-3\\simulations\\",FILES[i],"\\resultExports\\Biomasses.csv",sep=""),sep=";") -} - -BF<-matrix(nrow=256, ncol=1) - -for (i in 1:nrow(BF)) -{ -BF[i,]<-sum(subset(Biomasse[[i]][,-c(1,2,3,4)],Biomasse[[i]][,4]==119)) -} - -#----------------------------------------------------------------------- -# Import du Fichier 2 : Abondance finale "AF" = l'abondance du mois de decembre -de la derniere annee de simulation -#------------- -Abondance<-list() - -for (i in 1:length(FILES)) -{ -Abondance[[i]]<-read.table(paste("C:\\Documents and Settings\\nom\\isis-database-3\\simulations\\",FILES[i],"\\resultExports\\Abondances.csv",sep=""),sep=";") -} - -AF<-matrix(nrow=256, ncol=1) - -for (i in 1:nrow(AF)) -{ -AF[i,]<-sum(subset(Abondance[[i]][,-c(1,2,3,4)],Abondance[[i]][,4]==119)) -} - - -#------------- -# Import du Fichier 3 : les captures cumulees de la derniere annee "CaptCumDerAn" -#------------- -Captures<-list() - -for (i in 1:length(FILES)) -{ -Captures[[i]]<-read.table(paste("C:\\Documents and Settings\\nom\\isis-database-3\\simulations\\",FILES[i],"\\resultExports\\CapturesPoids.csv",sep=""),sep=";") -} - -CaptCumDerAn<-matrix(nrow=256, ncol=1) - -for (i in 1:nrow(CaptCumDerAn)) -{ -CaptCumDerAn[i,]<-sum(subset(Captures[[i]][,-c(1,2,3,4,5)],Captures[[i]][,5]>107)) -} - - - -#------------- -# Calcul des captures cumulees au cours des 5 dernieres annees de simulation "CaptCum5Der" -#------------------------- -CaptCum5Der<-matrix(nrow=256, ncol=1) - -for (i in 1:nrow(CaptCum5Der)) -{ -CaptCum5Der[i,]<-sum(subset(Captures[[i]][,-c(1,2,3,4,5)],Captures[[i]][,5]>59)) -} - - - -#------------- -# Import du Fichier 4 : Effort cummule sur toute la duree de la simulation "Effortcumule" -#------------- -Effort<-list() - -for (i in 1:length(FILES)) -{ -Effort[[i]]<-read.table(paste("C:\\Documents and Settings\\nom\\isis-database-3\\simulations\\",FILES[i],"\\resultExports\\EffortsMetier.csv",sep=""),sep=";") -} - -Effortcumule<-matrix(nrow=256, ncol=1) - -for (i in 1:nrow(Effortcumule)) -{ -Effortcumule[i,]<-sum(Effort[[i]][,4]) -} - -#---------------------------------------- -AS<-cbind(BF,AF,CaptCumDerAn,CaptCum5Der,Effortcumule) # pour creer une matrice des 5 indicateurs -dimnames(AS)[[2]]<-c("BF","AF","CaptCumDerAn","CaptCum5Der","Effortcumule")# pour donner les nomes de chaque colonne - +# Un script R pour le traitement des resultats de simulation. +# Auteur : Hussein +# objectif du programme : importations des resultats des plans d'analyse (issus +# de 256 simulations) "l'analyse de sensibilite", avec ce programme R, on peut +# importer les 256 resultats +# des simulations (Biomasse Finale, Abondance finale, les captures cumulees de +# la derniere annee, les captures cumulees au cours de 5 dernieres annees de +# simulation, Effort de peche +# cumule sur toute la duree de simulation) en meme temps. Et en fin renvoyer +# tous les resultats dans une meme matrice. + +#------------- + +#----Import des fichiers de simulation --------- + +FILES<-list.files(path="C:\\Documents and Settings\\nom\\isis-database-3\\simulations") #pour recuperer les noms des repertoires des simulations + +# Import du Fichier 1 : Biomasse Finale " BF" = la biomasse du mois de decembre +# de la derniere annee de simulation (soit 10 ans de simulation) +#------------- + +Biomasse<-list() + +for (i in 1:length(FILES)) +{ +Biomasse[[i]]<-read.table(paste("C:\\Documents and Settings\\nom\\isis-database-3\\simulations\\",FILES[i],"\\resultExports\\Biomasses.csv",sep=""),sep=";") +} + +BF<-matrix(nrow=256, ncol=1) + +for (i in 1:nrow(BF)) +{ +BF[i,]<-sum(subset(Biomasse[[i]][,-c(1,2,3,4)],Biomasse[[i]][,4]==119)) +} + +#----------------------------------------------------------------------- +# Import du Fichier 2 : Abondance finale "AF" = l'abondance du mois de decembre +de la derniere annee de simulation +#------------- +Abondance<-list() + +for (i in 1:length(FILES)) +{ +Abondance[[i]]<-read.table(paste("C:\\Documents and Settings\\nom\\isis-database-3\\simulations\\",FILES[i],"\\resultExports\\Abondances.csv",sep=""),sep=";") +} + +AF<-matrix(nrow=256, ncol=1) + +for (i in 1:nrow(AF)) +{ +AF[i,]<-sum(subset(Abondance[[i]][,-c(1,2,3,4)],Abondance[[i]][,4]==119)) +} + + +#------------- +# Import du Fichier 3 : les captures cumulees de la derniere annee "CaptCumDerAn" +#------------- +Captures<-list() + +for (i in 1:length(FILES)) +{ +Captures[[i]]<-read.table(paste("C:\\Documents and Settings\\nom\\isis-database-3\\simulations\\",FILES[i],"\\resultExports\\CapturesPoids.csv",sep=""),sep=";") +} + +CaptCumDerAn<-matrix(nrow=256, ncol=1) + +for (i in 1:nrow(CaptCumDerAn)) +{ +CaptCumDerAn[i,]<-sum(subset(Captures[[i]][,-c(1,2,3,4,5)],Captures[[i]][,5]>107)) +} + + + +#------------- +# Calcul des captures cumulees au cours des 5 dernieres annees de simulation "CaptCum5Der" +#------------------------- +CaptCum5Der<-matrix(nrow=256, ncol=1) + +for (i in 1:nrow(CaptCum5Der)) +{ +CaptCum5Der[i,]<-sum(subset(Captures[[i]][,-c(1,2,3,4,5)],Captures[[i]][,5]>59)) +} + + + +#------------- +# Import du Fichier 4 : Effort cummule sur toute la duree de la simulation "Effortcumule" +#------------- +Effort<-list() + +for (i in 1:length(FILES)) +{ +Effort[[i]]<-read.table(paste("C:\\Documents and Settings\\nom\\isis-database-3\\simulations\\",FILES[i],"\\resultExports\\EffortsMetier.csv",sep=""),sep=";") +} + +Effortcumule<-matrix(nrow=256, ncol=1) + +for (i in 1:nrow(Effortcumule)) +{ +Effortcumule[i,]<-sum(Effort[[i]][,4]) +} + +#---------------------------------------- +AS<-cbind(BF,AF,CaptCumDerAn,CaptCum5Der,Effortcumule) # pour creer une matrice des 5 indicateurs +dimnames(AS)[[2]]<-c("BF","AF","CaptCumDerAn","CaptCum5Der","Effortcumule")# pour donner les nomes de chaque colonne + Property changes on: trunk/src/site/resources/v4/downloads/traitementSorties.R ___________________________________________________________________ Added: svn:eol-style + native Property changes on: trunk/src/site/rst/contact.rst ___________________________________________________________________ Added: svn:eol-style + native Property changes on: trunk/src/site/rst/download.rst ___________________________________________________________________ Added: svn:eol-style + native Property changes on: trunk/src/site/rst/history/changelog.rst ___________________________________________________________________ Added: svn:eol-style + native Property changes on: trunk/src/site/rst/history/history.rst ___________________________________________________________________ Added: svn:eol-style + native Property changes on: trunk/src/site/rst/history.rst ___________________________________________________________________ Added: svn:eol-style + native Modified: trunk/src/site/rst/index.rst =================================================================== --- trunk/src/site/rst/index.rst 2011-12-09 10:27:08 UTC (rev 57) +++ trunk/src/site/rst/index.rst 2011-12-09 10:32:24 UTC (rev 58) @@ -1,58 +1,58 @@ -.. - -.. * #%L -.. * IsisFish -.. * -.. * $Id: index.rst 3124 2010-11-29 18:14:09Z chatellier $ -.. * $HeadURL$ -.. * %% -.. * Copyright (C) 1999 - 2010 Ifremer, Code Lutin -.. * %% -.. * 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 2 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/gpl-2.0.html>. -.. * #L% -.. - -========= -ISIS-Fish -========= - -ISIS-Fish est un simulateur de pêcherie complexe. Il est entièrement écrit en -Java. Dans sa version 2, Le langage de script utilisé était ECMAScript, depuis -la version 3 on utilise directement du Java, ce qui permet de faire des -vérification syntaxique et indiquer à l'utilisateur la ligne en erreur. - -Pour utiliser ISIS-Fish il vous faut Java d'installé sur votre machine. - -Les caractéristiques sont: - -- Base de données embarquée -- Création d'autant de régions de pêches, contenant autant de populations que - l'on souhaite -- Création de mesures de gestion en langage de script -- Possibilité de modifier la façon de simuler en langage de script -- Possibilité d'éxecuter une suite de simulations en modifiant une ou des - données de simulation -- Possibilité d'envoyer les simulations se faire sur une autre machine -- Affichage des résultats spatialement (carte) ou temporellement (graph) -- Possibilité de publier les résultats d'une simulation sur un - serveur -- Possibilité de publier une région sur un serveur - - -Ce projet est un projet initié à la demande de l'Ifremer et financé par -celui-ci. L'analyse et la réalisation technique ont été confiées à différents -partenaires: - -- Irin (Institut de Recherche en Informatique de Nantes) -- Cogitec (http://www.cogitec.fr) -- Code Lutin (http://www.codelutin.com) +.. - +.. * #%L +.. * IsisFish +.. * +.. * $Id: index.rst 3124 2010-11-29 18:14:09Z chatellier $ +.. * $HeadURL$ +.. * %% +.. * Copyright (C) 1999 - 2010 Ifremer, Code Lutin +.. * %% +.. * 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 2 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/gpl-2.0.html>. +.. * #L% +.. - +========= +ISIS-Fish +========= + +ISIS-Fish est un simulateur de pêcherie complexe. Il est entièrement écrit en +Java. Dans sa version 2, Le langage de script utilisé était ECMAScript, depuis +la version 3 on utilise directement du Java, ce qui permet de faire des +vérification syntaxique et indiquer à l'utilisateur la ligne en erreur. + +Pour utiliser ISIS-Fish il vous faut Java d'installé sur votre machine. + +Les caractéristiques sont: + +- Base de données embarquée +- Création d'autant de régions de pêches, contenant autant de populations que + l'on souhaite +- Création de mesures de gestion en langage de script +- Possibilité de modifier la façon de simuler en langage de script +- Possibilité d'éxecuter une suite de simulations en modifiant une ou des + données de simulation +- Possibilité d'envoyer les simulations se faire sur une autre machine +- Affichage des résultats spatialement (carte) ou temporellement (graph) +- Possibilité de publier les résultats d'une simulation sur un + serveur +- Possibilité de publier une région sur un serveur + + +Ce projet est un projet initié à la demande de l'Ifremer et financé par +celui-ci. L'analyse et la réalisation technique ont été confiées à différents +partenaires: + +- Irin (Institut de Recherche en Informatique de Nantes) +- Cogitec (http://www.cogitec.fr) +- Code Lutin (http://www.codelutin.com) Property changes on: trunk/src/site/rst/index.rst ___________________________________________________________________ Added: svn:eol-style + native Property changes on: trunk/src/site/rst/license.rst ___________________________________________________________________ Added: svn:eol-style + native Property changes on: trunk/src/site/rst/listStats.rst ___________________________________________________________________ Added: svn:eol-style + native Property changes on: trunk/src/site/rst/news.rst ___________________________________________________________________ Added: svn:eol-style + native Property changes on: trunk/src/site/rst/othertools.rst ___________________________________________________________________ Added: svn:eol-style + native Property changes on: trunk/src/site/rst/presentation.rst ___________________________________________________________________ Added: svn:eol-style + native Property changes on: trunk/src/site/rst/publications.rst ___________________________________________________________________ Added: svn:eol-style + native Property changes on: trunk/src/site/rst/research.rst ___________________________________________________________________ Added: svn:eol-style + native Property changes on: trunk/src/site/rst/tools/eclipse.rst ___________________________________________________________________ Added: svn:eol-style + native Property changes on: trunk/src/site/rst/tools/netbeans.rst ___________________________________________________________________ Added: svn:eol-style + native Property changes on: trunk/src/site/rst/v1/changelog.rst ___________________________________________________________________ Added: svn:eol-style + native Property changes on: trunk/src/site/rst/v2/changelog.rst ___________________________________________________________________ Added: svn:eol-style + native Property changes on: trunk/src/site/rst/v2/devel/index.rst ___________________________________________________________________ Added: svn:eol-style + native Property changes on: trunk/src/site/rst/v2/index.rst ___________________________________________________________________ Added: svn:eol-style + native Property changes on: trunk/src/site/rst/v2/user/ECMAScript.rst ___________________________________________________________________ Added: svn:eol-style + native Property changes on: trunk/src/site/rst/v2/user/ECMAScriptEdit.rst ___________________________________________________________________ Added: svn:eol-style + native Property changes on: trunk/src/site/rst/v2/user/FAQ.rst ___________________________________________________________________ Added: svn:eol-style + native Property changes on: trunk/src/site/rst/v2/user/Rules.rst ___________________________________________________________________ Added: svn:eol-style + native Property changes on: trunk/src/site/rst/v2/user/ScriptHilaire.rst ___________________________________________________________________ Added: svn:eol-style + native Property changes on: trunk/src/site/rst/v2/user/SimulationLauncher.rst ___________________________________________________________________ Added: svn:eol-style + native Property changes on: trunk/src/site/rst/v2/user/index.rst ___________________________________________________________________ Added: svn:eol-style + native Property changes on: trunk/src/site/rst/v3/changeVersion.rst ___________________________________________________________________ Added: svn:eol-style + native Property changes on: trunk/src/site/rst/v3/changelog.rst ___________________________________________________________________ Added: svn:eol-style + native Property changes on: trunk/src/site/rst/v3/devel/SyntaxeOption.rst ___________________________________________________________________ Added: svn:eol-style + native Property changes on: trunk/src/site/rst/v3/devel/index.rst ___________________________________________________________________ Added: svn:eol-style + native Property changes on: trunk/src/site/rst/v3/devel/isis-architecture.rst ___________________________________________________________________ Added: svn:eol-style + native Property changes on: trunk/src/site/rst/v3/devel/usbkey.rst ___________________________________________________________________ Added: svn:eol-style + native Property changes on: trunk/src/site/rst/v3/index.rst ___________________________________________________________________ Added: svn:eol-style + native Property changes on: trunk/src/site/rst/v3/user/AnalysePlan.rst ___________________________________________________________________ Added: svn:eol-style + native Property changes on: trunk/src/site/rst/v3/user/ExternalScriptEditor.rst ___________________________________________________________________ Added: svn:eol-style + native Property changes on: trunk/src/site/rst/v3/user/FAQ.rst ___________________________________________________________________ Added: svn:eol-style + native Property changes on: trunk/src/site/rst/v3/user/Historique.rst ___________________________________________________________________ Added: svn:eol-style + native Property changes on: trunk/src/site/rst/v3/user/Installation.rst ___________________________________________________________________ Added: svn:eol-style + native Property changes on: trunk/src/site/rst/v3/user/Introduction.rst ___________________________________________________________________ Added: svn:eol-style + native Property changes on: trunk/src/site/rst/v3/user/LaunchOption.rst ___________________________________________________________________ Added: svn:eol-style + native Property changes on: trunk/src/site/rst/v3/user/UserInterface.rst ___________________________________________________________________ Added: svn:eol-style + native Property changes on: trunk/src/site/rst/v3/user/addSshKey.rst ___________________________________________________________________ Added: svn:eol-style + native Property changes on: trunk/src/site/rst/v3/user/index.rst ___________________________________________________________________ Added: svn:eol-style + native Property changes on: trunk/src/site/rst/v3/user/inputs.rst ___________________________________________________________________ Added: svn:eol-style + native Property changes on: trunk/src/site/rst/v3/user/isisFishData.rst ___________________________________________________________________ Added: svn:eol-style + native Property changes on: trunk/src/site/rst/v3/user/result.rst ___________________________________________________________________ Added: svn:eol-style + native Property changes on: trunk/src/site/rst/v3/user/scripts.rst ___________________________________________________________________ Added: svn:eol-style + native Property changes on: trunk/src/site/rst/v3/user/simulations.rst ___________________________________________________________________ Added: svn:eol-style + native Property changes on: trunk/src/site/rst/v4/devel/architecture.rst ___________________________________________________________________ Added: svn:eol-style + native Property changes on: trunk/src/site/rst/v4/devel/architectureMexico.rst ___________________________________________________________________ Added: svn:eol-style + native Property changes on: trunk/src/site/rst/v4/devel/index.rst ___________________________________________________________________ Added: svn:eol-style + native Property changes on: trunk/src/site/rst/v4/index.rst ___________________________________________________________________ Added: svn:eol-style + native Modified: trunk/src/site/rst/v4/user/API.rst =================================================================== --- trunk/src/site/rst/v4/user/API.rst 2011-12-09 10:27:08 UTC (rev 57) +++ trunk/src/site/rst/v4/user/API.rst 2011-12-09 10:32:24 UTC (rev 58) @@ -1,48 +1,48 @@ -.. - -.. * #%L -.. * IsisFish -.. * -.. * $Id$ -.. * $HeadURL$ -.. * %% -.. * Copyright (C) 1999 - 2011 Ifremer, Code Lutin, Chatellier Eric -.. * %% -.. * 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 2 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/gpl-2.0.html>. -.. * #L% -.. - -Documentation des APIs -====================== - -* `Le modele de donnees`_ -* `Javadoc ISIS-Fish`_ ( `src`_ ) -* `Javadoc JAVA`_ - -Librairies ----------- - -* `Javadoc ToPIA`_ (accès base de données) -* `Javadoc Nuiton-Matrix`_ et plus particulièrement `MatrixND`_ -* `Javadoc Nuiton-Utils`_ (ensemble de méthodes couramment utilisées) -* `Javadoc Nuiton-j2r`_ (interface entre IsisFish et R) - -.. _Le modele de donnees: isisFishModel.html -.. _Javadoc ISIS-Fish: ../../apidocs/index.html -.. _src: ../../xref/index.html -.. _Javadoc JAVA: http://java.sun.com/javase/6/docs/api/ -.. _Javadoc ToPIA: http://maven-site.nuiton.org/topia/topia-persistence/apidocs/index.html -.. _Javadoc Nuiton-Matrix: http://maven-site.nuiton.org/nuiton-matrix/apidocs/index.html -.. _MatrixND: http://maven-site.nuiton.org/nuiton-matrix/apidocs/org/nuiton/math/matrix/Ma... -.. _Javadoc Nuiton-Utils: http://maven-site.nuiton.org/nuiton-utils/nuiton-utils/apidocs/index.html +.. - +.. * #%L +.. * IsisFish +.. * +.. * $Id$ +.. * $HeadURL$ +.. * %% +.. * Copyright (C) 1999 - 2011 Ifremer, Code Lutin, Chatellier Eric +.. * %% +.. * 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 2 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/gpl-2.0.html>. +.. * #L% +.. - +Documentation des APIs +====================== + +* `Le modele de donnees`_ +* `Javadoc ISIS-Fish`_ ( `src`_ ) +* `Javadoc JAVA`_ + +Librairies +---------- + +* `Javadoc ToPIA`_ (accès base de données) +* `Javadoc Nuiton-Matrix`_ et plus particulièrement `MatrixND`_ +* `Javadoc Nuiton-Utils`_ (ensemble de méthodes couramment utilisées) +* `Javadoc Nuiton-j2r`_ (interface entre IsisFish et R) + +.. _Le modele de donnees: isisFishModel.html +.. _Javadoc ISIS-Fish: ../../apidocs/index.html +.. _src: ../../xref/index.html +.. _Javadoc JAVA: http://java.sun.com/javase/6/docs/api/ +.. _Javadoc ToPIA: http://maven-site.nuiton.org/topia/topia-persistence/apidocs/index.html +.. _Javadoc Nuiton-Matrix: http://maven-site.nuiton.org/nuiton-matrix/apidocs/index.html +.. _MatrixND: http://maven-site.nuiton.org/nuiton-matrix/apidocs/org/nuiton/math/matrix/Ma... +.. _Javadoc Nuiton-Utils: http://maven-site.nuiton.org/nuiton-utils/nuiton-utils/apidocs/index.html .. _Javadoc Nuiton-j2r: http://maven-site.nuiton.org/nuiton-j2r/apidocs/index.html \ No newline at end of file Property changes on: trunk/src/site/rst/v4/user/API.rst ___________________________________________________________________ Added: svn:eol-style + native Property changes on: trunk/src/site/rst/v4/user/FAQ.rst ___________________________________________________________________ Added: svn:eol-style + native Property changes on: trunk/src/site/rst/v4/user/caparmor.rst ___________________________________________________________________ Added: svn:eol-style + native Property changes on: trunk/src/site/rst/v4/user/changements40.rst ___________________________________________________________________ Added: svn:eol-style + native Property changes on: trunk/src/site/rst/v4/user/installation.rst ___________________________________________________________________ Added: svn:eol-style + native Property changes on: trunk/src/site/rst/v4/user/installationr.rst ___________________________________________________________________ Added: svn:eol-style + native Property changes on: trunk/src/site/rst/v4/user/isisFishModel.rst ___________________________________________________________________ Added: svn:eol-style + native Property changes on: trunk/src/site/rst/v4/user/migrationv3v4.rst ___________________________________________________________________ Added: svn:eol-style + native Modified: trunk/src/site/rst/v4/user/scripts.rst =================================================================== --- trunk/src/site/rst/v4/user/scripts.rst 2011-12-09 10:27:08 UTC (rev 57) +++ trunk/src/site/rst/v4/user/scripts.rst 2011-12-09 10:32:24 UTC (rev 58) @@ -1,148 +1,148 @@ -.. - -.. * #%L -.. * IsisFish -.. * -.. * $Id$ -.. * $HeadURL$ -.. * %% -.. * Copyright (C) 1999 - 2010 Ifremer, Code Lutin -.. * %% -.. * 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 2 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/gpl-2.0.html>. -.. * #L% -.. - -Page de dépôt de scripts -======================== - -Cette page a pour vocation d'accueillir des scripts non génériques des -utilisateurs qui souhaitent les partager. -Merci d'indiquer - * l'auteur, - * la version pour laquelle le script fonctionne, - * la région, - * de préciser, pour les plans d'analyse, de quel type ils sont (exploration, analyse de sensibilité,...) - * et de produire un descriptif de l'action du script. - -Plans de simulation -------------------- - -P_As_planFactFractV-12param sur la pêcherie Anchois -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Sigrid V3.1.3, Plan d'analyse : pour l'analyse de sensibilité sur la pêcherie -Anchois du GdG: - -Méthode de groupe screening, les facteurs de l'analyse sont 12 groupes de -paramètres (facteurs de standardisation, mortalité naturelle adulte, mortalité -naturelle juvénile, valeurs de capturabilité,valeurs de fécondité, coefficients -de migration, bornes des classes de longueur,équations de sélectivité,équations -des facteurs de ciblage, valeur d'inactivité, valeur du TAC (français et -espagnol), paramètres de l'aire marine protegee), le plan est un plan factoriel -fractionnaire de résolution V (256 simulations). - -`Plan d analyse et Fichiers Parametres et matrice`_ - -.. _Plan d analyse et Fichiers Parametres et matrice: ../downloads/P_As_planFactFract_12param_Anchois.zip - -Calibration du paramètre de capturabilité -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Sigrid V 3.3.0.2, Plan d'analyse : pour la calibration d un parametre de -capturabilité : algorithme décrit dans Walters, F.H., Parker, L.R., Morgan, S.L. -and Deming, S.N. 1991. Sequential Simplex optimization: a technique for -improving quality and productivity in reasearch, development, and manufacturing -(Chemometrics series). B.R. CRC Press LLC. 402 pp. On spécifie 5 valeurs -initiales séparées d'un meme pas, puis l'algorithme trouve la valeur qui -minimise la fonction objectif en explorant le voisinage de la meilleure valeur -avec un pas de plus en plus petit. `Plan d'analyse`_ - -.. _Plan d'analyse: ../downloads/P_Calibration_1param.zip - -Plan qui modifie les regles de gestion / modifying management rules -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Sigrid V 3.3.0.8 , Plan d'analyse pour la pecherie anchois : modifie les regles -de gestion a chaque simulation `Dossier contenant tous les fichiers nécessaires à ce plan`_ - -.. _Dossier contenant tous les fichiers nécessaires à ce plan: ../downloads/PlanModifRules.zip - -Plan qui modifie regle de gestion et parametres / modify rules and parameters -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Sigrid V 3.3.0.8 , Plan d'analyse pour la pecherie anchois : modifie les regles -de gestion, et des parametres (equations et nb de jours d'inactivite) a chaque -simulation `Dossier contenant tous les fichiers nécessaires à ce plan`_ - -.. _Dossier contenant tous les fichiers nécessaires à ce plan: ../downloads/PlanRulesParam.zip - -Règles de gestion ------------------ - -Sigrid V3.3.0.4, Règle de gestion : modification du script de TAC pour qu'il -s'applique de juillet à juin, pour qu'il ne concerne qu'une stratégie et que la -pêcherie soit fermée si la biomasse passe sous un seuil defini. `TAC modifie`_ - -.. _TAC modifie: ../downloads/TACfix_Es_Anchois.java - -Sigrid V3.3.0.8, Regle de gestion : Effort Reduction en modifiant le temps -d'inactivite. `Effort reduction`_ - -.. _Effort reduction: ../downloads/EffortReduction.java - -Sigrid V3.3.0.8, Regle de gestion : le pourcentage d'effort par metier chaque -mois est force a des valeurs lues dans un fichier `% Effort`_ - -.. _% Effort: ../downloads/Effort_2000_2004_MultiSp.java - -A venir: - -* regle implementant un RUM (modele de comportement de peche) -* regle de gestion incluant RUM et gestion par TAC -* HCR : TAC definit annuellement en fonction de la Biomasse du stock - -Exports -------- - -Analyses de sensibilité ------------------------ - -Exports pour analyse de sensibilité ------------------------------------ - -Simulateurs ------------ - -Équations ---------- - -Quelques exemples d'equations compliquees pour donner des idees du possible (Sigrid, Anchois) - -* `Equation de croissance simple VBGF`_ -* `Equation de Poids qui change selon le mois`_ -* `Equation de mortalite naturelle spatialisee`_ et variant chaque annee pour le premier groupe -* `Equation de reproduction`_ qui force la valeur les trois premieres annees puis la calcule -* `Equation de migration densite dependante`_ -* `Equation de migration`_ dont les coefficients sont forces aux valeurs observees tous les ans -* `Equation de prix en fonction des debarquements`_ - -.. _Equation de croissance simple VBGF: ../downloads/VGBFAnchois.java -.. _Equation de Poids qui change selon le mois: ../downloads/Weight_month.java -.. _Equation de mortalite naturelle spatialisee: ../downloads/MzonesAnneeMpertMgdg.java -.. _Equation de reproduction: ../downloads/Repro_recru0-2_StocksOeufs_Spatialisee061107.java -.. _Equation de migration densite dependante: ../downloads/MigrationAout.java -.. _Equation de migration: ../downloads/MigrationAdultsAvrilHistoric.java -.. _Equation de prix en fonction des debarquements: ../downloads/prixAnchois.java - -Scripts -------- +.. - +.. * #%L +.. * IsisFish +.. * +.. * $Id$ +.. * $HeadURL$ +.. * %% +.. * Copyright (C) 1999 - 2010 Ifremer, Code Lutin +.. * %% +.. * 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 2 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/gpl-2.0.html>. +.. * #L% +.. - +Page de dépôt de scripts +======================== + +Cette page a pour vocation d'accueillir des scripts non génériques des +utilisateurs qui souhaitent les partager. +Merci d'indiquer + * l'auteur, + * la version pour laquelle le script fonctionne, + * la région, + * de préciser, pour les plans d'analyse, de quel type ils sont (exploration, analyse de sensibilité,...) + * et de produire un descriptif de l'action du script. + +Plans de simulation +------------------- + +P_As_planFactFractV-12param sur la pêcherie Anchois +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Sigrid V3.1.3, Plan d'analyse : pour l'analyse de sensibilité sur la pêcherie +Anchois du GdG: + +Méthode de groupe screening, les facteurs de l'analyse sont 12 groupes de +paramètres (facteurs de standardisation, mortalité naturelle adulte, mortalité +naturelle juvénile, valeurs de capturabilité,valeurs de fécondité, coefficients +de migration, bornes des classes de longueur,équations de sélectivité,équations +des facteurs de ciblage, valeur d'inactivité, valeur du TAC (français et +espagnol), paramètres de l'aire marine protegee), le plan est un plan factoriel +fractionnaire de résolution V (256 simulations). + +`Plan d analyse et Fichiers Parametres et matrice`_ + +.. _Plan d analyse et Fichiers Parametres et matrice: ../downloads/P_As_planFactFract_12param_Anchois.zip + +Calibration du paramètre de capturabilité +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Sigrid V 3.3.0.2, Plan d'analyse : pour la calibration d un parametre de +capturabilité : algorithme décrit dans Walters, F.H., Parker, L.R., Morgan, S.L. +and Deming, S.N. 1991. Sequential Simplex optimization: a technique for +improving quality and productivity in reasearch, development, and manufacturing +(Chemometrics series). B.R. CRC Press LLC. 402 pp. On spécifie 5 valeurs +initiales séparées d'un meme pas, puis l'algorithme trouve la valeur qui +minimise la fonction objectif en explorant le voisinage de la meilleure valeur +avec un pas de plus en plus petit. `Plan d'analyse`_ + +.. _Plan d'analyse: ../downloads/P_Calibration_1param.zip + +Plan qui modifie les regles de gestion / modifying management rules +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Sigrid V 3.3.0.8 , Plan d'analyse pour la pecherie anchois : modifie les regles +de gestion a chaque simulation `Dossier contenant tous les fichiers nécessaires à ce plan`_ + +.. _Dossier contenant tous les fichiers nécessaires à ce plan: ../downloads/PlanModifRules.zip + +Plan qui modifie regle de gestion et parametres / modify rules and parameters +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Sigrid V 3.3.0.8 , Plan d'analyse pour la pecherie anchois : modifie les regles +de gestion, et des parametres (equations et nb de jours d'inactivite) a chaque +simulation `Dossier contenant tous les fichiers nécessaires à ce plan`_ + +.. _Dossier contenant tous les fichiers nécessaires à ce plan: ../downloads/PlanRulesParam.zip + +Règles de gestion +----------------- + +Sigrid V3.3.0.4, Règle de gestion : modification du script de TAC pour qu'il +s'applique de juillet à juin, pour qu'il ne concerne qu'une stratégie et que la +pêcherie soit fermée si la biomasse passe sous un seuil defini. `TAC modifie`_ + +.. _TAC modifie: ../downloads/TACfix_Es_Anchois.java + +Sigrid V3.3.0.8, Regle de gestion : Effort Reduction en modifiant le temps +d'inactivite. `Effort reduction`_ + +.. _Effort reduction: ../downloads/EffortReduction.java + +Sigrid V3.3.0.8, Regle de gestion : le pourcentage d'effort par metier chaque +mois est force a des valeurs lues dans un fichier `% Effort`_ + +.. _% Effort: ../downloads/Effort_2000_2004_MultiSp.java + +A venir: + +* regle implementant un RUM (modele de comportement de peche) +* regle de gestion incluant RUM et gestion par TAC +* HCR : TAC definit annuellement en fonction de la Biomasse du stock + +Exports +------- + +Analyses de sensibilité +----------------------- + +Exports pour analyse de sensibilité +----------------------------------- + +Simulateurs +----------- + +Équations +--------- + +Quelques exemples d'equations compliquees pour donner des idees du possible (Sigrid, Anchois) + +* `Equation de croissance simple VBGF`_ +* `Equation de Poids qui change selon le mois`_ +* `Equation de mortalite naturelle spatialisee`_ et variant chaque annee pour le premier groupe +* `Equation de reproduction`_ qui force la valeur les trois premieres annees puis la calcule +* `Equation de migration densite dependante`_ +* `Equation de migration`_ dont les coefficients sont forces aux valeurs observees tous les ans +* `Equation de prix en fonction des debarquements`_ + +.. _Equation de croissance simple VBGF: ../downloads/VGBFAnchois.java +.. _Equation de Poids qui change selon le mois: ../downloads/Weight_month.java +.. _Equation de mortalite naturelle spatialisee: ../downloads/MzonesAnneeMpertMgdg.java +.. _Equation de reproduction: ../downloads/Repro_recru0-2_StocksOeufs_Spatialisee061107.java +.. _Equation de migration densite dependante: ../downloads/MigrationAout.java +.. _Equation de migration: ../downloads/MigrationAdultsAvrilHistoric.java +.. _Equation de prix en fonction des debarquements: ../downloads/prixAnchois.java + +Scripts +------- Property changes on: trunk/src/site/rst/v4/user/scripts.rst ___________________________________________________________________ Added: svn:eol-style + native Property changes on: trunk/src/site/rst/v4/user/scriptsR.rst ___________________________________________________________________ Added: svn:eol-style + native Property changes on: trunk/src/site/rst/v4/user/tutorials/firstLaunch.rst ___________________________________________________________________ Added: svn:eol-style + native Property changes on: trunk/src/site/rst/v4/user/tutorials/parameterising.rst ___________________________________________________________________ Added: svn:eol-style + native Property changes on: trunk/src/site/rst/v4/user/tutorials/simulationPlan.rst ___________________________________________________________________ Added: svn:eol-style + native Property changes on: trunk/src/site/rst/v4/user/tutorials/useAPI.rst ___________________________________________________________________ Added: svn:eol-style + native Property changes on: trunk/src/site/rst/v4/user/tutorials/utilCaparmor.rst ___________________________________________________________________ Added: svn:eol-style + native Property changes on: trunk/src/site/rst/v4/user/tutorials.rst ___________________________________________________________________ Added: svn:eol-style + native Property changes on: trunk/src/site/rst/v4/user/usermanual/GUI.rst ___________________________________________________________________ Added: svn:eol-style + native Property changes on: trunk/src/site/rst/v4/user/usermanual/analysisPlan.rst ___________________________________________________________________ Added: svn:eol-style + native Property changes on: trunk/src/site/rst/v4/user/usermanual/inputs.rst ___________________________________________________________________ Added: svn:eol-style + native Property changes on: trunk/src/site/rst/v4/user/usermanual/introduction.rst ___________________________________________________________________ Added: svn:eol-style + native Property changes on: trunk/src/site/rst/v4/user/usermanual/launcher.rst ___________________________________________________________________ Added: svn:eol-style + native Property changes on: trunk/src/site/rst/v4/user/usermanual/queue.rst ___________________________________________________________________ Added: svn:eol-style + native Property changes on: trunk/src/site/rst/v4/user/usermanual/results.rst ___________________________________________________________________ Added: svn:eol-style + native Property changes on: trunk/src/site/rst/v4/user/usermanual/scripts.rst ___________________________________________________________________ Added: svn:eol-style + native Property changes on: trunk/src/site/rst/v4/user/usermanual/sensitivity.rst ___________________________________________________________________ Added: svn:eol-style + native Property changes on: trunk/src/site/rst/v4/user/usermanual.rst ___________________________________________________________________ Added: svn:eol-style + native Property changes on: trunk/src/site/rst/v4/user/warning.rst ___________________________________________________________________ Added: svn:eol-style + native Property changes on: trunk/src/site/site_en.xml ___________________________________________________________________ Added: svn:eol-style + native Property changes on: trunk/src/site/site_fr.xml ___________________________________________________________________ Added: svn:eol-style + native
participants (1)
-
jcouteau@users.forge.codelutin.com