Author: chatellier Date: 2009-05-07 20:14:16 +0000 (Thu, 07 May 2009) New Revision: 138 Modified: trunk/scripts/SiMatrix.java trunk/simulators/DefaultSimulator.java Log: Re ajout de effort nominal matrix Modified: trunk/scripts/SiMatrix.java =================================================================== --- trunk/scripts/SiMatrix.java 2009-05-07 17:07:20 UTC (rev 137) +++ trunk/scripts/SiMatrix.java 2009-05-07 20:14:16 UTC (rev 138) @@ -1226,6 +1226,66 @@ * @param date * @return */ + private double effortNominalPerStrategyMet(Strategy str, Metier metier, Date date) { + Month month = date.getMonth(); + StrategyMonthInfo smi = str.getStrategyMonthInfo(month); + + double propSetOfVessels = str.getProportionSetOfVessels(); + int nbOfVessels = str.getSetOfVessels().getNumberOfVessels(); + double propStrMet = smi.getProportionMetier(metier); + double effortNominalPerVessel = effortNominalPerStrategyPerVessel(str, metier, date); + + if(log.isDebugEnabled()) { + log.debug( + " strategy=" + str + + " metier=" + metier + + " propSetOfVessels=" + propSetOfVessels + + " nbOfVessels=" + nbOfVessels + + " propStrMet=" + propStrMet + + " effortPerVessel=" + effortNominalPerVessel + ); + } + + double result = propSetOfVessels * nbOfVessels * propStrMet * effortNominalPerVessel; + + return result; + } + + /** + * @param str + * @param metier + * @param date + * @return + */ + private double effortNominalPerStrategyPerVessel(Strategy str, Metier metier, Date date) { + Month month = date.getMonth(); + StrategyMonthInfo smi = str.getStrategyMonthInfo(month); + double nbTrips = smi.getNumberOfTrips(); + double fishingTime = fishingTimePerTrip(str, metier, date); + + + if(log.isDebugEnabled()) { + log.debug( + " strategy=" + str + + " metier=" + metier + + " nbTrips=" + nbTrips + + " fishingTime=" + fishingTime + + ); + } + // nominal timeAtSea = nbTrips * fishingTime; + // + double result = nbTrips * fishingTime; + + return result; + } + + /** + * @param str + * @param metier + * @param date + * @return + */ private double effortPerStrategyMet(Strategy str, Metier metier, Date date) { Month month = date.getMonth(); StrategyMonthInfo smi = str.getStrategyMonthInfo(month); @@ -1812,4 +1872,39 @@ return result; } +/////////////////////////////////////////////////////////////////////////// + // + // + // + /////////////////////////////////////////////////////////////////////////// + public MatrixND matrixEffortNominalPerStrategyMet(Date date) throws TopiaException { + + List<Strategy> strategies = getStrategies(date); + List<Metier> metiers = getMetiers(date); + + MatrixND result = MatrixFactory.getInstance().create( + ResultName.MATRIX_EFFORT_NOMINAL_PER_STRATEGY_MET, + new List[]{strategies, metiers}, + new String[]{n_("Strategies"), n_("Metiers")}); + + for (int s=0; s < strategies.size(); s++) { + Strategy str = strategies.get(s); + metiers = getMetiers(str, date); + for (int m=0; m < metiers.size(); m++) { + Metier metier = metiers.get(m); + double value = effortNominalPerStrategyMet(str, metier, date); + result.setValue(str, metier, value); + } + } + +// for(Strategy str : strategies){ +// List<Metier> metierStr = getMetiers(str, date); +// for(Metier metier : metierStr) { +// double val = effortPerStrategyMet(str, metier, date); // rem perf: effortPerStrategyMet a deja ete calculé +// result.setValue(str, metier, val); +// } +// } + + return result; + } } Modified: trunk/simulators/DefaultSimulator.java =================================================================== --- trunk/simulators/DefaultSimulator.java 2009-05-07 17:07:20 UTC (rev 137) +++ trunk/simulators/DefaultSimulator.java 2009-05-07 20:14:16 UTC (rev 138) @@ -225,6 +225,11 @@ resManager.addResult(date, effortPerStrategyMet); } + if (resManager.isEnabled(ResultName.MATRIX_EFFORT_NOMINAL_PER_STRATEGY_MET)) { + MatrixND effortNominalPerStrategyMet = siMatrix.matrixEffortNominalPerStrategyMet(date); + resManager.addResult(date, effortNominalPerStrategyMet); + } + if (resManager .isEnabled(ResultName.MATRIX_STD_TRAVEL_EFFORT_PER_STRATEGY_MET)) { MatrixND stdTravelEffortPerStrategyMet = siMatrix