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