Author: kmorin Date: 2014-11-10 15:48:58 +0000 (Mon, 10 Nov 2014) New Revision: 348 Url: http://forge.codelutin.com/projects/isis-fish-data/repository/revisions/348 Log: - upgrade isis-fish dependency version - merge Sigrid's modification on DefaultSimulator Modified: trunk/pom.xml trunk/simulators/DefaultSimulator.java Modified: trunk/pom.xml =================================================================== --- trunk/pom.xml 2014-11-05 17:49:27 UTC (rev 347) +++ trunk/pom.xml 2014-11-10 15:48:58 UTC (rev 348) @@ -74,7 +74,7 @@ <dependency> <groupId>fr.ifremer</groupId> <artifactId>isis-fish</artifactId> - <version>4.3.1.1-SNAPSHOT</version> + <version>4.3.2.0-SNAPSHOT</version> <scope>compile</scope> </dependency> </dependencies> Modified: trunk/simulators/DefaultSimulator.java =================================================================== --- trunk/simulators/DefaultSimulator.java 2014-11-05 17:49:27 UTC (rev 347) +++ trunk/simulators/DefaultSimulator.java 2014-11-10 15:48:58 UTC (rev 348) @@ -1,3 +1,4 @@ + /* * #%L * IsisFish data @@ -21,6 +22,7 @@ */ package simulators; +import fr.ifremer.isisfish.IsisFish; import fr.ifremer.isisfish.IsisFishException; import fr.ifremer.isisfish.entities.Metier; import fr.ifremer.isisfish.entities.Population; @@ -99,7 +101,7 @@ // reload context parameters with context.getDB() context param.reloadContextParameters(); - + // // Rule initialisation // @@ -108,7 +110,7 @@ for (Rule rule : rules) { rule.init(context); log.info("Rule " + rule.getClass().getSimpleName() - + " initialized"); + + " initialized"); } // @@ -120,7 +122,7 @@ // Simulation loop // while (step.getStep() < lastStep) { - + // // if user stop simulation before last year // @@ -151,9 +153,9 @@ if (siMatrix.getStrategies(step).size() > 0) { if (resManager.isEnabled(ResultName.MATRIX_NO_ACTIVITY)) { MatrixND mat = metierMonitor.getOrCreateNoActivity(step, - ResultName.MATRIX_NO_ACTIVITY, siMatrix + ResultName.MATRIX_NO_ACTIVITY, siMatrix .getStrategies(step), siMatrix - .getMetiers(step)); + .getMetiers(step)); resManager.addResult(step, mat); } } @@ -162,7 +164,7 @@ // Rule condition evaluation // control.setText("Evaluate rules conditions (" + rules.size() - + " rules)"); + + " rules)"); for (Rule rule : rules) { for (Metier metier : siMatrix.getMetiers(step)) { boolean active = false; @@ -171,14 +173,14 @@ } catch (Exception eee) { if (log.isWarnEnabled()) { log.warn("Can't evaluate rule condition for: " - + rule, eee); + + rule, eee); } } ruleMonitor.setEvaluationCondition(step, rule, metier, - active); + active); if (active) { log.info("Activate rule: " - + rule.getClass().getSimpleName()); + + rule.getClass().getSimpleName()); resManager.addActiveRule(step, rule); } } @@ -191,7 +193,7 @@ for (Rule rule : rules) { for (Metier metier : siMatrix.getMetiers(step)) { boolean condition = ruleMonitor.getEvalutionCondition(step, - rule, metier); + rule, metier); if (condition) { rule.preAction(context, step, metier); } @@ -213,7 +215,7 @@ for (Population pop : siMatrix.getPopulations(step)) { computeMonth(context, siMatrix, step, pop); } - + // // Add some result not population dependante // @@ -231,29 +233,12 @@ } if (resManager.isEnabled(ResultName.MATRIX_EFFORT_NOMINAL_PER_STRATEGY_MET)) { - MatrixND effortNominalPerStrategyMet = siMatrix.matrixEffortNominalPerStrategyMet(step); + MatrixND effortNominalPerStrategyMet = siMatrix.matrixEffortNominalPerStrategyMet(step); resManager.addResult(step, effortNominalPerStrategyMet); } - // - // Add economics results - // - if (!"false".equalsIgnoreCase(param.getTagValue().get( - "ecoResult"))) { - control.setText("Add economics results"); - saveGravityModel(step, resManager, gravityModel); - } } - // - // Add economics results - // - if (resManager.isEnabled(ResultName.MATRIX_PRICE)) { - for (Population pop : siMatrix.getPopulations(step)) { - MatrixND matPrice = siMatrix.matrixPrice(step, pop); - resManager.addResult(step, pop, matPrice); - } - } // // Rule post action @@ -297,7 +282,7 @@ .matrixDiscardWeightPerStrategyMetPerZonePop( pop, step, discard); resManager.addResult(step, pop, - discardWeightPerStrategyMet); + discardWeightPerStrategyMet); } } @@ -314,6 +299,26 @@ resManager.addResult(step, pop, landing); } } + + // + // Add economics results + // + + if (siMatrix.getStrategies(step).size() > 0) { + if (!"false".equalsIgnoreCase(param.getTagValue().get( + "ecoResult"))) { + control.setText("Add economics results"); + saveGravityModel(step, resManager, gravityModel); + } + } + + if (resManager.isEnabled(ResultName.MATRIX_PRICE)) { + for (Population pop : siMatrix.getPopulations(step)) { + MatrixND matPrice = siMatrix.matrixPrice(step, pop); + resManager.addResult(step, pop, matPrice); + } + } + } // @@ -339,12 +344,12 @@ protected boolean isEffortByCell(SimulationContext context) { boolean result = "true".equalsIgnoreCase(context.getSimulationStorage() - .getParameter().getTagValue().get("effortByCell")); + .getParameter().getTagValue().get("effortByCell")); return result; } protected void computeMonth(SimulationContext context, SiMatrix siMatrix, - TimeStep step, Population pop) throws IsisFishException, TopiaException { + TimeStep step, Population pop) throws IsisFishException, TopiaException { // to add result ResultManager resManager = context.getResultManager(); @@ -353,8 +358,8 @@ if (log.isInfoEnabled()) { log.info("====================== begin " + step + " - " + pop - + " =========================== " - + System.currentTimeMillis()); + + " =========================== " + + System.currentTimeMillis()); log.info("N: " + N); } @@ -427,7 +432,7 @@ if (resManager.isEnabled(ResultName.MATRIX_ABUNDANCE_BEGIN_MONTH)) { MatrixND abondanceBM = siMatrix.matrixAbondanceBeginMonth(N, pop, - step); + step); resManager.addResult(step, pop, abondanceBM); } @@ -454,17 +459,17 @@ resManager.addResult(step, pop, matrixFishingMortality); abundance = siMatrix.matrixAbundance(N, pop, step, - matrixFishingMortality); + matrixFishingMortality); // this matrix is necessary for matrixCatchPerStrategyMet MatrixND catchRatePerStrategyMet = siMatrix .matrixCatchRatePerStrategyMetPerZone(pop, step, - matrixFishingMortality); + matrixFishingMortality); resManager.addResult(step, pop, catchRatePerStrategyMet); catchPerStrategyMetPerZonePop = siMatrix .matrixCatchPerStrategyMetPerZone(N, pop, step, - catchRatePerStrategyMet); + catchRatePerStrategyMet); } @@ -475,9 +480,9 @@ .isEnabled(ResultName.MATRIX_CATCH_WEIGHT_PER_STRATEGY_MET_PER_ZONE_POP)) { MatrixND catchWeightPerStrategyMet = siMatrix .matrixCatchWeightPerStrategyMetPerZonePop(step, pop, - catchPerStrategyMetPerZonePop); + catchPerStrategyMetPerZonePop); resManager.addResult(step, pop, catchWeightPerStrategyMet); - } + } if (isEffortByCell(context)) { MatrixND catchPerStrategyMetPerZoneMet = siMatrix @@ -488,7 +493,7 @@ .isEnabled(ResultName.MATRIX_CATCH_WEIGHT_PER_STRATEGY_MET_PER_ZONE_MET)) { MatrixND catchWeightPerStrategyMet = siMatrix .matrixCatchWeightPerStrategyMetPerZoneMet(step, - pop, catchPerStrategyMetPerZoneMet); + pop, catchPerStrategyMetPerZoneMet); resManager.addResult(step, pop, catchWeightPerStrategyMet); } } @@ -496,12 +501,12 @@ if (resManager.isEnabled(ResultName.MATRIX_FISHING_MORTALITY_PER_GROUP) || resManager.isEnabled(ResultName.MATRIX_TOTAL_FISHING_MORTALITY)) { MatrixND fishingMortalityPerGroup = siMatrix.fishingMortalityPerGroup(step, - pop, context.getResultManager()); + pop, context.getResultManager()); if (resManager.isEnabled(ResultName.MATRIX_FISHING_MORTALITY_PER_GROUP)) { resManager.addResult(step, pop, fishingMortalityPerGroup); } - + if (resManager.isEnabled(ResultName.MATRIX_TOTAL_FISHING_MORTALITY)) { MatrixND totalFishingMortality = siMatrix.totalFishingMortality(step, pop, fishingMortalityPerGroup); resManager.addResult(step, pop, totalFishingMortality); @@ -518,7 +523,7 @@ popMon.setN(pop, abundance); log.debug("====================== end " + step + " - " + pop - + " ==========================="); + + " ==========================="); } @@ -529,7 +534,7 @@ * @throws TopiaException */ private void saveGravityModel(TimeStep step, ResultManager resManager, - GravityModel gravityModel) throws IsisFishException, TopiaException { + GravityModel gravityModel) throws IsisFishException, TopiaException { if (resManager .isEnabled(ResultName.MATRIX_FISHING_TIME_PER_MONTH_PER_VESSEL)) { MatrixND mat = gravityModel