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
_______________________________________________
Isis-fish-devel mailing list
Isis-fish-devel@list.isis-fish.org
http://list.isis-fish.org/cgi-bin/mailman/listinfo/isis-fish-devel