Bonjour, Voici la liste des modifications à apporter pour finaliser la version 4.4. Equation de recrutement ----------------------- L'idée principale est de simplifier l'utilisation des données en utilisant l'indice du mois dans la saison (donc 0, 1...) et non un calcul compliqué en utilisant (step, etalement, et gap). Modification: * Remplacer la map ReproductionDataMap en RecruitementInputMap * dans cette map, utiliser les indices de la saison de *reproduction* Exemple, pour une saison de reproduction Janvier/Février, un gap de 6 mois, et un etalement de 3 mois, l'equation de reproduction sera appelée 4 fois (nombre de mois reproduction + nombre de mois d'étalement - 1). les indices seront les suivants: - Juillet (0: données correspondant à l'étalement de Janvier) - Aout (0: données correspondant à l'étalement de Janvier, 1: données correspondant à l'étalement de Février) - Septembre (0: données correspondant à l'étalement de Janvier, 1: données correspondant à l'étalement de Février) - Octobre (0: pas de données, 1: données correspondant à l'étalement de Février) On remarque qu'au premier appel et au dernier appel, les données ne sont pas complete. Il n'y a pas encore (ou plus) d'étalement de la reproduction sur le mois courant. RecruitementData ---------------- La solution choisie a été de TOUJOURS disposer des données (biomasse, abondance, reproduction) correspondant au mois de reproduction, et d'une nouvelle donnée "recruitementContribution" qui n'est valable que pendant la période de recrutement. Si la saison de reproduction a deux mois, l’équation de recrutement sera appeler avec deux valeurs d'indice (0 et 1), mais parmis ces deux valeurs, recruitementContribution ne sera pas toujours disponible. Il a été décider d'utiliser "null" pour "recruitementContribution" dans le cas où l’équation est appelée hors période de recrutement. Appel de l'equation ------------------- L'equation ne sera pas appélée si aucun mois ne porte sur une période de recrutement, et donc que la map RecruitementInputMap ne contient que des valeurs ou "recruitementContribution" est null. Parametres ---------- Liste des parametres de l'equation de recrutement: step pop recruitementInputs result Liste des parametres de RecruitementInput: biomass aboundance, recruitementContribution Exemple (1 seul mois de repro) ------------------------------ double k = 120000; RecruitmentInput r0 = recruitmentInputs.get(0); MatrixND biomass = r0.getBiomass(); double allBiomass = biomass.sumAll(); Double p = r0.getRecruitmentContibution(); if (p != null) { double res = k * allBiomasss * p; for (Zone z : pop.getRecruitmentZone()) { result.setValue(pop.getPopulationGroup().get(0), res); } } return 0; Exports ------- Historiquement, les exports fonctionnaient à la fin de la simulation. Mais si les résultats n'étaient pas disponibles à ce moment là, ce n'est plus possible. La version 4.4 ajoute la possibilité de faire les exports par "pas de temps", et donc de fonctionner dans tous les cas. Pour la version 4.4: réecrire les export par pas de temps autant que possible. -- Éric Chatellier - www.codelutin.com - 02.40.50.29.28