Bonjour, Je suis en train de créer un Règle pour la répartition de mon recrutement mais j'ai un peu de mal avec ma syntaxe... Y-a que du rouge sur mon écran de vérification :( Le test de condition de la règle est fait et la je suis dans l'action avant du script, et j'essaye d'appeler (sans succès..) la matrice contenant les N de chaque classe pour pouvoir remplacer le N de la classe0 et de la classe 15 avec le nombre de recrus voulu. Quelle est la syntaxe correcte? J'ai attache mon début de règle au cas ou... Merci d'avance Jess -----Original Message----- From: isis-fish-users-bounces@list.isis-fish.org [mailto:isis-fish-users-bounces@list.isis-fish.org] On Behalf Of Stephanie MAHEVAS Sent: Tuesday, 10 May 2011 6:09 PM To: isis-fish-users@list.isis-fish.org Subject: Re: [Isis-fish-users] Repartition du recrutement dans une population male/femelle Bonjour Jessica, Si tu utilises l'equation de repro effectivement le recrutement se fait automatiquement dans la classe 0, en fonction de p.recru et du delta de mois entre ponte et recru. Il faut donc que tu ecrives une rule (script java à selectionner ensuite avant chaque simu dans l'interface de lancement) recrutement en et que tu mettes for (Zone zone : zoneRepro){ result.setValue(zone,0);}return 0; dans l'equation de repro. Dans ce script tu mets directement dans action avant de la regle ton recruit/8 dans la classe 0 dans la zone de recutement et dansla classe 15 dans la zone de recrutement et ce pour chaque mois du recutement (test de condition de la regle). Tu n'as alors plus besoin de delta de mois ni de p.recru je t'attache une vieille regle de recrutement dont tu pourras t'inspirer en reprenant la structure d'une regle plus actuelle pour la syntaxe et de l'API biensur ;-) a+ stephanie Jessica Andre a écrit :
Bonjour,
J'ai une population structurée en longueur avec les 15 premiers groupes représentant les males et les 15 autres les femelles. La reproduction s'effectue sur 4 mois. Comme je n'ai pas d'équation stock-recrutement, je fourni le nombre de recrus chaque année directement dans l'équation de reproduction :
-------------------------------------------------------------------------------------------------
int recruit = 0;
int currentYear = context.getSimulationControl().getDate().getYear();
// recruitement of males (Age 0=recruit) has both male and female recruits.
// They are then split in the transition tables (0.5 goes to female recruits=Age15)
if (currentYear==0) recruit=28242;//Year1=1998
else if (currentYear==1) recruit=30735;//Year1=1999
else if (currentYear==2) recruit=128069;//Year2=2000
else if (currentYear==3) recruit=133271;//Year3=2001
else if (currentYear==4) recruit=66466;//Year4=2002
else if (currentYear==5) recruit=136641;//Year5=2003
else if (currentYear==6) recruit=97484;//Year6=2004
else if (currentYear==7) recruit=118732;//Year7=2005
else if (currentYear==8) recruit=51677;//Year8=2006
else if (currentYear==9) recruit=57565;//Year9=2007
else recruit=40947;//Year10=2008
for (Zone zone : zoneRepro){
result.setValue(zone, recruit/4);//4 corresponds to the 4 months of reproduction
}
return 0;
--------------------------------------------------------------------------------------------------------
En conséquence, mes recrus s'effectuent bien sur 4 mois avec ¼ du recrutement annuel par mois de reproduction, mais elles sont toute dans le groupe Age0 qui correspond aux recrus males seulement. Je veux que la moitie de ces recrus aillent dans le groupe Age15 qui correspondent aux recrus femelles. Je ne vois pas comment le faire depuis l'équation alors j'ai tenté de le faire depuis la matrice de transition dans l'onglet saison, en mettant durant la saison de reproduction une transition de 0.5 de l'Age0 a l'Age0 et 0.5 de l'Age 0 a l'Age15. Ca me séparent bien les recrus mais pas comme il faut (recrutement des femelles est décalé d'un mois, le nombre de recrus n'est pas reparti selon mes attentes)
Alors je me re-pose la question : comment est-ce-que je réparti correctement mes recrus entre males et femelles ?
Merci d' avance !
Jess
***************************************************************************************
*Dr Jessica André*
Junior Research Fellow
Wild Fisheries Program-Fisheries Aquaculture & Coasts (FAC)
Institute for Marine and Antarctic Studies (IMAS)
University of Tasmania, Private Bag 49
Hobart, TAS 7001, Australia
Ph: (03) 6227 7284 /Int: +61 3 6227 7284
Fax: (03) 6227 8035 /Int: +61 3 6227 8035
Email: Jessica.Andre@utas.edu.au
Web: http://fcms.its.utas.edu.au/scieng/mrl/pagedetails.asp?lPersonId=3177
`·.,, ><(((º> `·.,, ><(((º> `·.,, ><(((º>
------------------------------------------------------------------------
_______________________________________________ Isis-fish-users mailing list Isis-fish-users@list.isis-fish.org http://list.isis-fish.org/cgi-bin/mailman/listinfo/isis-fish-users
-- ...................................................................... Stephanie MAHEVAS (Stephanie.Mahevas@ifremer.fr) IFREMER/EMH (Ecologie et Modèles pour l'Halieutique) Tel: (33) 2 40 37 41 81 Fax: (33) 2 40 37 40 75 o \ o / _ o __| \ / |__ o _ \ o / o /|\ | /\ ___\o \o | o/ o/__ /\ | /|\ / \ / \ | \ /) | ( \ /o\ / ) | (\ / | / \ / \ ......................................................................