From 99e67b6b3a419c1ae7d92c3048db8f46bddfa0fb Mon Sep 17 00:00:00 2001 From: Andreas Gattringer <gattringera@a772-cvl-ws23.biodiv.univie.ac.at> Date: Wed, 28 Jun 2023 14:24:28 +0200 Subject: [PATCH] butterflies: more information in first year --- src/modules/butterflies/butterflies_actions.c | 20 ++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/src/modules/butterflies/butterflies_actions.c b/src/modules/butterflies/butterflies_actions.c index 223647f..049740a 100644 --- a/src/modules/butterflies/butterflies_actions.c +++ b/src/modules/butterflies/butterflies_actions.c @@ -42,6 +42,7 @@ enum action_status bf_action_stats_reset(struct cats_grid *grid, struct cats_con cats_dt_rates egg_fraction_source = module_conf->egg_fraction_source; cats_dt_rates eggs_per_female = calculate_rate_for_matrix(&module_conf->eggs_per_female, &l_param, print_rate); cats_dt_rates reproduction_rate = calculate_rate_for_matrix(&module_conf->reproduction_rate, &l_param, print_rate); + cats_dt_rates K = calculate_rate_for_matrix(&conf->param[grid->id].carrying_capacity, &l_param, print_rate) * conf->param->max_adult_cc_fraction; cats_dt_rates local_eggs = (stationary + mobile * egg_fraction_source ) * eggs_per_female; // female -> female // to achieve the target reproduction rate, the number of eggs per female laid in the cell @@ -56,9 +57,26 @@ enum action_status bf_action_stats_reset(struct cats_grid *grid, struct cats_con log_message(LOG_INFO, "SUMMARY: stationary females at OT: %Lf", stationary); log_message(LOG_INFO, "SUMMARY: eggs to adult rate at OT: %Lf", eggs_to_adults_rate); log_message(LOG_INFO, "SUMMARY: egg fraction source at OT: %Lf", egg_fraction_source); - log_message(LOG_INFO, "SUMMARY: carrying capacity at OT: %d", l_param.K); + log_message(LOG_INFO, "SUMMARY: carrying capacity at OT: %Lf", K); log_message(LOG_INFO, "SUMMARY: effective female to female rate at OT: %Lf\n", result); + l_param.suitability = 1.0; + eggs_per_female = calculate_rate_for_matrix(&module_conf->eggs_per_female, &l_param, print_rate); + reproduction_rate = calculate_rate_for_matrix(&module_conf->reproduction_rate, &l_param, print_rate); + K = calculate_rate_for_matrix(&conf->param[grid->id].carrying_capacity, &l_param, print_rate) * conf->param->max_adult_cc_fraction; + local_eggs = (stationary + mobile * egg_fraction_source ) * eggs_per_female; + eggs_to_adults_rate = bf_egg_to_adult_survival_rate(reproduction_rate, local_eggs, female_fraction); + result = local_eggs * eggs_to_adults_rate * female_fraction; + + log_message(LOG_INFO, "SUMMARY: reproduction rate at suitability 1: %Lf", reproduction_rate); + log_message(LOG_INFO, "SUMMARY: eggs per female at suitability 1: %Lf", eggs_per_female); + log_message(LOG_INFO, "SUMMARY: local eggs at suitability 1: %Lf", local_eggs); + log_message(LOG_INFO, "SUMMARY: stationary females at suitability 1: %Lf", stationary); + log_message(LOG_INFO, "SUMMARY: eggs to adult rate at suitability 1: %Lf", eggs_to_adults_rate); + log_message(LOG_INFO, "SUMMARY: egg fraction source at suitability 1: %Lf", egg_fraction_source); + log_message(LOG_INFO, "SUMMARY: carrying capacity at suitability 1: %Lf", K); + log_message(LOG_INFO, "SUMMARY: effective female to female rate at suitability 1: %Lf\n", result); + } return action_grid_stats_reset(grid, conf); -- GitLab