diff --git a/python_app/experiments/README_SAR.md b/experiments_and_old_code_python_r/experiments_python/README_SAR.md similarity index 100% rename from python_app/experiments/README_SAR.md rename to experiments_and_old_code_python_r/experiments_python/README_SAR.md diff --git a/python_app/experiments/omnicloud/check_tif.py b/experiments_and_old_code_python_r/experiments_python/omnicloud/check_tif.py similarity index 100% rename from python_app/experiments/omnicloud/check_tif.py rename to experiments_and_old_code_python_r/experiments_python/omnicloud/check_tif.py diff --git a/python_app/experiments/omnicloud/cloud_detection_esa.ipynb b/experiments_and_old_code_python_r/experiments_python/omnicloud/cloud_detection_esa.ipynb similarity index 100% rename from python_app/experiments/omnicloud/cloud_detection_esa.ipynb rename to experiments_and_old_code_python_r/experiments_python/omnicloud/cloud_detection_esa.ipynb diff --git a/python_app/experiments/omnicloud/cloud_detection_step1_identify.ipynb b/experiments_and_old_code_python_r/experiments_python/omnicloud/cloud_detection_step1_identify.ipynb similarity index 100% rename from python_app/experiments/omnicloud/cloud_detection_step1_identify.ipynb rename to experiments_and_old_code_python_r/experiments_python/omnicloud/cloud_detection_step1_identify.ipynb diff --git a/python_app/experiments/omnicloud/cloud_detection_step2_test_omnicloudmask.ipynb b/experiments_and_old_code_python_r/experiments_python/omnicloud/cloud_detection_step2_test_omnicloudmask.ipynb similarity index 100% rename from python_app/experiments/omnicloud/cloud_detection_step2_test_omnicloudmask.ipynb rename to experiments_and_old_code_python_r/experiments_python/omnicloud/cloud_detection_step2_test_omnicloudmask.ipynb diff --git a/python_app/experiments/omnicloud/planet_ocm_processor.py b/experiments_and_old_code_python_r/experiments_python/omnicloud/planet_ocm_processor.py similarity index 100% rename from python_app/experiments/omnicloud/planet_ocm_processor.py rename to experiments_and_old_code_python_r/experiments_python/omnicloud/planet_ocm_processor.py diff --git a/python_app/experiments/omnicloud/test_omnicloudmask_simple.py b/experiments_and_old_code_python_r/experiments_python/omnicloud/test_omnicloudmask_simple.py similarity index 100% rename from python_app/experiments/omnicloud/test_omnicloudmask_simple.py rename to experiments_and_old_code_python_r/experiments_python/omnicloud/test_omnicloudmask_simple.py diff --git a/python_app/experiments/planet_download_with_ocm copy.ipynb b/experiments_and_old_code_python_r/experiments_python/planet_download_with_ocm copy.ipynb similarity index 100% rename from python_app/experiments/planet_download_with_ocm copy.ipynb rename to experiments_and_old_code_python_r/experiments_python/planet_download_with_ocm copy.ipynb diff --git a/python_app/experiments/planet_download_with_ocm.ipynb b/experiments_and_old_code_python_r/experiments_python/planet_download_with_ocm.ipynb similarity index 100% rename from python_app/experiments/planet_download_with_ocm.ipynb rename to experiments_and_old_code_python_r/experiments_python/planet_download_with_ocm.ipynb diff --git a/python_app/experiments/setup_sar_environment.py b/experiments_and_old_code_python_r/experiments_python/setup_sar_environment.py similarity index 100% rename from python_app/experiments/setup_sar_environment.py rename to experiments_and_old_code_python_r/experiments_python/setup_sar_environment.py diff --git a/python_app/experiments/test_sar_download.py b/experiments_and_old_code_python_r/experiments_python/test_sar_download.py similarity index 100% rename from python_app/experiments/test_sar_download.py rename to experiments_and_old_code_python_r/experiments_python/test_sar_download.py diff --git a/r_app/experiments/10_CI_report_with_kpis.Rmd b/experiments_and_old_code_python_r/experiments_r/10_CI_report_with_kpis.Rmd similarity index 100% rename from r_app/experiments/10_CI_report_with_kpis.Rmd rename to experiments_and_old_code_python_r/experiments_r/10_CI_report_with_kpis.Rmd diff --git a/r_app/experiments/ci_extraction_and_yield_prediction.R b/experiments_and_old_code_python_r/experiments_r/ci_extraction_and_yield_prediction.R similarity index 100% rename from r_app/experiments/ci_extraction_and_yield_prediction.R rename to experiments_and_old_code_python_r/experiments_r/ci_extraction_and_yield_prediction.R diff --git a/r_app/experiments/ci_graph_exploration/01_exploratory_germination_analysis.R b/experiments_and_old_code_python_r/experiments_r/ci_graph_exploration/01_exploratory_germination_analysis.R similarity index 100% rename from r_app/experiments/ci_graph_exploration/01_exploratory_germination_analysis.R rename to experiments_and_old_code_python_r/experiments_r/ci_graph_exploration/01_exploratory_germination_analysis.R diff --git a/r_app/experiments/ci_graph_exploration/02_exploratory_trajectory_baseline.R b/experiments_and_old_code_python_r/experiments_r/ci_graph_exploration/02_exploratory_trajectory_baseline.R similarity index 100% rename from r_app/experiments/ci_graph_exploration/02_exploratory_trajectory_baseline.R rename to experiments_and_old_code_python_r/experiments_r/ci_graph_exploration/02_exploratory_trajectory_baseline.R diff --git a/r_app/experiments/ci_graph_exploration/12_model_ci_baseline.png b/experiments_and_old_code_python_r/experiments_r/ci_graph_exploration/12_model_ci_baseline.png similarity index 100% rename from r_app/experiments/ci_graph_exploration/12_model_ci_baseline.png rename to experiments_and_old_code_python_r/experiments_r/ci_graph_exploration/12_model_ci_baseline.png diff --git a/r_app/experiments/ci_graph_exploration/germination_analysis/01_ci_by_age_category.png b/experiments_and_old_code_python_r/experiments_r/ci_graph_exploration/germination_analysis/01_ci_by_age_category.png similarity index 100% rename from r_app/experiments/ci_graph_exploration/germination_analysis/01_ci_by_age_category.png rename to experiments_and_old_code_python_r/experiments_r/ci_graph_exploration/germination_analysis/01_ci_by_age_category.png diff --git a/r_app/experiments/ci_graph_exploration/germination_analysis/01_ci_by_phase_with_trend.png b/experiments_and_old_code_python_r/experiments_r/ci_graph_exploration/germination_analysis/01_ci_by_phase_with_trend.png similarity index 100% rename from r_app/experiments/ci_graph_exploration/germination_analysis/01_ci_by_phase_with_trend.png rename to experiments_and_old_code_python_r/experiments_r/ci_graph_exploration/germination_analysis/01_ci_by_phase_with_trend.png diff --git a/r_app/experiments/ci_graph_exploration/germination_analysis/02_ci_boxplot_by_age_bins.png b/experiments_and_old_code_python_r/experiments_r/ci_graph_exploration/germination_analysis/02_ci_boxplot_by_age_bins.png similarity index 100% rename from r_app/experiments/ci_graph_exploration/germination_analysis/02_ci_boxplot_by_age_bins.png rename to experiments_and_old_code_python_r/experiments_r/ci_graph_exploration/germination_analysis/02_ci_boxplot_by_age_bins.png diff --git a/r_app/experiments/ci_graph_exploration/germination_analysis/03_ci_mean_with_sd.png b/experiments_and_old_code_python_r/experiments_r/ci_graph_exploration/germination_analysis/03_ci_mean_with_sd.png similarity index 100% rename from r_app/experiments/ci_graph_exploration/germination_analysis/03_ci_mean_with_sd.png rename to experiments_and_old_code_python_r/experiments_r/ci_graph_exploration/germination_analysis/03_ci_mean_with_sd.png diff --git a/r_app/experiments/ci_graph_exploration/old/01_inspect_ci_data.R b/experiments_and_old_code_python_r/experiments_r/ci_graph_exploration/old/01_inspect_ci_data.R similarity index 100% rename from r_app/experiments/ci_graph_exploration/old/01_inspect_ci_data.R rename to experiments_and_old_code_python_r/experiments_r/ci_graph_exploration/old/01_inspect_ci_data.R diff --git a/r_app/experiments/ci_graph_exploration/old/02_calculate_statistics.R b/experiments_and_old_code_python_r/experiments_r/ci_graph_exploration/old/02_calculate_statistics.R similarity index 100% rename from r_app/experiments/ci_graph_exploration/old/02_calculate_statistics.R rename to experiments_and_old_code_python_r/experiments_r/ci_graph_exploration/old/02_calculate_statistics.R diff --git a/r_app/experiments/ci_graph_exploration/old/03_change_comparison.png b/experiments_and_old_code_python_r/experiments_r/ci_graph_exploration/old/03_change_comparison.png similarity index 100% rename from r_app/experiments/ci_graph_exploration/old/03_change_comparison.png rename to experiments_and_old_code_python_r/experiments_r/ci_graph_exploration/old/03_change_comparison.png diff --git a/r_app/experiments/ci_graph_exploration/old/03_model_curves.png b/experiments_and_old_code_python_r/experiments_r/ci_graph_exploration/old/03_model_curves.png similarity index 100% rename from r_app/experiments/ci_graph_exploration/old/03_model_curves.png rename to experiments_and_old_code_python_r/experiments_r/ci_graph_exploration/old/03_model_curves.png diff --git a/r_app/experiments/ci_graph_exploration/old/03_smooth_data_and_create_models.R b/experiments_and_old_code_python_r/experiments_r/ci_graph_exploration/old/03_smooth_data_and_create_models.R similarity index 100% rename from r_app/experiments/ci_graph_exploration/old/03_smooth_data_and_create_models.R rename to experiments_and_old_code_python_r/experiments_r/ci_graph_exploration/old/03_smooth_data_and_create_models.R diff --git a/r_app/experiments/ci_graph_exploration/old/03_time_series_example.png b/experiments_and_old_code_python_r/experiments_r/ci_graph_exploration/old/03_time_series_example.png similarity index 100% rename from r_app/experiments/ci_graph_exploration/old/03_time_series_example.png rename to experiments_and_old_code_python_r/experiments_r/ci_graph_exploration/old/03_time_series_example.png diff --git a/r_app/experiments/ci_graph_exploration/old/04_SMOOTHING_FINDINGS.md b/experiments_and_old_code_python_r/experiments_r/ci_graph_exploration/old/04_SMOOTHING_FINDINGS.md similarity index 100% rename from r_app/experiments/ci_graph_exploration/old/04_SMOOTHING_FINDINGS.md rename to experiments_and_old_code_python_r/experiments_r/ci_graph_exploration/old/04_SMOOTHING_FINDINGS.md diff --git a/r_app/experiments/ci_graph_exploration/old/06_test_thresholds.R b/experiments_and_old_code_python_r/experiments_r/ci_graph_exploration/old/06_test_thresholds.R similarity index 100% rename from r_app/experiments/ci_graph_exploration/old/06_test_thresholds.R rename to experiments_and_old_code_python_r/experiments_r/ci_graph_exploration/old/06_test_thresholds.R diff --git a/r_app/experiments/ci_graph_exploration/old/06_trigger_comparison.png b/experiments_and_old_code_python_r/experiments_r/ci_graph_exploration/old/06_trigger_comparison.png similarity index 100% rename from r_app/experiments/ci_graph_exploration/old/06_trigger_comparison.png rename to experiments_and_old_code_python_r/experiments_r/ci_graph_exploration/old/06_trigger_comparison.png diff --git a/r_app/experiments/ci_graph_exploration/old/07_THRESHOLD_TEST_RESULTS.md b/experiments_and_old_code_python_r/experiments_r/ci_graph_exploration/old/07_THRESHOLD_TEST_RESULTS.md similarity index 100% rename from r_app/experiments/ci_graph_exploration/old/07_THRESHOLD_TEST_RESULTS.md rename to experiments_and_old_code_python_r/experiments_r/ci_graph_exploration/old/07_THRESHOLD_TEST_RESULTS.md diff --git a/r_app/experiments/ci_graph_exploration/old/ANALYSIS_FINDINGS.md b/experiments_and_old_code_python_r/experiments_r/ci_graph_exploration/old/ANALYSIS_FINDINGS.md similarity index 100% rename from r_app/experiments/ci_graph_exploration/old/ANALYSIS_FINDINGS.md rename to experiments_and_old_code_python_r/experiments_r/ci_graph_exploration/old/ANALYSIS_FINDINGS.md diff --git a/r_app/experiments/ci_graph_exploration/old/FILE_GUIDE.md b/experiments_and_old_code_python_r/experiments_r/ci_graph_exploration/old/FILE_GUIDE.md similarity index 100% rename from r_app/experiments/ci_graph_exploration/old/FILE_GUIDE.md rename to experiments_and_old_code_python_r/experiments_r/ci_graph_exploration/old/FILE_GUIDE.md diff --git a/r_app/experiments/ci_graph_exploration/old/INDEX.md b/experiments_and_old_code_python_r/experiments_r/ci_graph_exploration/old/INDEX.md similarity index 100% rename from r_app/experiments/ci_graph_exploration/old/INDEX.md rename to experiments_and_old_code_python_r/experiments_r/ci_graph_exploration/old/INDEX.md diff --git a/r_app/experiments/ci_graph_exploration/old/README.md b/experiments_and_old_code_python_r/experiments_r/ci_graph_exploration/old/README.md similarity index 100% rename from r_app/experiments/ci_graph_exploration/old/README.md rename to experiments_and_old_code_python_r/experiments_r/ci_graph_exploration/old/README.md diff --git a/r_app/experiments/ci_graph_exploration/some stuff b/experiments_and_old_code_python_r/experiments_r/ci_graph_exploration/some stuff similarity index 100% rename from r_app/experiments/ci_graph_exploration/some stuff rename to experiments_and_old_code_python_r/experiments_r/ci_graph_exploration/some stuff diff --git a/r_app/experiments/ci_graph_exploration/some stuffff/10_prepare_data_fresh.R b/experiments_and_old_code_python_r/experiments_r/ci_graph_exploration/some stuffff/10_prepare_data_fresh.R similarity index 100% rename from r_app/experiments/ci_graph_exploration/some stuffff/10_prepare_data_fresh.R rename to experiments_and_old_code_python_r/experiments_r/ci_graph_exploration/some stuffff/10_prepare_data_fresh.R diff --git a/r_app/experiments/ci_graph_exploration/some stuffff/11_master_visualization - kopie.png b/experiments_and_old_code_python_r/experiments_r/ci_graph_exploration/some stuffff/11_master_visualization - kopie.png similarity index 100% rename from r_app/experiments/ci_graph_exploration/some stuffff/11_master_visualization - kopie.png rename to experiments_and_old_code_python_r/experiments_r/ci_graph_exploration/some stuffff/11_master_visualization - kopie.png diff --git a/r_app/experiments/ci_graph_exploration/some stuffff/11_master_visualization.R b/experiments_and_old_code_python_r/experiments_r/ci_graph_exploration/some stuffff/11_master_visualization.R similarity index 100% rename from r_app/experiments/ci_graph_exploration/some stuffff/11_master_visualization.R rename to experiments_and_old_code_python_r/experiments_r/ci_graph_exploration/some stuffff/11_master_visualization.R diff --git a/r_app/experiments/ci_graph_exploration/some stuffff/11_master_visualization.png b/experiments_and_old_code_python_r/experiments_r/ci_graph_exploration/some stuffff/11_master_visualization.png similarity index 100% rename from r_app/experiments/ci_graph_exploration/some stuffff/11_master_visualization.png rename to experiments_and_old_code_python_r/experiments_r/ci_graph_exploration/some stuffff/11_master_visualization.png diff --git a/r_app/experiments/ci_graph_exploration/some stuffff/11_master_visualization_comparison.R b/experiments_and_old_code_python_r/experiments_r/ci_graph_exploration/some stuffff/11_master_visualization_comparison.R similarity index 100% rename from r_app/experiments/ci_graph_exploration/some stuffff/11_master_visualization_comparison.R rename to experiments_and_old_code_python_r/experiments_r/ci_graph_exploration/some stuffff/11_master_visualization_comparison.R diff --git a/r_app/experiments/ci_graph_exploration/some stuffff/11_master_visualization_comparison.png b/experiments_and_old_code_python_r/experiments_r/ci_graph_exploration/some stuffff/11_master_visualization_comparison.png similarity index 100% rename from r_app/experiments/ci_graph_exploration/some stuffff/11_master_visualization_comparison.png rename to experiments_and_old_code_python_r/experiments_r/ci_graph_exploration/some stuffff/11_master_visualization_comparison.png diff --git a/r_app/experiments/ci_graph_exploration/some stuffff/11_master_visualization_esa_only.R b/experiments_and_old_code_python_r/experiments_r/ci_graph_exploration/some stuffff/11_master_visualization_esa_only.R similarity index 100% rename from r_app/experiments/ci_graph_exploration/some stuffff/11_master_visualization_esa_only.R rename to experiments_and_old_code_python_r/experiments_r/ci_graph_exploration/some stuffff/11_master_visualization_esa_only.R diff --git a/r_app/experiments/ci_graph_exploration/some stuffff/11_master_visualization_esa_only.png b/experiments_and_old_code_python_r/experiments_r/ci_graph_exploration/some stuffff/11_master_visualization_esa_only.png similarity index 100% rename from r_app/experiments/ci_graph_exploration/some stuffff/11_master_visualization_esa_only.png rename to experiments_and_old_code_python_r/experiments_r/ci_graph_exploration/some stuffff/11_master_visualization_esa_only.png diff --git a/r_app/experiments/ci_graph_exploration/some stuffff/11_master_visualization_smooth.R b/experiments_and_old_code_python_r/experiments_r/ci_graph_exploration/some stuffff/11_master_visualization_smooth.R similarity index 100% rename from r_app/experiments/ci_graph_exploration/some stuffff/11_master_visualization_smooth.R rename to experiments_and_old_code_python_r/experiments_r/ci_graph_exploration/some stuffff/11_master_visualization_smooth.R diff --git a/r_app/experiments/ci_graph_exploration/some stuffff/11_master_visualization_smooth.png b/experiments_and_old_code_python_r/experiments_r/ci_graph_exploration/some stuffff/11_master_visualization_smooth.png similarity index 100% rename from r_app/experiments/ci_graph_exploration/some stuffff/11_master_visualization_smooth.png rename to experiments_and_old_code_python_r/experiments_r/ci_graph_exploration/some stuffff/11_master_visualization_smooth.png diff --git a/r_app/experiments/ci_graph_exploration/some stuffff/11_master_visualization_three_way.R b/experiments_and_old_code_python_r/experiments_r/ci_graph_exploration/some stuffff/11_master_visualization_three_way.R similarity index 100% rename from r_app/experiments/ci_graph_exploration/some stuffff/11_master_visualization_three_way.R rename to experiments_and_old_code_python_r/experiments_r/ci_graph_exploration/some stuffff/11_master_visualization_three_way.R diff --git a/r_app/experiments/ci_graph_exploration/some stuffff/11_master_visualization_three_way.png b/experiments_and_old_code_python_r/experiments_r/ci_graph_exploration/some stuffff/11_master_visualization_three_way.png similarity index 100% rename from r_app/experiments/ci_graph_exploration/some stuffff/11_master_visualization_three_way.png rename to experiments_and_old_code_python_r/experiments_r/ci_graph_exploration/some stuffff/11_master_visualization_three_way.png diff --git a/r_app/experiments/ci_graph_exploration/some stuffff/12_model_ci_baseline.R b/experiments_and_old_code_python_r/experiments_r/ci_graph_exploration/some stuffff/12_model_ci_baseline.R similarity index 100% rename from r_app/experiments/ci_graph_exploration/some stuffff/12_model_ci_baseline.R rename to experiments_and_old_code_python_r/experiments_r/ci_graph_exploration/some stuffff/12_model_ci_baseline.R diff --git a/r_app/experiments/ci_graph_exploration/some stuffff/12_model_ci_baseline.png b/experiments_and_old_code_python_r/experiments_r/ci_graph_exploration/some stuffff/12_model_ci_baseline.png similarity index 100% rename from r_app/experiments/ci_graph_exploration/some stuffff/12_model_ci_baseline.png rename to experiments_and_old_code_python_r/experiments_r/ci_graph_exploration/some stuffff/12_model_ci_baseline.png diff --git a/r_app/experiments/ci_graph_exploration/some stuffff/12_phase_specific_analysis.R b/experiments_and_old_code_python_r/experiments_r/ci_graph_exploration/some stuffff/12_phase_specific_analysis.R similarity index 100% rename from r_app/experiments/ci_graph_exploration/some stuffff/12_phase_specific_analysis.R rename to experiments_and_old_code_python_r/experiments_r/ci_graph_exploration/some stuffff/12_phase_specific_analysis.R diff --git a/r_app/experiments/ci_graph_exploration/some stuffff/13_kpi_refinement_rules.R b/experiments_and_old_code_python_r/experiments_r/ci_graph_exploration/some stuffff/13_kpi_refinement_rules.R similarity index 100% rename from r_app/experiments/ci_graph_exploration/some stuffff/13_kpi_refinement_rules.R rename to experiments_and_old_code_python_r/experiments_r/ci_graph_exploration/some stuffff/13_kpi_refinement_rules.R diff --git a/r_app/experiments/ci_graph_exploration/trajectory_baseline/01_baseline_trajectory_full.png b/experiments_and_old_code_python_r/experiments_r/ci_graph_exploration/trajectory_baseline/01_baseline_trajectory_full.png similarity index 100% rename from r_app/experiments/ci_graph_exploration/trajectory_baseline/01_baseline_trajectory_full.png rename to experiments_and_old_code_python_r/experiments_r/ci_graph_exploration/trajectory_baseline/01_baseline_trajectory_full.png diff --git a/r_app/experiments/ci_graph_exploration/trajectory_baseline/02_growth_rates_by_phase.png b/experiments_and_old_code_python_r/experiments_r/ci_graph_exploration/trajectory_baseline/02_growth_rates_by_phase.png similarity index 100% rename from r_app/experiments/ci_graph_exploration/trajectory_baseline/02_growth_rates_by_phase.png rename to experiments_and_old_code_python_r/experiments_r/ci_graph_exploration/trajectory_baseline/02_growth_rates_by_phase.png diff --git a/r_app/experiments/ci_graph_exploration/trajectory_baseline/03_phase_ci_ranges.png b/experiments_and_old_code_python_r/experiments_r/ci_graph_exploration/trajectory_baseline/03_phase_ci_ranges.png similarity index 100% rename from r_app/experiments/ci_graph_exploration/trajectory_baseline/03_phase_ci_ranges.png rename to experiments_and_old_code_python_r/experiments_r/ci_graph_exploration/trajectory_baseline/03_phase_ci_ranges.png diff --git a/r_app/experiments/colorblind/colorblind_map_mockups.R b/experiments_and_old_code_python_r/experiments_r/colorblind/colorblind_map_mockups.R similarity index 100% rename from r_app/experiments/colorblind/colorblind_map_mockups.R rename to experiments_and_old_code_python_r/experiments_r/colorblind/colorblind_map_mockups.R diff --git a/r_app/experiments/colorblind/example_colorblind_usage.R b/experiments_and_old_code_python_r/experiments_r/colorblind/example_colorblind_usage.R similarity index 100% rename from r_app/experiments/colorblind/example_colorblind_usage.R rename to experiments_and_old_code_python_r/experiments_r/colorblind/example_colorblind_usage.R diff --git a/r_app/experiments/colorblind/ggplot_colorblind_maps.R b/experiments_and_old_code_python_r/experiments_r/colorblind/ggplot_colorblind_maps.R similarity index 100% rename from r_app/experiments/colorblind/ggplot_colorblind_maps.R rename to experiments_and_old_code_python_r/experiments_r/colorblind/ggplot_colorblind_maps.R diff --git a/r_app/experiments/combine_esa_yield_data.R b/experiments_and_old_code_python_r/experiments_r/combine_esa_yield_data.R similarity index 100% rename from r_app/experiments/combine_esa_yield_data.R rename to experiments_and_old_code_python_r/experiments_r/combine_esa_yield_data.R diff --git a/r_app/experiments/counting_clouds.R b/experiments_and_old_code_python_r/experiments_r/counting_clouds.R similarity index 100% rename from r_app/experiments/counting_clouds.R rename to experiments_and_old_code_python_r/experiments_r/counting_clouds.R diff --git a/r_app/experiments/crop_messaging/crop_analysis_messaging.R b/experiments_and_old_code_python_r/experiments_r/crop_messaging/crop_analysis_messaging.R similarity index 100% rename from r_app/experiments/crop_messaging/crop_analysis_messaging.R rename to experiments_and_old_code_python_r/experiments_r/crop_messaging/crop_analysis_messaging.R diff --git a/r_app/experiments/crop_messaging/crop_messaging_flowchart.md b/experiments_and_old_code_python_r/experiments_r/crop_messaging/crop_messaging_flowchart.md similarity index 100% rename from r_app/experiments/crop_messaging/crop_messaging_flowchart.md rename to experiments_and_old_code_python_r/experiments_r/crop_messaging/crop_messaging_flowchart.md diff --git a/r_app/experiments/crop_messaging/crop_messaging_flowchart_clean.md b/experiments_and_old_code_python_r/experiments_r/crop_messaging/crop_messaging_flowchart_clean.md similarity index 100% rename from r_app/experiments/crop_messaging/crop_messaging_flowchart_clean.md rename to experiments_and_old_code_python_r/experiments_r/crop_messaging/crop_messaging_flowchart_clean.md diff --git a/r_app/experiments/crop_messaging/young_field_analysis.R b/experiments_and_old_code_python_r/experiments_r/crop_messaging/young_field_analysis.R similarity index 100% rename from r_app/experiments/crop_messaging/young_field_analysis.R rename to experiments_and_old_code_python_r/experiments_r/crop_messaging/young_field_analysis.R diff --git a/r_app/experiments/crop_messaging_utils.R b/experiments_and_old_code_python_r/experiments_r/crop_messaging_utils.R similarity index 100% rename from r_app/experiments/crop_messaging_utils.R rename to experiments_and_old_code_python_r/experiments_r/crop_messaging_utils.R diff --git a/r_app/experiments/delete_cloud_exploratoin b/experiments_and_old_code_python_r/experiments_r/delete_cloud_exploratoin similarity index 100% rename from r_app/experiments/delete_cloud_exploratoin rename to experiments_and_old_code_python_r/experiments_r/delete_cloud_exploratoin diff --git a/r_app/experiments/delete_cloud_exploratoin.R b/experiments_and_old_code_python_r/experiments_r/delete_cloud_exploratoin.R similarity index 100% rename from r_app/experiments/delete_cloud_exploratoin.R rename to experiments_and_old_code_python_r/experiments_r/delete_cloud_exploratoin.R diff --git a/r_app/experiments/executive_summary/CI_report_dashboard_planet_enhanced.Rmd b/experiments_and_old_code_python_r/experiments_r/executive_summary/CI_report_dashboard_planet_enhanced.Rmd similarity index 100% rename from r_app/experiments/executive_summary/CI_report_dashboard_planet_enhanced.Rmd rename to experiments_and_old_code_python_r/experiments_r/executive_summary/CI_report_dashboard_planet_enhanced.Rmd diff --git a/r_app/experiments/executive_summary/CI_report_executive_summary.Rmd b/experiments_and_old_code_python_r/experiments_r/executive_summary/CI_report_executive_summary.Rmd similarity index 100% rename from r_app/experiments/executive_summary/CI_report_executive_summary.Rmd rename to experiments_and_old_code_python_r/experiments_r/executive_summary/CI_report_executive_summary.Rmd diff --git a/r_app/experiments/executive_summary/CI_report_executive_summary_v2.Rmd b/experiments_and_old_code_python_r/experiments_r/executive_summary/CI_report_executive_summary_v2.Rmd similarity index 100% rename from r_app/experiments/executive_summary/CI_report_executive_summary_v2.Rmd rename to experiments_and_old_code_python_r/experiments_r/executive_summary/CI_report_executive_summary_v2.Rmd diff --git a/r_app/experiments/executive_summary/executive_report_utils.R b/experiments_and_old_code_python_r/experiments_r/executive_summary/executive_report_utils.R similarity index 100% rename from r_app/experiments/executive_summary/executive_report_utils.R rename to experiments_and_old_code_python_r/experiments_r/executive_summary/executive_report_utils.R diff --git a/r_app/experiments/experiment_generate_report_with_phases.R b/experiments_and_old_code_python_r/experiments_r/experiment_generate_report_with_phases.R similarity index 100% rename from r_app/experiments/experiment_generate_report_with_phases.R rename to experiments_and_old_code_python_r/experiments_r/experiment_generate_report_with_phases.R diff --git a/r_app/experiments/experiment_temporal_yield_forecasting.R b/experiments_and_old_code_python_r/experiments_r/experiment_temporal_yield_forecasting.R similarity index 100% rename from r_app/experiments/experiment_temporal_yield_forecasting.R rename to experiments_and_old_code_python_r/experiments_r/experiment_temporal_yield_forecasting.R diff --git a/r_app/experiments/experiment_yield_prediction_comparison.R b/experiments_and_old_code_python_r/experiments_r/experiment_yield_prediction_comparison.R similarity index 100% rename from r_app/experiments/experiment_yield_prediction_comparison.R rename to experiments_and_old_code_python_r/experiments_r/experiment_yield_prediction_comparison.R diff --git a/r_app/experiments/harvest_prediction/00_GROWTH_PHASE_HARVEST_MAP.md b/experiments_and_old_code_python_r/experiments_r/harvest_prediction/00_GROWTH_PHASE_HARVEST_MAP.md similarity index 100% rename from r_app/experiments/harvest_prediction/00_GROWTH_PHASE_HARVEST_MAP.md rename to experiments_and_old_code_python_r/experiments_r/harvest_prediction/00_GROWTH_PHASE_HARVEST_MAP.md diff --git a/r_app/experiments/harvest_prediction/01_QUICK_START_GUIDE.md b/experiments_and_old_code_python_r/experiments_r/harvest_prediction/01_QUICK_START_GUIDE.md similarity index 100% rename from r_app/experiments/harvest_prediction/01_QUICK_START_GUIDE.md rename to experiments_and_old_code_python_r/experiments_r/harvest_prediction/01_QUICK_START_GUIDE.md diff --git a/r_app/experiments/harvest_prediction/analyze_bfast_results.R b/experiments_and_old_code_python_r/experiments_r/harvest_prediction/analyze_bfast_results.R similarity index 100% rename from r_app/experiments/harvest_prediction/analyze_bfast_results.R rename to experiments_and_old_code_python_r/experiments_r/harvest_prediction/analyze_bfast_results.R diff --git a/r_app/experiments/harvest_prediction/bfast_BEST_smoothing.png b/experiments_and_old_code_python_r/experiments_r/harvest_prediction/bfast_BEST_smoothing.png similarity index 100% rename from r_app/experiments/harvest_prediction/bfast_BEST_smoothing.png rename to experiments_and_old_code_python_r/experiments_r/harvest_prediction/bfast_BEST_smoothing.png diff --git a/r_app/experiments/harvest_prediction/bfast_breaks_count.png b/experiments_and_old_code_python_r/experiments_r/harvest_prediction/bfast_breaks_count.png similarity index 100% rename from r_app/experiments/harvest_prediction/bfast_breaks_count.png rename to experiments_and_old_code_python_r/experiments_r/harvest_prediction/bfast_breaks_count.png diff --git a/r_app/experiments/harvest_prediction/bfast_ci_timeseries.png b/experiments_and_old_code_python_r/experiments_r/harvest_prediction/bfast_ci_timeseries.png similarity index 100% rename from r_app/experiments/harvest_prediction/bfast_ci_timeseries.png rename to experiments_and_old_code_python_r/experiments_r/harvest_prediction/bfast_ci_timeseries.png diff --git a/r_app/experiments/harvest_prediction/bfast_detection_pattern.png b/experiments_and_old_code_python_r/experiments_r/harvest_prediction/bfast_detection_pattern.png similarity index 100% rename from r_app/experiments/harvest_prediction/bfast_detection_pattern.png rename to experiments_and_old_code_python_r/experiments_r/harvest_prediction/bfast_detection_pattern.png diff --git a/r_app/experiments/harvest_prediction/bfast_example_MATCHED.png b/experiments_and_old_code_python_r/experiments_r/harvest_prediction/bfast_example_MATCHED.png similarity index 100% rename from r_app/experiments/harvest_prediction/bfast_example_MATCHED.png rename to experiments_and_old_code_python_r/experiments_r/harvest_prediction/bfast_example_MATCHED.png diff --git a/r_app/experiments/harvest_prediction/bfast_example_MISMATCH.png b/experiments_and_old_code_python_r/experiments_r/harvest_prediction/bfast_example_MISMATCH.png similarity index 100% rename from r_app/experiments/harvest_prediction/bfast_example_MISMATCH.png rename to experiments_and_old_code_python_r/experiments_r/harvest_prediction/bfast_example_MISMATCH.png diff --git a/r_app/experiments/harvest_prediction/bfastmonitor_best_smoothing.png b/experiments_and_old_code_python_r/experiments_r/harvest_prediction/bfastmonitor_best_smoothing.png similarity index 100% rename from r_app/experiments/harvest_prediction/bfastmonitor_best_smoothing.png rename to experiments_and_old_code_python_r/experiments_r/harvest_prediction/bfastmonitor_best_smoothing.png diff --git a/r_app/experiments/harvest_prediction/bfastmonitor_custom.png b/experiments_and_old_code_python_r/experiments_r/harvest_prediction/bfastmonitor_custom.png similarity index 100% rename from r_app/experiments/harvest_prediction/bfastmonitor_custom.png rename to experiments_and_old_code_python_r/experiments_r/harvest_prediction/bfastmonitor_custom.png diff --git a/r_app/experiments/harvest_prediction/bfastmonitor_standard.png b/experiments_and_old_code_python_r/experiments_r/harvest_prediction/bfastmonitor_standard.png similarity index 100% rename from r_app/experiments/harvest_prediction/bfastmonitor_standard.png rename to experiments_and_old_code_python_r/experiments_r/harvest_prediction/bfastmonitor_standard.png diff --git a/r_app/experiments/harvest_prediction/detect_harvest_retrospective_bfast.R b/experiments_and_old_code_python_r/experiments_r/harvest_prediction/detect_harvest_retrospective_bfast.R similarity index 100% rename from r_app/experiments/harvest_prediction/detect_harvest_retrospective_bfast.R rename to experiments_and_old_code_python_r/experiments_r/harvest_prediction/detect_harvest_retrospective_bfast.R diff --git a/r_app/experiments/harvest_prediction/detect_harvest_stateful.R b/experiments_and_old_code_python_r/experiments_r/harvest_prediction/detect_harvest_stateful.R similarity index 100% rename from r_app/experiments/harvest_prediction/detect_harvest_stateful.R rename to experiments_and_old_code_python_r/experiments_r/harvest_prediction/detect_harvest_stateful.R diff --git a/r_app/experiments/harvest_prediction/harvest_alert_system.R b/experiments_and_old_code_python_r/experiments_r/harvest_prediction/harvest_alert_system.R similarity index 100% rename from r_app/experiments/harvest_prediction/harvest_alert_system.R rename to experiments_and_old_code_python_r/experiments_r/harvest_prediction/harvest_alert_system.R diff --git a/r_app/experiments/harvest_prediction/harvest_detection_00302.png b/experiments_and_old_code_python_r/experiments_r/harvest_prediction/harvest_detection_00302.png similarity index 100% rename from r_app/experiments/harvest_prediction/harvest_detection_00302.png rename to experiments_and_old_code_python_r/experiments_r/harvest_prediction/harvest_detection_00302.png diff --git a/r_app/experiments/harvest_prediction/harvest_detection_00F25.png b/experiments_and_old_code_python_r/experiments_r/harvest_prediction/harvest_detection_00F25.png similarity index 100% rename from r_app/experiments/harvest_prediction/harvest_detection_00F25.png rename to experiments_and_old_code_python_r/experiments_r/harvest_prediction/harvest_detection_00F25.png diff --git a/r_app/experiments/harvest_prediction/harvest_detection_00F27.png b/experiments_and_old_code_python_r/experiments_r/harvest_prediction/harvest_detection_00F27.png similarity index 100% rename from r_app/experiments/harvest_prediction/harvest_detection_00F27.png rename to experiments_and_old_code_python_r/experiments_r/harvest_prediction/harvest_detection_00F27.png diff --git a/r_app/experiments/harvest_prediction/harvest_detection_00F28.png b/experiments_and_old_code_python_r/experiments_r/harvest_prediction/harvest_detection_00F28.png similarity index 100% rename from r_app/experiments/harvest_prediction/harvest_detection_00F28.png rename to experiments_and_old_code_python_r/experiments_r/harvest_prediction/harvest_detection_00F28.png diff --git a/r_app/experiments/harvest_prediction/harvest_detection_00P81.png b/experiments_and_old_code_python_r/experiments_r/harvest_prediction/harvest_detection_00P81.png similarity index 100% rename from r_app/experiments/harvest_prediction/harvest_detection_00P81.png rename to experiments_and_old_code_python_r/experiments_r/harvest_prediction/harvest_detection_00P81.png diff --git a/r_app/experiments/harvest_prediction/harvest_detection_00P83.png b/experiments_and_old_code_python_r/experiments_r/harvest_prediction/harvest_detection_00P83.png similarity index 100% rename from r_app/experiments/harvest_prediction/harvest_detection_00P83.png rename to experiments_and_old_code_python_r/experiments_r/harvest_prediction/harvest_detection_00P83.png diff --git a/r_app/experiments/harvest_prediction/harvest_detection_00P84.png b/experiments_and_old_code_python_r/experiments_r/harvest_prediction/harvest_detection_00P84.png similarity index 100% rename from r_app/experiments/harvest_prediction/harvest_detection_00P84.png rename to experiments_and_old_code_python_r/experiments_r/harvest_prediction/harvest_detection_00P84.png diff --git a/r_app/experiments/harvest_prediction/harvest_detection_KHWA.png b/experiments_and_old_code_python_r/experiments_r/harvest_prediction/harvest_detection_KHWA.png similarity index 100% rename from r_app/experiments/harvest_prediction/harvest_detection_KHWA.png rename to experiments_and_old_code_python_r/experiments_r/harvest_prediction/harvest_detection_KHWA.png diff --git a/r_app/experiments/harvest_prediction/harvest_detection_KHWB.png b/experiments_and_old_code_python_r/experiments_r/harvest_prediction/harvest_detection_KHWB.png similarity index 100% rename from r_app/experiments/harvest_prediction/harvest_detection_KHWB.png rename to experiments_and_old_code_python_r/experiments_r/harvest_prediction/harvest_detection_KHWB.png diff --git a/r_app/experiments/harvest_prediction/harvest_detection_KHWC.png b/experiments_and_old_code_python_r/experiments_r/harvest_prediction/harvest_detection_KHWC.png similarity index 100% rename from r_app/experiments/harvest_prediction/harvest_detection_KHWC.png rename to experiments_and_old_code_python_r/experiments_r/harvest_prediction/harvest_detection_KHWC.png diff --git a/r_app/experiments/harvest_prediction/investigate_khwc_2024.R b/experiments_and_old_code_python_r/experiments_r/harvest_prediction/investigate_khwc_2024.R similarity index 100% rename from r_app/experiments/harvest_prediction/investigate_khwc_2024.R rename to experiments_and_old_code_python_r/experiments_r/harvest_prediction/investigate_khwc_2024.R diff --git a/r_app/experiments/harvest_prediction/old/analyze_harvest_ci.R b/experiments_and_old_code_python_r/experiments_r/harvest_prediction/old/analyze_harvest_ci.R similarity index 100% rename from r_app/experiments/harvest_prediction/old/analyze_harvest_ci.R rename to experiments_and_old_code_python_r/experiments_r/harvest_prediction/old/analyze_harvest_ci.R diff --git a/r_app/experiments/harvest_prediction/old/analyze_harvest_methods.R b/experiments_and_old_code_python_r/experiments_r/harvest_prediction/old/analyze_harvest_methods.R similarity index 100% rename from r_app/experiments/harvest_prediction/old/analyze_harvest_methods.R rename to experiments_and_old_code_python_r/experiments_r/harvest_prediction/old/analyze_harvest_methods.R diff --git a/r_app/experiments/harvest_prediction/old/analyze_harvest_signature.R b/experiments_and_old_code_python_r/experiments_r/harvest_prediction/old/analyze_harvest_signature.R similarity index 100% rename from r_app/experiments/harvest_prediction/old/analyze_harvest_signature.R rename to experiments_and_old_code_python_r/experiments_r/harvest_prediction/old/analyze_harvest_signature.R diff --git a/r_app/experiments/harvest_prediction/old/analyze_missed_harvests.R b/experiments_and_old_code_python_r/experiments_r/harvest_prediction/old/analyze_missed_harvests.R similarity index 100% rename from r_app/experiments/harvest_prediction/old/analyze_missed_harvests.R rename to experiments_and_old_code_python_r/experiments_r/harvest_prediction/old/analyze_missed_harvests.R diff --git a/r_app/experiments/harvest_prediction/old/compare_harvest_detection.R b/experiments_and_old_code_python_r/experiments_r/harvest_prediction/old/compare_harvest_detection.R similarity index 100% rename from r_app/experiments/harvest_prediction/old/compare_harvest_detection.R rename to experiments_and_old_code_python_r/experiments_r/harvest_prediction/old/compare_harvest_detection.R diff --git a/r_app/experiments/harvest_prediction/old/debug_harvest_dates.R b/experiments_and_old_code_python_r/experiments_r/harvest_prediction/old/debug_harvest_dates.R similarity index 100% rename from r_app/experiments/harvest_prediction/old/debug_harvest_dates.R rename to experiments_and_old_code_python_r/experiments_r/harvest_prediction/old/debug_harvest_dates.R diff --git a/r_app/experiments/harvest_prediction/old/detect_harvest_daily.R b/experiments_and_old_code_python_r/experiments_r/harvest_prediction/old/detect_harvest_daily.R similarity index 100% rename from r_app/experiments/harvest_prediction/old/detect_harvest_daily.R rename to experiments_and_old_code_python_r/experiments_r/harvest_prediction/old/detect_harvest_daily.R diff --git a/r_app/experiments/harvest_prediction/old/detect_harvest_dual_mode.R b/experiments_and_old_code_python_r/experiments_r/harvest_prediction/old/detect_harvest_dual_mode.R similarity index 100% rename from r_app/experiments/harvest_prediction/old/detect_harvest_dual_mode.R rename to experiments_and_old_code_python_r/experiments_r/harvest_prediction/old/detect_harvest_dual_mode.R diff --git a/r_app/experiments/harvest_prediction/old/detect_harvest_from_daily.R b/experiments_and_old_code_python_r/experiments_r/harvest_prediction/old/detect_harvest_from_daily.R similarity index 100% rename from r_app/experiments/harvest_prediction/old/detect_harvest_from_daily.R rename to experiments_and_old_code_python_r/experiments_r/harvest_prediction/old/detect_harvest_from_daily.R diff --git a/r_app/experiments/harvest_prediction/old/examine_missed_harvests.R b/experiments_and_old_code_python_r/experiments_r/harvest_prediction/old/examine_missed_harvests.R similarity index 100% rename from r_app/experiments/harvest_prediction/old/examine_missed_harvests.R rename to experiments_and_old_code_python_r/experiments_r/harvest_prediction/old/examine_missed_harvests.R diff --git a/r_app/experiments/harvest_prediction/old/explore_harvest_prediction.R b/experiments_and_old_code_python_r/experiments_r/harvest_prediction/old/explore_harvest_prediction.R similarity index 100% rename from r_app/experiments/harvest_prediction/old/explore_harvest_prediction.R rename to experiments_and_old_code_python_r/experiments_r/harvest_prediction/old/explore_harvest_prediction.R diff --git a/r_app/experiments/harvest_prediction/old/operational_harvest_alerts.R b/experiments_and_old_code_python_r/experiments_r/harvest_prediction/old/operational_harvest_alerts.R similarity index 100% rename from r_app/experiments/harvest_prediction/old/operational_harvest_alerts.R rename to experiments_and_old_code_python_r/experiments_r/harvest_prediction/old/operational_harvest_alerts.R diff --git a/r_app/experiments/harvest_prediction/old/predict_harvest_forward.R b/experiments_and_old_code_python_r/experiments_r/harvest_prediction/old/predict_harvest_forward.R similarity index 100% rename from r_app/experiments/harvest_prediction/old/predict_harvest_forward.R rename to experiments_and_old_code_python_r/experiments_r/harvest_prediction/old/predict_harvest_forward.R diff --git a/r_app/experiments/harvest_prediction/old/predict_harvest_operational.R b/experiments_and_old_code_python_r/experiments_r/harvest_prediction/old/predict_harvest_operational.R similarity index 100% rename from r_app/experiments/harvest_prediction/old/predict_harvest_operational.R rename to experiments_and_old_code_python_r/experiments_r/harvest_prediction/old/predict_harvest_operational.R diff --git a/r_app/experiments/harvest_prediction/old/predict_harvest_window.R b/experiments_and_old_code_python_r/experiments_r/harvest_prediction/old/predict_harvest_window.R similarity index 100% rename from r_app/experiments/harvest_prediction/old/predict_harvest_window.R rename to experiments_and_old_code_python_r/experiments_r/harvest_prediction/old/predict_harvest_window.R diff --git a/r_app/experiments/harvest_prediction/old/simplified_harvest_alerts.R b/experiments_and_old_code_python_r/experiments_r/harvest_prediction/old/simplified_harvest_alerts.R similarity index 100% rename from r_app/experiments/harvest_prediction/old/simplified_harvest_alerts.R rename to experiments_and_old_code_python_r/experiments_r/harvest_prediction/old/simplified_harvest_alerts.R diff --git a/r_app/experiments/harvest_prediction/old/view_daily_alerts.R b/experiments_and_old_code_python_r/experiments_r/harvest_prediction/old/view_daily_alerts.R similarity index 100% rename from r_app/experiments/harvest_prediction/old/view_daily_alerts.R rename to experiments_and_old_code_python_r/experiments_r/harvest_prediction/old/view_daily_alerts.R diff --git a/r_app/experiments/harvest_prediction/old/visualize_harvest_ci.R b/experiments_and_old_code_python_r/experiments_r/harvest_prediction/old/visualize_harvest_ci.R similarity index 100% rename from r_app/experiments/harvest_prediction/old/visualize_harvest_ci.R rename to experiments_and_old_code_python_r/experiments_r/harvest_prediction/old/visualize_harvest_ci.R diff --git a/r_app/experiments/harvest_prediction/test_bfast_rolling.R b/experiments_and_old_code_python_r/experiments_r/harvest_prediction/test_bfast_rolling.R similarity index 100% rename from r_app/experiments/harvest_prediction/test_bfast_rolling.R rename to experiments_and_old_code_python_r/experiments_r/harvest_prediction/test_bfast_rolling.R diff --git a/r_app/experiments/harvest_prediction/test_bfast_smoothing.R b/experiments_and_old_code_python_r/experiments_r/harvest_prediction/test_bfast_smoothing.R similarity index 100% rename from r_app/experiments/harvest_prediction/test_bfast_smoothing.R rename to experiments_and_old_code_python_r/experiments_r/harvest_prediction/test_bfast_smoothing.R diff --git a/r_app/experiments/harvest_prediction/test_bfastmonitor.R b/experiments_and_old_code_python_r/experiments_r/harvest_prediction/test_bfastmonitor.R similarity index 100% rename from r_app/experiments/harvest_prediction/test_bfastmonitor.R rename to experiments_and_old_code_python_r/experiments_r/harvest_prediction/test_bfastmonitor.R diff --git a/r_app/experiments/harvest_prediction/visualize_bfast_decomposition.R b/experiments_and_old_code_python_r/experiments_r/harvest_prediction/visualize_bfast_decomposition.R similarity index 100% rename from r_app/experiments/harvest_prediction/visualize_bfast_decomposition.R rename to experiments_and_old_code_python_r/experiments_r/harvest_prediction/visualize_bfast_decomposition.R diff --git a/r_app/experiments/interactive_ci_visualization/CI_Test.Rmd b/experiments_and_old_code_python_r/experiments_r/interactive_ci_visualization/CI_Test.Rmd similarity index 100% rename from r_app/experiments/interactive_ci_visualization/CI_Test.Rmd rename to experiments_and_old_code_python_r/experiments_r/interactive_ci_visualization/CI_Test.Rmd diff --git a/r_app/experiments/interactive_ci_visualization/Interactive_CI_Report.Rmd b/experiments_and_old_code_python_r/experiments_r/interactive_ci_visualization/Interactive_CI_Report.Rmd similarity index 100% rename from r_app/experiments/interactive_ci_visualization/Interactive_CI_Report.Rmd rename to experiments_and_old_code_python_r/experiments_r/interactive_ci_visualization/Interactive_CI_Report.Rmd diff --git a/r_app/experiments/interactive_ci_visualization/Interactive_CI_Report.html b/experiments_and_old_code_python_r/experiments_r/interactive_ci_visualization/Interactive_CI_Report.html similarity index 100% rename from r_app/experiments/interactive_ci_visualization/Interactive_CI_Report.html rename to experiments_and_old_code_python_r/experiments_r/interactive_ci_visualization/Interactive_CI_Report.html diff --git a/r_app/experiments/interactive_ci_visualization/ci_analysis_functions.R b/experiments_and_old_code_python_r/experiments_r/interactive_ci_visualization/ci_analysis_functions.R similarity index 100% rename from r_app/experiments/interactive_ci_visualization/ci_analysis_functions.R rename to experiments_and_old_code_python_r/experiments_r/interactive_ci_visualization/ci_analysis_functions.R diff --git a/r_app/experiments/interactive_ci_visualization/ci_functions_clean.R b/experiments_and_old_code_python_r/experiments_r/interactive_ci_visualization/ci_functions_clean.R similarity index 100% rename from r_app/experiments/interactive_ci_visualization/ci_functions_clean.R rename to experiments_and_old_code_python_r/experiments_r/interactive_ci_visualization/ci_functions_clean.R diff --git a/r_app/experiments/interactive_ci_visualization/test_ci_analysis.R b/experiments_and_old_code_python_r/experiments_r/interactive_ci_visualization/test_ci_analysis.R similarity index 100% rename from r_app/experiments/interactive_ci_visualization/test_ci_analysis.R rename to experiments_and_old_code_python_r/experiments_r/interactive_ci_visualization/test_ci_analysis.R diff --git a/r_app/experiments/interactive_ci_visualization/test_ci_functions.R b/experiments_and_old_code_python_r/experiments_r/interactive_ci_visualization/test_ci_functions.R similarity index 100% rename from r_app/experiments/interactive_ci_visualization/test_ci_functions.R rename to experiments_and_old_code_python_r/experiments_r/interactive_ci_visualization/test_ci_functions.R diff --git a/r_app/experiments/interactive_sar_visualization/Interactive_SAR_Report.Rmd b/experiments_and_old_code_python_r/experiments_r/interactive_sar_visualization/Interactive_SAR_Report.Rmd similarity index 100% rename from r_app/experiments/interactive_sar_visualization/Interactive_SAR_Report.Rmd rename to experiments_and_old_code_python_r/experiments_r/interactive_sar_visualization/Interactive_SAR_Report.Rmd diff --git a/r_app/experiments/interactive_sar_visualization/README.md b/experiments_and_old_code_python_r/experiments_r/interactive_sar_visualization/README.md similarity index 100% rename from r_app/experiments/interactive_sar_visualization/README.md rename to experiments_and_old_code_python_r/experiments_r/interactive_sar_visualization/README.md diff --git a/r_app/experiments/interactive_sar_visualization/README_SAR.md b/experiments_and_old_code_python_r/experiments_r/interactive_sar_visualization/README_SAR.md similarity index 100% rename from r_app/experiments/interactive_sar_visualization/README_SAR.md rename to experiments_and_old_code_python_r/experiments_r/interactive_sar_visualization/README_SAR.md diff --git a/r_app/experiments/interactive_sar_visualization/SAR_exploration_report.Rmd b/experiments_and_old_code_python_r/experiments_r/interactive_sar_visualization/SAR_exploration_report.Rmd similarity index 100% rename from r_app/experiments/interactive_sar_visualization/SAR_exploration_report.Rmd rename to experiments_and_old_code_python_r/experiments_r/interactive_sar_visualization/SAR_exploration_report.Rmd diff --git a/r_app/experiments/interactive_sar_visualization/SAR_quick_test.Rmd b/experiments_and_old_code_python_r/experiments_r/interactive_sar_visualization/SAR_quick_test.Rmd similarity index 100% rename from r_app/experiments/interactive_sar_visualization/SAR_quick_test.Rmd rename to experiments_and_old_code_python_r/experiments_r/interactive_sar_visualization/SAR_quick_test.Rmd diff --git a/r_app/experiments/interactive_sar_visualization/download_s1_aura.py b/experiments_and_old_code_python_r/experiments_r/interactive_sar_visualization/download_s1_aura.py similarity index 100% rename from r_app/experiments/interactive_sar_visualization/download_s1_aura.py rename to experiments_and_old_code_python_r/experiments_r/interactive_sar_visualization/download_s1_aura.py diff --git a/r_app/experiments/interactive_sar_visualization/generate_sar_report copy.R b/experiments_and_old_code_python_r/experiments_r/interactive_sar_visualization/generate_sar_report copy.R similarity index 100% rename from r_app/experiments/interactive_sar_visualization/generate_sar_report copy.R rename to experiments_and_old_code_python_r/experiments_r/interactive_sar_visualization/generate_sar_report copy.R diff --git a/r_app/experiments/interactive_sar_visualization/generate_sar_report.R b/experiments_and_old_code_python_r/experiments_r/interactive_sar_visualization/generate_sar_report.R similarity index 100% rename from r_app/experiments/interactive_sar_visualization/generate_sar_report.R rename to experiments_and_old_code_python_r/experiments_r/interactive_sar_visualization/generate_sar_report.R diff --git a/r_app/experiments/interactive_sar_visualization/sar_analysis_functions.R b/experiments_and_old_code_python_r/experiments_r/interactive_sar_visualization/sar_analysis_functions.R similarity index 100% rename from r_app/experiments/interactive_sar_visualization/sar_analysis_functions.R rename to experiments_and_old_code_python_r/experiments_r/interactive_sar_visualization/sar_analysis_functions.R diff --git a/r_app/experiments/interactive_sar_visualization/sar_visualization.R b/experiments_and_old_code_python_r/experiments_r/interactive_sar_visualization/sar_visualization.R similarity index 100% rename from r_app/experiments/interactive_sar_visualization/sar_visualization.R rename to experiments_and_old_code_python_r/experiments_r/interactive_sar_visualization/sar_visualization.R diff --git a/r_app/experiments/interactive_sar_visualization/setup_sar_environment.py b/experiments_and_old_code_python_r/experiments_r/interactive_sar_visualization/setup_sar_environment.py similarity index 100% rename from r_app/experiments/interactive_sar_visualization/setup_sar_environment.py rename to experiments_and_old_code_python_r/experiments_r/interactive_sar_visualization/setup_sar_environment.py diff --git a/r_app/experiments/interactive_sar_visualization/simple_sar_test.R b/experiments_and_old_code_python_r/experiments_r/interactive_sar_visualization/simple_sar_test.R similarity index 100% rename from r_app/experiments/interactive_sar_visualization/simple_sar_test.R rename to experiments_and_old_code_python_r/experiments_r/interactive_sar_visualization/simple_sar_test.R diff --git a/r_app/experiments/interactive_sar_visualization/test_sar_analysis.R b/experiments_and_old_code_python_r/experiments_r/interactive_sar_visualization/test_sar_analysis.R similarity index 100% rename from r_app/experiments/interactive_sar_visualization/test_sar_analysis.R rename to experiments_and_old_code_python_r/experiments_r/interactive_sar_visualization/test_sar_analysis.R diff --git a/r_app/experiments/interactive_sar_visualization/test_sar_download.py b/experiments_and_old_code_python_r/experiments_r/interactive_sar_visualization/test_sar_download.py similarity index 100% rename from r_app/experiments/interactive_sar_visualization/test_sar_download.py rename to experiments_and_old_code_python_r/experiments_r/interactive_sar_visualization/test_sar_download.py diff --git a/r_app/experiments/legacy_package_management/extract_current_versions.R b/experiments_and_old_code_python_r/experiments_r/legacy_package_management/extract_current_versions.R similarity index 100% rename from r_app/experiments/legacy_package_management/extract_current_versions.R rename to experiments_and_old_code_python_r/experiments_r/legacy_package_management/extract_current_versions.R diff --git a/r_app/experiments/legacy_package_management/package_manager.R b/experiments_and_old_code_python_r/experiments_r/legacy_package_management/package_manager.R similarity index 100% rename from r_app/experiments/legacy_package_management/package_manager.R rename to experiments_and_old_code_python_r/experiments_r/legacy_package_management/package_manager.R diff --git a/r_app/experiments/max_ci_field.r b/experiments_and_old_code_python_r/experiments_r/max_ci_field.r similarity index 100% rename from r_app/experiments/max_ci_field.r rename to experiments_and_old_code_python_r/experiments_r/max_ci_field.r diff --git a/r_app/experiments/mosaic_creation_fixed.R b/experiments_and_old_code_python_r/experiments_r/mosaic_creation_fixed.R similarity index 100% rename from r_app/experiments/mosaic_creation_fixed.R rename to experiments_and_old_code_python_r/experiments_r/mosaic_creation_fixed.R diff --git a/r_app/experiments/optimal_ci_analysis.R b/experiments_and_old_code_python_r/experiments_r/optimal_ci_analysis.R similarity index 100% rename from r_app/experiments/optimal_ci_analysis.R rename to experiments_and_old_code_python_r/experiments_r/optimal_ci_analysis.R diff --git a/r_app/experiments/plot_testing.R b/experiments_and_old_code_python_r/experiments_r/plot_testing.R similarity index 100% rename from r_app/experiments/plot_testing.R rename to experiments_and_old_code_python_r/experiments_r/plot_testing.R diff --git a/r_app/experiments/plotting_ci_all_field_dates.R b/experiments_and_old_code_python_r/experiments_r/plotting_ci_all_field_dates.R similarity index 100% rename from r_app/experiments/plotting_ci_all_field_dates.R rename to experiments_and_old_code_python_r/experiments_r/plotting_ci_all_field_dates.R diff --git a/r_app/experiments/run_tests.R b/experiments_and_old_code_python_r/experiments_r/run_tests.R similarity index 100% rename from r_app/experiments/run_tests.R rename to experiments_and_old_code_python_r/experiments_r/run_tests.R diff --git a/r_app/experiments/testing_projsetup.R b/experiments_and_old_code_python_r/experiments_r/testing_projsetup.R similarity index 100% rename from r_app/experiments/testing_projsetup.R rename to experiments_and_old_code_python_r/experiments_r/testing_projsetup.R diff --git a/r_app/experiments/utils_3.R b/experiments_and_old_code_python_r/experiments_r/utils_3.R similarity index 100% rename from r_app/experiments/utils_3.R rename to experiments_and_old_code_python_r/experiments_r/utils_3.R diff --git a/python_app/harvest_detection_experiments/_archive/04_lstm_seq2seq_ci_forecasting.ipynb b/experiments_and_old_code_python_r/harvest_detection_experiments/_archive/04_lstm_seq2seq_ci_forecasting.ipynb similarity index 100% rename from python_app/harvest_detection_experiments/_archive/04_lstm_seq2seq_ci_forecasting.ipynb rename to experiments_and_old_code_python_r/harvest_detection_experiments/_archive/04_lstm_seq2seq_ci_forecasting.ipynb diff --git a/python_app/harvest_detection_experiments/_archive/05_lstm_harvest_detection_pytorch.ipynb b/experiments_and_old_code_python_r/harvest_detection_experiments/_archive/05_lstm_harvest_detection_pytorch.ipynb similarity index 100% rename from python_app/harvest_detection_experiments/_archive/05_lstm_harvest_detection_pytorch.ipynb rename to experiments_and_old_code_python_r/harvest_detection_experiments/_archive/05_lstm_harvest_detection_pytorch.ipynb diff --git a/python_app/harvest_detection_experiments/_archive/11_data_cleaning_labeling.ipynb b/experiments_and_old_code_python_r/harvest_detection_experiments/_archive/11_data_cleaning_labeling.ipynb similarity index 100% rename from python_app/harvest_detection_experiments/_archive/11_data_cleaning_labeling.ipynb rename to experiments_and_old_code_python_r/harvest_detection_experiments/_archive/11_data_cleaning_labeling.ipynb diff --git a/python_app/harvest_detection_experiments/_archive/12_model_training_prediction.ipynb b/experiments_and_old_code_python_r/harvest_detection_experiments/_archive/12_model_training_prediction.ipynb similarity index 100% rename from python_app/harvest_detection_experiments/_archive/12_model_training_prediction.ipynb rename to experiments_and_old_code_python_r/harvest_detection_experiments/_archive/12_model_training_prediction.ipynb diff --git a/python_app/harvest_detection_experiments/_archive/ACTION_PLAN.md b/experiments_and_old_code_python_r/harvest_detection_experiments/_archive/ACTION_PLAN.md similarity index 100% rename from python_app/harvest_detection_experiments/_archive/ACTION_PLAN.md rename to experiments_and_old_code_python_r/harvest_detection_experiments/_archive/ACTION_PLAN.md diff --git a/python_app/harvest_detection_experiments/_archive/CI_ONLY_IMPROVEMENTS.md b/experiments_and_old_code_python_r/harvest_detection_experiments/_archive/CI_ONLY_IMPROVEMENTS.md similarity index 100% rename from python_app/harvest_detection_experiments/_archive/CI_ONLY_IMPROVEMENTS.md rename to experiments_and_old_code_python_r/harvest_detection_experiments/_archive/CI_ONLY_IMPROVEMENTS.md diff --git a/python_app/harvest_detection_experiments/_archive/DEPLOYMENT_README.md b/experiments_and_old_code_python_r/harvest_detection_experiments/_archive/DEPLOYMENT_README.md similarity index 100% rename from python_app/harvest_detection_experiments/_archive/DEPLOYMENT_README.md rename to experiments_and_old_code_python_r/harvest_detection_experiments/_archive/DEPLOYMENT_README.md diff --git a/python_app/harvest_detection_experiments/_archive/EXECUTIVE_SUMMARY.md b/experiments_and_old_code_python_r/harvest_detection_experiments/_archive/EXECUTIVE_SUMMARY.md similarity index 100% rename from python_app/harvest_detection_experiments/_archive/EXECUTIVE_SUMMARY.md rename to experiments_and_old_code_python_r/harvest_detection_experiments/_archive/EXECUTIVE_SUMMARY.md diff --git a/python_app/harvest_detection_experiments/_archive/IMPLEMENTATION_ROADMAP.md b/experiments_and_old_code_python_r/harvest_detection_experiments/_archive/IMPLEMENTATION_ROADMAP.md similarity index 100% rename from python_app/harvest_detection_experiments/_archive/IMPLEMENTATION_ROADMAP.md rename to experiments_and_old_code_python_r/harvest_detection_experiments/_archive/IMPLEMENTATION_ROADMAP.md diff --git a/python_app/harvest_detection_experiments/_archive/LSTM_HARVEST_EVALUATION.md b/experiments_and_old_code_python_r/harvest_detection_experiments/_archive/LSTM_HARVEST_EVALUATION.md similarity index 100% rename from python_app/harvest_detection_experiments/_archive/LSTM_HARVEST_EVALUATION.md rename to experiments_and_old_code_python_r/harvest_detection_experiments/_archive/LSTM_HARVEST_EVALUATION.md diff --git a/python_app/harvest_detection_experiments/_archive/PACKAGE_MANAGEMENT.md b/experiments_and_old_code_python_r/harvest_detection_experiments/_archive/PACKAGE_MANAGEMENT.md similarity index 100% rename from python_app/harvest_detection_experiments/_archive/PACKAGE_MANAGEMENT.md rename to experiments_and_old_code_python_r/harvest_detection_experiments/_archive/PACKAGE_MANAGEMENT.md diff --git a/python_app/harvest_detection_experiments/_archive/QUICK_SUMMARY.md b/experiments_and_old_code_python_r/harvest_detection_experiments/_archive/QUICK_SUMMARY.md similarity index 100% rename from python_app/harvest_detection_experiments/_archive/QUICK_SUMMARY.md rename to experiments_and_old_code_python_r/harvest_detection_experiments/_archive/QUICK_SUMMARY.md diff --git a/python_app/harvest_detection_experiments/_archive/README.md b/experiments_and_old_code_python_r/harvest_detection_experiments/_archive/README.md similarity index 100% rename from python_app/harvest_detection_experiments/_archive/README.md rename to experiments_and_old_code_python_r/harvest_detection_experiments/_archive/README.md diff --git a/python_app/harvest_detection_experiments/_archive/README_EVALUATION.md b/experiments_and_old_code_python_r/harvest_detection_experiments/_archive/README_EVALUATION.md similarity index 100% rename from python_app/harvest_detection_experiments/_archive/README_EVALUATION.md rename to experiments_and_old_code_python_r/harvest_detection_experiments/_archive/README_EVALUATION.md diff --git a/python_app/harvest_detection_experiments/_archive/TECHNICAL_IMPROVEMENTS.md b/experiments_and_old_code_python_r/harvest_detection_experiments/_archive/TECHNICAL_IMPROVEMENTS.md similarity index 100% rename from python_app/harvest_detection_experiments/_archive/TECHNICAL_IMPROVEMENTS.md rename to experiments_and_old_code_python_r/harvest_detection_experiments/_archive/TECHNICAL_IMPROVEMENTS.md diff --git a/python_app/harvest_detection_experiments/_archive/X_test_norm.pkl b/experiments_and_old_code_python_r/harvest_detection_experiments/_archive/X_test_norm.pkl similarity index 100% rename from python_app/harvest_detection_experiments/_archive/X_test_norm.pkl rename to experiments_and_old_code_python_r/harvest_detection_experiments/_archive/X_test_norm.pkl diff --git a/python_app/harvest_detection_experiments/_archive/X_train_norm.pkl b/experiments_and_old_code_python_r/harvest_detection_experiments/_archive/X_train_norm.pkl similarity index 100% rename from python_app/harvest_detection_experiments/_archive/X_train_norm.pkl rename to experiments_and_old_code_python_r/harvest_detection_experiments/_archive/X_train_norm.pkl diff --git a/python_app/harvest_detection_experiments/_archive/YOUR_FEEDBACK_SUMMARY.md b/experiments_and_old_code_python_r/harvest_detection_experiments/_archive/YOUR_FEEDBACK_SUMMARY.md similarity index 100% rename from python_app/harvest_detection_experiments/_archive/YOUR_FEEDBACK_SUMMARY.md rename to experiments_and_old_code_python_r/harvest_detection_experiments/_archive/YOUR_FEEDBACK_SUMMARY.md diff --git a/python_app/harvest_detection_experiments/_archive/best_harvest_detection_model.pt b/experiments_and_old_code_python_r/harvest_detection_experiments/_archive/best_harvest_detection_model.pt similarity index 100% rename from python_app/harvest_detection_experiments/_archive/best_harvest_detection_model.pt rename to experiments_and_old_code_python_r/harvest_detection_experiments/_archive/best_harvest_detection_model.pt diff --git a/python_app/harvest_detection_experiments/_archive/best_harvest_detection_model_esa.pt b/experiments_and_old_code_python_r/harvest_detection_experiments/_archive/best_harvest_detection_model_esa.pt similarity index 100% rename from python_app/harvest_detection_experiments/_archive/best_harvest_detection_model_esa.pt rename to experiments_and_old_code_python_r/harvest_detection_experiments/_archive/best_harvest_detection_model_esa.pt diff --git a/python_app/harvest_detection_experiments/_archive/best_harvest_model.pt b/experiments_and_old_code_python_r/harvest_detection_experiments/_archive/best_harvest_model.pt similarity index 100% rename from python_app/harvest_detection_experiments/_archive/best_harvest_model.pt rename to experiments_and_old_code_python_r/harvest_detection_experiments/_archive/best_harvest_model.pt diff --git a/python_app/harvest_detection_experiments/_archive/data_cleaning_validation.png b/experiments_and_old_code_python_r/harvest_detection_experiments/_archive/data_cleaning_validation.png similarity index 100% rename from python_app/harvest_detection_experiments/_archive/data_cleaning_validation.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/_archive/data_cleaning_validation.png diff --git a/python_app/harvest_detection_experiments/_archive/feature_engineering_config.json b/experiments_and_old_code_python_r/harvest_detection_experiments/_archive/feature_engineering_config.json similarity index 100% rename from python_app/harvest_detection_experiments/_archive/feature_engineering_config.json rename to experiments_and_old_code_python_r/harvest_detection_experiments/_archive/feature_engineering_config.json diff --git a/python_app/harvest_detection_experiments/_archive/feature_scalers.pkl b/experiments_and_old_code_python_r/harvest_detection_experiments/_archive/feature_scalers.pkl similarity index 100% rename from python_app/harvest_detection_experiments/_archive/feature_scalers.pkl rename to experiments_and_old_code_python_r/harvest_detection_experiments/_archive/feature_scalers.pkl diff --git a/python_app/harvest_detection_experiments/_archive/harvest_ci_scaler.pkl b/experiments_and_old_code_python_r/harvest_detection_experiments/_archive/harvest_ci_scaler.pkl similarity index 100% rename from python_app/harvest_detection_experiments/_archive/harvest_ci_scaler.pkl rename to experiments_and_old_code_python_r/harvest_detection_experiments/_archive/harvest_ci_scaler.pkl diff --git a/python_app/harvest_detection_experiments/_archive/harvest_detection_config.json b/experiments_and_old_code_python_r/harvest_detection_experiments/_archive/harvest_detection_config.json similarity index 100% rename from python_app/harvest_detection_experiments/_archive/harvest_detection_config.json rename to experiments_and_old_code_python_r/harvest_detection_experiments/_archive/harvest_detection_config.json diff --git a/python_app/harvest_detection_experiments/_archive/harvest_detection_config_esa_None.json b/experiments_and_old_code_python_r/harvest_detection_experiments/_archive/harvest_detection_config_esa_None.json similarity index 100% rename from python_app/harvest_detection_experiments/_archive/harvest_detection_config_esa_None.json rename to experiments_and_old_code_python_r/harvest_detection_experiments/_archive/harvest_detection_config_esa_None.json diff --git a/python_app/harvest_detection_experiments/_archive/harvest_detection_config_esa_esa.json b/experiments_and_old_code_python_r/harvest_detection_experiments/_archive/harvest_detection_config_esa_esa.json similarity index 100% rename from python_app/harvest_detection_experiments/_archive/harvest_detection_config_esa_esa.json rename to experiments_and_old_code_python_r/harvest_detection_experiments/_archive/harvest_detection_config_esa_esa.json diff --git a/python_app/harvest_detection_experiments/_archive/harvest_detection_confusion_matrices.png b/experiments_and_old_code_python_r/harvest_detection_experiments/_archive/harvest_detection_confusion_matrices.png similarity index 100% rename from python_app/harvest_detection_experiments/_archive/harvest_detection_confusion_matrices.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/_archive/harvest_detection_confusion_matrices.png diff --git a/python_app/harvest_detection_experiments/_archive/harvest_detection_model.pt b/experiments_and_old_code_python_r/harvest_detection_experiments/_archive/harvest_detection_model.pt similarity index 100% rename from python_app/harvest_detection_experiments/_archive/harvest_detection_model.pt rename to experiments_and_old_code_python_r/harvest_detection_experiments/_archive/harvest_detection_model.pt diff --git a/python_app/harvest_detection_experiments/_archive/harvest_detection_model_esa_None.pt b/experiments_and_old_code_python_r/harvest_detection_experiments/_archive/harvest_detection_model_esa_None.pt similarity index 100% rename from python_app/harvest_detection_experiments/_archive/harvest_detection_model_esa_None.pt rename to experiments_and_old_code_python_r/harvest_detection_experiments/_archive/harvest_detection_model_esa_None.pt diff --git a/python_app/harvest_detection_experiments/_archive/harvest_detection_model_esa_esa.pt b/experiments_and_old_code_python_r/harvest_detection_experiments/_archive/harvest_detection_model_esa_esa.pt similarity index 100% rename from python_app/harvest_detection_experiments/_archive/harvest_detection_model_esa_esa.pt rename to experiments_and_old_code_python_r/harvest_detection_experiments/_archive/harvest_detection_model_esa_esa.pt diff --git a/python_app/harvest_detection_experiments/_archive/harvest_feature_scalers_esa_None.pkl b/experiments_and_old_code_python_r/harvest_detection_experiments/_archive/harvest_feature_scalers_esa_None.pkl similarity index 100% rename from python_app/harvest_detection_experiments/_archive/harvest_feature_scalers_esa_None.pkl rename to experiments_and_old_code_python_r/harvest_detection_experiments/_archive/harvest_feature_scalers_esa_None.pkl diff --git a/python_app/harvest_detection_experiments/_archive/harvest_feature_scalers_esa_esa.pkl b/experiments_and_old_code_python_r/harvest_detection_experiments/_archive/harvest_feature_scalers_esa_esa.pkl similarity index 100% rename from python_app/harvest_detection_experiments/_archive/harvest_feature_scalers_esa_esa.pkl rename to experiments_and_old_code_python_r/harvest_detection_experiments/_archive/harvest_feature_scalers_esa_esa.pkl diff --git a/python_app/harvest_detection_experiments/_archive/harvest_prediction_multiple_sequences.png b/experiments_and_old_code_python_r/harvest_detection_experiments/_archive/harvest_prediction_multiple_sequences.png similarity index 100% rename from python_app/harvest_detection_experiments/_archive/harvest_prediction_multiple_sequences.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/_archive/harvest_prediction_multiple_sequences.png diff --git a/python_app/harvest_detection_experiments/_archive/harvest_prediction_multiple_sequences_with_ci.png b/experiments_and_old_code_python_r/harvest_detection_experiments/_archive/harvest_prediction_multiple_sequences_with_ci.png similarity index 100% rename from python_app/harvest_detection_experiments/_archive/harvest_prediction_multiple_sequences_with_ci.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/_archive/harvest_prediction_multiple_sequences_with_ci.png diff --git a/python_app/harvest_detection_experiments/_archive/harvest_prediction_sequence_00110_Data2020___00110.png b/experiments_and_old_code_python_r/harvest_detection_experiments/_archive/harvest_prediction_sequence_00110_Data2020___00110.png similarity index 100% rename from python_app/harvest_detection_experiments/_archive/harvest_prediction_sequence_00110_Data2020___00110.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/_archive/harvest_prediction_sequence_00110_Data2020___00110.png diff --git a/python_app/harvest_detection_experiments/_archive/harvest_prediction_sequence_00300_Data2020___00300.png b/experiments_and_old_code_python_r/harvest_detection_experiments/_archive/harvest_prediction_sequence_00300_Data2020___00300.png similarity index 100% rename from python_app/harvest_detection_experiments/_archive/harvest_prediction_sequence_00300_Data2020___00300.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/_archive/harvest_prediction_sequence_00300_Data2020___00300.png diff --git a/python_app/harvest_detection_experiments/_archive/harvest_prediction_sequence_00308_Data2020___00308.png b/experiments_and_old_code_python_r/harvest_detection_experiments/_archive/harvest_prediction_sequence_00308_Data2020___00308.png similarity index 100% rename from python_app/harvest_detection_experiments/_archive/harvest_prediction_sequence_00308_Data2020___00308.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/_archive/harvest_prediction_sequence_00308_Data2020___00308.png diff --git a/python_app/harvest_detection_experiments/_archive/harvest_prediction_sequence_00P81_Data2020___00P81.png b/experiments_and_old_code_python_r/harvest_detection_experiments/_archive/harvest_prediction_sequence_00P81_Data2020___00P81.png similarity index 100% rename from python_app/harvest_detection_experiments/_archive/harvest_prediction_sequence_00P81_Data2020___00P81.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/_archive/harvest_prediction_sequence_00P81_Data2020___00P81.png diff --git a/python_app/harvest_detection_experiments/_archive/hyperparameter_tuning_analysis.png b/experiments_and_old_code_python_r/harvest_detection_experiments/_archive/hyperparameter_tuning_analysis.png similarity index 100% rename from python_app/harvest_detection_experiments/_archive/hyperparameter_tuning_analysis.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/_archive/hyperparameter_tuning_analysis.png diff --git a/python_app/harvest_detection_experiments/_archive/in_season_predictions_by_age.png b/experiments_and_old_code_python_r/harvest_detection_experiments/_archive/in_season_predictions_by_age.png similarity index 100% rename from python_app/harvest_detection_experiments/_archive/in_season_predictions_by_age.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/_archive/in_season_predictions_by_age.png diff --git a/python_app/harvest_detection_experiments/_archive/lstm_classification_training_history.png b/experiments_and_old_code_python_r/harvest_detection_experiments/_archive/lstm_classification_training_history.png similarity index 100% rename from python_app/harvest_detection_experiments/_archive/lstm_classification_training_history.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/_archive/lstm_classification_training_history.png diff --git a/python_app/harvest_detection_experiments/_archive/lstm_client_distributions.png b/experiments_and_old_code_python_r/harvest_detection_experiments/_archive/lstm_client_distributions.png similarity index 100% rename from python_app/harvest_detection_experiments/_archive/lstm_client_distributions.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/_archive/lstm_client_distributions.png diff --git a/python_app/harvest_detection_experiments/_archive/lstm_overall_distribution.png b/experiments_and_old_code_python_r/harvest_detection_experiments/_archive/lstm_overall_distribution.png similarity index 100% rename from python_app/harvest_detection_experiments/_archive/lstm_overall_distribution.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/_archive/lstm_overall_distribution.png diff --git a/python_app/harvest_detection_experiments/_archive/lstm_phase_harvest_prediction.ipynb b/experiments_and_old_code_python_r/harvest_detection_experiments/_archive/lstm_phase_harvest_prediction.ipynb similarity index 100% rename from python_app/harvest_detection_experiments/_archive/lstm_phase_harvest_prediction.ipynb rename to experiments_and_old_code_python_r/harvest_detection_experiments/_archive/lstm_phase_harvest_prediction.ipynb diff --git a/python_app/harvest_detection_experiments/_archive/old_05_lstm_harvest_detection_pytorch.ipynb b/experiments_and_old_code_python_r/harvest_detection_experiments/_archive/old_05_lstm_harvest_detection_pytorch.ipynb similarity index 100% rename from python_app/harvest_detection_experiments/_archive/old_05_lstm_harvest_detection_pytorch.ipynb rename to experiments_and_old_code_python_r/harvest_detection_experiments/_archive/old_05_lstm_harvest_detection_pytorch.ipynb diff --git a/python_app/harvest_detection_experiments/_archive/per_field_prediction_timeline.png b/experiments_and_old_code_python_r/harvest_detection_experiments/_archive/per_field_prediction_timeline.png similarity index 100% rename from python_app/harvest_detection_experiments/_archive/per_field_prediction_timeline.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/_archive/per_field_prediction_timeline.png diff --git a/python_app/harvest_detection_experiments/_archive/prepare_harvest_data.py b/experiments_and_old_code_python_r/harvest_detection_experiments/_archive/prepare_harvest_data.py similarity index 100% rename from python_app/harvest_detection_experiments/_archive/prepare_harvest_data.py rename to experiments_and_old_code_python_r/harvest_detection_experiments/_archive/prepare_harvest_data.py diff --git a/python_app/harvest_detection_experiments/_archive/prepare_lstm_data_from_rds.R b/experiments_and_old_code_python_r/harvest_detection_experiments/_archive/prepare_lstm_data_from_rds.R similarity index 100% rename from python_app/harvest_detection_experiments/_archive/prepare_lstm_data_from_rds.R rename to experiments_and_old_code_python_r/harvest_detection_experiments/_archive/prepare_lstm_data_from_rds.R diff --git a/python_app/harvest_detection_experiments/_archive/test_sequences.pkl b/experiments_and_old_code_python_r/harvest_detection_experiments/_archive/test_sequences.pkl similarity index 100% rename from python_app/harvest_detection_experiments/_archive/test_sequences.pkl rename to experiments_and_old_code_python_r/harvest_detection_experiments/_archive/test_sequences.pkl diff --git a/python_app/harvest_detection_experiments/_archive/train_sequences.pkl b/experiments_and_old_code_python_r/harvest_detection_experiments/_archive/train_sequences.pkl similarity index 100% rename from python_app/harvest_detection_experiments/_archive/train_sequences.pkl rename to experiments_and_old_code_python_r/harvest_detection_experiments/_archive/train_sequences.pkl diff --git a/python_app/harvest_detection_experiments/_archive/train_sequences_cleaned.pkl b/experiments_and_old_code_python_r/harvest_detection_experiments/_archive/train_sequences_cleaned.pkl similarity index 100% rename from python_app/harvest_detection_experiments/_archive/train_sequences_cleaned.pkl rename to experiments_and_old_code_python_r/harvest_detection_experiments/_archive/train_sequences_cleaned.pkl diff --git a/python_app/harvest_detection_experiments/_archive/trigger_timing_errors.png b/experiments_and_old_code_python_r/harvest_detection_experiments/_archive/trigger_timing_errors.png similarity index 100% rename from python_app/harvest_detection_experiments/_archive/trigger_timing_errors.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/_archive/trigger_timing_errors.png diff --git a/python_app/harvest_detection_experiments/_archive/val_sequences_cleaned.pkl b/experiments_and_old_code_python_r/harvest_detection_experiments/_archive/val_sequences_cleaned.pkl similarity index 100% rename from python_app/harvest_detection_experiments/_archive/val_sequences_cleaned.pkl rename to experiments_and_old_code_python_r/harvest_detection_experiments/_archive/val_sequences_cleaned.pkl diff --git a/python_app/harvest_detection_experiments/angata_improvements/00_validate_pivot_geojson.ipynb b/experiments_and_old_code_python_r/harvest_detection_experiments/angata_improvements/00_validate_pivot_geojson.ipynb similarity index 100% rename from python_app/harvest_detection_experiments/angata_improvements/00_validate_pivot_geojson.ipynb rename to experiments_and_old_code_python_r/harvest_detection_experiments/angata_improvements/00_validate_pivot_geojson.ipynb diff --git a/python_app/harvest_detection_experiments/angata_improvements/01_spectral_feature_exploration.py b/experiments_and_old_code_python_r/harvest_detection_experiments/angata_improvements/01_spectral_feature_exploration.py similarity index 100% rename from python_app/harvest_detection_experiments/angata_improvements/01_spectral_feature_exploration.py rename to experiments_and_old_code_python_r/harvest_detection_experiments/angata_improvements/01_spectral_feature_exploration.py diff --git a/python_app/harvest_detection_experiments/angata_improvements/02_season_normalization_analysis.ipynb b/experiments_and_old_code_python_r/harvest_detection_experiments/angata_improvements/02_season_normalization_analysis.ipynb similarity index 100% rename from python_app/harvest_detection_experiments/angata_improvements/02_season_normalization_analysis.ipynb rename to experiments_and_old_code_python_r/harvest_detection_experiments/angata_improvements/02_season_normalization_analysis.ipynb diff --git a/experiments_and_old_code_python_r/harvest_detection_experiments/angata_improvements/plots/all_indices_00P81.png b/experiments_and_old_code_python_r/harvest_detection_experiments/angata_improvements/plots/all_indices_00P81.png new file mode 100644 index 0000000..a78156b Binary files /dev/null and b/experiments_and_old_code_python_r/harvest_detection_experiments/angata_improvements/plots/all_indices_00P81.png differ diff --git a/experiments_and_old_code_python_r/harvest_detection_experiments/angata_improvements/plots/all_indices_KHWC.png b/experiments_and_old_code_python_r/harvest_detection_experiments/angata_improvements/plots/all_indices_KHWC.png new file mode 100644 index 0000000..6270d6a Binary files /dev/null and b/experiments_and_old_code_python_r/harvest_detection_experiments/angata_improvements/plots/all_indices_KHWC.png differ diff --git a/experiments_and_old_code_python_r/harvest_detection_experiments/angata_improvements/plots/all_indices_LOMDA.png b/experiments_and_old_code_python_r/harvest_detection_experiments/angata_improvements/plots/all_indices_LOMDA.png new file mode 100644 index 0000000..d88d447 Binary files /dev/null and b/experiments_and_old_code_python_r/harvest_detection_experiments/angata_improvements/plots/all_indices_LOMDA.png differ diff --git a/experiments_and_old_code_python_r/harvest_detection_experiments/angata_improvements/plots/bsi_vs_ndvi_correlation.png b/experiments_and_old_code_python_r/harvest_detection_experiments/angata_improvements/plots/bsi_vs_ndvi_correlation.png new file mode 100644 index 0000000..fc0371e Binary files /dev/null and b/experiments_and_old_code_python_r/harvest_detection_experiments/angata_improvements/plots/bsi_vs_ndvi_correlation.png differ diff --git a/experiments_and_old_code_python_r/harvest_detection_experiments/angata_improvements/plots/ci_green_vs_all_per_field_corr.png b/experiments_and_old_code_python_r/harvest_detection_experiments/angata_improvements/plots/ci_green_vs_all_per_field_corr.png new file mode 100644 index 0000000..838a1f0 Binary files /dev/null and b/experiments_and_old_code_python_r/harvest_detection_experiments/angata_improvements/plots/ci_green_vs_all_per_field_corr.png differ diff --git a/experiments_and_old_code_python_r/harvest_detection_experiments/angata_improvements/plots/correlation_matrix_all_indices.png b/experiments_and_old_code_python_r/harvest_detection_experiments/angata_improvements/plots/correlation_matrix_all_indices.png new file mode 100644 index 0000000..4572e7f Binary files /dev/null and b/experiments_and_old_code_python_r/harvest_detection_experiments/angata_improvements/plots/correlation_matrix_all_indices.png differ diff --git a/experiments_and_old_code_python_r/harvest_detection_experiments/angata_improvements/plots/harvest_signal_all_indices.png b/experiments_and_old_code_python_r/harvest_detection_experiments/angata_improvements/plots/harvest_signal_all_indices.png new file mode 100644 index 0000000..98c95cf Binary files /dev/null and b/experiments_and_old_code_python_r/harvest_detection_experiments/angata_improvements/plots/harvest_signal_all_indices.png differ diff --git a/experiments_and_old_code_python_r/harvest_detection_experiments/angata_improvements/plots/heatmap_mean_bsi.png b/experiments_and_old_code_python_r/harvest_detection_experiments/angata_improvements/plots/heatmap_mean_bsi.png new file mode 100644 index 0000000..f493508 Binary files /dev/null and b/experiments_and_old_code_python_r/harvest_detection_experiments/angata_improvements/plots/heatmap_mean_bsi.png differ diff --git a/experiments_and_old_code_python_r/harvest_detection_experiments/angata_improvements/plots/heatmap_mean_ndvi.png b/experiments_and_old_code_python_r/harvest_detection_experiments/angata_improvements/plots/heatmap_mean_ndvi.png new file mode 100644 index 0000000..3323ae5 Binary files /dev/null and b/experiments_and_old_code_python_r/harvest_detection_experiments/angata_improvements/plots/heatmap_mean_ndvi.png differ diff --git a/experiments_and_old_code_python_r/harvest_detection_experiments/angata_improvements/plots/pre_post_harvest_distributions.png b/experiments_and_old_code_python_r/harvest_detection_experiments/angata_improvements/plots/pre_post_harvest_distributions.png new file mode 100644 index 0000000..d726963 Binary files /dev/null and b/experiments_and_old_code_python_r/harvest_detection_experiments/angata_improvements/plots/pre_post_harvest_distributions.png differ diff --git a/experiments_and_old_code_python_r/harvest_detection_experiments/angata_improvements/plots/pre_post_harvest_top4.png b/experiments_and_old_code_python_r/harvest_detection_experiments/angata_improvements/plots/pre_post_harvest_top4.png new file mode 100644 index 0000000..86fb2c3 Binary files /dev/null and b/experiments_and_old_code_python_r/harvest_detection_experiments/angata_improvements/plots/pre_post_harvest_top4.png differ diff --git a/experiments_and_old_code_python_r/harvest_detection_experiments/angata_improvements/plots/timeseries_00F28.png b/experiments_and_old_code_python_r/harvest_detection_experiments/angata_improvements/plots/timeseries_00F28.png new file mode 100644 index 0000000..f988f76 Binary files /dev/null and b/experiments_and_old_code_python_r/harvest_detection_experiments/angata_improvements/plots/timeseries_00F28.png differ diff --git a/experiments_and_old_code_python_r/harvest_detection_experiments/angata_improvements/plots/timeseries_00P81.png b/experiments_and_old_code_python_r/harvest_detection_experiments/angata_improvements/plots/timeseries_00P81.png new file mode 100644 index 0000000..a5b469b Binary files /dev/null and b/experiments_and_old_code_python_r/harvest_detection_experiments/angata_improvements/plots/timeseries_00P81.png differ diff --git a/experiments_and_old_code_python_r/harvest_detection_experiments/angata_improvements/plots/timeseries_KHWA.png b/experiments_and_old_code_python_r/harvest_detection_experiments/angata_improvements/plots/timeseries_KHWA.png new file mode 100644 index 0000000..ff74781 Binary files /dev/null and b/experiments_and_old_code_python_r/harvest_detection_experiments/angata_improvements/plots/timeseries_KHWA.png differ diff --git a/experiments_and_old_code_python_r/harvest_detection_experiments/angata_improvements/plots/timeseries_KHWB.png b/experiments_and_old_code_python_r/harvest_detection_experiments/angata_improvements/plots/timeseries_KHWB.png new file mode 100644 index 0000000..f0647b9 Binary files /dev/null and b/experiments_and_old_code_python_r/harvest_detection_experiments/angata_improvements/plots/timeseries_KHWB.png differ diff --git a/experiments_and_old_code_python_r/harvest_detection_experiments/angata_improvements/plots/timeseries_KHWC.png b/experiments_and_old_code_python_r/harvest_detection_experiments/angata_improvements/plots/timeseries_KHWC.png new file mode 100644 index 0000000..f67737d Binary files /dev/null and b/experiments_and_old_code_python_r/harvest_detection_experiments/angata_improvements/plots/timeseries_KHWC.png differ diff --git a/experiments_and_old_code_python_r/harvest_detection_experiments/angata_improvements/plots/timeseries_LOMDA.png b/experiments_and_old_code_python_r/harvest_detection_experiments/angata_improvements/plots/timeseries_LOMDA.png new file mode 100644 index 0000000..421728f Binary files /dev/null and b/experiments_and_old_code_python_r/harvest_detection_experiments/angata_improvements/plots/timeseries_LOMDA.png differ diff --git a/python_app/harvest_detection_experiments/angata_improvements/run_spectral_extraction.py b/experiments_and_old_code_python_r/harvest_detection_experiments/angata_improvements/run_spectral_extraction.py similarity index 100% rename from python_app/harvest_detection_experiments/angata_improvements/run_spectral_extraction.py rename to experiments_and_old_code_python_r/harvest_detection_experiments/angata_improvements/run_spectral_extraction.py diff --git a/python_app/harvest_detection_experiments/angata_improvements/spectral_features.py b/experiments_and_old_code_python_r/harvest_detection_experiments/angata_improvements/spectral_features.py similarity index 100% rename from python_app/harvest_detection_experiments/angata_improvements/spectral_features.py rename to experiments_and_old_code_python_r/harvest_detection_experiments/angata_improvements/spectral_features.py diff --git a/python_app/harvest_detection_experiments/experiment_framework/01_phase_1_detection/batch_harvest_detection.py b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/01_phase_1_detection/batch_harvest_detection.py similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/01_phase_1_detection/batch_harvest_detection.py rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/01_phase_1_detection/batch_harvest_detection.py diff --git a/python_app/harvest_detection_experiments/experiment_framework/01_phase_1_detection/multi_year_harvest_detection.py b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/01_phase_1_detection/multi_year_harvest_detection.py similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/01_phase_1_detection/multi_year_harvest_detection.py rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/01_phase_1_detection/multi_year_harvest_detection.py diff --git a/python_app/harvest_detection_experiments/experiment_framework/01_phase_1_detection/outputs/multi_year_analysis/multi_year_harvest_detection_00300.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/01_phase_1_detection/outputs/multi_year_analysis/multi_year_harvest_detection_00300.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/01_phase_1_detection/outputs/multi_year_analysis/multi_year_harvest_detection_00300.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/01_phase_1_detection/outputs/multi_year_analysis/multi_year_harvest_detection_00300.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/01_phase_1_detection/summarize_batch_results.py b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/01_phase_1_detection/summarize_batch_results.py similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/01_phase_1_detection/summarize_batch_results.py rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/01_phase_1_detection/summarize_batch_results.py diff --git a/python_app/harvest_detection_experiments/experiment_framework/02_phase_2_refinement/phase2_debug.py b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/02_phase_2_refinement/phase2_debug.py similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/02_phase_2_refinement/phase2_debug.py rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/02_phase_2_refinement/phase2_debug.py diff --git a/python_app/harvest_detection_experiments/experiment_framework/02_phase_2_refinement/phase2_refinement.py b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/02_phase_2_refinement/phase2_refinement.py similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/02_phase_2_refinement/phase2_refinement.py rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/02_phase_2_refinement/phase2_refinement.py diff --git a/python_app/harvest_detection_experiments/experiment_framework/03_phase_3_monitoring/production_simulation_v2.py b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/03_phase_3_monitoring/production_simulation_v2.py similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/03_phase_3_monitoring/production_simulation_v2.py rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/03_phase_3_monitoring/production_simulation_v2.py diff --git a/python_app/harvest_detection_experiments/experiment_framework/04_production_export/02b_convert_rds_to_csv.R b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/02b_convert_rds_to_csv.R similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/04_production_export/02b_convert_rds_to_csv.R rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/02b_convert_rds_to_csv.R diff --git a/python_app/harvest_detection_experiments/experiment_framework/04_production_export/README.md b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/README.md similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/04_production_export/README.md rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/README.md diff --git a/python_app/harvest_detection_experiments/experiment_framework/04_production_export/batch_plot_fields_rgb.py b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/batch_plot_fields_rgb.py similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/04_production_export/batch_plot_fields_rgb.py rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/batch_plot_fields_rgb.py diff --git a/python_app/harvest_detection_experiments/experiment_framework/04_production_export/compare_harvest_dates.py b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/compare_harvest_dates.py similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/04_production_export/compare_harvest_dates.py rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/compare_harvest_dates.py diff --git a/python_app/harvest_detection_experiments/experiment_framework/04_production_export/config.json b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/config.json similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/04_production_export/config.json rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/config.json diff --git a/python_app/harvest_detection_experiments/experiment_framework/04_production_export/debug_fields.py b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/debug_fields.py similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/04_production_export/debug_fields.py rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/debug_fields.py diff --git a/python_app/harvest_detection_experiments/experiment_framework/04_production_export/field_10125_CORRECTED_METHOD.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/field_10125_CORRECTED_METHOD.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/04_production_export/field_10125_CORRECTED_METHOD.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/field_10125_CORRECTED_METHOD.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/04_production_export/field_10125_probability_evolution.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/field_10125_probability_evolution.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/04_production_export/field_10125_probability_evolution.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/field_10125_probability_evolution.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/04_production_export/field_10125_sanity_check.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/field_10125_sanity_check.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/04_production_export/field_10125_sanity_check.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/field_10125_sanity_check.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_10125.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_10125.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_10125.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_10125.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_10141.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_10141.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_10141.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_10141.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_10722.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_10722.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_10722.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_10722.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_10830.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_10830.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_10830.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_10830.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_10872.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_10872.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_10872.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_10872.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_10882.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_10882.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_10882.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_10882.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_11119.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_11119.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_11119.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_11119.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_11126.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_11126.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_11126.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_11126.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_11457.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_11457.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_11457.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_11457.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_11464.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_11464.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_11464.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_11464.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_11528.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_11528.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_11528.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_11528.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_11702.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_11702.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_11702.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_11702.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_11782.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_11782.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_11782.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_11782.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_11833.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_11833.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_11833.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_11833.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_11872.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_11872.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_11872.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_11872.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_11934.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_11934.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_11934.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_11934.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_11996.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_11996.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_11996.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_11996.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_12111.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_12111.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_12111.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_12111.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_12413.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_12413.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_12413.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_12413.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_12489.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_12489.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_12489.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_12489.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_12737.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_12737.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_12737.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_12737.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_12801.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_12801.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_12801.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_12801.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_12821.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_12821.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_12821.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_12821.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_12834.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_12834.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_12834.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_12834.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_13082.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_13082.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_13082.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_13082.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_13177.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_13177.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_13177.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_13177.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_13922.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_13922.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_13922.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_13922.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_13962.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_13962.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_13962.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_13962.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_13967.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_13967.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_13967.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_13967.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_13973.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_13973.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_13973.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_13973.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_2218.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_2218.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_2218.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_2218.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_2467.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_2467.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_2467.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_2467.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_2494.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_2494.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_2494.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_2494.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_2495.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_2495.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_2495.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_2495.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_2565.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_2565.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_2565.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_2565.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_2568.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_2568.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_2568.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_2568.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_2807.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_2807.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_2807.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_2807.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_2999.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_2999.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_2999.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_2999.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_3015.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_3015.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_3015.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_3015.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_3201.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_3201.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_3201.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_3201.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_3261.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_3261.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_3261.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_3261.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_3302.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_3302.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_3302.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_3302.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_3304.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_3304.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_3304.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_3304.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_3426.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_3426.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_3426.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_3426.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_3484.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_3484.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_3484.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_3484.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_3874.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_3874.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_3874.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_3874.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_3947.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_3947.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_3947.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_3947.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_4578.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_4578.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_4578.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_4578.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_4855.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_4855.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_4855.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_4855.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_4857.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_4857.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_4857.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_4857.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_4875.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_4875.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_4875.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_4875.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_5881.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_5881.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_5881.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_5881.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_6438.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_6438.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_6438.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_6438.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_6466.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_6466.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_6466.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_6466.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_6811.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_6811.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_6811.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_6811.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_6891.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_6891.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_6891.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_6891.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_7112.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_7112.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_7112.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_7112.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_7324.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_7324.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_7324.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_7324.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_7428.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_7428.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_7428.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_7428.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_7430.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_7430.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_7430.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_7430.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_7435.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_7435.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_7435.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_7435.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_7450.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_7450.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_7450.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_7450.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_7692.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_7692.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_7692.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_7692.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_7997.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_7997.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_7997.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_7997.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_8122.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_8122.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_8122.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_8122.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_8205.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_8205.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_8205.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_8205.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_8338.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_8338.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_8338.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_8338.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_8375.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_8375.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_8375.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_8375.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_8559.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_8559.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_8559.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_8559.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_8859.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_8859.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_8859.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_8859.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_8956.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_8956.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_8956.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_8956.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_9029.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_9029.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_9029.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_9029.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_9290.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_9290.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_9290.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_9290.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_9314.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_9314.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_9314.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_9314.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_9436.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_9436.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_9436.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_9436.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_9598.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_9598.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_9598.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_9598.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_9617.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_9617.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_9617.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_9617.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_9887.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_9887.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_9887.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_comparison/harvest_comparison_9887.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_date_pred_utils.py b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_date_pred_utils.py similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/04_production_export/harvest_date_pred_utils.py rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/harvest_date_pred_utils.py diff --git a/python_app/harvest_detection_experiments/experiment_framework/04_production_export/metrics.json b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/metrics.json similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/04_production_export/metrics.json rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/metrics.json diff --git a/python_app/harvest_detection_experiments/experiment_framework/04_production_export/model.pt b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/model.pt similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/04_production_export/model.pt rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/model.pt diff --git a/python_app/harvest_detection_experiments/experiment_framework/04_production_export/plot_correct_method.py b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/plot_correct_method.py similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/04_production_export/plot_correct_method.py rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/plot_correct_method.py diff --git a/python_app/harvest_detection_experiments/experiment_framework/04_production_export/run_export_harvest_dates.py b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/run_export_harvest_dates.py similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/04_production_export/run_export_harvest_dates.py rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/run_export_harvest_dates.py diff --git a/python_app/harvest_detection_experiments/experiment_framework/04_production_export/run_export_harvest_imminent.py b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/run_export_harvest_imminent.py similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/04_production_export/run_export_harvest_imminent.py rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/run_export_harvest_imminent.py diff --git a/python_app/harvest_detection_experiments/experiment_framework/04_production_export/sanity_check_field_10125.py b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/sanity_check_field_10125.py similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/04_production_export/sanity_check_field_10125.py rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/sanity_check_field_10125.py diff --git a/python_app/harvest_detection_experiments/experiment_framework/04_production_export/scalers.pkl b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/scalers.pkl similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/04_production_export/scalers.pkl rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/scalers.pkl diff --git a/python_app/harvest_detection_experiments/experiment_framework/04_production_export/simple_plot_field.py b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/simple_plot_field.py similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/04_production_export/simple_plot_field.py rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/simple_plot_field.py diff --git a/python_app/harvest_detection_experiments/experiment_framework/04_production_export/test_harvest_start_sensitivity.py b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/test_harvest_start_sensitivity.py similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/04_production_export/test_harvest_start_sensitivity.py rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/test_harvest_start_sensitivity.py diff --git a/python_app/harvest_detection_experiments/experiment_framework/04_production_export/validate_output.py b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/validate_output.py similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/04_production_export/validate_output.py rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/04_production_export/validate_output.py diff --git a/python_app/harvest_detection_experiments/experiment_framework/AUTO_TUNING_GUIDE.md b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/AUTO_TUNING_GUIDE.md similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/AUTO_TUNING_GUIDE.md rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/AUTO_TUNING_GUIDE.md diff --git a/python_app/harvest_detection_experiments/experiment_framework/HARVEST_DETECTION_CONTEXT.md b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/HARVEST_DETECTION_CONTEXT.md similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/HARVEST_DETECTION_CONTEXT.md rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/HARVEST_DETECTION_CONTEXT.md diff --git a/python_app/harvest_detection_experiments/experiment_framework/PRODUCTION_WORKFLOW.md b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/PRODUCTION_WORKFLOW.md similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/PRODUCTION_WORKFLOW.md rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/PRODUCTION_WORKFLOW.md diff --git a/python_app/harvest_detection_experiments/experiment_framework/QUICKSTART.md b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/QUICKSTART.md similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/QUICKSTART.md rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/QUICKSTART.md diff --git a/python_app/harvest_detection_experiments/experiment_framework/README.md b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/README.md similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/README.md rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/README.md diff --git a/python_app/harvest_detection_experiments/experiment_framework/config/307_dedup_dropout02.json b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/config/307_dedup_dropout02.json similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/config/307_dedup_dropout02.json rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/config/307_dedup_dropout02.json diff --git a/python_app/harvest_detection_experiments/experiment_framework/config/experiments.yaml b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/config/experiments.yaml similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/config/experiments.yaml rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/config/experiments.yaml diff --git a/python_app/harvest_detection_experiments/experiment_framework/experiments/analyze_data_quality.py b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/experiments/analyze_data_quality.py similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/experiments/analyze_data_quality.py rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/experiments/analyze_data_quality.py diff --git a/python_app/harvest_detection_experiments/experiment_framework/experiments/analyze_results.py b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/experiments/analyze_results.py similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/experiments/analyze_results.py rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/experiments/analyze_results.py diff --git a/python_app/harvest_detection_experiments/experiment_framework/experiments/batch_model_inference.py b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/experiments/batch_model_inference.py similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/experiments/batch_model_inference.py rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/experiments/batch_model_inference.py diff --git a/python_app/harvest_detection_experiments/experiment_framework/experiments/check_tiff_sizes.py b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/experiments/check_tiff_sizes.py similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/experiments/check_tiff_sizes.py rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/experiments/check_tiff_sizes.py diff --git a/python_app/harvest_detection_experiments/experiment_framework/experiments/clean_and_prepare_training_data.py b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/experiments/clean_and_prepare_training_data.py similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/experiments/clean_and_prepare_training_data.py rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/experiments/clean_and_prepare_training_data.py diff --git a/python_app/harvest_detection_experiments/experiment_framework/experiments/compare_307_models_angata.py b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/experiments/compare_307_models_angata.py similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/experiments/compare_307_models_angata.py rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/experiments/compare_307_models_angata.py diff --git a/python_app/harvest_detection_experiments/experiment_framework/experiments/compare_307_models_production.py b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/experiments/compare_307_models_production.py similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/experiments/compare_307_models_production.py rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/experiments/compare_307_models_production.py diff --git a/python_app/harvest_detection_experiments/experiment_framework/experiments/evaluate_false_positives.py b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/experiments/evaluate_false_positives.py similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/experiments/evaluate_false_positives.py rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/experiments/evaluate_false_positives.py diff --git a/python_app/harvest_detection_experiments/experiment_framework/experiments/evaluate_harvest_detection.py b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/experiments/evaluate_harvest_detection.py similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/experiments/evaluate_harvest_detection.py rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/experiments/evaluate_harvest_detection.py diff --git a/python_app/harvest_detection_experiments/experiment_framework/experiments/quick_data_quality_check.py b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/experiments/quick_data_quality_check.py similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/experiments/quick_data_quality_check.py rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/experiments/quick_data_quality_check.py diff --git a/python_app/harvest_detection_experiments/experiment_framework/experiments/results/307_long_season/config.json b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/experiments/results/307_long_season/config.json similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/experiments/results/307_long_season/config.json rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/experiments/results/307_long_season/config.json diff --git a/python_app/harvest_detection_experiments/experiment_framework/experiments/results/307_long_season/confusion_matrices.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/experiments/results/307_long_season/confusion_matrices.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/experiments/results/307_long_season/confusion_matrices.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/experiments/results/307_long_season/confusion_matrices.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/experiments/results/307_long_season/metrics.json b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/experiments/results/307_long_season/metrics.json similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/experiments/results/307_long_season/metrics.json rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/experiments/results/307_long_season/metrics.json diff --git a/python_app/harvest_detection_experiments/experiment_framework/experiments/results/307_long_season/model.pt b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/experiments/results/307_long_season/model.pt similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/experiments/results/307_long_season/model.pt rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/experiments/results/307_long_season/model.pt diff --git a/python_app/harvest_detection_experiments/experiment_framework/experiments/results/307_long_season/roc_curves.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/experiments/results/307_long_season/roc_curves.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/experiments/results/307_long_season/roc_curves.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/experiments/results/307_long_season/roc_curves.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/experiments/results/307_long_season/scalers.pkl b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/experiments/results/307_long_season/scalers.pkl similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/experiments/results/307_long_season/scalers.pkl rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/experiments/results/307_long_season/scalers.pkl diff --git a/python_app/harvest_detection_experiments/experiment_framework/experiments/results/307_long_season/training_curves.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/experiments/results/307_long_season/training_curves.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/experiments/results/307_long_season/training_curves.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/experiments/results/307_long_season/training_curves.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/experiments/results/307_long_season_normalized_age/config.json b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/experiments/results/307_long_season_normalized_age/config.json similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/experiments/results/307_long_season_normalized_age/config.json rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/experiments/results/307_long_season_normalized_age/config.json diff --git a/python_app/harvest_detection_experiments/experiment_framework/experiments/results/307_long_season_normalized_age/confusion_matrices.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/experiments/results/307_long_season_normalized_age/confusion_matrices.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/experiments/results/307_long_season_normalized_age/confusion_matrices.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/experiments/results/307_long_season_normalized_age/confusion_matrices.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/experiments/results/307_long_season_normalized_age/metrics.json b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/experiments/results/307_long_season_normalized_age/metrics.json similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/experiments/results/307_long_season_normalized_age/metrics.json rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/experiments/results/307_long_season_normalized_age/metrics.json diff --git a/python_app/harvest_detection_experiments/experiment_framework/experiments/results/307_long_season_normalized_age/model.pt b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/experiments/results/307_long_season_normalized_age/model.pt similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/experiments/results/307_long_season_normalized_age/model.pt rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/experiments/results/307_long_season_normalized_age/model.pt diff --git a/python_app/harvest_detection_experiments/experiment_framework/experiments/results/307_long_season_normalized_age/roc_curves.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/experiments/results/307_long_season_normalized_age/roc_curves.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/experiments/results/307_long_season_normalized_age/roc_curves.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/experiments/results/307_long_season_normalized_age/roc_curves.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/experiments/results/307_long_season_normalized_age/scalers.pkl b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/experiments/results/307_long_season_normalized_age/scalers.pkl similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/experiments/results/307_long_season_normalized_age/scalers.pkl rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/experiments/results/307_long_season_normalized_age/scalers.pkl diff --git a/python_app/harvest_detection_experiments/experiment_framework/experiments/results/307_long_season_normalized_age/training_curves.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/experiments/results/307_long_season_normalized_age/training_curves.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/experiments/results/307_long_season_normalized_age/training_curves.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/experiments/results/307_long_season_normalized_age/training_curves.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/experiments/run_all_experiment_evaluations.py b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/experiments/run_all_experiment_evaluations.py similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/experiments/run_all_experiment_evaluations.py rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/experiments/run_all_experiment_evaluations.py diff --git a/python_app/harvest_detection_experiments/experiment_framework/experiments/run_experiment.py b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/experiments/run_experiment.py similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/experiments/run_experiment.py rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/experiments/run_experiment.py diff --git a/python_app/harvest_detection_experiments/experiment_framework/experiments/summarize_sweep.py b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/experiments/summarize_sweep.py similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/experiments/summarize_sweep.py rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/experiments/summarize_sweep.py diff --git a/python_app/harvest_detection_experiments/experiment_framework/experiments/threshold_sweep.py b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/experiments/threshold_sweep.py similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/experiments/threshold_sweep.py rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/experiments/threshold_sweep.py diff --git a/python_app/harvest_detection_experiments/experiment_framework/experiments/train_307_long_season.py b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/experiments/train_307_long_season.py similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/experiments/train_307_long_season.py rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/experiments/train_307_long_season.py diff --git a/python_app/harvest_detection_experiments/experiment_framework/experiments/visualize_model_307.ipynb b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/experiments/visualize_model_307.ipynb similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/experiments/visualize_model_307.ipynb rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/experiments/visualize_model_307.ipynb diff --git a/python_app/harvest_detection_experiments/experiment_framework/experiments/visualize_predictions.py b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/experiments/visualize_predictions.py similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/experiments/visualize_predictions.py rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/experiments/visualize_predictions.py diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/101_trends_with_doy/config.json b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/101_trends_with_doy/config.json similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/101_trends_with_doy/config.json rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/101_trends_with_doy/config.json diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/101_trends_with_doy/confusion_matrices.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/101_trends_with_doy/confusion_matrices.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/101_trends_with_doy/confusion_matrices.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/101_trends_with_doy/confusion_matrices.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/101_trends_with_doy/metrics.json b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/101_trends_with_doy/metrics.json similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/101_trends_with_doy/metrics.json rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/101_trends_with_doy/metrics.json diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/101_trends_with_doy/model.pt b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/101_trends_with_doy/model.pt similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/101_trends_with_doy/model.pt rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/101_trends_with_doy/model.pt diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/101_trends_with_doy/roc_curves.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/101_trends_with_doy/roc_curves.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/101_trends_with_doy/roc_curves.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/101_trends_with_doy/roc_curves.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/101_trends_with_doy/scalers.pkl b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/101_trends_with_doy/scalers.pkl similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/101_trends_with_doy/scalers.pkl rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/101_trends_with_doy/scalers.pkl diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/101_trends_with_doy/training_curves.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/101_trends_with_doy/training_curves.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/101_trends_with_doy/training_curves.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/101_trends_with_doy/training_curves.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/102_trends_velocity_with_doy/config.json b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/102_trends_velocity_with_doy/config.json similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/102_trends_velocity_with_doy/config.json rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/102_trends_velocity_with_doy/config.json diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/102_trends_velocity_with_doy/confusion_matrices.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/102_trends_velocity_with_doy/confusion_matrices.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/102_trends_velocity_with_doy/confusion_matrices.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/102_trends_velocity_with_doy/confusion_matrices.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/102_trends_velocity_with_doy/metrics.json b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/102_trends_velocity_with_doy/metrics.json similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/102_trends_velocity_with_doy/metrics.json rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/102_trends_velocity_with_doy/metrics.json diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/102_trends_velocity_with_doy/model.pt b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/102_trends_velocity_with_doy/model.pt similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/102_trends_velocity_with_doy/model.pt rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/102_trends_velocity_with_doy/model.pt diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/102_trends_velocity_with_doy/roc_curves.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/102_trends_velocity_with_doy/roc_curves.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/102_trends_velocity_with_doy/roc_curves.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/102_trends_velocity_with_doy/roc_curves.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/102_trends_velocity_with_doy/scalers.pkl b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/102_trends_velocity_with_doy/scalers.pkl similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/102_trends_velocity_with_doy/scalers.pkl rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/102_trends_velocity_with_doy/scalers.pkl diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/102_trends_velocity_with_doy/training_curves.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/102_trends_velocity_with_doy/training_curves.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/102_trends_velocity_with_doy/training_curves.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/102_trends_velocity_with_doy/training_curves.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/103_combined_best_with_doy/config.json b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/103_combined_best_with_doy/config.json similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/103_combined_best_with_doy/config.json rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/103_combined_best_with_doy/config.json diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/103_combined_best_with_doy/confusion_matrices.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/103_combined_best_with_doy/confusion_matrices.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/103_combined_best_with_doy/confusion_matrices.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/103_combined_best_with_doy/confusion_matrices.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/103_combined_best_with_doy/metrics.json b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/103_combined_best_with_doy/metrics.json similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/103_combined_best_with_doy/metrics.json rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/103_combined_best_with_doy/metrics.json diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/103_combined_best_with_doy/model.pt b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/103_combined_best_with_doy/model.pt similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/103_combined_best_with_doy/model.pt rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/103_combined_best_with_doy/model.pt diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/103_combined_best_with_doy/roc_curves.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/103_combined_best_with_doy/roc_curves.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/103_combined_best_with_doy/roc_curves.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/103_combined_best_with_doy/roc_curves.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/103_combined_best_with_doy/scalers.pkl b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/103_combined_best_with_doy/scalers.pkl similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/103_combined_best_with_doy/scalers.pkl rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/103_combined_best_with_doy/scalers.pkl diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/103_combined_best_with_doy/training_curves.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/103_combined_best_with_doy/training_curves.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/103_combined_best_with_doy/training_curves.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/103_combined_best_with_doy/training_curves.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/104_all_features_with_doy/config.json b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/104_all_features_with_doy/config.json similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/104_all_features_with_doy/config.json rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/104_all_features_with_doy/config.json diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/104_all_features_with_doy/confusion_matrices.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/104_all_features_with_doy/confusion_matrices.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/104_all_features_with_doy/confusion_matrices.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/104_all_features_with_doy/confusion_matrices.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/104_all_features_with_doy/metrics.json b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/104_all_features_with_doy/metrics.json similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/104_all_features_with_doy/metrics.json rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/104_all_features_with_doy/metrics.json diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/104_all_features_with_doy/model.pt b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/104_all_features_with_doy/model.pt similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/104_all_features_with_doy/model.pt rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/104_all_features_with_doy/model.pt diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/104_all_features_with_doy/roc_curves.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/104_all_features_with_doy/roc_curves.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/104_all_features_with_doy/roc_curves.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/104_all_features_with_doy/roc_curves.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/104_all_features_with_doy/scalers.pkl b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/104_all_features_with_doy/scalers.pkl similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/104_all_features_with_doy/scalers.pkl rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/104_all_features_with_doy/scalers.pkl diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/104_all_features_with_doy/training_curves.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/104_all_features_with_doy/training_curves.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/104_all_features_with_doy/training_curves.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/104_all_features_with_doy/training_curves.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/201_lstm_h64_with_doy/config.json b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/201_lstm_h64_with_doy/config.json similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/201_lstm_h64_with_doy/config.json rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/201_lstm_h64_with_doy/config.json diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/201_lstm_h64_with_doy/confusion_matrices.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/201_lstm_h64_with_doy/confusion_matrices.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/201_lstm_h64_with_doy/confusion_matrices.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/201_lstm_h64_with_doy/confusion_matrices.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/201_lstm_h64_with_doy/metrics.json b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/201_lstm_h64_with_doy/metrics.json similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/201_lstm_h64_with_doy/metrics.json rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/201_lstm_h64_with_doy/metrics.json diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/201_lstm_h64_with_doy/model.pt b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/201_lstm_h64_with_doy/model.pt similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/201_lstm_h64_with_doy/model.pt rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/201_lstm_h64_with_doy/model.pt diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/201_lstm_h64_with_doy/roc_curves.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/201_lstm_h64_with_doy/roc_curves.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/201_lstm_h64_with_doy/roc_curves.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/201_lstm_h64_with_doy/roc_curves.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/201_lstm_h64_with_doy/scalers.pkl b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/201_lstm_h64_with_doy/scalers.pkl similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/201_lstm_h64_with_doy/scalers.pkl rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/201_lstm_h64_with_doy/scalers.pkl diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/201_lstm_h64_with_doy/training_curves.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/201_lstm_h64_with_doy/training_curves.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/201_lstm_h64_with_doy/training_curves.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/201_lstm_h64_with_doy/training_curves.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/202_lstm_h256_with_doy/config.json b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/202_lstm_h256_with_doy/config.json similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/202_lstm_h256_with_doy/config.json rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/202_lstm_h256_with_doy/config.json diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/202_lstm_h256_with_doy/confusion_matrices.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/202_lstm_h256_with_doy/confusion_matrices.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/202_lstm_h256_with_doy/confusion_matrices.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/202_lstm_h256_with_doy/confusion_matrices.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/202_lstm_h256_with_doy/metrics.json b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/202_lstm_h256_with_doy/metrics.json similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/202_lstm_h256_with_doy/metrics.json rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/202_lstm_h256_with_doy/metrics.json diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/202_lstm_h256_with_doy/model.pt b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/202_lstm_h256_with_doy/model.pt similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/202_lstm_h256_with_doy/model.pt rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/202_lstm_h256_with_doy/model.pt diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/202_lstm_h256_with_doy/roc_curves.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/202_lstm_h256_with_doy/roc_curves.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/202_lstm_h256_with_doy/roc_curves.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/202_lstm_h256_with_doy/roc_curves.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/202_lstm_h256_with_doy/scalers.pkl b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/202_lstm_h256_with_doy/scalers.pkl similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/202_lstm_h256_with_doy/scalers.pkl rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/202_lstm_h256_with_doy/scalers.pkl diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/202_lstm_h256_with_doy/training_curves.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/202_lstm_h256_with_doy/training_curves.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/202_lstm_h256_with_doy/training_curves.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/202_lstm_h256_with_doy/training_curves.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/203_lstm_h128_l2_with_doy/config.json b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/203_lstm_h128_l2_with_doy/config.json similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/203_lstm_h128_l2_with_doy/config.json rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/203_lstm_h128_l2_with_doy/config.json diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/203_lstm_h128_l2_with_doy/confusion_matrices.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/203_lstm_h128_l2_with_doy/confusion_matrices.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/203_lstm_h128_l2_with_doy/confusion_matrices.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/203_lstm_h128_l2_with_doy/confusion_matrices.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/203_lstm_h128_l2_with_doy/metrics.json b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/203_lstm_h128_l2_with_doy/metrics.json similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/203_lstm_h128_l2_with_doy/metrics.json rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/203_lstm_h128_l2_with_doy/metrics.json diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/203_lstm_h128_l2_with_doy/model.pt b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/203_lstm_h128_l2_with_doy/model.pt similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/203_lstm_h128_l2_with_doy/model.pt rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/203_lstm_h128_l2_with_doy/model.pt diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/203_lstm_h128_l2_with_doy/roc_curves.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/203_lstm_h128_l2_with_doy/roc_curves.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/203_lstm_h128_l2_with_doy/roc_curves.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/203_lstm_h128_l2_with_doy/roc_curves.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/203_lstm_h128_l2_with_doy/scalers.pkl b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/203_lstm_h128_l2_with_doy/scalers.pkl similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/203_lstm_h128_l2_with_doy/scalers.pkl rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/203_lstm_h128_l2_with_doy/scalers.pkl diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/203_lstm_h128_l2_with_doy/training_curves.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/203_lstm_h128_l2_with_doy/training_curves.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/203_lstm_h128_l2_with_doy/training_curves.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/203_lstm_h128_l2_with_doy/training_curves.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/204_gru_h128_with_doy/config.json b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/204_gru_h128_with_doy/config.json similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/204_gru_h128_with_doy/config.json rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/204_gru_h128_with_doy/config.json diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/204_gru_h128_with_doy/confusion_matrices.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/204_gru_h128_with_doy/confusion_matrices.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/204_gru_h128_with_doy/confusion_matrices.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/204_gru_h128_with_doy/confusion_matrices.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/204_gru_h128_with_doy/metrics.json b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/204_gru_h128_with_doy/metrics.json similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/204_gru_h128_with_doy/metrics.json rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/204_gru_h128_with_doy/metrics.json diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/204_gru_h128_with_doy/model.pt b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/204_gru_h128_with_doy/model.pt similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/204_gru_h128_with_doy/model.pt rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/204_gru_h128_with_doy/model.pt diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/204_gru_h128_with_doy/roc_curves.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/204_gru_h128_with_doy/roc_curves.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/204_gru_h128_with_doy/roc_curves.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/204_gru_h128_with_doy/roc_curves.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/204_gru_h128_with_doy/scalers.pkl b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/204_gru_h128_with_doy/scalers.pkl similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/204_gru_h128_with_doy/scalers.pkl rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/204_gru_h128_with_doy/scalers.pkl diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/204_gru_h128_with_doy/training_curves.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/204_gru_h128_with_doy/training_curves.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/204_gru_h128_with_doy/training_curves.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/204_gru_h128_with_doy/training_curves.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/205_gru_h256_with_doy/config.json b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/205_gru_h256_with_doy/config.json similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/205_gru_h256_with_doy/config.json rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/205_gru_h256_with_doy/config.json diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/205_gru_h256_with_doy/confusion_matrices.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/205_gru_h256_with_doy/confusion_matrices.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/205_gru_h256_with_doy/confusion_matrices.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/205_gru_h256_with_doy/confusion_matrices.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/205_gru_h256_with_doy/metrics.json b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/205_gru_h256_with_doy/metrics.json similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/205_gru_h256_with_doy/metrics.json rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/205_gru_h256_with_doy/metrics.json diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/205_gru_h256_with_doy/model.pt b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/205_gru_h256_with_doy/model.pt similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/205_gru_h256_with_doy/model.pt rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/205_gru_h256_with_doy/model.pt diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/205_gru_h256_with_doy/roc_curves.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/205_gru_h256_with_doy/roc_curves.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/205_gru_h256_with_doy/roc_curves.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/205_gru_h256_with_doy/roc_curves.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/205_gru_h256_with_doy/scalers.pkl b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/205_gru_h256_with_doy/scalers.pkl similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/205_gru_h256_with_doy/scalers.pkl rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/205_gru_h256_with_doy/scalers.pkl diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/205_gru_h256_with_doy/training_curves.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/205_gru_h256_with_doy/training_curves.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/205_gru_h256_with_doy/training_curves.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/205_gru_h256_with_doy/training_curves.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/207_short_window_14days/config.json b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/207_short_window_14days/config.json similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/207_short_window_14days/config.json rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/207_short_window_14days/config.json diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/207_short_window_14days/confusion_matrices.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/207_short_window_14days/confusion_matrices.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/207_short_window_14days/confusion_matrices.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/207_short_window_14days/confusion_matrices.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/207_short_window_14days/metrics.json b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/207_short_window_14days/metrics.json similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/207_short_window_14days/metrics.json rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/207_short_window_14days/metrics.json diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/207_short_window_14days/model.pt b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/207_short_window_14days/model.pt similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/207_short_window_14days/model.pt rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/207_short_window_14days/model.pt diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/207_short_window_14days/roc_curves.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/207_short_window_14days/roc_curves.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/207_short_window_14days/roc_curves.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/207_short_window_14days/roc_curves.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/207_short_window_14days/scalers.pkl b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/207_short_window_14days/scalers.pkl similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/207_short_window_14days/scalers.pkl rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/207_short_window_14days/scalers.pkl diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/207_short_window_14days/training_curves.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/207_short_window_14days/training_curves.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/207_short_window_14days/training_curves.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/207_short_window_14days/training_curves.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/208_long_window_42days/config.json b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/208_long_window_42days/config.json similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/208_long_window_42days/config.json rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/208_long_window_42days/config.json diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/208_long_window_42days/confusion_matrices.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/208_long_window_42days/confusion_matrices.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/208_long_window_42days/confusion_matrices.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/208_long_window_42days/confusion_matrices.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/208_long_window_42days/metrics.json b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/208_long_window_42days/metrics.json similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/208_long_window_42days/metrics.json rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/208_long_window_42days/metrics.json diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/208_long_window_42days/model.pt b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/208_long_window_42days/model.pt similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/208_long_window_42days/model.pt rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/208_long_window_42days/model.pt diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/208_long_window_42days/roc_curves.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/208_long_window_42days/roc_curves.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/208_long_window_42days/roc_curves.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/208_long_window_42days/roc_curves.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/208_long_window_42days/scalers.pkl b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/208_long_window_42days/scalers.pkl similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/208_long_window_42days/scalers.pkl rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/208_long_window_42days/scalers.pkl diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/208_long_window_42days/training_curves.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/208_long_window_42days/training_curves.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/208_long_window_42days/training_curves.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/208_long_window_42days/training_curves.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/209_ablate_velocity/config.json b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/209_ablate_velocity/config.json similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/209_ablate_velocity/config.json rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/209_ablate_velocity/config.json diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/209_ablate_velocity/confusion_matrices.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/209_ablate_velocity/confusion_matrices.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/209_ablate_velocity/confusion_matrices.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/209_ablate_velocity/confusion_matrices.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/209_ablate_velocity/metrics.json b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/209_ablate_velocity/metrics.json similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/209_ablate_velocity/metrics.json rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/209_ablate_velocity/metrics.json diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/209_ablate_velocity/model.pt b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/209_ablate_velocity/model.pt similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/209_ablate_velocity/model.pt rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/209_ablate_velocity/model.pt diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/209_ablate_velocity/roc_curves.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/209_ablate_velocity/roc_curves.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/209_ablate_velocity/roc_curves.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/209_ablate_velocity/roc_curves.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/209_ablate_velocity/scalers.pkl b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/209_ablate_velocity/scalers.pkl similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/209_ablate_velocity/scalers.pkl rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/209_ablate_velocity/scalers.pkl diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/209_ablate_velocity/training_curves.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/209_ablate_velocity/training_curves.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/209_ablate_velocity/training_curves.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/209_ablate_velocity/training_curves.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/210_ablate_mins/config.json b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/210_ablate_mins/config.json similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/210_ablate_mins/config.json rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/210_ablate_mins/config.json diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/210_ablate_mins/confusion_matrices.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/210_ablate_mins/confusion_matrices.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/210_ablate_mins/confusion_matrices.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/210_ablate_mins/confusion_matrices.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/210_ablate_mins/metrics.json b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/210_ablate_mins/metrics.json similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/210_ablate_mins/metrics.json rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/210_ablate_mins/metrics.json diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/210_ablate_mins/model.pt b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/210_ablate_mins/model.pt similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/210_ablate_mins/model.pt rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/210_ablate_mins/model.pt diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/210_ablate_mins/roc_curves.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/210_ablate_mins/roc_curves.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/210_ablate_mins/roc_curves.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/210_ablate_mins/roc_curves.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/210_ablate_mins/scalers.pkl b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/210_ablate_mins/scalers.pkl similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/210_ablate_mins/scalers.pkl rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/210_ablate_mins/scalers.pkl diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/210_ablate_mins/training_curves.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/210_ablate_mins/training_curves.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/210_ablate_mins/training_curves.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/210_ablate_mins/training_curves.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/211_ablate_std/config.json b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/211_ablate_std/config.json similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/211_ablate_std/config.json rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/211_ablate_std/config.json diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/211_ablate_std/confusion_matrices.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/211_ablate_std/confusion_matrices.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/211_ablate_std/confusion_matrices.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/211_ablate_std/confusion_matrices.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/211_ablate_std/metrics.json b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/211_ablate_std/metrics.json similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/211_ablate_std/metrics.json rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/211_ablate_std/metrics.json diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/211_ablate_std/model.pt b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/211_ablate_std/model.pt similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/211_ablate_std/model.pt rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/211_ablate_std/model.pt diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/211_ablate_std/roc_curves.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/211_ablate_std/roc_curves.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/211_ablate_std/roc_curves.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/211_ablate_std/roc_curves.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/211_ablate_std/scalers.pkl b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/211_ablate_std/scalers.pkl similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/211_ablate_std/scalers.pkl rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/211_ablate_std/scalers.pkl diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/211_ablate_std/training_curves.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/211_ablate_std/training_curves.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/211_ablate_std/training_curves.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/211_ablate_std/training_curves.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/301_dropout03_with_doy/config.json b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/301_dropout03_with_doy/config.json similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/301_dropout03_with_doy/config.json rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/301_dropout03_with_doy/config.json diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/301_dropout03_with_doy/confusion_matrices.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/301_dropout03_with_doy/confusion_matrices.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/301_dropout03_with_doy/confusion_matrices.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/301_dropout03_with_doy/confusion_matrices.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/301_dropout03_with_doy/metrics.json b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/301_dropout03_with_doy/metrics.json similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/301_dropout03_with_doy/metrics.json rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/301_dropout03_with_doy/metrics.json diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/301_dropout03_with_doy/model.pt b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/301_dropout03_with_doy/model.pt similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/301_dropout03_with_doy/model.pt rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/301_dropout03_with_doy/model.pt diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/301_dropout03_with_doy/roc_curves.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/301_dropout03_with_doy/roc_curves.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/301_dropout03_with_doy/roc_curves.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/301_dropout03_with_doy/roc_curves.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/301_dropout03_with_doy/scalers.pkl b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/301_dropout03_with_doy/scalers.pkl similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/301_dropout03_with_doy/scalers.pkl rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/301_dropout03_with_doy/scalers.pkl diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/301_dropout03_with_doy/training_curves.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/301_dropout03_with_doy/training_curves.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/301_dropout03_with_doy/training_curves.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/301_dropout03_with_doy/training_curves.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/302_dropout07_with_doy/config.json b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/302_dropout07_with_doy/config.json similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/302_dropout07_with_doy/config.json rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/302_dropout07_with_doy/config.json diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/302_dropout07_with_doy/confusion_matrices.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/302_dropout07_with_doy/confusion_matrices.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/302_dropout07_with_doy/confusion_matrices.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/302_dropout07_with_doy/confusion_matrices.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/302_dropout07_with_doy/metrics.json b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/302_dropout07_with_doy/metrics.json similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/302_dropout07_with_doy/metrics.json rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/302_dropout07_with_doy/metrics.json diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/302_dropout07_with_doy/model.pt b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/302_dropout07_with_doy/model.pt similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/302_dropout07_with_doy/model.pt rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/302_dropout07_with_doy/model.pt diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/302_dropout07_with_doy/roc_curves.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/302_dropout07_with_doy/roc_curves.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/302_dropout07_with_doy/roc_curves.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/302_dropout07_with_doy/roc_curves.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/302_dropout07_with_doy/scalers.pkl b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/302_dropout07_with_doy/scalers.pkl similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/302_dropout07_with_doy/scalers.pkl rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/302_dropout07_with_doy/scalers.pkl diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/302_dropout07_with_doy/training_curves.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/302_dropout07_with_doy/training_curves.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/302_dropout07_with_doy/training_curves.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/302_dropout07_with_doy/training_curves.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/303_lr0005_with_doy/config.json b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/303_lr0005_with_doy/config.json similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/303_lr0005_with_doy/config.json rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/303_lr0005_with_doy/config.json diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/303_lr0005_with_doy/confusion_matrices.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/303_lr0005_with_doy/confusion_matrices.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/303_lr0005_with_doy/confusion_matrices.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/303_lr0005_with_doy/confusion_matrices.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/303_lr0005_with_doy/metrics.json b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/303_lr0005_with_doy/metrics.json similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/303_lr0005_with_doy/metrics.json rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/303_lr0005_with_doy/metrics.json diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/303_lr0005_with_doy/model.pt b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/303_lr0005_with_doy/model.pt similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/303_lr0005_with_doy/model.pt rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/303_lr0005_with_doy/model.pt diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/303_lr0005_with_doy/roc_curves.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/303_lr0005_with_doy/roc_curves.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/303_lr0005_with_doy/roc_curves.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/303_lr0005_with_doy/roc_curves.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/303_lr0005_with_doy/scalers.pkl b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/303_lr0005_with_doy/scalers.pkl similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/303_lr0005_with_doy/scalers.pkl rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/303_lr0005_with_doy/scalers.pkl diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/303_lr0005_with_doy/training_curves.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/303_lr0005_with_doy/training_curves.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/303_lr0005_with_doy/training_curves.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/303_lr0005_with_doy/training_curves.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/304_batch8_with_doy/config.json b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/304_batch8_with_doy/config.json similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/304_batch8_with_doy/config.json rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/304_batch8_with_doy/config.json diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/304_batch8_with_doy/confusion_matrices.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/304_batch8_with_doy/confusion_matrices.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/304_batch8_with_doy/confusion_matrices.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/304_batch8_with_doy/confusion_matrices.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/304_batch8_with_doy/metrics.json b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/304_batch8_with_doy/metrics.json similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/304_batch8_with_doy/metrics.json rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/304_batch8_with_doy/metrics.json diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/304_batch8_with_doy/model.pt b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/304_batch8_with_doy/model.pt similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/304_batch8_with_doy/model.pt rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/304_batch8_with_doy/model.pt diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/304_batch8_with_doy/roc_curves.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/304_batch8_with_doy/roc_curves.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/304_batch8_with_doy/roc_curves.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/304_batch8_with_doy/roc_curves.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/304_batch8_with_doy/scalers.pkl b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/304_batch8_with_doy/scalers.pkl similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/304_batch8_with_doy/scalers.pkl rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/304_batch8_with_doy/scalers.pkl diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/304_batch8_with_doy/training_curves.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/304_batch8_with_doy/training_curves.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/304_batch8_with_doy/training_curves.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/304_batch8_with_doy/training_curves.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/305_h64_sweep_with_doy/config.json b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/305_h64_sweep_with_doy/config.json similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/305_h64_sweep_with_doy/config.json rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/305_h64_sweep_with_doy/config.json diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/305_h64_sweep_with_doy/confusion_matrices.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/305_h64_sweep_with_doy/confusion_matrices.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/305_h64_sweep_with_doy/confusion_matrices.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/305_h64_sweep_with_doy/confusion_matrices.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/305_h64_sweep_with_doy/metrics.json b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/305_h64_sweep_with_doy/metrics.json similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/305_h64_sweep_with_doy/metrics.json rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/305_h64_sweep_with_doy/metrics.json diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/305_h64_sweep_with_doy/model.pt b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/305_h64_sweep_with_doy/model.pt similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/305_h64_sweep_with_doy/model.pt rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/305_h64_sweep_with_doy/model.pt diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/305_h64_sweep_with_doy/roc_curves.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/305_h64_sweep_with_doy/roc_curves.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/305_h64_sweep_with_doy/roc_curves.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/305_h64_sweep_with_doy/roc_curves.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/305_h64_sweep_with_doy/scalers.pkl b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/305_h64_sweep_with_doy/scalers.pkl similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/305_h64_sweep_with_doy/scalers.pkl rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/305_h64_sweep_with_doy/scalers.pkl diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/305_h64_sweep_with_doy/training_curves.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/305_h64_sweep_with_doy/training_curves.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/305_h64_sweep_with_doy/training_curves.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/305_h64_sweep_with_doy/training_curves.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/306_h512_sweep_with_doy/config.json b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/306_h512_sweep_with_doy/config.json similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/306_h512_sweep_with_doy/config.json rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/306_h512_sweep_with_doy/config.json diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/306_h512_sweep_with_doy/confusion_matrices.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/306_h512_sweep_with_doy/confusion_matrices.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/306_h512_sweep_with_doy/confusion_matrices.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/306_h512_sweep_with_doy/confusion_matrices.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/306_h512_sweep_with_doy/metrics.json b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/306_h512_sweep_with_doy/metrics.json similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/306_h512_sweep_with_doy/metrics.json rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/306_h512_sweep_with_doy/metrics.json diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/306_h512_sweep_with_doy/model.pt b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/306_h512_sweep_with_doy/model.pt similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/306_h512_sweep_with_doy/model.pt rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/306_h512_sweep_with_doy/model.pt diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/306_h512_sweep_with_doy/roc_curves.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/306_h512_sweep_with_doy/roc_curves.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/306_h512_sweep_with_doy/roc_curves.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/306_h512_sweep_with_doy/roc_curves.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/306_h512_sweep_with_doy/scalers.pkl b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/306_h512_sweep_with_doy/scalers.pkl similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/306_h512_sweep_with_doy/scalers.pkl rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/306_h512_sweep_with_doy/scalers.pkl diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/306_h512_sweep_with_doy/training_curves.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/306_h512_sweep_with_doy/training_curves.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/306_h512_sweep_with_doy/training_curves.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/306_h512_sweep_with_doy/training_curves.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/307_dropout02_with_doy_ORIGINAL/config.json b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/307_dropout02_with_doy_ORIGINAL/config.json similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/307_dropout02_with_doy_ORIGINAL/config.json rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/307_dropout02_with_doy_ORIGINAL/config.json diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/307_dropout02_with_doy_ORIGINAL/confusion_matrices.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/307_dropout02_with_doy_ORIGINAL/confusion_matrices.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/307_dropout02_with_doy_ORIGINAL/confusion_matrices.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/307_dropout02_with_doy_ORIGINAL/confusion_matrices.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/307_dropout02_with_doy_ORIGINAL/metrics.json b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/307_dropout02_with_doy_ORIGINAL/metrics.json similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/307_dropout02_with_doy_ORIGINAL/metrics.json rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/307_dropout02_with_doy_ORIGINAL/metrics.json diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/307_dropout02_with_doy_ORIGINAL/model.pt b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/307_dropout02_with_doy_ORIGINAL/model.pt similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/307_dropout02_with_doy_ORIGINAL/model.pt rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/307_dropout02_with_doy_ORIGINAL/model.pt diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/307_dropout02_with_doy_ORIGINAL/roc_curves.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/307_dropout02_with_doy_ORIGINAL/roc_curves.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/307_dropout02_with_doy_ORIGINAL/roc_curves.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/307_dropout02_with_doy_ORIGINAL/roc_curves.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/307_dropout02_with_doy_ORIGINAL/scalers.pkl b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/307_dropout02_with_doy_ORIGINAL/scalers.pkl similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/307_dropout02_with_doy_ORIGINAL/scalers.pkl rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/307_dropout02_with_doy_ORIGINAL/scalers.pkl diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/307_dropout02_with_doy_ORIGINAL/training_curves.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/307_dropout02_with_doy_ORIGINAL/training_curves.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/307_dropout02_with_doy_ORIGINAL/training_curves.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/307_dropout02_with_doy_ORIGINAL/training_curves.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/308_lr0002_with_doy/config.json b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/308_lr0002_with_doy/config.json similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/308_lr0002_with_doy/config.json rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/308_lr0002_with_doy/config.json diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/308_lr0002_with_doy/confusion_matrices.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/308_lr0002_with_doy/confusion_matrices.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/308_lr0002_with_doy/confusion_matrices.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/308_lr0002_with_doy/confusion_matrices.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/308_lr0002_with_doy/metrics.json b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/308_lr0002_with_doy/metrics.json similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/308_lr0002_with_doy/metrics.json rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/308_lr0002_with_doy/metrics.json diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/308_lr0002_with_doy/model.pt b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/308_lr0002_with_doy/model.pt similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/308_lr0002_with_doy/model.pt rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/308_lr0002_with_doy/model.pt diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/308_lr0002_with_doy/roc_curves.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/308_lr0002_with_doy/roc_curves.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/308_lr0002_with_doy/roc_curves.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/308_lr0002_with_doy/roc_curves.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/308_lr0002_with_doy/scalers.pkl b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/308_lr0002_with_doy/scalers.pkl similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/308_lr0002_with_doy/scalers.pkl rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/308_lr0002_with_doy/scalers.pkl diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/308_lr0002_with_doy/training_curves.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/308_lr0002_with_doy/training_curves.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/308_lr0002_with_doy/training_curves.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/308_lr0002_with_doy/training_curves.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/309_batch16_with_doy/config.json b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/309_batch16_with_doy/config.json similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/309_batch16_with_doy/config.json rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/309_batch16_with_doy/config.json diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/309_batch16_with_doy/confusion_matrices.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/309_batch16_with_doy/confusion_matrices.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/309_batch16_with_doy/confusion_matrices.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/309_batch16_with_doy/confusion_matrices.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/309_batch16_with_doy/metrics.json b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/309_batch16_with_doy/metrics.json similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/309_batch16_with_doy/metrics.json rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/309_batch16_with_doy/metrics.json diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/309_batch16_with_doy/model.pt b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/309_batch16_with_doy/model.pt similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/309_batch16_with_doy/model.pt rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/309_batch16_with_doy/model.pt diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/309_batch16_with_doy/roc_curves.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/309_batch16_with_doy/roc_curves.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/309_batch16_with_doy/roc_curves.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/309_batch16_with_doy/roc_curves.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/309_batch16_with_doy/scalers.pkl b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/309_batch16_with_doy/scalers.pkl similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/309_batch16_with_doy/scalers.pkl rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/309_batch16_with_doy/scalers.pkl diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/309_batch16_with_doy/training_curves.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/309_batch16_with_doy/training_curves.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/309_batch16_with_doy/training_curves.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/309_batch16_with_doy/training_curves.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/310_gru_phase3_with_doy/config.json b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/310_gru_phase3_with_doy/config.json similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/310_gru_phase3_with_doy/config.json rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/310_gru_phase3_with_doy/config.json diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/310_gru_phase3_with_doy/confusion_matrices.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/310_gru_phase3_with_doy/confusion_matrices.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/310_gru_phase3_with_doy/confusion_matrices.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/310_gru_phase3_with_doy/confusion_matrices.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/310_gru_phase3_with_doy/metrics.json b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/310_gru_phase3_with_doy/metrics.json similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/310_gru_phase3_with_doy/metrics.json rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/310_gru_phase3_with_doy/metrics.json diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/310_gru_phase3_with_doy/model.pt b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/310_gru_phase3_with_doy/model.pt similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/310_gru_phase3_with_doy/model.pt rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/310_gru_phase3_with_doy/model.pt diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/310_gru_phase3_with_doy/roc_curves.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/310_gru_phase3_with_doy/roc_curves.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/310_gru_phase3_with_doy/roc_curves.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/310_gru_phase3_with_doy/roc_curves.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/310_gru_phase3_with_doy/scalers.pkl b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/310_gru_phase3_with_doy/scalers.pkl similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/310_gru_phase3_with_doy/scalers.pkl rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/310_gru_phase3_with_doy/scalers.pkl diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/310_gru_phase3_with_doy/training_curves.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/310_gru_phase3_with_doy/training_curves.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/310_gru_phase3_with_doy/training_curves.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/310_gru_phase3_with_doy/training_curves.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/401_smooth_peak_no_raw_doy/config.json b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/401_smooth_peak_no_raw_doy/config.json similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/401_smooth_peak_no_raw_doy/config.json rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/401_smooth_peak_no_raw_doy/config.json diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/401_smooth_peak_no_raw_doy/confusion_matrices.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/401_smooth_peak_no_raw_doy/confusion_matrices.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/401_smooth_peak_no_raw_doy/confusion_matrices.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/401_smooth_peak_no_raw_doy/confusion_matrices.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/401_smooth_peak_no_raw_doy/metrics.json b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/401_smooth_peak_no_raw_doy/metrics.json similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/401_smooth_peak_no_raw_doy/metrics.json rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/401_smooth_peak_no_raw_doy/metrics.json diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/401_smooth_peak_no_raw_doy/model.pt b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/401_smooth_peak_no_raw_doy/model.pt similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/401_smooth_peak_no_raw_doy/model.pt rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/401_smooth_peak_no_raw_doy/model.pt diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/401_smooth_peak_no_raw_doy/roc_curves.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/401_smooth_peak_no_raw_doy/roc_curves.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/401_smooth_peak_no_raw_doy/roc_curves.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/401_smooth_peak_no_raw_doy/roc_curves.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/401_smooth_peak_no_raw_doy/scalers.pkl b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/401_smooth_peak_no_raw_doy/scalers.pkl similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/401_smooth_peak_no_raw_doy/scalers.pkl rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/401_smooth_peak_no_raw_doy/scalers.pkl diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/401_smooth_peak_no_raw_doy/training_curves.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/401_smooth_peak_no_raw_doy/training_curves.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/401_smooth_peak_no_raw_doy/training_curves.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/401_smooth_peak_no_raw_doy/training_curves.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/402_peak_detection_with_doy/config.json b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/402_peak_detection_with_doy/config.json similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/402_peak_detection_with_doy/config.json rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/402_peak_detection_with_doy/config.json diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/402_peak_detection_with_doy/confusion_matrices.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/402_peak_detection_with_doy/confusion_matrices.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/402_peak_detection_with_doy/confusion_matrices.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/402_peak_detection_with_doy/confusion_matrices.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/402_peak_detection_with_doy/metrics.json b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/402_peak_detection_with_doy/metrics.json similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/402_peak_detection_with_doy/metrics.json rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/402_peak_detection_with_doy/metrics.json diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/402_peak_detection_with_doy/model.pt b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/402_peak_detection_with_doy/model.pt similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/402_peak_detection_with_doy/model.pt rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/402_peak_detection_with_doy/model.pt diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/402_peak_detection_with_doy/roc_curves.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/402_peak_detection_with_doy/roc_curves.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/402_peak_detection_with_doy/roc_curves.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/402_peak_detection_with_doy/roc_curves.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/402_peak_detection_with_doy/scalers.pkl b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/402_peak_detection_with_doy/scalers.pkl similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/402_peak_detection_with_doy/scalers.pkl rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/402_peak_detection_with_doy/scalers.pkl diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/402_peak_detection_with_doy/training_curves.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/402_peak_detection_with_doy/training_curves.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/402_peak_detection_with_doy/training_curves.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/402_peak_detection_with_doy/training_curves.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/403_no_raw_ci_with_doy/config.json b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/403_no_raw_ci_with_doy/config.json similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/403_no_raw_ci_with_doy/config.json rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/403_no_raw_ci_with_doy/config.json diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/403_no_raw_ci_with_doy/confusion_matrices.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/403_no_raw_ci_with_doy/confusion_matrices.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/403_no_raw_ci_with_doy/confusion_matrices.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/403_no_raw_ci_with_doy/confusion_matrices.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/403_no_raw_ci_with_doy/metrics.json b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/403_no_raw_ci_with_doy/metrics.json similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/403_no_raw_ci_with_doy/metrics.json rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/403_no_raw_ci_with_doy/metrics.json diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/403_no_raw_ci_with_doy/model.pt b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/403_no_raw_ci_with_doy/model.pt similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/403_no_raw_ci_with_doy/model.pt rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/403_no_raw_ci_with_doy/model.pt diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/403_no_raw_ci_with_doy/roc_curves.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/403_no_raw_ci_with_doy/roc_curves.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/403_no_raw_ci_with_doy/roc_curves.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/403_no_raw_ci_with_doy/roc_curves.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/403_no_raw_ci_with_doy/scalers.pkl b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/403_no_raw_ci_with_doy/scalers.pkl similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/403_no_raw_ci_with_doy/scalers.pkl rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/403_no_raw_ci_with_doy/scalers.pkl diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/403_no_raw_ci_with_doy/training_curves.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/403_no_raw_ci_with_doy/training_curves.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/403_no_raw_ci_with_doy/training_curves.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/403_no_raw_ci_with_doy/training_curves.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/507_dedup_dropout02/config.json b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/507_dedup_dropout02/config.json similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/507_dedup_dropout02/config.json rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/507_dedup_dropout02/config.json diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/507_dedup_dropout02/confusion_matrices.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/507_dedup_dropout02/confusion_matrices.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/507_dedup_dropout02/confusion_matrices.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/507_dedup_dropout02/confusion_matrices.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/507_dedup_dropout02/metrics.json b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/507_dedup_dropout02/metrics.json similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/507_dedup_dropout02/metrics.json rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/507_dedup_dropout02/metrics.json diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/507_dedup_dropout02/model.pt b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/507_dedup_dropout02/model.pt similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/507_dedup_dropout02/model.pt rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/507_dedup_dropout02/model.pt diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/507_dedup_dropout02/roc_curves.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/507_dedup_dropout02/roc_curves.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/507_dedup_dropout02/roc_curves.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/507_dedup_dropout02/roc_curves.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/507_dedup_dropout02/scalers.pkl b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/507_dedup_dropout02/scalers.pkl similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/507_dedup_dropout02/scalers.pkl rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/507_dedup_dropout02/scalers.pkl diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/507_dedup_dropout02/training_curves.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/507_dedup_dropout02/training_curves.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/507_dedup_dropout02/training_curves.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/507_dedup_dropout02/training_curves.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_00110.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_00110.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_00110.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_00110.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_00300.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_00300.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_00300.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_00300.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_00301.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_00301.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_00301.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_00301.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_00302.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_00302.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_00302.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_00302.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_00305.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_00305.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_00305.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_00305.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_00307.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_00307.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_00307.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_00307.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_00308.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_00308.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_00308.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_00308.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_00F25.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_00F25.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_00F25.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_00F25.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_00F27.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_00F27.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_00F27.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_00F27.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_00F28.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_00F28.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_00F28.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_00F28.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_00F52.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_00F52.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_00F52.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_00F52.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_00P22.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_00P22.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_00P22.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_00P22.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_00P52.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_00P52.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_00P52.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_00P52.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_00P81.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_00P81.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_00P81.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_00P81.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_00P82.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_00P82.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_00P82.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_00P82.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_00P83.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_00P83.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_00P83.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_00P83.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_00P84.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_00P84.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_00P84.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_00P84.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_1.1.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_1.1.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_1.1.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_1.1.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_1.10.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_1.10.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_1.10.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_1.10.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_1.11.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_1.11.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_1.11.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_1.11.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_1.12.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_1.12.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_1.12.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_1.12.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_1.14.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_1.14.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_1.14.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_1.14.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_1.16.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_1.16.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_1.16.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_1.16.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_1.17.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_1.17.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_1.17.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_1.17.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_1.18.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_1.18.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_1.18.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_1.18.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_1.2.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_1.2.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_1.2.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_1.2.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_1.3.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_1.3.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_1.3.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_1.3.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_1.4.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_1.4.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_1.4.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_1.4.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_1.6.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_1.6.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_1.6.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_1.6.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_1.7.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_1.7.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_1.7.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_1.7.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_1.8.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_1.8.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_1.8.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_1.8.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_1.9.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_1.9.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_1.9.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_1.9.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_1001000.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_1001000.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_1001000.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_1001000.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_1010201.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_1010201.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_1010201.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_1010201.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_1010303.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_1010303.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_1010303.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_1010303.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_1011100.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_1011100.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_1011100.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_1011100.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_1011101.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_1011101.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_1011101.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_1011101.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_1012001.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_1012001.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_1012001.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_1012001.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_1012700.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_1012700.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_1012700.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_1012700.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_1012900.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_1012900.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_1012900.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_1012900.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_1012909.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_1012909.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_1012909.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_1012909.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_1013000.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_1013000.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_1013000.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_1013000.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_1013100.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_1013100.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_1013100.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_1013100.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_2.1.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_2.1.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_2.1.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_2.1.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_2.2.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_2.2.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_2.2.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_2.2.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_2.4.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_2.4.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_2.4.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_2.4.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_2.5.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_2.5.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_2.5.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_2.5.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_3.1.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_3.1.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_3.1.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_3.1.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_3.2.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_3.2.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_3.2.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_3.2.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_3.3.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_3.3.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_3.3.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_3.3.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_3001600.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_3001600.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_3001600.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_3001600.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_3030200.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_3030200.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_3030200.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_3030200.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_3030202.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_3030202.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_3030202.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_3030202.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_3030502.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_3030502.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_3030502.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_3030502.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_3030605.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_3030605.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_3030605.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_3030605.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_3030905.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_3030905.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_3030905.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_3030905.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_3031003.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_3031003.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_3031003.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_3031003.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_3031602.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_3031602.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_3031602.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_3031602.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_3a11.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_3a11.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_3a11.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_3a11.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_3a12.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_3a12.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_3a12.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_3a12.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_3a13.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_3a13.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_3a13.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_3a13.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_3a14.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_3a14.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_3a14.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_3a14.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_3a15.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_3a15.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_3a15.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_3a15.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_3a16.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_3a16.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_3a16.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_3a16.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_3a17.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_3a17.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_3a17.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_3a17.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_3a18.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_3a18.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_3a18.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_3a18.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_3a19.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_3a19.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_3a19.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_3a19.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_3a20.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_3a20.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_3a20.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_3a20.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_3a21.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_3a21.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_3a21.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_3a21.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_3a22.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_3a22.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_3a22.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_3a22.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_3a23.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_3a23.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_3a23.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_3a23.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_4.1.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_4.1.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_4.1.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_4.1.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_4.2.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_4.2.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_4.2.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_4.2.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_4.3.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_4.3.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_4.3.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_4.3.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_4.4.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_4.4.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_4.4.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_4.4.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_4.5.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_4.5.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_4.5.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_4.5.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_4.6.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_4.6.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_4.6.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_4.6.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_4040203.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_4040203.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_4040203.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_4040203.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_4040300.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_4040300.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_4040300.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_4040300.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_4040302.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_4040302.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_4040302.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_4040302.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_4040504.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_4040504.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_4040504.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_4040504.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_4040901.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_4040901.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_4040901.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_4040901.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_4041104.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_4041104.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_4041104.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_4041104.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_4042902.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_4042902.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_4042902.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_4042902.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_4043005.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_4043005.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_4043005.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_4043005.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_4043602.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_4043602.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_4043602.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_4043602.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_4043605.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_4043605.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_4043605.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_4043605.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_4e.1.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_4e.1.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_4e.1.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_4e.1.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_4e.10.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_4e.10.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_4e.10.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_4e.10.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_4e.14.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_4e.14.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_4e.14.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_4e.14.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_4e.17.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_4e.17.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_4e.17.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_4e.17.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_4e.2.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_4e.2.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_4e.2.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_4e.2.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_4e.3.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_4e.3.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_4e.3.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_4e.3.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_4e.4.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_4e.4.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_4e.4.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_4e.4.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_4e.5.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_4e.5.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_4e.5.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_4e.5.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_4e.6.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_4e.6.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_4e.6.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_4e.6.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_5.1.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_5.1.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_5.1.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_5.1.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_5.2.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_5.2.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_5.2.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_5.2.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_5.3.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_5.3.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_5.3.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_5.3.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_5.4.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_5.4.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_5.4.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_5.4.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_5050804.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_5050804.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_5050804.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_5050804.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_5050808.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_5050808.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_5050808.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_5050808.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_5050901.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_5050901.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_5050901.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_5050901.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_5051503.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_5051503.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_5051503.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_5051503.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_5051600.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_5051600.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_5051600.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_5051600.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_5051604.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_5051604.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_5051604.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_5051604.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_5052000.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_5052000.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_5052000.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_5052000.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_5052001.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_5052001.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_5052001.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_5052001.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_5052002.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_5052002.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_5052002.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_5052002.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_5052003.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_5052003.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_5052003.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_5052003.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_5052207.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_5052207.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_5052207.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_5052207.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_5052503.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_5052503.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_5052503.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_5052503.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_5052900.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_5052900.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_5052900.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_5052900.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_5053500.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_5053500.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_5053500.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_5053500.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_5053504.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_5053504.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_5053504.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_5053504.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_5053900.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_5053900.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_5053900.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_5053900.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_5054101.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_5054101.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_5054101.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_5054101.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_5054301.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_5054301.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_5054301.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_5054301.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_5054700.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_5054700.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_5054700.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_5054700.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_5a1.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_5a1.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_5a1.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_5a1.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_5a10.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_5a10.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_5a10.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_5a10.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_5a11.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_5a11.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_5a11.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_5a11.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_5a2.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_5a2.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_5a2.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_5a2.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_5a3.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_5a3.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_5a3.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_5a3.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_5a4.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_5a4.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_5a4.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_5a4.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_5a5.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_5a5.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_5a5.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_5a5.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_5a6.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_5a6.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_5a6.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_5a6.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_5a7.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_5a7.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_5a7.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_5a7.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_5a8.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_5a8.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_5a8.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_5a8.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_5a9.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_5a9.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_5a9.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_5a9.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_6.1.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_6.1.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_6.1.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_6.1.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_6.2.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_6.2.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_6.2.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_6.2.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_6060200.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_6060200.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_6060200.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_6060200.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_6060300.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_6060300.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_6060300.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_6060300.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_6060401.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_6060401.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_6060401.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_6060401.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_6060402.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_6060402.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_6060402.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_6060402.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_6060903.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_6060903.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_6060903.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_6060903.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_6061202.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_6061202.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_6061202.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_6061202.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_6061203.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_6061203.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_6061203.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_6061203.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_6061300.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_6061300.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_6061300.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_6061300.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_6061400.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_6061400.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_6061400.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_6061400.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_6061700.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_6061700.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_6061700.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_6061700.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_6061701.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_6061701.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_6061701.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_6061701.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_6061901.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_6061901.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_6061901.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_6061901.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_6062303.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_6062303.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_6062303.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_6062303.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_6062500.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_6062500.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_6062500.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_6062500.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_6062803.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_6062803.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_6062803.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_6062803.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_6064201.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_6064201.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_6064201.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_6064201.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Ayieyie Ruke.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Ayieyie Ruke.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Ayieyie Ruke.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Ayieyie Ruke.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_B_low A5b.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_B_low A5b.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_B_low A5b.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_B_low A5b.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_B_low B4.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_B_low B4.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_B_low B4.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_B_low B4.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_B_low C10.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_B_low C10.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_B_low C10.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_B_low C10.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_B_low C5b.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_B_low C5b.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_B_low C5b.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_B_low C5b.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_B_low C6b.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_B_low C6b.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_B_low C6b.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_B_low C6b.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_B_low C7a.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_B_low C7a.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_B_low C7a.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_B_low C7a.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Bomo C2b.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Bomo C2b.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Bomo C2b.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Bomo C2b.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Buru A1.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Buru A1.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Buru A1.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Buru A1.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Buru A2.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Buru A2.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Buru A2.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Buru A2.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_DL1.1.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_DL1.1.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_DL1.1.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_DL1.1.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_DL1.3.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_DL1.3.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_DL1.3.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_DL1.3.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Factory A3c.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Factory A3c.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Factory A3c.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Factory A3c.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Got Nyithindo.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Got Nyithindo.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Got Nyithindo.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Got Nyithindo.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Got Nyithindo_M.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Got Nyithindo_M.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Got Nyithindo_M.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Got Nyithindo_M.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Highland B2b.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Highland B2b.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Highland B2b.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Highland B2b.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Highland B3b.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Highland B3b.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Highland B3b.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Highland B3b.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Highland B4b.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Highland B4b.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Highland B4b.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Highland B4b.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Highland C4.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Highland C4.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Highland C4.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Highland C4.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_KHWA.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_KHWA.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_KHWA.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_KHWA.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_KHWB.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_KHWB.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_KHWB.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_KHWB.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_KHWC.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_KHWC.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_KHWC.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_KHWC.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Kabala Ruke.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Kabala Ruke.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Kabala Ruke.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Kabala Ruke.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Kokoth A10a.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Kokoth A10a.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Kokoth A10a.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Kokoth A10a.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Kokoth A14a.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Kokoth A14a.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Kokoth A14a.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Kokoth A14a.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Kokoth A1a.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Kokoth A1a.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Kokoth A1a.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Kokoth A1a.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Kokoth A3a.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Kokoth A3a.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Kokoth A3a.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Kokoth A3a.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Kokoth A4a.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Kokoth A4a.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Kokoth A4a.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Kokoth A4a.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Kokoth A5a.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Kokoth A5a.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Kokoth A5a.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Kokoth A5a.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Koru lower farm.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Koru lower farm.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Koru lower farm.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Koru lower farm.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Koru upper farm.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Koru upper farm.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Koru upper farm.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Koru upper farm.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_LOMDA.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_LOMDA.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_LOMDA.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_LOMDA.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_LOMDE.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_LOMDE.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_LOMDE.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_LOMDE.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_LOMDG.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_LOMDG.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_LOMDG.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_LOMDG.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Lower Tamu M.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Lower Tamu M.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Lower Tamu M.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Lower Tamu M.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Lower coffee farm.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Lower coffee farm.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Lower coffee farm.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Lower coffee farm.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_MNARA.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_MNARA.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_MNARA.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_MNARA.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Mutwala A.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Mutwala A.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Mutwala A.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Mutwala A.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Mutwala BC.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Mutwala BC.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Mutwala BC.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Mutwala BC.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Mutwala Subsistence.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Mutwala Subsistence.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Mutwala Subsistence.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Mutwala Subsistence.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Nandi A1a.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Nandi A1a.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Nandi A1a.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Nandi A1a.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Nandi A1b.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Nandi A1b.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Nandi A1b.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Nandi A1b.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Nandi A3b.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Nandi A3b.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Nandi A3b.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Nandi A3b.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Nandi A4a.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Nandi A4a.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Nandi A4a.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Nandi A4a.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Nandi A4b.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Nandi A4b.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Nandi A4b.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Nandi A4b.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Nandi C1a.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Nandi C1a.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Nandi C1a.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Nandi C1a.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Nandi C2a.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Nandi C2a.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Nandi C2a.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Nandi C2a.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Nandi C5a.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Nandi C5a.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Nandi C5a.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Nandi C5a.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Nyando A2a.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Nyando A2a.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Nyando A2a.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Nyando A2a.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Nyando C1a.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Nyando C1a.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Nyando C1a.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Nyando C1a.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Oduo B4.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Oduo B4.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Oduo B4.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Oduo B4.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Oduo D2.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Oduo D2.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Oduo D2.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Oduo D2.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Oduo F4.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Oduo F4.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Oduo F4.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Oduo F4.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Oduo G5.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Oduo G5.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Oduo G5.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Oduo G5.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Onenonam.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Onenonam.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Onenonam.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Onenonam.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Squatter A2a.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Squatter A2a.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Squatter A2a.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Squatter A2a.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Squatter A5a.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Squatter A5a.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Squatter A5a.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Squatter A5a.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Squatter B4b.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Squatter B4b.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Squatter B4b.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Squatter B4b.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Squatter C2.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Squatter C2.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Squatter C2.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Squatter C2.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Squatter C3b.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Squatter C3b.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Squatter C3b.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Squatter C3b.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Tamu Lower.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Tamu Lower.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Tamu Lower.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Tamu Lower.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Tamu Upper.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Tamu Upper.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Tamu Upper.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Tamu Upper.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Thessalia B2.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Thessalia B2.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Thessalia B2.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Thessalia B2.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Thessalia B3.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Thessalia B3.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Thessalia B3.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Thessalia B3.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Upper coffee farm.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Upper coffee farm.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Upper coffee farm.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_Upper coffee farm.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_kowawa.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_kowawa.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_kowawa.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/convergence_analysis/convergence_spaghetti_kowawa.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_00110.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_00110.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_00110.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_00110.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_00300.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_00300.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_00300.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_00300.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_00301.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_00301.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_00301.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_00301.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_00302.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_00302.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_00302.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_00302.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_00305.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_00305.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_00305.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_00305.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_00307.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_00307.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_00307.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_00307.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_00308.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_00308.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_00308.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_00308.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_00F25.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_00F25.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_00F25.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_00F25.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_00F27.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_00F27.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_00F27.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_00F27.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_00F28.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_00F28.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_00F28.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_00F28.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_00F52.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_00F52.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_00F52.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_00F52.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_00P22.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_00P22.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_00P22.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_00P22.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_00P52.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_00P52.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_00P52.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_00P52.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_00P81.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_00P81.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_00P81.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_00P81.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_00P82.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_00P82.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_00P82.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_00P82.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_00P83.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_00P83.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_00P83.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_00P83.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_00P84.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_00P84.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_00P84.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_00P84.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_1.1.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_1.1.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_1.1.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_1.1.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_1.10.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_1.10.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_1.10.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_1.10.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_1.11.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_1.11.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_1.11.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_1.11.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_1.12.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_1.12.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_1.12.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_1.12.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_1.14.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_1.14.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_1.14.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_1.14.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_1.16.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_1.16.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_1.16.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_1.16.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_1.17.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_1.17.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_1.17.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_1.17.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_1.18.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_1.18.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_1.18.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_1.18.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_1.2.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_1.2.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_1.2.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_1.2.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_1.3.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_1.3.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_1.3.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_1.3.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_1.4.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_1.4.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_1.4.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_1.4.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_1.6.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_1.6.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_1.6.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_1.6.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_1.7.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_1.7.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_1.7.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_1.7.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_1.8.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_1.8.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_1.8.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_1.8.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_1.9.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_1.9.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_1.9.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_1.9.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_1001000.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_1001000.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_1001000.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_1001000.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_1010201.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_1010201.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_1010201.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_1010201.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_1010303.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_1010303.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_1010303.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_1010303.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_1011100.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_1011100.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_1011100.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_1011100.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_1011101.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_1011101.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_1011101.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_1011101.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_1012001.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_1012001.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_1012001.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_1012001.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_1012700.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_1012700.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_1012700.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_1012700.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_1012900.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_1012900.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_1012900.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_1012900.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_1012909.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_1012909.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_1012909.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_1012909.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_1013000.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_1013000.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_1013000.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_1013000.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_1013100.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_1013100.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_1013100.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_1013100.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_2.1.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_2.1.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_2.1.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_2.1.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_2.2.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_2.2.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_2.2.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_2.2.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_2.4.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_2.4.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_2.4.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_2.4.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_2.5.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_2.5.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_2.5.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_2.5.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_3.1.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_3.1.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_3.1.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_3.1.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_3.2.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_3.2.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_3.2.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_3.2.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_3.3.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_3.3.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_3.3.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_3.3.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_3001600.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_3001600.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_3001600.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_3001600.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_3030200.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_3030200.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_3030200.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_3030200.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_3030202.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_3030202.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_3030202.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_3030202.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_3030502.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_3030502.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_3030502.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_3030502.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_3030605.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_3030605.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_3030605.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_3030605.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_3030905.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_3030905.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_3030905.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_3030905.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_3031003.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_3031003.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_3031003.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_3031003.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_3031602.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_3031602.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_3031602.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_3031602.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_3a11.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_3a11.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_3a11.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_3a11.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_3a12.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_3a12.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_3a12.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_3a12.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_3a13.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_3a13.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_3a13.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_3a13.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_3a14.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_3a14.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_3a14.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_3a14.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_3a15.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_3a15.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_3a15.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_3a15.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_3a16.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_3a16.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_3a16.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_3a16.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_3a17.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_3a17.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_3a17.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_3a17.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_3a18.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_3a18.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_3a18.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_3a18.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_3a19.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_3a19.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_3a19.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_3a19.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_3a20.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_3a20.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_3a20.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_3a20.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_3a21.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_3a21.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_3a21.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_3a21.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_3a22.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_3a22.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_3a22.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_3a22.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_3a23.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_3a23.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_3a23.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_3a23.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_4.1.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_4.1.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_4.1.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_4.1.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_4.2.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_4.2.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_4.2.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_4.2.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_4.3.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_4.3.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_4.3.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_4.3.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_4.4.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_4.4.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_4.4.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_4.4.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_4.5.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_4.5.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_4.5.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_4.5.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_4.6.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_4.6.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_4.6.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_4.6.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_4040203.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_4040203.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_4040203.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_4040203.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_4040300.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_4040300.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_4040300.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_4040300.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_4040302.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_4040302.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_4040302.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_4040302.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_4040504.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_4040504.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_4040504.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_4040504.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_4040901.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_4040901.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_4040901.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_4040901.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_4041104.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_4041104.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_4041104.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_4041104.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_4042902.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_4042902.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_4042902.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_4042902.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_4043005.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_4043005.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_4043005.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_4043005.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_4043602.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_4043602.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_4043602.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_4043602.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_4043605.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_4043605.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_4043605.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_4043605.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_4e.1.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_4e.1.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_4e.1.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_4e.1.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_4e.10.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_4e.10.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_4e.10.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_4e.10.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_4e.14.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_4e.14.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_4e.14.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_4e.14.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_4e.17.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_4e.17.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_4e.17.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_4e.17.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_4e.2.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_4e.2.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_4e.2.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_4e.2.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_4e.3.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_4e.3.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_4e.3.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_4e.3.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_4e.4.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_4e.4.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_4e.4.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_4e.4.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_4e.5.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_4e.5.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_4e.5.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_4e.5.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_4e.6.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_4e.6.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_4e.6.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_4e.6.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_5.1.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_5.1.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_5.1.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_5.1.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_5.2.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_5.2.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_5.2.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_5.2.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_5.3.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_5.3.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_5.3.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_5.3.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_5.4.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_5.4.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_5.4.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_5.4.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_5050804.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_5050804.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_5050804.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_5050804.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_5050808.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_5050808.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_5050808.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_5050808.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_5050901.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_5050901.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_5050901.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_5050901.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_5051503.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_5051503.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_5051503.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_5051503.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_5051600.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_5051600.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_5051600.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_5051600.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_5051604.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_5051604.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_5051604.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_5051604.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_5052000.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_5052000.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_5052000.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_5052000.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_5052001.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_5052001.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_5052001.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_5052001.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_5052002.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_5052002.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_5052002.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_5052002.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_5052003.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_5052003.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_5052003.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_5052003.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_5052207.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_5052207.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_5052207.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_5052207.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_5052503.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_5052503.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_5052503.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_5052503.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_5052900.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_5052900.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_5052900.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_5052900.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_5053500.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_5053500.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_5053500.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_5053500.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_5053504.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_5053504.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_5053504.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_5053504.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_5053900.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_5053900.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_5053900.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_5053900.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_5054101.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_5054101.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_5054101.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_5054101.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_5054301.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_5054301.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_5054301.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_5054301.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_5054700.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_5054700.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_5054700.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_5054700.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_5a1.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_5a1.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_5a1.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_5a1.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_5a10.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_5a10.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_5a10.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_5a10.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_5a11.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_5a11.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_5a11.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_5a11.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_5a2.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_5a2.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_5a2.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_5a2.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_5a3.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_5a3.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_5a3.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_5a3.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_5a4.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_5a4.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_5a4.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_5a4.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_5a5.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_5a5.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_5a5.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_5a5.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_5a6.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_5a6.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_5a6.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_5a6.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_5a7.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_5a7.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_5a7.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_5a7.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_5a8.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_5a8.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_5a8.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_5a8.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_5a9.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_5a9.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_5a9.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_5a9.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_6.1.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_6.1.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_6.1.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_6.1.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_6.2.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_6.2.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_6.2.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_6.2.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_6060200.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_6060200.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_6060200.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_6060200.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_6060300.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_6060300.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_6060300.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_6060300.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_6060401.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_6060401.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_6060401.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_6060401.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_6060402.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_6060402.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_6060402.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_6060402.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_6060903.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_6060903.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_6060903.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_6060903.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_6061202.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_6061202.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_6061202.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_6061202.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_6061203.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_6061203.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_6061203.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_6061203.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_6061300.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_6061300.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_6061300.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_6061300.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_6061400.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_6061400.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_6061400.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_6061400.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_6061700.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_6061700.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_6061700.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_6061700.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_6061701.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_6061701.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_6061701.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_6061701.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_6061901.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_6061901.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_6061901.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_6061901.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_6062303.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_6062303.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_6062303.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_6062303.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_6062500.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_6062500.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_6062500.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_6062500.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_6062803.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_6062803.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_6062803.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_6062803.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_6064201.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_6064201.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_6064201.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_6064201.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Ayieyie Ruke.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Ayieyie Ruke.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Ayieyie Ruke.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Ayieyie Ruke.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_B_low A5b.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_B_low A5b.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_B_low A5b.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_B_low A5b.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_B_low B4.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_B_low B4.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_B_low B4.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_B_low B4.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_B_low C10.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_B_low C10.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_B_low C10.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_B_low C10.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_B_low C5b.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_B_low C5b.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_B_low C5b.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_B_low C5b.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_B_low C6b.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_B_low C6b.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_B_low C6b.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_B_low C6b.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_B_low C7a.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_B_low C7a.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_B_low C7a.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_B_low C7a.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Bomo C2b.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Bomo C2b.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Bomo C2b.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Bomo C2b.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Buru A1.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Buru A1.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Buru A1.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Buru A1.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Buru A2.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Buru A2.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Buru A2.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Buru A2.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_DL1.1.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_DL1.1.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_DL1.1.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_DL1.1.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_DL1.3.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_DL1.3.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_DL1.3.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_DL1.3.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Factory A3c.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Factory A3c.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Factory A3c.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Factory A3c.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Got Nyithindo.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Got Nyithindo.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Got Nyithindo.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Got Nyithindo.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Got Nyithindo_M.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Got Nyithindo_M.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Got Nyithindo_M.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Got Nyithindo_M.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Highland B2b.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Highland B2b.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Highland B2b.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Highland B2b.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Highland B3b.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Highland B3b.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Highland B3b.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Highland B3b.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Highland B4b.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Highland B4b.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Highland B4b.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Highland B4b.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Highland C4.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Highland C4.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Highland C4.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Highland C4.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_KHWA.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_KHWA.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_KHWA.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_KHWA.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_KHWB.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_KHWB.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_KHWB.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_KHWB.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_KHWC.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_KHWC.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_KHWC.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_KHWC.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Kabala Ruke.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Kabala Ruke.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Kabala Ruke.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Kabala Ruke.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Kokoth A10a.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Kokoth A10a.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Kokoth A10a.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Kokoth A10a.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Kokoth A14a.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Kokoth A14a.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Kokoth A14a.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Kokoth A14a.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Kokoth A1a.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Kokoth A1a.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Kokoth A1a.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Kokoth A1a.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Kokoth A3a.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Kokoth A3a.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Kokoth A3a.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Kokoth A3a.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Kokoth A4a.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Kokoth A4a.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Kokoth A4a.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Kokoth A4a.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Kokoth A5a.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Kokoth A5a.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Kokoth A5a.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Kokoth A5a.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Koru lower farm.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Koru lower farm.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Koru lower farm.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Koru lower farm.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Koru upper farm.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Koru upper farm.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Koru upper farm.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Koru upper farm.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_LOMDA.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_LOMDA.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_LOMDA.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_LOMDA.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_LOMDE.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_LOMDE.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_LOMDE.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_LOMDE.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_LOMDG.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_LOMDG.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_LOMDG.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_LOMDG.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Lower Tamu M.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Lower Tamu M.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Lower Tamu M.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Lower Tamu M.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Lower coffee farm.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Lower coffee farm.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Lower coffee farm.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Lower coffee farm.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_MNARA.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_MNARA.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_MNARA.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_MNARA.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Mutwala A.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Mutwala A.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Mutwala A.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Mutwala A.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Mutwala BC.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Mutwala BC.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Mutwala BC.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Mutwala BC.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Mutwala Subsistence.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Mutwala Subsistence.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Mutwala Subsistence.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Mutwala Subsistence.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Nandi A1a.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Nandi A1a.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Nandi A1a.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Nandi A1a.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Nandi A1b.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Nandi A1b.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Nandi A1b.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Nandi A1b.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Nandi A3b.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Nandi A3b.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Nandi A3b.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Nandi A3b.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Nandi A4a.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Nandi A4a.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Nandi A4a.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Nandi A4a.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Nandi A4b.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Nandi A4b.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Nandi A4b.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Nandi A4b.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Nandi C1a.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Nandi C1a.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Nandi C1a.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Nandi C1a.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Nandi C2a.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Nandi C2a.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Nandi C2a.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Nandi C2a.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Nandi C5a.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Nandi C5a.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Nandi C5a.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Nandi C5a.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Nyando A2a.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Nyando A2a.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Nyando A2a.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Nyando A2a.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Nyando C1a.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Nyando C1a.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Nyando C1a.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Nyando C1a.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Oduo B4.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Oduo B4.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Oduo B4.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Oduo B4.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Oduo D2.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Oduo D2.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Oduo D2.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Oduo D2.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Oduo F4.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Oduo F4.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Oduo F4.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Oduo F4.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Oduo G5.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Oduo G5.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Oduo G5.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Oduo G5.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Onenonam.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Onenonam.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Onenonam.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Onenonam.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Squatter A2a.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Squatter A2a.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Squatter A2a.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Squatter A2a.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Squatter A5a.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Squatter A5a.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Squatter A5a.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Squatter A5a.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Squatter B4b.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Squatter B4b.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Squatter B4b.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Squatter B4b.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Squatter C2.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Squatter C2.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Squatter C2.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Squatter C2.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Squatter C3b.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Squatter C3b.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Squatter C3b.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Squatter C3b.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Tamu Lower.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Tamu Lower.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Tamu Lower.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Tamu Lower.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Tamu Upper.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Tamu Upper.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Tamu Upper.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Tamu Upper.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Thessalia B2.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Thessalia B2.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Thessalia B2.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Thessalia B2.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Thessalia B3.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Thessalia B3.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Thessalia B3.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Thessalia B3.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Upper coffee farm.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Upper coffee farm.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Upper coffee farm.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_Upper coffee farm.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_kowawa.png b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_kowawa.png similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_kowawa.png rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/results/production_simulation_full/predictions_per_field/predictions_kowawa.png diff --git a/python_app/harvest_detection_experiments/experiment_framework/src/__init__.py b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/src/__init__.py similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/src/__init__.py rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/src/__init__.py diff --git a/python_app/harvest_detection_experiments/experiment_framework/src/data_loader.py b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/src/data_loader.py similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/src/data_loader.py rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/src/data_loader.py diff --git a/python_app/harvest_detection_experiments/experiment_framework/src/evaluation.py b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/src/evaluation.py similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/src/evaluation.py rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/src/evaluation.py diff --git a/python_app/harvest_detection_experiments/experiment_framework/src/feature_engineering.py b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/src/feature_engineering.py similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/src/feature_engineering.py rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/src/feature_engineering.py diff --git a/python_app/harvest_detection_experiments/experiment_framework/src/models.py b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/src/models.py similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/src/models.py rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/src/models.py diff --git a/python_app/harvest_detection_experiments/experiment_framework/src/training.py b/experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/src/training.py similarity index 100% rename from python_app/harvest_detection_experiments/experiment_framework/src/training.py rename to experiments_and_old_code_python_r/harvest_detection_experiments/experiment_framework/src/training.py diff --git a/python_app/harvest_detection_experiments/tests/test_batch_model_distributions.py b/experiments_and_old_code_python_r/harvest_detection_experiments/tests/test_batch_model_distributions.py similarity index 100% rename from python_app/harvest_detection_experiments/tests/test_batch_model_distributions.py rename to experiments_and_old_code_python_r/harvest_detection_experiments/tests/test_batch_model_distributions.py diff --git a/python_app/harvest_detection_experiments/tests/test_doy_logic.py b/experiments_and_old_code_python_r/harvest_detection_experiments/tests/test_doy_logic.py similarity index 100% rename from python_app/harvest_detection_experiments/tests/test_doy_logic.py rename to experiments_and_old_code_python_r/harvest_detection_experiments/tests/test_doy_logic.py diff --git a/python_app/harvest_detection_experiments/tests/test_feature_extraction.py b/experiments_and_old_code_python_r/harvest_detection_experiments/tests/test_feature_extraction.py similarity index 100% rename from python_app/harvest_detection_experiments/tests/test_feature_extraction.py rename to experiments_and_old_code_python_r/harvest_detection_experiments/tests/test_feature_extraction.py diff --git a/python_app/harvest_detection_experiments/tests/test_growing_window_only.py b/experiments_and_old_code_python_r/harvest_detection_experiments/tests/test_growing_window_only.py similarity index 100% rename from python_app/harvest_detection_experiments/tests/test_growing_window_only.py rename to experiments_and_old_code_python_r/harvest_detection_experiments/tests/test_growing_window_only.py diff --git a/python_app/harvest_detection_experiments/tests/test_growing_window_vs_single_run.py b/experiments_and_old_code_python_r/harvest_detection_experiments/tests/test_growing_window_vs_single_run.py similarity index 100% rename from python_app/harvest_detection_experiments/tests/test_growing_window_vs_single_run.py rename to experiments_and_old_code_python_r/harvest_detection_experiments/tests/test_growing_window_vs_single_run.py diff --git a/python_app/harvest_detection_experiments/tests/test_model_inference.py b/experiments_and_old_code_python_r/harvest_detection_experiments/tests/test_model_inference.py similarity index 100% rename from python_app/harvest_detection_experiments/tests/test_model_inference.py rename to experiments_and_old_code_python_r/harvest_detection_experiments/tests/test_model_inference.py diff --git a/python_app/harvest_detection_experiments/tests/test_model_output_distribution.py b/experiments_and_old_code_python_r/harvest_detection_experiments/tests/test_model_output_distribution.py similarity index 100% rename from python_app/harvest_detection_experiments/tests/test_model_output_distribution.py rename to experiments_and_old_code_python_r/harvest_detection_experiments/tests/test_model_output_distribution.py diff --git a/python_app/harvest_detection_experiments/tests/test_script22_debug.py b/experiments_and_old_code_python_r/harvest_detection_experiments/tests/test_script22_debug.py similarity index 100% rename from python_app/harvest_detection_experiments/tests/test_script22_debug.py rename to experiments_and_old_code_python_r/harvest_detection_experiments/tests/test_script22_debug.py diff --git a/r_app/old_scripts/05_CI_report_dashboard_planet.Rmd b/experiments_and_old_code_python_r/old_scripts/05_CI_report_dashboard_planet.Rmd similarity index 100% rename from r_app/old_scripts/05_CI_report_dashboard_planet.Rmd rename to experiments_and_old_code_python_r/old_scripts/05_CI_report_dashboard_planet.Rmd diff --git a/r_app/old_scripts/06_crop_messaging b/experiments_and_old_code_python_r/old_scripts/06_crop_messaging similarity index 100% rename from r_app/old_scripts/06_crop_messaging rename to experiments_and_old_code_python_r/old_scripts/06_crop_messaging diff --git a/r_app/old_scripts/09_calculate_kpis.R b/experiments_and_old_code_python_r/old_scripts/09_calculate_kpis.R similarity index 100% rename from r_app/old_scripts/09_calculate_kpis.R rename to experiments_and_old_code_python_r/old_scripts/09_calculate_kpis.R diff --git a/r_app/old_scripts/09_field_analysis_weekly.R b/experiments_and_old_code_python_r/old_scripts/09_field_analysis_weekly.R similarity index 100% rename from r_app/old_scripts/09_field_analysis_weekly.R rename to experiments_and_old_code_python_r/old_scripts/09_field_analysis_weekly.R diff --git a/r_app/old_scripts/09b_field_analysis_weekly.R b/experiments_and_old_code_python_r/old_scripts/09b_field_analysis_weekly.R similarity index 100% rename from r_app/old_scripts/09b_field_analysis_weekly.R rename to experiments_and_old_code_python_r/old_scripts/09b_field_analysis_weekly.R diff --git a/r_app/old_scripts/09c_field_analysis_weekly.R b/experiments_and_old_code_python_r/old_scripts/09c_field_analysis_weekly.R similarity index 100% rename from r_app/old_scripts/09c_field_analysis_weekly.R rename to experiments_and_old_code_python_r/old_scripts/09c_field_analysis_weekly.R diff --git a/r_app/old_scripts/20_generate_kpi_excel.R b/experiments_and_old_code_python_r/old_scripts/20_generate_kpi_excel.R similarity index 100% rename from r_app/old_scripts/20_generate_kpi_excel.R rename to experiments_and_old_code_python_r/old_scripts/20_generate_kpi_excel.R diff --git a/r_app/old_scripts/kpi_utils.R b/experiments_and_old_code_python_r/old_scripts/kpi_utils.R similarity index 100% rename from r_app/old_scripts/kpi_utils.R rename to experiments_and_old_code_python_r/old_scripts/kpi_utils.R diff --git a/python_app/python_scripts/generate_ci_graphs_dashboard.py b/experiments_and_old_code_python_r/python_scripts/generate_ci_graphs_dashboard.py similarity index 100% rename from python_app/python_scripts/generate_ci_graphs_dashboard.py rename to experiments_and_old_code_python_r/python_scripts/generate_ci_graphs_dashboard.py diff --git a/python_app/python_scripts/generate_interactive_ci_dashboard.py b/experiments_and_old_code_python_r/python_scripts/generate_interactive_ci_dashboard.py similarity index 100% rename from python_app/python_scripts/generate_interactive_ci_dashboard.py rename to experiments_and_old_code_python_r/python_scripts/generate_interactive_ci_dashboard.py diff --git a/python_app/python_scripts/old/01_planet_download.py b/experiments_and_old_code_python_r/python_scripts/old/01_planet_download.py similarity index 100% rename from python_app/python_scripts/old/01_planet_download.py rename to experiments_and_old_code_python_r/python_scripts/old/01_planet_download.py diff --git a/python_app/python_scripts/old/Chemba_download.ipynb b/experiments_and_old_code_python_r/python_scripts/old/Chemba_download.ipynb similarity index 100% rename from python_app/python_scripts/old/Chemba_download.ipynb rename to experiments_and_old_code_python_r/python_scripts/old/Chemba_download.ipynb diff --git a/python_app/python_scripts/old/Chemba_download_old.ipynb b/experiments_and_old_code_python_r/python_scripts/old/Chemba_download_old.ipynb similarity index 100% rename from python_app/python_scripts/old/Chemba_download_old.ipynb rename to experiments_and_old_code_python_r/python_scripts/old/Chemba_download_old.ipynb diff --git a/python_app/python_scripts/old/call_planet_download.py b/experiments_and_old_code_python_r/python_scripts/old/call_planet_download.py similarity index 100% rename from python_app/python_scripts/old/call_planet_download.py rename to experiments_and_old_code_python_r/python_scripts/old/call_planet_download.py diff --git a/python_app/python_scripts/old/planet_download.ipynb b/experiments_and_old_code_python_r/python_scripts/old/planet_download.ipynb similarity index 100% rename from python_app/python_scripts/old/planet_download.ipynb rename to experiments_and_old_code_python_r/python_scripts/old/planet_download.ipynb diff --git a/python_app/python_scripts/old/planet_download_8band.ipynb b/experiments_and_old_code_python_r/python_scripts/old/planet_download_8band.ipynb similarity index 100% rename from python_app/python_scripts/old/planet_download_8band.ipynb rename to experiments_and_old_code_python_r/python_scripts/old/planet_download_8band.ipynb diff --git a/python_app/python_scripts/old/planet_download_8band_optimized.ipynb b/experiments_and_old_code_python_r/python_scripts/old/planet_download_8band_optimized.ipynb similarity index 100% rename from python_app/python_scripts/old/planet_download_8band_optimized.ipynb rename to experiments_and_old_code_python_r/python_scripts/old/planet_download_8band_optimized.ipynb diff --git a/python_app/python_scripts/old/test_merge.py b/experiments_and_old_code_python_r/python_scripts/old/test_merge.py similarity index 100% rename from python_app/python_scripts/old/test_merge.py rename to experiments_and_old_code_python_r/python_scripts/old/test_merge.py diff --git a/r_app/90_CI_report_with_kpis_agronomic_support.Rmd b/r_app/90_CI_report_with_kpis_agronomic_support.Rmd index 958b2be..1d48256 100644 --- a/r_app/90_CI_report_with_kpis_agronomic_support.Rmd +++ b/r_app/90_CI_report_with_kpis_agronomic_support.Rmd @@ -67,14 +67,14 @@ tmap_options(component.autoscale = FALSE) # Load custom utility functions tryCatch({ - source("report_utils.R") + source("90_report_utils.R") }, error = function(e) { - message(paste("Error loading report_utils.R:", e$message)) + message(paste("Error loading 90_report_utils.R:", e$message)) # Try alternative path if the first one fails tryCatch({ - source(here::here("r_app", "report_utils.R")) + source(here::here("r_app", "90_report_utils.R")) }, error = function(e) { - stop("Could not load report_utils.R from either location: ", e$message) + stop("Could not load 90_report_utils.R from either location: ", e$message) }) }) @@ -916,7 +916,7 @@ tryCatch({ tryCatch({ safe_log(paste("Aggregating mosaics for", label, "(week", week_num, ",", year_num, ")")) - # Call the utility function from report_utils.R + # Call the utility function from 90_report_utils.R # This function reads all per-field mosaics and merges them into a single raster farm_mosaic <- aggregate_per_field_mosaics_to_farm_level( weekly_mosaic_dir = weekly_CI_mosaic, diff --git a/r_app/report_utils.R b/r_app/90_report_utils.R similarity index 99% rename from r_app/report_utils.R rename to r_app/90_report_utils.R index 6f11757..faead47 100644 --- a/r_app/report_utils.R +++ b/r_app/90_report_utils.R @@ -1,4 +1,4 @@ -# REPORT_UTILS.R +# 90_REPORT_UTILS.R # ============= # Utility functions for generating SmartCane reports with visualizations. # These functions support the creation of maps, charts and report elements diff --git a/r_app/91_CI_report_with_kpis_cane_supply.Rmd b/r_app/91_CI_report_with_kpis_cane_supply.Rmd index bda2d71..6cd7c27 100644 --- a/r_app/91_CI_report_with_kpis_cane_supply.Rmd +++ b/r_app/91_CI_report_with_kpis_cane_supply.Rmd @@ -67,14 +67,14 @@ tmap_options(component.autoscale = FALSE) # Load custom utility functions tryCatch({ - source("r_app/report_utils.R") + source("r_app/90_report_utils.R") }, error = function(e) { - message(paste("Error loading report_utils.R:", e$message)) + message(paste("Error loading 90_report_utils.R:", e$message)) # Try alternative path if the first one fails tryCatch({ - source(here::here("r_app", "report_utils.R")) + source(here::here("r_app", "90_report_utils.R")) }, error = function(e) { - stop("Could not load report_utils.R from either location: ", e$message) + stop("Could not load 90_report_utils.R from either location: ", e$message) }) }) diff --git a/r_app/experiments/interactive_sar_visualization/__pycache__/download_s1_aura.cpython-312.pyc b/r_app/experiments/interactive_sar_visualization/__pycache__/download_s1_aura.cpython-312.pyc deleted file mode 100644 index ef1d8e1..0000000 Binary files a/r_app/experiments/interactive_sar_visualization/__pycache__/download_s1_aura.cpython-312.pyc and /dev/null differ diff --git a/r_app/experiments/interactive_sar_visualization/sar_download.log b/r_app/experiments/interactive_sar_visualization/sar_download.log deleted file mode 100644 index 6fc0206..0000000 --- a/r_app/experiments/interactive_sar_visualization/sar_download.log +++ /dev/null @@ -1,191 +0,0 @@ -2025-08-21 11:10:10,620 - INFO - === SAR Download Test Suite === - -2025-08-21 11:10:10,620 - INFO - 1. Testing SentinelHub connection... -2025-08-21 11:10:10,627 - INFO - -2. Testing field boundaries... -2025-08-21 11:10:10,856 - INFO - -3. Testing SAR download (1 week)... -2025-08-21 11:10:10,858 - INFO - SentinelHub credentials configured successfully -2025-08-21 11:10:10,859 - INFO - Initialized SAR downloader with output directory: test_sar_output -2025-08-21 11:10:10,859 - INFO - Loading field boundaries from: ../pivot.geojson -2025-08-21 11:10:10,876 - ERROR - Error loading field boundaries: Unable to process `BBox` input. Provide `(min_x, min_y, max_x, max_y)` or check documentation for other valid forms of input. -2025-08-21 11:10:10,877 - WARNING - Using default Aura area coordinates - please verify these are correct! -2025-08-21 11:10:10,877 - INFO - Testing download for: 2025-08-14 to 2025-08-21 -2025-08-21 11:10:10,928 - INFO - Image dimensions: (5567, 5520) -2025-08-21 11:10:10,928 - INFO - Downloading week 1: 2025-08-14 to 2025-08-20 -2025-08-21 11:10:10,991 - ERROR - Error downloading week 2025-08-14: 'MimeType' object has no attribute 'lower' -2025-08-21 11:10:10,993 - ERROR - Download test failed -2025-08-21 11:12:31,230 - INFO - === SAR Download Test Suite === - -2025-08-21 11:12:31,231 - INFO - 1. Testing SentinelHub connection... -2025-08-21 11:12:31,244 - INFO - OK - SentinelHub credentials configured -2025-08-21 11:12:31,245 - INFO - OK - Client ID: 1a72d811... -2025-08-21 11:12:31,245 - INFO - -2. Testing field boundaries... -2025-08-21 11:12:31,434 - INFO - OK - Field boundaries loaded: ../pivot.geojson -2025-08-21 11:12:31,434 - INFO - OK - 73 fields found -2025-08-21 11:12:31,435 - INFO - OK - Bounds: [34.510012 -0.96665732 34.57719348 -0.88375534] -2025-08-21 11:12:31,435 - INFO - -3. Testing SAR download (1 week)... -2025-08-21 11:12:31,437 - INFO - SentinelHub credentials configured successfully -2025-08-21 11:12:31,437 - INFO - Initialized SAR downloader with output directory: test_sar_output -2025-08-21 11:12:31,438 - INFO - Loading field boundaries from: ../pivot.geojson -2025-08-21 11:12:31,450 - INFO - Loaded 73 field boundaries -2025-08-21 11:12:31,451 - INFO - Bounding box: [34.510012 -0.96665732 34.57719348 -0.88375534] -2025-08-21 11:12:31,451 - INFO - Testing download for: 2025-08-14 to 2025-08-21 -2025-08-21 11:12:31,486 - INFO - Image dimensions: (748, 916) -2025-08-21 11:12:31,487 - INFO - Downloading week 1: 2025-08-14 to 2025-08-20 -2025-08-21 11:12:31,519 - ERROR - Error downloading week 2025-08-14: 'MimeType' object has no attribute 'lower' -2025-08-21 11:12:31,520 - WARNING - ERROR - No files downloaded - check SentinelHub quota/permissions -2025-08-21 11:12:31,520 - ERROR - Download test failed -2025-08-21 11:15:39,545 - INFO - === SAR Download Test Suite === - -2025-08-21 11:15:39,546 - INFO - 1. Testing SentinelHub connection... -2025-08-21 11:15:39,547 - INFO - OK - SentinelHub credentials configured -2025-08-21 11:15:39,548 - INFO - OK - Client ID: 1a72d811... -2025-08-21 11:15:39,548 - INFO - -2. Testing field boundaries... -2025-08-21 11:15:39,845 - INFO - OK - Field boundaries loaded: ../pivot.geojson -2025-08-21 11:15:39,845 - INFO - OK - 73 fields found -2025-08-21 11:15:39,847 - INFO - OK - Bounds: [34.510012 -0.96665732 34.57719348 -0.88375534] -2025-08-21 11:15:39,847 - INFO - -3. Testing SAR download (1 week)... -2025-08-21 11:15:39,851 - INFO - SentinelHub credentials configured successfully -2025-08-21 11:15:39,852 - INFO - Initialized SAR downloader with output directory: test_sar_output -2025-08-21 11:15:39,854 - INFO - Loading field boundaries from: ../pivot.geojson -2025-08-21 11:15:39,878 - INFO - Loaded 73 field boundaries -2025-08-21 11:15:39,882 - INFO - Bounding box: [34.510012 -0.96665732 34.57719348 -0.88375534] -2025-08-21 11:15:39,889 - INFO - Testing download for: 2025-08-14 to 2025-08-21 -2025-08-21 11:15:40,000 - INFO - Image dimensions: (748, 916) -2025-08-21 11:15:40,000 - INFO - Downloading week 1: 2025-08-14 to 2025-08-20 -2025-08-21 11:15:43,008 - INFO - Saved: week_33_2025_VV.tif -2025-08-21 11:15:43,047 - INFO - Saved: week_33_2025_VH.tif -2025-08-21 11:15:43,086 - INFO - Saved: week_33_2025_VV_dB.tif -2025-08-21 11:15:43,119 - INFO - Saved: week_33_2025_VH_dB.tif -2025-08-21 11:15:43,134 - INFO - Saved: week_33_2025_mask.tif -2025-08-21 11:15:43,137 - INFO - OK - Test download successful! 5 files created -2025-08-21 11:15:43,137 - INFO - - week_33_2025_mask.tif -2025-08-21 11:15:43,137 - INFO - - week_33_2025_VH.tif -2025-08-21 11:15:43,138 - INFO - - week_33_2025_VH_dB.tif -2025-08-21 11:15:43,138 - INFO - - week_33_2025_VV.tif -2025-08-21 11:15:43,138 - INFO - - week_33_2025_VV_dB.tif -2025-08-21 11:15:43,139 - INFO - -=== All Tests Passed! === -2025-08-21 11:15:43,139 - INFO - You can now run the full download script: -2025-08-21 11:15:43,139 - INFO - python download_s1_aura.py -2025-08-21 11:16:24,110 - INFO - Starting Sentinel-1 SAR download for Aura fields... -2025-08-21 11:16:24,112 - INFO - SentinelHub credentials configured successfully -2025-08-21 11:16:24,113 - INFO - Initialized SAR downloader with output directory: data\aura\weekly_SAR_mosaic -2025-08-21 11:16:24,113 - INFO - Loading field boundaries from: ../pivot.geojson -2025-08-21 11:16:24,201 - INFO - Loaded 73 field boundaries -2025-08-21 11:16:24,202 - INFO - Bounding box: [34.510012 -0.96665732 34.57719348 -0.88375534] -2025-08-21 11:16:24,202 - INFO - Date range: 2025-06-29 to 2025-08-24 -2025-08-21 11:16:24,216 - INFO - Image dimensions: (748, 916) -2025-08-21 11:16:24,217 - INFO - Downloading week 1: 2025-06-29 to 2025-07-05 -2025-08-21 11:16:26,601 - INFO - Saved: week_26_2025_VV.tif -2025-08-21 11:16:26,638 - INFO - Saved: week_26_2025_VH.tif -2025-08-21 11:16:26,671 - INFO - Saved: week_26_2025_VV_dB.tif -2025-08-21 11:16:26,703 - INFO - Saved: week_26_2025_VH_dB.tif -2025-08-21 11:16:26,718 - INFO - Saved: week_26_2025_mask.tif -2025-08-21 11:16:26,719 - INFO - Downloading week 2: 2025-07-06 to 2025-07-12 -2025-08-21 11:16:28,905 - INFO - Saved: week_27_2025_VV.tif -2025-08-21 11:16:28,949 - INFO - Saved: week_27_2025_VH.tif -2025-08-21 11:16:28,990 - INFO - Saved: week_27_2025_VV_dB.tif -2025-08-21 11:16:29,033 - INFO - Saved: week_27_2025_VH_dB.tif -2025-08-21 11:16:29,050 - INFO - Saved: week_27_2025_mask.tif -2025-08-21 11:16:29,050 - INFO - Downloading week 3: 2025-07-13 to 2025-07-19 -2025-08-21 11:16:30,996 - INFO - Saved: week_28_2025_VV.tif -2025-08-21 11:16:31,040 - INFO - Saved: week_28_2025_VH.tif -2025-08-21 11:16:31,079 - INFO - Saved: week_28_2025_VV_dB.tif -2025-08-21 11:16:31,120 - INFO - Saved: week_28_2025_VH_dB.tif -2025-08-21 11:16:31,138 - INFO - Saved: week_28_2025_mask.tif -2025-08-21 11:16:31,138 - INFO - Downloading week 4: 2025-07-20 to 2025-07-26 -2025-08-21 11:16:32,758 - INFO - Saved: week_29_2025_VV.tif -2025-08-21 11:16:32,799 - INFO - Saved: week_29_2025_VH.tif -2025-08-21 11:16:32,837 - INFO - Saved: week_29_2025_VV_dB.tif -2025-08-21 11:16:32,873 - INFO - Saved: week_29_2025_VH_dB.tif -2025-08-21 11:16:32,890 - INFO - Saved: week_29_2025_mask.tif -2025-08-21 11:16:32,891 - INFO - Downloading week 5: 2025-07-27 to 2025-08-02 -2025-08-21 11:16:34,718 - INFO - Saved: week_30_2025_VV.tif -2025-08-21 11:16:34,788 - INFO - Saved: week_30_2025_VH.tif -2025-08-21 11:16:34,826 - INFO - Saved: week_30_2025_VV_dB.tif -2025-08-21 11:16:34,868 - INFO - Saved: week_30_2025_VH_dB.tif -2025-08-21 11:16:34,884 - INFO - Saved: week_30_2025_mask.tif -2025-08-21 11:16:34,884 - INFO - Downloading week 6: 2025-08-03 to 2025-08-09 -2025-08-21 11:16:36,851 - INFO - Saved: week_31_2025_VV.tif -2025-08-21 11:16:36,892 - INFO - Saved: week_31_2025_VH.tif -2025-08-21 11:16:36,933 - INFO - Saved: week_31_2025_VV_dB.tif -2025-08-21 11:16:36,966 - INFO - Saved: week_31_2025_VH_dB.tif -2025-08-21 11:16:36,981 - INFO - Saved: week_31_2025_mask.tif -2025-08-21 11:16:36,982 - INFO - Downloading week 7: 2025-08-10 to 2025-08-16 -2025-08-21 11:16:38,705 - INFO - Saved: week_32_2025_VV.tif -2025-08-21 11:16:38,750 - INFO - Saved: week_32_2025_VH.tif -2025-08-21 11:16:38,786 - INFO - Saved: week_32_2025_VV_dB.tif -2025-08-21 11:16:38,827 - INFO - Saved: week_32_2025_VH_dB.tif -2025-08-21 11:16:38,845 - INFO - Saved: week_32_2025_mask.tif -2025-08-21 11:16:38,846 - INFO - Downloading week 8: 2025-08-17 to 2025-08-23 -2025-08-21 11:16:40,347 - INFO - Saved: week_33_2025_VV.tif -2025-08-21 11:16:40,385 - INFO - Saved: week_33_2025_VH.tif -2025-08-21 11:16:40,423 - INFO - Saved: week_33_2025_VV_dB.tif -2025-08-21 11:16:40,456 - INFO - Saved: week_33_2025_VH_dB.tif -2025-08-21 11:16:40,472 - INFO - Saved: week_33_2025_mask.tif -2025-08-21 11:16:40,473 - INFO - Starting post-processing of downloaded SAR data... -2025-08-21 11:16:40,474 - INFO - Processing: week_26_2025_mask.tif -2025-08-21 11:16:40,499 - INFO - Processing: week_26_2025_VH.tif -2025-08-21 11:16:40,524 - INFO - Processing: week_26_2025_VH_dB.tif -2025-08-21 11:16:41,001 - INFO - Created filtered version: week_26_2025_VH_dB_filtered.tif -2025-08-21 11:16:41,001 - INFO - Processing: week_26_2025_VV.tif -2025-08-21 11:16:41,026 - INFO - Processing: week_26_2025_VV_dB.tif -2025-08-21 11:16:41,179 - INFO - Created filtered version: week_26_2025_VV_dB_filtered.tif -2025-08-21 11:16:41,179 - INFO - Processing: week_27_2025_mask.tif -2025-08-21 11:16:41,196 - INFO - Processing: week_27_2025_VH.tif -2025-08-21 11:16:41,219 - INFO - Processing: week_27_2025_VH_dB.tif -2025-08-21 11:16:41,356 - INFO - Created filtered version: week_27_2025_VH_dB_filtered.tif -2025-08-21 11:16:41,357 - INFO - Processing: week_27_2025_VV.tif -2025-08-21 11:16:41,381 - INFO - Processing: week_27_2025_VV_dB.tif -2025-08-21 11:16:41,516 - INFO - Created filtered version: week_27_2025_VV_dB_filtered.tif -2025-08-21 11:16:41,517 - INFO - Processing: week_28_2025_mask.tif -2025-08-21 11:16:41,533 - INFO - Processing: week_28_2025_VH.tif -2025-08-21 11:16:41,558 - INFO - Processing: week_28_2025_VH_dB.tif -2025-08-21 11:16:41,712 - INFO - Created filtered version: week_28_2025_VH_dB_filtered.tif -2025-08-21 11:16:41,712 - INFO - Processing: week_28_2025_VV.tif -2025-08-21 11:16:41,736 - INFO - Processing: week_28_2025_VV_dB.tif -2025-08-21 11:16:41,878 - INFO - Created filtered version: week_28_2025_VV_dB_filtered.tif -2025-08-21 11:16:41,878 - INFO - Processing: week_29_2025_mask.tif -2025-08-21 11:16:41,896 - INFO - Processing: week_29_2025_VH.tif -2025-08-21 11:16:41,924 - INFO - Processing: week_29_2025_VH_dB.tif -2025-08-21 11:16:42,068 - INFO - Created filtered version: week_29_2025_VH_dB_filtered.tif -2025-08-21 11:16:42,068 - INFO - Processing: week_29_2025_VV.tif -2025-08-21 11:16:42,094 - INFO - Processing: week_29_2025_VV_dB.tif -2025-08-21 11:16:42,230 - INFO - Created filtered version: week_29_2025_VV_dB_filtered.tif -2025-08-21 11:16:42,231 - INFO - Processing: week_30_2025_mask.tif -2025-08-21 11:16:42,249 - INFO - Processing: week_30_2025_VH.tif -2025-08-21 11:16:42,274 - INFO - Processing: week_30_2025_VH_dB.tif -2025-08-21 11:16:42,413 - INFO - Created filtered version: week_30_2025_VH_dB_filtered.tif -2025-08-21 11:16:42,413 - INFO - Processing: week_30_2025_VV.tif -2025-08-21 11:16:42,439 - INFO - Processing: week_30_2025_VV_dB.tif -2025-08-21 11:16:42,576 - INFO - Created filtered version: week_30_2025_VV_dB_filtered.tif -2025-08-21 11:16:42,577 - INFO - Processing: week_31_2025_mask.tif -2025-08-21 11:16:42,596 - INFO - Processing: week_31_2025_VH.tif -2025-08-21 11:16:42,622 - INFO - Processing: week_31_2025_VH_dB.tif -2025-08-21 11:16:42,771 - INFO - Created filtered version: week_31_2025_VH_dB_filtered.tif -2025-08-21 11:16:42,772 - INFO - Processing: week_31_2025_VV.tif -2025-08-21 11:16:42,801 - INFO - Processing: week_31_2025_VV_dB.tif -2025-08-21 11:16:42,952 - INFO - Created filtered version: week_31_2025_VV_dB_filtered.tif -2025-08-21 11:16:42,952 - INFO - Processing: week_32_2025_mask.tif -2025-08-21 11:16:42,970 - INFO - Processing: week_32_2025_VH.tif -2025-08-21 11:16:42,998 - INFO - Processing: week_32_2025_VH_dB.tif -2025-08-21 11:16:43,149 - INFO - Created filtered version: week_32_2025_VH_dB_filtered.tif -2025-08-21 11:16:43,149 - INFO - Processing: week_32_2025_VV.tif -2025-08-21 11:16:43,175 - INFO - Processing: week_32_2025_VV_dB.tif -2025-08-21 11:16:43,332 - INFO - Created filtered version: week_32_2025_VV_dB_filtered.tif -2025-08-21 11:16:43,332 - INFO - Processing: week_33_2025_mask.tif -2025-08-21 11:16:43,355 - INFO - Processing: week_33_2025_VH.tif -2025-08-21 11:16:43,392 - INFO - Processing: week_33_2025_VH_dB.tif -2025-08-21 11:16:43,540 - INFO - Created filtered version: week_33_2025_VH_dB_filtered.tif -2025-08-21 11:16:43,541 - INFO - Processing: week_33_2025_VV.tif -2025-08-21 11:16:43,572 - INFO - Processing: week_33_2025_VV_dB.tif -2025-08-21 11:16:43,723 - INFO - Created filtered version: week_33_2025_VV_dB_filtered.tif -2025-08-21 11:16:43,724 - INFO - SAR download completed successfully! -2025-08-21 11:16:43,724 - INFO - Data saved to: data\aura\weekly_SAR_mosaic -2025-08-21 11:16:43,725 - INFO - Total files downloaded: 56 diff --git a/r_app/experiments/pivot.geojson b/r_app/experiments/pivot.geojson deleted file mode 100644 index a7d9a46..0000000 --- a/r_app/experiments/pivot.geojson +++ /dev/null @@ -1,159 +0,0 @@ -{ -"type": "FeatureCollection", -"name": "pivot", -"crs": { "type": "name", "properties": { "name": "urn:ogc:def:crs:OGC:1.3:CRS84" } }, -"features": [ -{ "type": "Feature", "properties": { "field": "6.2", "sub_field": "6.2B" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 34.933686532028823, -17.34741850738671 ], [ 34.936458268544008, -17.344213063126752 ], [ 34.936487787462688, -17.34423678523423 ], [ 34.936654047751475, -17.344385275553996 ], [ 34.936811988565154, -17.344541918958814 ], [ 34.936961177001955, -17.344706286119994 ], [ 34.93710120414535, -17.344877926538839 ], [ 34.937231686184816, -17.345056369781194 ], [ 34.937352265468007, -17.345241126766645 ], [ 34.937462611481052, -17.345431691108853 ], [ 34.937562421754727, -17.345627540503298 ], [ 34.937651422693591, -17.345828138158684 ], [ 34.937729370326288, -17.346032934268045 ], [ 34.937796050974356, -17.346241367515468 ], [ 34.937851281838412, -17.34645286661458 ], [ 34.937894911499427, -17.346666851874129 ], [ 34.93792682033417, -17.346882736786782 ], [ 34.937946920843501, -17.347099929636563 ], [ 34.937955157892617, -17.347317835120631 ], [ 34.937951508862682, -17.347535855980816 ], [ 34.937935983713146, -17.347753394640662 ], [ 34.937908624955057, -17.347969854843281 ], [ 34.937869507534906, -17.348184643285634 ], [ 34.937818738629701, -17.348397171244734 ], [ 34.937756457353686, -17.348606856191328 ], [ 34.937682834377377, -17.348813123386648 ], [ 34.937598071460293, -17.349015407457767 ], [ 34.937502400898275, -17.349213153947368 ], [ 34.937396084887148, -17.349405820833582 ], [ 34.937279414804458, -17.349592880015777 ], [ 34.93715271041102, -17.349773818762202 ], [ 34.937016318974827, -17.349948141115476 ], [ 34.936891437505039, -17.35009147006711 ], [ 34.933686532028823, -17.34741850738671 ] ] ] } }, -{ "type": "Feature", "properties": { "field": "5.2", "sub_field": "5.2B" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 34.892982579947684, -17.30260313717654 ], [ 34.8969126991338, -17.302747852699646 ], [ 34.896848733623173, -17.306522026027363 ], [ 34.896761992373065, -17.306520666974571 ], [ 34.89655566821915, -17.306507035570725 ], [ 34.896350369530914, -17.306483049995649 ], [ 34.896146659052505, -17.306448775992763 ], [ 34.895945095174199, -17.306404307507115 ], [ 34.895746230401478, -17.306349766427822 ], [ 34.895550609840363, -17.306285302254011 ], [ 34.895358769702952, -17.306211091684883 ], [ 34.895171235837296, -17.306127338135401 ], [ 34.894988522285892, -17.306034271178618 ], [ 34.894811129876366, -17.305932145916291 ], [ 34.894639544848609, -17.305821242279585 ], [ 34.894474237521642, -17.3057018642616 ], [ 34.894315661004462, -17.305574339084064 ], [ 34.894164249953917, -17.305439016300223 ], [ 34.89402041938321, -17.305296266836596 ], [ 34.89388456352436, -17.305146481976095 ], [ 34.893757054747589, -17.304990072285385 ], [ 34.893638242540632, -17.304827466489353 ], [ 34.893528452551024, -17.304659110295812 ], [ 34.89342798569345, -17.304485465173695 ], [ 34.893337117325196, -17.304307007087981 ], [ 34.893256096491513, -17.304124225194958 ], [ 34.893185145243294, -17.30393762050133 ], [ 34.893124458028609, -17.303747704490792 ], [ 34.893074201160012, -17.303554997721992 ], [ 34.893034512359016, -17.303360028401542 ], [ 34.893005500378912, -17.303163330936176 ], [ 34.892987244707008, -17.302965444467794 ], [ 34.892979795347131, -17.302766911395732 ], [ 34.892982579947684, -17.30260313717654 ] ] ] } }, -{ "type": "Feature", "properties": { "field": "5.3", "sub_field": "5.3B" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 34.887065228066767, -17.304559537671949 ], [ 34.887585923201613, -17.308341731698718 ], [ 34.887518594228453, -17.308350893542517 ], [ 34.887312586440835, -17.308368425006687 ], [ 34.887105905758595, -17.30837557560691 ], [ 34.886899118713622, -17.308372325739303 ], [ 34.886692792129786, -17.308358684308679 ], [ 34.886487491568985, -17.308334688704125 ], [ 34.88628377978047, -17.308300404696595 ], [ 34.886082215158112, -17.308255926258568 ], [ 34.885883350209426, -17.308201375306449 ], [ 34.885687730040928, -17.308136901366442 ], [ 34.885495890863602, -17.308062681164554 ], [ 34.885308358522892, -17.307978918142162 ], [ 34.885125647057059, -17.30788584189828 ], [ 34.884948257288038, -17.307783707560155 ], [ 34.884776675448421, -17.307672795083811 ], [ 34.884611371848493, -17.307553408486619 ], [ 34.884452799587045, -17.307425875013813 ], [ 34.88430139330918, -17.307290544241372 ], [ 34.884157568015056, -17.307147787117731 ], [ 34.884021717922174, -17.306997994946784 ], [ 34.883894215384913, -17.306841578315254 ], [ 34.883775409873941, -17.30667896596702 ], [ 34.88366562701836, -17.306510603627871 ], [ 34.8835651677133, -17.306336952783568 ], [ 34.883474307295344, -17.306158489414777 ], [ 34.883393294787901, -17.305975702692255 ], [ 34.883322352219061, -17.305789093635923 ], [ 34.883261674013042, -17.305599173741417 ], [ 34.883211426457713, -17.305406463578016 ], [ 34.883171747249051, -17.305211491361643 ], [ 34.883142745114029, -17.305014791506924 ], [ 34.883138407553353, -17.304967747142655 ], [ 34.887065228066767, -17.304559537671949 ] ] ] } }, -{ "type": "Feature", "properties": { "field": "5.1", "sub_field": "5.1D" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 34.893567231271753, -17.309696371939275 ], [ 34.897496240357995, -17.309278976679899 ], [ 34.897513960068423, -17.309470988039859 ], [ 34.897521415315232, -17.309669520314646 ], [ 34.897518043544963, -17.309868155299348 ], [ 34.897503853964437, -17.310066348552152 ], [ 34.897478885431291, -17.310263556840273 ], [ 34.897443206347809, -17.310459239628845 ], [ 34.897396914473845, -17.310652860562591 ], [ 34.897340136659309, -17.310843888935889 ], [ 34.897273028496706, -17.311031801147418 ], [ 34.897195773895142, -17.311216082135513 ], [ 34.897108584576472, -17.311396226789807 ], [ 34.89701169949538, -17.311571741335957 ], [ 34.896905384184613, -17.311742144689092 ], [ 34.896789930027452, -17.311906969772526 ], [ 34.896665653459273, -17.312065764798231 ], [ 34.896532895100407, -17.312218094505198 ], [ 34.896392018822652, -17.312363541352671 ], [ 34.896243410752028, -17.312501706664793 ], [ 34.896087478210511, -17.312632211723482 ], [ 34.895924648599603, -17.312754698806646 ], [ 34.895755368228862, -17.312868832168913 ], [ 34.895580101092513, -17.312974298962004 ], [ 34.895399327597637, -17.313070810092483 ], [ 34.89521354324723, -17.313158101014249 ], [ 34.895023257281863, -17.313235932453882 ], [ 34.894828991283774, -17.313304091066559 ], [ 34.894631277746932, -17.313362390021041 ], [ 34.89443065861731, -17.313410669511875 ], [ 34.894227683807067, -17.313448797197559 ], [ 34.894135431768206, -17.313461353424515 ], [ 34.893567231271753, -17.309696371939275 ] ] ] } }, -{ "type": "Feature", "properties": { "field": "4.5", "sub_field": "4.5D" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 34.893769553711472, -17.316586264213559 ], [ 34.892115685045027, -17.314291416092694 ], [ 34.892195700790658, -17.314237469887129 ], [ 34.892325067135602, -17.314159627332327 ], [ 34.892458497355165, -17.314088394803694 ], [ 34.892595625734742, -17.314023967536052 ], [ 34.892736076425152, -17.313966522111834 ], [ 34.892879464472585, -17.313916215977194 ], [ 34.893025396873647, -17.313873187010579 ], [ 34.893173473652432, -17.313837553144793 ], [ 34.893323288956616, -17.313809412043945 ], [ 34.893474432169747, -17.313788840835716 ], [ 34.893626489036507, -17.3137758959001 ], [ 34.893779042797945, -17.313770612714848 ], [ 34.89393167533364, -17.313773005758303 ], [ 34.894083968307477, -17.313783068469746 ], [ 34.894235504314096, -17.313800773267371 ], [ 34.894385868022724, -17.313826071623883 ], [ 34.894534647315439, -17.313858894199562 ], [ 34.894681434416484, -17.313899151032253 ], [ 34.894825827009804, -17.313946731783918 ], [ 34.89496742934147, -17.314001506043073 ], [ 34.895105853304429, -17.314063323682145 ], [ 34.895240719501928, -17.31413201526895 ], [ 34.895371658287381, -17.314207392530999 ], [ 34.895498310777313, -17.314289248871496 ], [ 34.895620329835019, -17.314377359935495 ], [ 34.895737381021917, -17.3144714842248 ], [ 34.895849143514049, -17.314571363759772 ], [ 34.895955310981499, -17.31467672478637 ], [ 34.896055592427977, -17.314787278526357 ], [ 34.896149712988276, -17.314902721968778 ], [ 34.896237414681828, -17.315022738700307 ], [ 34.896250865251233, -17.315043362242964 ], [ 34.893769553711472, -17.316586264213559 ] ] ] } }, -{ "type": "Feature", "properties": { "field": "4.6", "sub_field": "4.6C" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 34.90130835758503, -17.31122562620051 ], [ 34.899440097999843, -17.313485312578923 ], [ 34.8972189524941, -17.311647539775638 ], [ 34.897298142992156, -17.311556674113714 ], [ 34.897402122142452, -17.311449320113248 ], [ 34.897511807803241, -17.311347340442076 ], [ 34.897626899332451, -17.311251014610363 ], [ 34.897747081272875, -17.311160606631386 ], [ 34.897872024216817, -17.311076364297964 ], [ 34.898001385709044, -17.310998518503435 ], [ 34.898134811185194, -17.310927282608827 ], [ 34.898271934943708, -17.310862851858154 ], [ 34.898412381148042, -17.310805402843425 ], [ 34.898555764856667, -17.310755093020635 ], [ 34.898701693078088, -17.310712060278291 ], [ 34.898849765847828, -17.310676422559613 ], [ 34.898999577324581, -17.310648277539208 ], [ 34.899150716902355, -17.310627702355518 ], [ 34.89930277033578, -17.31061475339942 ], [ 34.899455320875333, -17.310609466159704 ], [ 34.899607950409418, -17.310611855125785 ], [ 34.899760240610121, -17.310621913748125 ], [ 34.899911774079676, -17.310639614456139 ], [ 34.900062135494302, -17.31066490873372 ], [ 34.900210912742331, -17.310697727252315 ], [ 34.900357698053639, -17.310737980060885 ], [ 34.900502089117012, -17.310785556832428 ], [ 34.90064369018279, -17.310840327166343 ], [ 34.900782113147358, -17.310902140945849 ], [ 34.900916978616706, -17.310970828749291 ], [ 34.901047916946233, -17.311046202314571 ], [ 34.901174569253754, -17.311128055055008 ], [ 34.901296588403042, -17.31121616262552 ], [ 34.90130835758503, -17.31122562620051 ] ] ] } }, -{ "type": "Feature", "properties": { "field": "4.4", "sub_field": "4.4C" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 34.900201998898332, -17.316577029381111 ], [ 34.901510659033576, -17.318761975282452 ], [ 34.89921991385566, -17.319939028684551 ], [ 34.89919319521254, -17.31989285674155 ], [ 34.899133472197327, -17.319775587027554 ], [ 34.899080220785628, -17.319655475739637 ], [ 34.899033586926492, -17.319532852100672 ], [ 34.898993698429557, -17.31940805221921 ], [ 34.898960664614833, -17.319281418168284 ], [ 34.898934576013126, -17.319153297047684 ], [ 34.898915504118094, -17.319024040032534 ], [ 34.898903501190432, -17.318894001410737 ], [ 34.898898600114762, -17.318763537611808 ], [ 34.89890081430967, -17.318633006229952 ], [ 34.898910137691097, -17.318502765043846 ], [ 34.898926544689147, -17.318373171036008 ], [ 34.898949990318393, -17.318244579414355 ], [ 34.898980410301313, -17.318117342638544 ], [ 34.899017721244583, -17.317991809453979 ], [ 34.899061820867914, -17.317868323935873 ], [ 34.89911258828446, -17.317747224546256 ], [ 34.899169884332323, -17.317628843206275 ], [ 34.899233551956158, -17.317513504386454 ], [ 34.899303416637665, -17.317401524217455 ], [ 34.899379286874172, -17.317293209623546 ], [ 34.899460954703535, -17.317188857481462 ], [ 34.899548196274232, -17.317088753806768 ], [ 34.899640772459016, -17.316993172969916 ], [ 34.899738429510414, -17.31690237694437 ], [ 34.899840899756157, -17.316816614588575 ], [ 34.899947902332954, -17.316736120963917 ], [ 34.900059143956319, -17.316661116690586 ], [ 34.900174319724371, -17.316591807342899 ], [ 34.900201998898332, -17.316577029381111 ] ] ] } }, -{ "type": "Feature", "properties": { "field": "4.3", "sub_field": "4.3C" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 34.895357321246472, -17.319337751577674 ], [ 34.896432140987109, -17.321371469783127 ], [ 34.894337657341168, -17.322447678138754 ], [ 34.894309541855741, -17.3223990902598 ], [ 34.89425566308077, -17.32229329109223 ], [ 34.894207622969382, -17.322184928461439 ], [ 34.894165553188593, -17.322074299386902 ], [ 34.894129569040125, -17.321961707099845 ], [ 34.894099769144624, -17.321847460212147 ], [ 34.894076235171276, -17.321731871870391 ], [ 34.894059031614177, -17.321615258897467 ], [ 34.89404820561564, -17.321497940924189 ], [ 34.894043786837109, -17.321380239513154 ], [ 34.894045787378019, -17.321262477277379 ], [ 34.894054201742712, -17.321144976995981 ], [ 34.894069006855688, -17.321028060729436 ], [ 34.894090162124932, -17.32091204893689 ], [ 34.894117609553369, -17.320797259597772 ], [ 34.894151273897926, -17.320684007340216 ], [ 34.89419106287589, -17.320572602578771 ], [ 34.894236867418009, -17.32046335066353 ], [ 34.894288561967485, -17.32035655104325 ], [ 34.894346004824278, -17.320252496444606 ], [ 34.894409038533638, -17.320151472069909 ], [ 34.894477490317634, -17.320053754815419 ], [ 34.894551172548908, -17.319959612512406 ], [ 34.894629883264997, -17.319869303193162 ], [ 34.894713406721877, -17.319783074383764 ], [ 34.894801513985477, -17.319701162425709 ], [ 34.894893963559014, -17.319623791828143 ], [ 34.894990502045104, -17.319551174652602 ], [ 34.895090864840206, -17.319483509931821 ], [ 34.895194776859846, -17.319420983124225 ], [ 34.895301953292638, -17.319363765605722 ], [ 34.895357321246472, -17.319337751577674 ] ] ] } }, -{ "type": "Feature", "properties": { "field": "4.1", "sub_field": "4.1C" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 34.885846577829994, -17.324065205990067 ], [ 34.886782334569538, -17.326739205117487 ], [ 34.883964047061163, -17.327599439232444 ], [ 34.883926891813566, -17.3274831654618 ], [ 34.883889797650568, -17.327340927904032 ], [ 34.883860504808354, -17.3271970206277 ], [ 34.883839093559693, -17.327051838077736 ], [ 34.883825622573575, -17.326905778193673 ], [ 34.88382012875465, -17.326759241318918 ], [ 34.883822627142258, -17.326612629103337 ], [ 34.883833110869425, -17.326466343402387 ], [ 34.883851551181877, -17.326320785175589 ], [ 34.883877897517046, -17.326176353387591 ], [ 34.88391207764294, -17.326033443914554 ], [ 34.883953997856267, -17.325892448459154 ], [ 34.884003543239437, -17.325753753476985 ], [ 34.884060577975809, -17.32561773911727 ], [ 34.884124945722114, -17.325484778181053 ], [ 34.884196470037082, -17.325355235099337 ], [ 34.884274954865283, -17.325229464934313 ], [ 34.884360185074598, -17.325107812406213 ], [ 34.884451927046008, -17.324990610948547 ], [ 34.884549929313991, -17.324878181794265 ], [ 34.884653923255925, -17.324770833095336 ], [ 34.884763623828356, -17.324668859078276 ], [ 34.884878730348319, -17.324572539237757 ], [ 34.884998927317575, -17.324482137570598 ], [ 34.885123885287243, -17.324397901852347 ], [ 34.885253261760887, -17.324320062958176 ], [ 34.885386702133168, -17.324248834230222 ], [ 34.885523840661676, -17.324184410892851 ], [ 34.885664301469411, -17.324126969517753 ], [ 34.885807699574862, -17.324076667539991 ], [ 34.885846577829994, -17.324065205990067 ] ] ] } }, -{ "type": "Feature", "properties": { "field": "4.2", "sub_field": "4.2D" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 34.892592473294087, -17.324940604483569 ], [ 34.890807409243124, -17.32342733014784 ], [ 34.890881858516011, -17.32335047371787 ], [ 34.890969969192497, -17.323268563141767 ], [ 34.891062422186693, -17.323191194008754 ], [ 34.891158964091794, -17.32311857837632 ], [ 34.891259330294872, -17.32305091527299 ], [ 34.891363245702173, -17.322988390152755 ], [ 34.891470425492983, -17.322931174386909 ], [ 34.891580575900392, -17.322879424794326 ], [ 34.891693395016318, -17.322833283211736 ], [ 34.891808573619024, -17.322792876105019 ], [ 34.891925796020537, -17.322758314222579 ], [ 34.892044740931865, -17.322729692291919 ], [ 34.892165082343496, -17.322707088759937 ], [ 34.892286490418904, -17.32269056557811 ], [ 34.892408632398393, -17.32268016803253 ], [ 34.89253117351118, -17.322675924619965 ], [ 34.892653777892725, -17.322677846969675 ], [ 34.892776109505235, -17.322685929811669 ], [ 34.892897833058612, -17.322700150991011 ], [ 34.893018614929247, -17.322720471528676 ], [ 34.893138124074405, -17.322746835728307 ], [ 34.893256032939391, -17.322779171328932 ], [ 34.893372018355308, -17.322817389702962 ], [ 34.893485762424611, -17.322861386099067 ], [ 34.893596953392439, -17.322911039929352 ], [ 34.89370528650096, -17.322966215099775 ], [ 34.893810464824533, -17.323026760383154 ], [ 34.893912200083612, -17.3230925098336 ], [ 34.894010213434655, -17.323163283241353 ], [ 34.894104236234512, -17.323238886626648 ], [ 34.894194010776616, -17.323319112771372 ], [ 34.89423852225147, -17.323363284353789 ], [ 34.892592473294087, -17.324940604483569 ] ] ] } }, -{ "type": "Feature", "properties": { "field": "3.3", "sub_field": "3.3C" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 34.900331858463275, -17.322163720229909 ], [ 34.900551100160158, -17.32491517010353 ], [ 34.897565743794004, -17.325142207305205 ], [ 34.89756504241015, -17.325134608564934 ], [ 34.89755953787251, -17.324988073109029 ], [ 34.897562025399424, -17.324841461768788 ], [ 34.897572498153679, -17.324695176397274 ], [ 34.897590927411045, -17.324549617953146 ], [ 34.897617262639329, -17.324405185401652 ], [ 34.897651431636909, -17.324262274621056 ], [ 34.897693340730996, -17.324121277317641 ], [ 34.897742875034517, -17.323982579952059 ], [ 34.897799898761171, -17.323846562680117 ], [ 34.897864255597824, -17.32371359831081 ], [ 34.897935769133142, -17.323584051284573 ], [ 34.898014243341194, -17.323458276674447 ], [ 34.898099463118982, -17.323336619212824 ], [ 34.898191194876041, -17.323219412346742 ], [ 34.898289187174854, -17.323106977324002 ], [ 34.898393171420096, -17.322999622312651 ], [ 34.898502862594867, -17.322897641556505 ], [ 34.89861796004196, -17.322801314568704 ], [ 34.898738148287975, -17.322710905365678 ], [ 34.898863097907935, -17.322626661743598 ], [ 34.898992466428268, -17.322548814599326 ], [ 34.899125899265393, -17.322477577297583 ], [ 34.89926303069759, -17.322413145086237 ], [ 34.899403484867264, -17.322355694561299 ], [ 34.899546876811073, -17.322305383182883 ], [ 34.89969281351496, -17.322262348843783 ], [ 34.899840894991208, -17.322226709491549 ], [ 34.899990715374656, -17.322198562805294 ], [ 34.900141864034907, -17.322177985928029 ], [ 34.900293926701728, -17.322165035255239 ], [ 34.900331858463275, -17.322163720229909 ] ] ] } }, -{ "type": "Feature", "properties": { "field": "3.2", "sub_field": "3.2C" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 34.907099870341185, -17.322607987848503 ], [ 34.906021160934294, -17.32453810278799 ], [ 34.903896908377526, -17.323502846894009 ], [ 34.903917242324283, -17.323466009089106 ], [ 34.903980271340309, -17.323364982123337 ], [ 34.904048718674474, -17.323267261990232 ], [ 34.904122396711607, -17.323173116528974 ], [ 34.904201103500704, -17.323082803780501 ], [ 34.904284623308548, -17.322996571280285 ], [ 34.904372727211005, -17.322914655379957 ], [ 34.90446517372056, -17.32283728059944 ], [ 34.90456170944816, -17.32276465901176 ], [ 34.904662069797851, -17.322696989661715 ], [ 34.904765979691838, -17.322634458020435 ], [ 34.904873154324569, -17.322577235477077 ], [ 34.90498329994324, -17.322525478869093 ], [ 34.905096114652899, -17.322479330052449 ], [ 34.905211289243852, -17.322438915512812 ], [ 34.905328508039148, -17.322404346018985 ], [ 34.905447449759642, -17.322375716319311 ], [ 34.905567788404575, -17.322353104881994 ], [ 34.905689194144998, -17.322336573680126 ], [ 34.905811334227622, -17.322326168021803 ], [ 34.905933873886852, -17.322321916426024 ], [ 34.906056477262126, -17.322323830544466 ], [ 34.90617880831843, -17.32233190512968 ], [ 34.906300531767172, -17.322346118049349 ], [ 34.906421313985021, -17.322366430347106 ], [ 34.906540823928317, -17.322392786349138 ], [ 34.906658734040178, -17.322425113816962 ], [ 34.906774721148288, -17.322463324145243 ], [ 34.90688846735047, -17.32250731260471 ], [ 34.906999660886036, -17.322556958629232 ], [ 34.907099870341185, -17.322607987848503 ] ] ] } }, -{ "type": "Feature", "properties": { "field": "3.1", "sub_field": "3.1D" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 34.911721763444021, -17.327270799151147 ], [ 34.909685584378018, -17.325148690849765 ], [ 34.909715691499358, -17.325120697051958 ], [ 34.90983078373403, -17.325024364110629 ], [ 34.909950967164427, -17.324933948628292 ], [ 34.910075912378765, -17.32484969841833 ], [ 34.910205276915569, -17.324771844395649 ], [ 34.910338706202126, -17.3247005999438 ], [ 34.910475834526437, -17.324636160330265 ], [ 34.910616286039428, -17.324578702171344 ], [ 34.910759675785044, -17.324528382948049 ], [ 34.910905610755215, -17.32448534057465 ], [ 34.911053690967016, -17.324449693020743 ], [ 34.911203510558707, -17.324421537987895 ], [ 34.911354658902077, -17.324400952641973 ], [ 34.911506721727747, -17.324387993401679 ], [ 34.911659282260466, -17.324382695783971 ], [ 34.911811922361267, -17.324385074306729 ], [ 34.911964223673273, -17.324395122449015 ], [ 34.912115768768309, -17.324412812668925 ], [ 34.912266142290733, -17.32443809647912 ], [ 34.912414932095714, -17.324470904579723 ], [ 34.912561730378727, -17.324511147048252 ], [ 34.912706134793041, -17.324558713586011 ], [ 34.912847749552412, -17.32461347382046 ], [ 34.91298618651571, -17.324675277662489 ], [ 34.913121066250604, -17.32474395571769 ], [ 34.913252019073362, -17.32481931975067 ], [ 34.913378686062146, -17.324901163200888 ], [ 34.91350072004051, -17.32498926174873 ], [ 34.913617786528953, -17.325083373930308 ], [ 34.913729564661651, -17.325183241799166 ], [ 34.913835748065821, -17.325288591633232 ], [ 34.913936045701512, -17.325399134684982 ], [ 34.914030182659175, -17.325514567972732 ], [ 34.914031362474837, -17.325516182075784 ], [ 34.911721763444021, -17.327270799151147 ] ] ] } }, -{ "type": "Feature", "properties": { "field": "2.4", "sub_field": "2.4D" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 34.896270521422032, -17.345778057340958 ], [ 34.894633955948727, -17.344108401435214 ], [ 34.894659373611468, -17.344084773603896 ], [ 34.894751834385303, -17.344007402050345 ], [ 34.894848384675079, -17.343934783858305 ], [ 34.894948759844887, -17.343867118063262 ], [ 34.895052684776374, -17.343804590126624 ], [ 34.895159874622749, -17.343747371427341 ], [ 34.895270035589526, -17.343695618792371 ], [ 34.895382865739712, -17.343649474066748 ], [ 34.895498055821321, -17.343609063724955 ], [ 34.895615290114932, -17.343574498524291 ], [ 34.895734247298968, -17.343545873201311 ], [ 34.895854601330292, -17.343523266212244 ], [ 34.895976022337791, -17.343506739517984 ], [ 34.896098177526369, -17.343496338414269 ], [ 34.896220732089027, -17.343492091407629 ], [ 34.896343350124383, -17.343494010137192 ], [ 34.896465695557261, -17.343502089342831 ], [ 34.896587433059651, -17.343516306879611 ], [ 34.896708228969764, -17.343536623778476 ], [ 34.896827752206391, -17.343562984353067 ], [ 34.896945675176234, -17.343595316352321 ], [ 34.897061674671747, -17.343633531158535 ], [ 34.897175432756811, -17.343677524030166 ], [ 34.897286637638175, -17.34372717438897 ], [ 34.897394984519835, -17.34378234615043 ], [ 34.897500176438477, -17.343842888096699 ], [ 34.897601925077247, -17.343908634291068 ], [ 34.897699951556, -17.343979404532686 ], [ 34.89779398719557, -17.344055004850485 ], [ 34.89788377425419, -17.344135228034745 ], [ 34.897969066633934, -17.344219854204994 ], [ 34.898018534309401, -17.34427437726421 ], [ 34.896270521422032, -17.345778057340958 ] ] ] } }, -{ "type": "Feature", "properties": { "field": "2.3", "sub_field": "2.3C" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 34.8993698935897, -17.3404132919784 ], [ 34.899977306418968, -17.342598676400389 ], [ 34.897632654475345, -17.343156624592137 ], [ 34.897616064985897, -17.343093039404593 ], [ 34.897592524699924, -17.342977452198006 ], [ 34.897575315514821, -17.342860840179966 ], [ 34.897564484588315, -17.342743522978669 ], [ 34.897560061595343, -17.342625822154599 ], [ 34.897562058646876, -17.342508060319165 ], [ 34.897570470256781, -17.342390560250386 ], [ 34.897585273357109, -17.34227364400817 ], [ 34.89760642736136, -17.342157632051599 ], [ 34.897633874275868, -17.34204284236052 ], [ 34.897667538859004, -17.341929589564067 ], [ 34.897707328827337, -17.341818184078249 ], [ 34.8977531351089, -17.341708931255134 ], [ 34.897804832142121, -17.341602130545965 ], [ 34.89786227822016, -17.341498074680427 ], [ 34.89792531587937, -17.341397048864266 ], [ 34.89799377233102, -17.341299329997696 ], [ 34.898067459934943, -17.341205185916401 ], [ 34.898146176713922, -17.341114874657549 ], [ 34.898229706907351, -17.341028643752509 ], [ 34.898317821562657, -17.34094672954852 ], [ 34.898410279162817, -17.340869356560894 ], [ 34.898506826288433, -17.340796736857698 ], [ 34.89860719831227, -17.340729069478559 ], [ 34.898711120124595, -17.340666539889227 ], [ 34.898818306887151, -17.340609319473213 ], [ 34.898928464813913, -17.340557565062127 ], [ 34.899041291976218, -17.34051141850593 ], [ 34.899156479130262, -17.34047100628408 ], [ 34.899273710564628, -17.340436439159028 ], [ 34.8993698935897, -17.3404132919784 ] ] ] } }, -{ "type": "Feature", "properties": { "field": "2.2", "sub_field": "2.2C" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 34.906533452371185, -17.338050305737823 ], [ 34.909113153334729, -17.34030905206204 ], [ 34.906860112803329, -17.342790160574449 ], [ 34.906785146846069, -17.342729896748654 ], [ 34.90665424850053, -17.342612951146734 ], [ 34.906529902534977, -17.342489586312865 ], [ 34.906412449774884, -17.342360140393918 ], [ 34.906302212149164, -17.34222496820469 ], [ 34.906199491807826, -17.342084440255348 ], [ 34.906104570293813, -17.341938941735673 ], [ 34.906017707771433, -17.341788871459226 ], [ 34.905939142313287, -17.341634640770003 ], [ 34.905869089247915, -17.341476672414917 ], [ 34.905807740569742, -17.341315399384907 ], [ 34.905755264412988, -17.341151263728026 ], [ 34.905711804591036, -17.340984715337761 ], [ 34.905677480202478, -17.340816210719719 ], [ 34.90565238530489, -17.340646211740392 ], [ 34.905636588657302, -17.340475184361022 ], [ 34.905630133532, -17.340303597360474 ], [ 34.905633037596203, -17.340131921050247 ], [ 34.905645292863881, -17.339960625985302 ], [ 34.905666865717976, -17.339790181674402 ], [ 34.905697697002793, -17.339621055293083 ], [ 34.905737702186485, -17.339453710403209 ], [ 34.905786771592958, -17.339288605682437 ], [ 34.905844770702799, -17.339126193667006 ], [ 34.905911540522254, -17.338966919511417 ], [ 34.905986898019179, -17.338811219768395 ], [ 34.906070636625088, -17.338659521192326 ], [ 34.906162526801396, -17.338512239569724 ], [ 34.906262316668872, -17.338369778579619 ], [ 34.90636973269811, -17.338232528687239 ], [ 34.906484480459412, -17.338100866073905 ], [ 34.906533452371185, -17.338050305737823 ] ] ] } }, -{ "type": "Feature", "properties": { "field": "2.1", "sub_field": "2.1D" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 34.913379761071603, -17.335625170111705 ], [ 34.911437392245574, -17.333407717834426 ], [ 34.911460462998669, -17.333388407832093 ], [ 34.911580650515376, -17.333297990941542 ], [ 34.911705600115177, -17.333213739250976 ], [ 34.911834969324552, -17.33313588367934 ], [ 34.911968403558056, -17.333064637614456 ], [ 34.912105537090085, -17.333000196328197 ], [ 34.912245994057315, -17.332942736441435 ], [ 34.91238938948873, -17.33289241543994 ], [ 34.912535330360718, -17.332849371242844 ], [ 34.912683416674128, -17.332813721824717 ], [ 34.912833242550533, -17.332785564892241 ], [ 34.912984397344523, -17.332764977616499 ], [ 34.913136466769025, -17.332752016421484 ], [ 34.913289034030726, -17.33274671682949 ], [ 34.913441680972198, -17.332749093363816 ], [ 34.913593989217865, -17.332759139508962 ], [ 34.91374554132053, -17.332776827728509 ], [ 34.913895921905365, -17.332802109540605 ], [ 34.914044718808199, -17.332834915650842 ], [ 34.914191524205023, -17.332875156142183 ], [ 34.914335935729667, -17.332922720721363 ], [ 34.914477557576397, -17.332977479021213 ], [ 34.914616001584655, -17.333039280957927 ], [ 34.914750888302791, -17.333107957142325 ], [ 34.914881848028003, -17.333183319344126 ], [ 34.915008521819459, -17.333265161007834 ], [ 34.915130562482133, -17.333353257818729 ], [ 34.915247635518178, -17.333447368317675 ], [ 34.915359420043842, -17.33354723456284 ], [ 34.915465609668836, -17.333652582836624 ], [ 34.915518445366438, -17.33371081141938 ], [ 34.913379761071603, -17.335625170111705 ] ] ] } }, -{ "type": "Feature", "properties": { "field": "2.5", "sub_field": "2.5B" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 34.920240082361659, -17.336946735747041 ], [ 34.922942052048946, -17.33414882953203 ], [ 34.923015700072284, -17.334214619847671 ], [ 34.92315957577275, -17.334357343654762 ], [ 34.923295477304066, -17.334507103771536 ], [ 34.923423032168401, -17.33466348973268 ], [ 34.923541890741852, -17.334826072912001 ], [ 34.923651727232865, -17.334994407696968 ], [ 34.923752240575283, -17.335168032709991 ], [ 34.923843155253664, -17.335346472072818 ], [ 34.923924222058574, -17.335529236710677 ], [ 34.92399521876996, -17.335715825692713 ], [ 34.924055950766373, -17.335905727604761 ], [ 34.924106251558761, -17.336098421951011 ], [ 34.924145983247044, -17.336293380580464 ], [ 34.924175036898419, -17.336490069134513 ], [ 34.924193332846301, -17.336687948511432 ], [ 34.924200820909014, -17.336886476343878 ], [ 34.924197480527702, -17.337085108485553 ], [ 34.924183320823069, -17.337283300502477 ], [ 34.924158380570788, -17.337480509165285 ], [ 34.924122728095575, -17.337676193938162 ], [ 34.924076461084262, -17.337869818460412 ], [ 34.924019706318504, -17.338060852016596 ], [ 34.923952619327601, -17.338248770991257 ], [ 34.923875383962496, -17.338433060304176 ], [ 34.923788211892266, -17.338613214822228 ], [ 34.923691342024206, -17.338788740744029 ], [ 34.923585039849272, -17.338959156953514 ], [ 34.923469596714675, -17.339123996338795 ], [ 34.923345329025501, -17.339282807072621 ], [ 34.923212577377683, -17.339435153850914 ], [ 34.923199307657669, -17.339448856263918 ], [ 34.920240082361659, -17.336946735747041 ] ] ] } }, -{ "type": "Feature", "properties": { "field": "6.1", "sub_field": "6.1B" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 34.926975301324241, -17.341756277068452 ], [ 34.929874621707043, -17.3387198647094 ], [ 34.929976827889384, -17.338811156788797 ], [ 34.930134758291622, -17.338967806549938 ], [ 34.930283936250547, -17.339132179782727 ], [ 34.930423952878314, -17.339303825971783 ], [ 34.930554424393229, -17.339482274667148 ], [ 34.930674993171756, -17.339667036773445 ], [ 34.930785328728838, -17.339857605890288 ], [ 34.930885128623856, -17.340053459700087 ], [ 34.930974119289864, -17.340254061399367 ], [ 34.931052056783614, -17.340458861170085 ], [ 34.931118727454496, -17.340667297686302 ], [ 34.931173948530414, -17.340878799652643 ], [ 34.931217568619211, -17.341092787369995 ], [ 34.93124946812388, -17.341308674324267 ], [ 34.931269559570865, -17.34152586879387 ], [ 34.931277787850235, -17.341743775471489 ], [ 34.931274130367186, -17.341961797095689 ], [ 34.931258597104346, -17.342179336087895 ], [ 34.931231230595053, -17.342395796190306 ], [ 34.931192105807014, -17.342610584100129 ], [ 34.931141329937518, -17.342823111095818 ], [ 34.93107904211984, -17.343032794650775 ], [ 34.93100541304252, -17.343239060030005 ], [ 34.930920644481787, -17.343441341865585 ], [ 34.930824968748979, -17.34363908570629 ], [ 34.930718648054125, -17.343831749537522 ], [ 34.930601973787617, -17.344018805267019 ], [ 34.930475265721768, -17.344199740172474 ], [ 34.930338871134673, -17.344374058307057 ], [ 34.930206135800262, -17.344526394378821 ], [ 34.926975301324241, -17.341756277068452 ] ] ] } }, -{ "type": "Feature", "properties": { "field": "6.2", "sub_field": "6.2C" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 34.930918907739319, -17.350619195960071 ], [ 34.933686532028823, -17.34741850738671 ], [ 34.936891437505039, -17.35009147006711 ], [ 34.936870614319417, -17.350115369252237 ], [ 34.936715995799332, -17.350275044792941 ], [ 34.936552887205806, -17.350426730058501 ], [ 34.936381735605124, -17.350570009270172 ], [ 34.936203010113339, -17.350704489689271 ], [ 34.936017200610422, -17.35082980269403 ], [ 34.93582481639752, -17.350945604790095 ], [ 34.935626384800806, -17.351051578552209 ], [ 34.935422449725991, -17.351147433494578 ], [ 34.935213570167356, -17.351232906867171 ], [ 34.935000318675286, -17.351307764376163 ], [ 34.934783279786686, -17.351371800826296 ], [ 34.934563048422454, -17.351424840683471 ], [ 34.93434022825658, -17.351466738556034 ], [ 34.934115430061013, -17.351497379593461 ], [ 34.933889270031244, -17.351516679801193 ], [ 34.933662368096904, -17.351524586271111 ], [ 34.933435346222147, -17.351521077326474 ], [ 34.933208826700387, -17.351506162581522 ], [ 34.932983430448253, -17.351479882915079 ], [ 34.932759775303161, -17.351442310358582 ], [ 34.932538474329434, -17.351393547898589 ], [ 34.932320134137491, -17.351333729194508 ], [ 34.932105353220734, -17.351263018212201 ], [ 34.931894720314659, -17.351181608774432 ], [ 34.931688812782838, -17.351089724029563 ], [ 34.931488195034035, -17.350987615839795 ], [ 34.931293416974796, -17.350875564090668 ], [ 34.931105012501995, -17.350753875923818 ], [ 34.930923498039114, -17.350622884894868 ], [ 34.930918907739319, -17.350619195960071 ] ] ] } }, -{ "type": "Feature", "properties": { "field": "1.8", "sub_field": "1.8B" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 34.961161225337996, -17.342695153682683 ], [ 34.963463180156758, -17.345951999810669 ], [ 34.963432746238198, -17.345972531590462 ], [ 34.963250401228407, -17.34608232777347 ], [ 34.963062322565051, -17.346182808203306 ], [ 34.962869025775234, -17.346273697452876 ], [ 34.962671040692122, -17.346354746384645 ], [ 34.962468910002343, -17.346425732833538 ], [ 34.962263187758481, -17.346486462216212 ], [ 34.962054437859955, -17.346536768064457 ], [ 34.961843232507221, -17.346576512481615 ], [ 34.961630150633034, -17.34660558652071 ], [ 34.961415776315228, -17.346623910483206 ], [ 34.961200697175478, -17.346631434137443 ], [ 34.960985502768224, -17.346628136856513 ], [ 34.960770782964332, -17.346614027674772 ], [ 34.960557126333896, -17.346589145263163 ], [ 34.960345118532622, -17.346553557823199 ], [ 34.960135340696091, -17.346507362900038 ], [ 34.959928367846587, -17.346450687115105 ], [ 34.959724767316587, -17.346383685818981 ], [ 34.959525097193278, -17.346306542665452 ], [ 34.959329904788703, -17.346219469108206 ], [ 34.959139725139103, -17.34612270382096 ], [ 34.958955079538242, -17.346016512043306 ], [ 34.958776474108255, -17.345901184853453 ], [ 34.958604398412149, -17.345777038370297 ], [ 34.958439324111843, -17.345644412886852 ], [ 34.958281703675084, -17.345503671937216 ], [ 34.958131969135259, -17.345355201300144 ], [ 34.957990530907111, -17.345199407941248 ], [ 34.95785777666174, -17.345036718897553 ], [ 34.957734070264131, -17.344867580106648 ], [ 34.957665162047512, -17.344762020273741 ], [ 34.961161225337996, -17.342695153682683 ] ] ] } }, -{ "type": "Feature", "properties": { "field": "1.6", "sub_field": "1.6C" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 34.978354668011164, -17.346604682049772 ], [ 34.977997053286906, -17.349855632180109 ], [ 34.977869135434879, -17.349840746730006 ], [ 34.977691568440811, -17.349810957379173 ], [ 34.977515868251459, -17.349772283910664 ], [ 34.977342516473946, -17.349724832328775 ], [ 34.977171988277505, -17.349668732699339 ], [ 34.977004751090774, -17.349604138793072 ], [ 34.976841263320381, -17.349531227664105 ], [ 34.976681973094188, -17.349450199164586 ], [ 34.976527317032911, -17.349361275396888 ], [ 34.97637771905309, -17.34926470010463 ], [ 34.976233589205009, -17.349160738004564 ], [ 34.976095322548673, -17.349049674060865 ], [ 34.975963298070845, -17.348931812703938 ], [ 34.975837877646171, -17.348807476995859 ], [ 34.97571940504529, -17.348677007744797 ], [ 34.97560820499254, -17.348540762570682 ], [ 34.975504582275924, -17.34839911492486 ], [ 34.975408820911731, -17.348252453066394 ], [ 34.975321183366191, -17.348101178997709 ], [ 34.9752419098361, -17.347945707362602 ], [ 34.975171217590642, -17.347786464309539 ], [ 34.975109300375976, -17.347623886323589 ], [ 34.975056327884417, -17.347458419029859 ], [ 34.975012445289508, -17.347290515971977 ], [ 34.974977772848305, -17.34712063736885 ], [ 34.974952405572012, -17.346949248853143 ], [ 34.974936412965867, -17.346776820194972 ], [ 34.974929838838861, -17.346603824014135 ], [ 34.974932701183953, -17.346430734484802 ], [ 34.974944992128989, -17.346258026035596 ], [ 34.974946239091686, -17.346248144213522 ], [ 34.978354668011164, -17.346604682049772 ] ] ] } }, -{ "type": "Feature", "properties": { "field": "1.5", "sub_field": "1.5C" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 34.981679444479695, -17.339111001077271 ], [ 34.981414279389675, -17.341507128753143 ], [ 34.979069772171925, -17.341221754105334 ], [ 34.97907218780167, -17.341187800312291 ], [ 34.979087294041641, -17.341068065924567 ], [ 34.979108904300226, -17.340949254926347 ], [ 34.979136959332656, -17.340831692969534 ], [ 34.979171382229808, -17.340715702281784 ], [ 34.979212078629267, -17.340601600783437 ], [ 34.979258936974006, -17.340489701216075 ], [ 34.979311828818311, -17.340380310285358 ], [ 34.979370609179981, -17.340273727820453 ], [ 34.979435116937729, -17.340170245952184 ], [ 34.979505175273005, -17.340070148312417 ], [ 34.979580592154655, -17.339973709256714 ], [ 34.979661160865334, -17.339881193112319 ], [ 34.979746660568168, -17.339792853453819 ], [ 34.979836856912151, -17.339708932408108 ], [ 34.979931502674376, -17.33962965999083 ], [ 34.9800303384378, -17.339555253475954 ], [ 34.980133093302214, -17.339485916800367 ], [ 34.980239485626747, -17.339421840004896 ], [ 34.980349223801831, -17.339363198713549 ], [ 34.980462007048374, -17.339310153652161 ], [ 34.980577526242143, -17.339262850207973 ], [ 34.980695464761006, -17.339221418031112 ], [ 34.98081549935263, -17.339185970679388 ], [ 34.980937301020425, -17.339156605307025 ], [ 34.981060535925209, -17.339133402398442 ], [ 34.981184866300069, -17.339116425547651 ], [ 34.981309951376097, -17.339105721284096 ], [ 34.981435448316205, -17.339101318945044 ], [ 34.98156101315476, -17.339103230595249 ], [ 34.981679444479695, -17.339111001077271 ] ] ] } }, -{ "type": "Feature", "properties": { "field": "1.4", "sub_field": "1.4B" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 34.975949718590073, -17.343237636498074 ], [ 34.976297118077937, -17.340867839790402 ], [ 34.978926265695563, -17.341206981511462 ], [ 34.978913049912912, -17.341279639946706 ], [ 34.978882794231374, -17.341406422427387 ], [ 34.978845671151007, -17.341531510388236 ], [ 34.978801782409981, -17.341654560969456 ], [ 34.978751248291495, -17.341775236894811 ], [ 34.978694207294154, -17.341893207396165 ], [ 34.978630815752453, -17.342008149120165 ], [ 34.978561247408479, -17.342119747014557 ], [ 34.978485692935763, -17.342227695191749 ], [ 34.978404359416693, -17.342331697767307 ], [ 34.978317469775135, -17.342431469671059 ], [ 34.978225262165303, -17.342526737428432 ], [ 34.978127989319184, -17.342617239910208 ], [ 34.97802591785377, -17.342702729048238 ], [ 34.97791932754032, -17.34278297051554 ], [ 34.977808510537486, -17.342857744368597 ], [ 34.977693770590584, -17.34292684565029 ], [ 34.97757542219891, -17.342990084951776 ], [ 34.977453789753753, -17.343047288931722 ], [ 34.977329206649109, -17.343098300791471 ], [ 34.977202014367826, -17.343142980704894 ], [ 34.977072561545548, -17.343181206201727 ], [ 34.976941203014952, -17.343212872503312 ], [ 34.97680829883312, -17.343237892809821 ], [ 34.97667421329443, -17.343256198538253 ], [ 34.976539313931994, -17.343267739510448 ], [ 34.976403970510042, -17.34327248409063 ], [ 34.976268554010332, -17.343270419272212 ], [ 34.976133435615104, -17.343261550713425 ], [ 34.975998985689543, -17.343245902721812 ], [ 34.975949718590073, -17.343237636498074 ] ] ] } }, -{ "type": "Feature", "properties": { "field": "1.2", "sub_field": "1.2D" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 34.976816384818314, -17.338238223714697 ], [ 34.976762738159529, -17.338203588832894 ], [ 34.976658388456634, -17.338128315241242 ], [ 34.976558283695852, -17.3380478996406 ], [ 34.976462698261315, -17.337962562450763 ], [ 34.976371894148514, -17.33787253758145 ], [ 34.976286120246264, -17.337778071791206 ], [ 34.976205611654429, -17.337679424010897 ], [ 34.97613058903957, -17.337576864633927 ], [ 34.976061258030121, -17.337470674775066 ], [ 34.975997808652856, -17.337361145499887 ], [ 34.975940414812008, -17.337248577026841 ], [ 34.975889233812737, -17.337133277904332 ], [ 34.975844405930061, -17.337015564164975 ], [ 34.97580605402436, -17.336895758459242 ], [ 34.97577428320492, -17.336774189171134 ], [ 34.975749180541747, -17.336651189517951 ], [ 34.975730814827195, -17.336527096636967 ], [ 34.975719236387441, -17.336402250661358 ], [ 34.975714476944766, -17.336276993787809 ], [ 34.975716549530709, -17.336151669338609 ], [ 34.975725448450497, -17.336026620820551 ], [ 34.975741149298841, -17.33590219098344 ], [ 34.975763609026941, -17.335778720880647 ], [ 34.975792766060671, -17.335656548934217 ], [ 34.975828540469436, -17.335536010007385 ], [ 34.975870834185486, -17.335417434486722 ], [ 34.975919531272815, -17.335301147376583 ], [ 34.975974498245002, -17.335187467408328 ], [ 34.976035584431322, -17.335076706166753 ], [ 34.976102622389732, -17.334969167236075 ], [ 34.976145471591806, -17.334907946244652 ], [ 34.97820349148671, -17.336307953800048 ], [ 34.976973009965533, -17.338311269909727 ], [ 34.976816384818314, -17.338238223714697 ] ] ] } }, -{ "type": "Feature", "properties": { "field": "1.7", "sub_field": "1.7C" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 34.965141978743468, -17.34115131321493 ], [ 34.96697037363257, -17.340380748223968 ], [ 34.967862993493888, -17.342116599326115 ], [ 34.967767121182092, -17.342155850020827 ], [ 34.967665828053995, -17.342191426810356 ], [ 34.967562734991439, -17.342221863436112 ], [ 34.967458124572644, -17.342247076470123 ], [ 34.967352283535391, -17.342266996802234 ], [ 34.96724550199103, -17.342281569829609 ], [ 34.967138072629211, -17.342290755606424 ], [ 34.967030289915506, -17.342294528953374 ], [ 34.966922449284276, -17.342292879526671 ], [ 34.966814846328695, -17.342285811846477 ], [ 34.966707775990557, -17.342273345284447 ], [ 34.966601531751685, -17.342255514010727 ], [ 34.966496404829407, -17.342232366900181 ], [ 34.966392683378324, -17.342203967398536 ], [ 34.966290651700341, -17.342170393348415 ], [ 34.966190589465299, -17.342131736775904 ], [ 34.966092770944378, -17.342088103638435 ], [ 34.965997464258237, -17.342039613534183 ], [ 34.965904930642061, -17.341986399374331 ], [ 34.965815423729424, -17.341928607018694 ], [ 34.965729188857061, -17.34186639487589 ], [ 34.965646462392378, -17.341799933469115 ], [ 34.965567471085528, -17.341729404968714 ], [ 34.965492431447899, -17.341655002692814 ], [ 34.965421549158599, -17.341576930577368 ], [ 34.965355018500752, -17.34149540261722 ], [ 34.965293021828984, -17.34141064227941 ], [ 34.965235729069583, -17.341322881890694 ], [ 34.965183297254761, -17.341232362000632 ], [ 34.965141978743468, -17.34115131321493 ] ] ] } }, -{ "type": "Feature", "properties": { "field": "1.3", "sub_field": "1.3B" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 34.970773107481506, -17.335663616039604 ], [ 34.970354223381719, -17.338412629071641 ], [ 34.970344564689924, -17.338411504611443 ], [ 34.970194661483319, -17.338386347845049 ], [ 34.970046334609464, -17.338353690604716 ], [ 34.96989999063991, -17.338313622403852 ], [ 34.96975603071045, -17.338266253069662 ], [ 34.969614849421397, -17.338211712442192 ], [ 34.969476833755884, -17.338150150018279 ], [ 34.969342362018992, -17.338081734541827 ], [ 34.969211802800672, -17.338006653541218 ], [ 34.969085513965389, -17.337925112815231 ], [ 34.968963841671005, -17.337837335868841 ], [ 34.968847119420062, -17.337743563300634 ], [ 34.96873566714541, -17.337644052143105 ], [ 34.96862979033336, -17.337539075158222 ], [ 34.968529779186312, -17.337428920089575 ], [ 34.968435907827235, -17.337313888873631 ], [ 34.968348433548449, -17.3371942968121 ], [ 34.968267596106315, -17.337070471707587 ], [ 34.968193617064209, -17.336942752964909 ], [ 34.968126699185284, -17.336811490660896 ], [ 34.968067025876756, -17.336677044584633 ], [ 34.96801476068736, -17.336539783251222 ], [ 34.967970046859186, -17.33640008289165 ], [ 34.967933006935205, -17.336258326421515 ], [ 34.967903742423537, -17.336114902391344 ], [ 34.967882333519427, -17.335970203921576 ], [ 34.967868838885579, -17.335824627624998 ], [ 34.967863295491597, -17.335678572519573 ], [ 34.967865718512797, -17.335532438934763 ], [ 34.967876101288894, -17.335386627414191 ], [ 34.967894415342442, -17.335241537617812 ], [ 34.967900765229288, -17.335206638144747 ], [ 34.970773107481506, -17.335663616039604 ] ] ] } }, -{ "type": "Feature", "properties": { "field": "1.1", "sub_field": "1.1D" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 34.975967002903133, -17.329006613978088 ], [ 34.977225538507916, -17.327402417183986 ], [ 34.977276534416632, -17.327439206013974 ], [ 34.977359257505945, -17.327505662931092 ], [ 34.977438246093733, -17.327576187031788 ], [ 34.977513283679436, -17.327650585018809 ], [ 34.977584164590994, -17.327728652976958 ], [ 34.97765069454843, -17.327810176931923 ], [ 34.97771269119648, -17.327894933436831 ], [ 34.977769984604379, -17.327982690184498 ], [ 34.97782241773163, -17.328073206644273 ], [ 34.977869846858539, -17.328166234721127 ], [ 34.977912141980134, -17.328261519435703 ], [ 34.977949187162594, -17.328358799623132 ], [ 34.977980880861054, -17.328457808648796 ], [ 34.978007136197959, -17.328558275139187 ], [ 34.978027881201406, -17.328659923725571 ], [ 34.978043059002367, -17.328762475798857 ], [ 34.978052627990678, -17.328865650273102 ], [ 34.978056561929264, -17.328969164356007 ], [ 34.978054850026062, -17.329072734323933 ], [ 34.978047496963782, -17.329176076299639 ], [ 34.978034522887093, -17.329278907030307 ], [ 34.978015963347566, -17.329380944663903 ], [ 34.977991869206356, -17.329481909521785 ], [ 34.977962306494838, -17.329581524865198 ], [ 34.977927356233742, -17.329679517653869 ], [ 34.977887114211171, -17.329775619294388 ], [ 34.97784169072019, -17.329869566376452 ], [ 34.977791210256534, -17.32996110139484 ], [ 34.977735811177453, -17.330049973455242 ], [ 34.97768378767087, -17.330124305102657 ], [ 34.975967002903133, -17.329006613978088 ] ] ] } }, -{ "type": "Feature", "properties": { "field": "1.9", "sub_field": "1.9D" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 34.964728870983024, -17.336051561916904 ], [ 34.967428748672695, -17.335013069641263 ], [ 34.967469972171351, -17.335121335030792 ], [ 34.967514685216699, -17.335261035588786 ], [ 34.967551724543249, -17.335402792202579 ], [ 34.967580988613044, -17.335546216333061 ], [ 34.967602397198554, -17.335690914869808 ], [ 34.967615891602726, -17.335836491208521 ], [ 34.967621434820103, -17.335982546338016 ], [ 34.967619011638341, -17.336128679933918 ], [ 34.967608628680289, -17.336274491455832 ], [ 34.967590314385895, -17.336419581245202 ], [ 34.967564118934519, -17.33656355162071 ], [ 34.96753011410761, -17.336706007968349 ], [ 34.96748839309214, -17.336846559823023 ], [ 34.967439070225389, -17.336984821938778 ], [ 34.967382280681733, -17.337120415344799 ], [ 34.967318180102346, -17.337252968384213 ], [ 34.967246944168728, -17.337382117732766 ], [ 34.96716876812134, -17.337507509394726 ], [ 34.967083866224598, -17.33762879967334 ], [ 34.966992471179729, -17.337745656112833 ], [ 34.966894833487004, -17.337857758409786 ], [ 34.966791220759234, -17.337964799291147 ], [ 34.96668191698835, -17.338066485356531 ], [ 34.966567221766972, -17.338162537882528 ], [ 34.966447449467367, -17.338252693586735 ], [ 34.966322928379626, -17.338336705349501 ], [ 34.966193999811964, -17.338414342891376 ], [ 34.966061017155035, -17.33848539340439 ], [ 34.966003469280459, -17.338512454706869 ], [ 34.964728870983024, -17.336051561916904 ] ] ] } }, -{ "type": "Feature", "properties": { "field": "1.10", "sub_field": "1.10D" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 34.957010326871092, -17.336809457524954 ], [ 34.955242480798987, -17.334332157368866 ], [ 34.955350420930586, -17.334267165729322 ], [ 34.955492013053238, -17.334191523989539 ], [ 34.955637532828916, -17.334123103067494 ], [ 34.95578658140937, -17.3340620904909 ], [ 34.955938750276061, -17.334008653482151 ], [ 34.956093622359603, -17.333962938500228 ], [ 34.956250773182859, -17.333925070839225 ], [ 34.95640977202418, -17.333895154285123 ], [ 34.956570183097803, -17.33387327083128 ], [ 34.956731566748068, -17.333859480453818 ], [ 34.95689348065433, -17.333853820947308 ], [ 34.957055481043014, -17.333856307821161 ], [ 34.957217123903831, -17.333866934257205 ], [ 34.957377966206458, -17.333885671128321 ], [ 34.957537567114713, -17.333912467078409 ], [ 34.957695489194478, -17.333947248662994 ], [ 34.957851299612628, -17.333989920550646 ], [ 34.958004571322995, -17.334040365784176 ], [ 34.958154884236826, -17.334098446101205 ], [ 34.958301826373862, -17.33416400231307 ], [ 34.958444994991495, -17.334236854741064 ], [ 34.958583997688393, -17.334316803708923 ], [ 34.958718453479904, -17.334403630089952 ], [ 34.958847993842262, -17.334497095907654 ], [ 34.958972263722472, -17.334596944987808 ], [ 34.9590909225114, -17.33470290366062 ], [ 34.959203644977393, -17.33481468151064 ], [ 34.959310122157575, -17.33493197217275 ], [ 34.959410062204682, -17.335054454171708 ], [ 34.959503191187082, -17.335181791803198 ], [ 34.959540353269119, -17.335238722501 ], [ 34.957010326871092, -17.336809457524954 ] ] ] } }, -{ "type": "Feature", "properties": { "field": "1.11", "sub_field": "1.11D" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 34.960619385935466, -17.330692249633707 ], [ 34.961187884958441, -17.334400587778653 ], [ 34.961072028950504, -17.334416395801075 ], [ 34.960867969605161, -17.334433837419532 ], [ 34.960663239453304, -17.33444099772812 ], [ 34.960458399679979, -17.334437857096304 ], [ 34.96025401177112, -17.334424424129391 ], [ 34.960050635974234, -17.334400735644973 ], [ 34.959848829762414, -17.334366856572057 ], [ 34.959649146305892, -17.33432287977303 ], [ 34.959452132955583, -17.334268925789214 ], [ 34.959258329742404, -17.334205142510285 ], [ 34.959068267896775, -17.334131704768978 ], [ 34.958882468392225, -17.334048813861745 ], [ 34.958701440517132, -17.333956696996925 ], [ 34.958525680478566, -17.333855606671875 ], [ 34.958355670041925, -17.333745819980795 ], [ 34.958191875210261, -17.333627637855024 ], [ 34.958034744946829, -17.333501384238147 ], [ 34.957884709944366, -17.333367405197862 ], [ 34.957742181444438, -17.333226067977272 ], [ 34.957607550110296, -17.333077759988161 ], [ 34.957481184955945, -17.332922887748911 ], [ 34.957363432334795, -17.332761875770107 ], [ 34.957254614990347, -17.332595165390771 ], [ 34.957155031171695, -17.332423213568532 ], [ 34.957064953816122, -17.332246491626936 ], [ 34.956984629801269, -17.332065483963447 ], [ 34.956914279268503, -17.331880686721558 ], [ 34.956854095019878, -17.331692606430721 ], [ 34.956804241989921, -17.331501758617907 ], [ 34.956779145904193, -17.33137872104356 ], [ 34.960619385935466, -17.330692249633707 ] ] ] } }, -{ "type": "Feature", "properties": { "field": "1.12", "sub_field": "1.12A" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 34.955236330182871, -17.33431716598372 ], [ 34.953639390624843, -17.331963065750791 ], [ 34.956244881516085, -17.330425794331145 ], [ 34.956261331297341, -17.330450996469615 ], [ 34.956336256917439, -17.330580374246498 ], [ 34.956404030135602, -17.330713340954052 ], [ 34.956464465179891, -17.330849532148207 ], [ 34.956517396390062, -17.330988574546339 ], [ 34.956562678671851, -17.33113008705028 ], [ 34.95660018789475, -17.331273681790872 ], [ 34.956629821232468, -17.331418965190952 ], [ 34.956651497444895, -17.331565539044075 ], [ 34.95666515710095, -17.33171300160593 ], [ 34.956670762741744, -17.331860948695443 ], [ 34.956668298983416, -17.33200897480253 ], [ 34.956657772559488, -17.332156674199577 ], [ 34.956639212302683, -17.332303642053507 ], [ 34.956612669066011, -17.332449475535363 ], [ 34.956578215583725, -17.33259377492443 ], [ 34.956535946272076, -17.332736144703894 ], [ 34.95648597697074, -17.3328761946449 ], [ 34.95642844462553, -17.333013540876248 ], [ 34.956363506913185, -17.33314780693653 ], [ 34.956291341809404, -17.333278624806081 ], [ 34.956212147101148, -17.333405635915714 ], [ 34.956126139844635, -17.333528492129666 ], [ 34.956033555770553, -17.333646856699861 ], [ 34.955934648638085, -17.33376040518899 ], [ 34.955829689539371, -17.333868826359854 ], [ 34.955718966156532, -17.333971823028588 ], [ 34.95560278197329, -17.33406911287927 ], [ 34.955481455443014, -17.334160429237812 ], [ 34.955355319115959, -17.334245521803091 ], [ 34.955236330182871, -17.33431716598372 ] ] ] } }, -{ "type": "Feature", "properties": { "field": "1.13", "sub_field": "1.13B" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 34.954988844373986, -17.325074100205931 ], [ 34.955577723835631, -17.328974101137693 ], [ 34.955456933590519, -17.32899057899429 ], [ 34.955237672884792, -17.329009313455341 ], [ 34.955017691779858, -17.329017000371412 ], [ 34.95479759326777, -17.329013618667915 ], [ 34.954577980662954, -17.328999177610459 ], [ 34.954359455948037, -17.328973716779579 ], [ 34.95414261812347, -17.328937305962217 ], [ 34.9539280615653, -17.328890044960499 ], [ 34.953716374395555, -17.328832063318103 ], [ 34.953508136869821, -17.328763519965111 ], [ 34.953303919786507, -17.328684602782413 ], [ 34.953104282921842, -17.328595528086584 ], [ 34.952909773495264, -17.328496540036845 ], [ 34.952720924669258, -17.328387909965802 ], [ 34.952538254087635, -17.328269935635504 ], [ 34.95236226245656, -17.328142940421166 ], [ 34.952193432171818, -17.328007272424674 ], [ 34.952032225996575, -17.327863303520239 ], [ 34.95187908579274, -17.327711428334975 ], [ 34.951734431309859, -17.32755206316698 ], [ 34.951598659034502, -17.327385644844153 ], [ 34.951472141103615, -17.32721262952661 ], [ 34.951355224284541, -17.327033491456227 ], [ 34.951248229024607, -17.326848721656539 ], [ 34.951151448573079, -17.326658826586701 ], [ 34.951065148177435, -17.326464326753069 ], [ 34.950989564356654, -17.326265755282392 ], [ 34.950924904253185, -17.326063656460345 ], [ 34.95087134506548, -17.325858584239537 ], [ 34.950829033562627, -17.325651100720965 ], [ 34.950800585931511, -17.325458685865403 ], [ 34.954988844373986, -17.325074100205931 ] ] ] } }, -{ "type": "Feature", "properties": { "field": "1.14", "sub_field": "1.14D" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 34.959429692942393, -17.324632437480492 ], [ 34.96199524794266, -17.324405539234302 ], [ 34.962917097922038, -17.326827271055144 ], [ 34.9628057726948, -17.326860136943811 ], [ 34.962670123327506, -17.326892829017506 ], [ 34.962532878449238, -17.326918657395606 ], [ 34.962394414252785, -17.326937551279997 ], [ 34.962255110273766, -17.32694945888019 ], [ 34.96211534835011, -17.326954347555368 ], [ 34.961975511575361, -17.326952203903854 ], [ 34.961835983248399, -17.326943033799861 ], [ 34.961697145822697, -17.326926862377444 ], [ 34.961559379857924, -17.326903733961579 ], [ 34.961423062976593, -17.326873711946686 ], [ 34.961288568828891, -17.326836878622842 ], [ 34.961156266068393, -17.326793334950221 ], [ 34.961026517341416, -17.326743200282376 ], [ 34.96089967829289, -17.32668661203898 ], [ 34.960776096591395, -17.326623725329195 ], [ 34.960656110976146, -17.326554712526441 ], [ 34.960540050328412, -17.326479762795923 ], [ 34.960428232769921, -17.326399081575982 ], [ 34.960320964790888, -17.326312890015025 ], [ 34.960218540409869, -17.326221424365276 ], [ 34.960121240367819, -17.326124935335116 ], [ 34.960029331358555, -17.32602368740184 ], [ 34.959943065297743, -17.325917958086681 ], [ 34.959862678632533, -17.325808037194083 ], [ 34.959788391693294, -17.325694226017156 ], [ 34.959720408089943, -17.325576836511928 ], [ 34.959658914153827, -17.32545619044215 ], [ 34.959604078427063, -17.325332618497225 ], [ 34.959556051200735, -17.325206459385821 ], [ 34.959514964103008, -17.325078058907394 ], [ 34.959480929738518, -17.324947769004307 ], [ 34.9594540413798, -17.324815946797088 ], [ 34.959434372711804, -17.324682953605588 ], [ 34.959429692942393, -17.324632437480492 ] ] ] } }, -{ "type": "Feature", "properties": { "field": "1.16", "sub_field": "1.16C" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 34.955074672069358, -17.318897254404234 ], [ 34.953055168419084, -17.319242829332627 ], [ 34.953045135325517, -17.3191749687957 ], [ 34.953035406841693, -17.319069907036841 ], [ 34.953031416182405, -17.318964500208651 ], [ 34.953033174276065, -17.318859037225231 ], [ 34.953040676293959, -17.31875380715416 ], [ 34.953053901663694, -17.318649098424061 ], [ 34.953072814125669, -17.318545198034169 ], [ 34.953097361832498, -17.318442390767569 ], [ 34.953127477491357, -17.318340958410715 ], [ 34.9531630785484, -17.31824117898103 ], [ 34.953204067415207, -17.318143325964947 ], [ 34.953250331736328, -17.318047667568258 ], [ 34.953301744697342, -17.317954465981085 ], [ 34.953358165372507, -17.317863976659215 ], [ 34.953419439111137, -17.31777644762397 ], [ 34.953485397961508, -17.317692118782404 ], [ 34.953555861131257, -17.317611221269846 ], [ 34.953630635482966, -17.317533976816364 ], [ 34.953709516063618, -17.317460597139068 ], [ 34.953792286666292, -17.317391283361872 ], [ 34.953878720422843, -17.317326225464313 ], [ 34.953968580425695, -17.317265601760816 ], [ 34.954061620377189, -17.317209578412005 ], [ 34.954157585264667, -17.3171583089694 ], [ 34.954256212059335, -17.317111933954514 ], [ 34.954357230437225, -17.317070580473761 ], [ 34.954460363520035, -17.317034361870103 ], [ 34.954565328634033, -17.317003377412487 ], [ 34.954661651915764, -17.316980166566335 ], [ 34.955074672069358, -17.318897254404234 ] ] ] } }, -{ "type": "Feature", "properties": { "field": "1.17", "sub_field": "1.17A" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 34.954026875506962, -17.314612148368443 ], [ 34.95629602563065, -17.314112227198336 ], [ 34.956322154378064, -17.31421226865082 ], [ 34.956345251698423, -17.314325525156761 ], [ 34.95636214657646, -17.314439787577303 ], [ 34.956372792693529, -17.314554742729765 ], [ 34.956377160857997, -17.314670075532256 ], [ 34.956375239085375, -17.314785469867143 ], [ 34.956367032631277, -17.314900609447584 ], [ 34.956352563977227, -17.315015178684423 ], [ 34.956331872769042, -17.31512886355118 ], [ 34.956305015708395, -17.315241352444758 ], [ 34.956272066397489, -17.31535233703957 ], [ 34.956233115137429, -17.315461513132622 ], [ 34.956188268680854, -17.31556858147739 ], [ 34.956137649939436, -17.315673248603972 ], [ 34.956081397647068, -17.315775227623565 ], [ 34.95601966597976, -17.315874239014846 ], [ 34.955952624133047, -17.315970011390132 ], [ 34.955880455858406, -17.316062282239301 ], [ 34.955803358959564, -17.31615079864936 ], [ 34.955721544750475, -17.31623531799772 ], [ 34.955635237476123, -17.316315608617266 ], [ 34.955544673697872, -17.316391450431393 ], [ 34.955450101645134, -17.316462635557304 ], [ 34.955351780534926, -17.316528968875815 ], [ 34.955249979861421, -17.316590268566287 ], [ 34.955144978657209, -17.316646366605035 ], [ 34.955037064728437, -17.316697109225839 ], [ 34.954926533865958, -17.3167423573416 ], [ 34.954813689034438, -17.316781986925569 ], [ 34.954698839541891, -17.316815889351282 ], [ 34.95460479566993, -17.316838550983693 ], [ 34.954026875506962, -17.314612148368443 ] ] ] } }, -{ "type": "Feature", "properties": { "field": "1.18", "sub_field": "1.18D" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 34.959294104555354, -17.315720468707916 ], [ 34.961301964672387, -17.313838203379714 ], [ 34.963115666188799, -17.315822640664031 ], [ 34.963041894062059, -17.315884425490665 ], [ 34.962926783983661, -17.315971076915993 ], [ 34.962807110273779, -17.316051822842091 ], [ 34.962683200953926, -17.316126441941666 ], [ 34.96255539565685, -17.316194729680749 ], [ 34.962424044695666, -17.316256498879472 ], [ 34.962289508103467, -17.316311580225161 ], [ 34.962152154646418, -17.316359822736526 ], [ 34.962012360812984, -17.316401094177511 ], [ 34.961870509781747, -17.316435281419889 ], [ 34.961726990371027, -17.316462290753368 ], [ 34.961582195973008, -17.316482048142475 ], [ 34.961436523475342, -17.316494499429613 ], [ 34.961290372173067, -17.316499610483458 ], [ 34.961144142673987, -17.316497367292616 ], [ 34.96099823580051, -17.316487776003999 ], [ 34.960853051490787, -17.316470862906066 ], [ 34.960708987702283, -17.316446674356676 ], [ 34.960566439320871, -17.31641527665608 ], [ 34.960425797078265, -17.316376755865221 ], [ 34.960287446480869, -17.316331217569729 ], [ 34.960151766752965, -17.316278786590583 ], [ 34.960019129797111, -17.316219606641869 ], [ 34.959889899174662, -17.316153839936874 ], [ 34.959764429109072, -17.316081666743379 ], [ 34.959643063514939, -17.316003284889536 ], [ 34.959526135055206, -17.315918909221505 ], [ 34.959413964229249, -17.31582877101453 ], [ 34.959306858494422, -17.315733117339001 ], [ 34.959294104555354, -17.315720468707916 ] ] ] } }, -{ "type": "Feature", "properties": { "field": "DL1.3", "sub_field": "DL1.3" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 34.947298927757849, -17.321663500672134 ], [ 34.947451385514611, -17.321753599029073 ], [ 34.947340653363916, -17.32175579751058 ], [ 34.947298927757849, -17.321663500672134 ] ] ] } }, -{ "type": "Feature", "properties": { "field": "1.6", "sub_field": "1.6D" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 34.978720327296884, -17.343280601630497 ], [ 34.978354668011164, -17.346604682049772 ], [ 34.974946239091686, -17.346248144213522 ], [ 34.974966677958683, -17.346086172049372 ], [ 34.974997699207229, -17.345915643565576 ], [ 34.975037970821617, -17.345746907989223 ], [ 34.975087382395003, -17.345580427809782 ], [ 34.97514579846969, -17.345416659333534 ], [ 34.975213058908558, -17.345256051432944 ], [ 34.97528897933433, -17.345099044316385 ], [ 34.97537335163512, -17.344946068321619 ], [ 34.975465944535074, -17.344797542736355 ], [ 34.975566504228468, -17.344653874649165 ], [ 34.975674755075552, -17.34451545783368 ], [ 34.975790400358186, -17.344382671669511 ], [ 34.975913123093221, -17.344255880102434 ], [ 34.976042586901428, -17.344135430647047 ], [ 34.976178436929551, -17.344021653434318 ], [ 34.976320300822913, -17.343914860306906 ], [ 34.976467789746074, -17.343815343964536 ], [ 34.97662049944848, -17.343723377161893 ], [ 34.976778011372502, -17.343639211961133 ], [ 34.976939893800484, -17.343563079041154 ], [ 34.977105703038013, -17.343495187065461 ], [ 34.977274984629851, -17.343435722110325 ], [ 34.977447274605353, -17.343384847154883 ], [ 34.977622100750068, -17.343342701634597 ], [ 34.97779898389976, -17.34330940105912 ], [ 34.977977439253515, -17.343285036695779 ], [ 34.978156977702334, -17.343269675319497 ], [ 34.978337107169416, -17.343263359029866 ], [ 34.978517333958685, -17.343266105135793 ], [ 34.978697164107672, -17.343277906108096 ], [ 34.978720327296884, -17.343280601630497 ] ] ] } }, -{ "type": "Feature", "properties": { "field": "1.6", "sub_field": "1.6B" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 34.977997053286906, -17.349855632180109 ], [ 34.978354668011164, -17.346604682049772 ], [ 34.981789841437561, -17.346964017488332 ], [ 34.981778585407078, -17.347053244850819 ], [ 34.981747570472095, -17.34722377374904 ], [ 34.981707304975053, -17.34739251006086 ], [ 34.981657899255794, -17.347558991288736 ], [ 34.981599488707879, -17.347722761114898 ], [ 34.981532233407833, -17.347883370652081 ], [ 34.981456317676674, -17.348040379673982 ], [ 34.981371949574829, -17.348193357821991 ], [ 34.981279360332159, -17.348341885784777 ], [ 34.981178803714307, -17.348485556447741 ], [ 34.981070555327335, -17.348623976009009 ], [ 34.980954911862447, -17.348756765058912 ], [ 34.980832190282847, -17.348883559620049 ], [ 34.980702726955109, -17.349004012144992 ], [ 34.980566876727238, -17.349117792469176 ], [ 34.980425011956086, -17.349224588715831 ], [ 34.98027752148672, -17.349324108151073 ], [ 34.980124809586627, -17.349416077986319 ], [ 34.979967294837536, -17.349500246126194 ], [ 34.979805408988021, -17.349576381859599 ], [ 34.979639595770003, -17.349644276492203 ], [ 34.979470309682334, -17.349703743918624 ], [ 34.979298014744906, -17.34975462113265 ], [ 34.979123183226534, -17.349796768674064 ], [ 34.978946294350337, -17.349830071011084 ], [ 34.978767832979948, -17.349854436857079 ], [ 34.978588288290318, -17.349869799420887 ], [ 34.978408152426617, -17.34987611658989 ], [ 34.978227919154975, -17.349873371045543 ], [ 34.97804808250892, -17.349861570310917 ], [ 34.977997053286906, -17.349855632180109 ] ] ] } }, -{ "type": "Feature", "properties": { "field": "1.6", "sub_field": "1.6A" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 34.978354668011164, -17.346604682049772 ], [ 34.978720327296884, -17.343280601630497 ], [ 34.978876104741104, -17.343298729600111 ], [ 34.979053665421596, -17.343328518536502 ], [ 34.979229359493594, -17.343367191269554 ], [ 34.979402705416973, -17.343414641803008 ], [ 34.979573228086664, -17.343470740082537 ], [ 34.979740460134565, -17.3435353323522 ], [ 34.979903943210367, -17.343608241575833 ], [ 34.980063229237601, -17.343689267922098 ], [ 34.980217881641593, -17.343778189312268 ], [ 34.980367476545865, -17.343874762028761 ], [ 34.98051160393382, -17.343978721383035 ], [ 34.980649868772417, -17.34408978244101 ], [ 34.980781892094825, -17.344207640803891 ], [ 34.980907312039015, -17.344331973442401 ], [ 34.981025784839666, -17.344462439582017 ], [ 34.981136985770199, -17.344598681636882 ], [ 34.981240610033026, -17.344740326189832 ], [ 34.9813363735949, -17.344886985015684 ], [ 34.981424013965515, -17.345038256145251 ], [ 34.981503290917125, -17.345193724966947 ], [ 34.981573987143072, -17.345352965363091 ], [ 34.981635908853576, -17.345515540877745 ], [ 34.981688886307055, -17.345681005912901 ], [ 34.981732774275621, -17.345848906949652 ], [ 34.981767452443343, -17.346018783791244 ], [ 34.981792825736257, -17.34619017082429 ], [ 34.981808824583204, -17.346362598294956 ], [ 34.981815405106829, -17.346535593596407 ], [ 34.981812549244125, -17.346708682564159 ], [ 34.981800264796163, -17.3468813907757 ], [ 34.981789841437561, -17.346964017488332 ], [ 34.978354668011164, -17.346604682049772 ] ] ] } }, -{ "type": "Feature", "properties": { "field": "1.5", "sub_field": "1.5B" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 34.981414279389675, -17.341507128753143 ], [ 34.981172574054533, -17.343691265597464 ], [ 34.981109475823907, -17.343683923580347 ], [ 34.980985765165556, -17.343663170309824 ], [ 34.980863355007244, -17.343636227310451 ], [ 34.980742580878861, -17.343603168432548 ], [ 34.980623773825592, -17.343564084290307 ], [ 34.980507259500335, -17.343519082013337 ], [ 34.980393357270984, -17.343468284952998 ], [ 34.980282379345013, -17.343411832344319 ], [ 34.980174629913549, -17.343349878924265 ], [ 34.980070404317615, -17.343282594507567 ], [ 34.979969988238452, -17.343210163521317 ], [ 34.979873656914428, -17.343132784499232 ], [ 34.979781674386686, -17.343050669537625 ], [ 34.9796942927752, -17.34296404371387 ], [ 34.979611751587868, -17.342873144469429 ], [ 34.979534277063955, -17.34277822095903 ], [ 34.979462081553976, -17.342679533367615 ], [ 34.979395362937744, -17.3425773521972 ], [ 34.979334304081959, -17.342471957525312 ], [ 34.979279072339089, -17.34236363823727 ], [ 34.979229819088637, -17.342252691234346 ], [ 34.979186679322453, -17.342139420619834 ], [ 34.979149771274642, -17.342024136865543 ], [ 34.979119196097734, -17.341907155960765 ], [ 34.979095037585431, -17.341788798546016 ], [ 34.979077361943133, -17.341669389034291 ], [ 34.979066217606537, -17.341549254721702 ], [ 34.97906163510909, -17.341428724890427 ], [ 34.979063626998311, -17.341308129906089 ], [ 34.979069772171925, -17.341221754105334 ], [ 34.981414279389675, -17.341507128753143 ] ] ] } }, -{ "type": "Feature", "properties": { "field": "1.5", "sub_field": "1.5D" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 34.981414279389675, -17.341507128753143 ], [ 34.981679444479695, -17.339111001077271 ], [ 34.981686301740211, -17.339111450993876 ], [ 34.981810970678175, -17.339125957608928 ], [ 34.981934678272594, -17.339146710678925 ], [ 34.982057085462138, -17.339173653321986 ], [ 34.982177856749416, -17.339206711691663 ], [ 34.98229666112038, -17.339245795179348 ], [ 34.982413172951517, -17.339290796662603 ], [ 34.982527072902251, -17.33934159279875 ], [ 34.982638048790086, -17.339398044362888 ], [ 34.982745796446203, -17.339459996629525 ], [ 34.98285002054908, -17.339527279796517 ], [ 34.982950435433793, -17.339599709450528 ], [ 34.983046765875045, -17.339677087072367 ], [ 34.983138747841409, -17.33975920058111 ], [ 34.983226129219041, -17.339845824915287 ], [ 34.983308670502595, -17.339936722649764 ], [ 34.983386145451767, -17.340031644646341 ], [ 34.983458341711369, -17.340130330736663 ], [ 34.983525061393408, -17.340232510435182 ], [ 34.98358612161946, -17.340337903680478 ], [ 34.983641355022087, -17.340446221602868 ], [ 34.983690610203553, -17.340557167316049 ], [ 34.983733752150904, -17.340670436730836 ], [ 34.983770662606105, -17.340785719388574 ], [ 34.98380124039025, -17.340902699312007 ], [ 34.983825401681088, -17.341021055871334 ], [ 34.983843080242778, -17.341140464662963 ], [ 34.983854227607615, -17.341260598398659 ], [ 34.983858813209004, -17.341381127802574 ], [ 34.983856824465377, -17.341501722513755 ], [ 34.983848266814846, -17.341622051991578 ], [ 34.983833163700361, -17.341741786421814 ], [ 34.983822529204822, -17.341800262183327 ], [ 34.981414279389675, -17.341507128753143 ] ] ] } }, -{ "type": "Feature", "properties": { "field": "1.5", "sub_field": "1.5A" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 34.981172574054533, -17.343691265597464 ], [ 34.981414279389675, -17.341507128753143 ], [ 34.983822529204822, -17.341800262183327 ], [ 34.983811556505685, -17.341860597620538 ], [ 34.98378350444203, -17.341978159933678 ], [ 34.983749084385991, -17.342094151129654 ], [ 34.983708390668845, -17.342208253282561 ], [ 34.983661534818218, -17.342320153643641 ], [ 34.983608645252517, -17.342429545498533 ], [ 34.983549866928996, -17.342536129007982 ], [ 34.983485360946574, -17.342639612029675 ], [ 34.983415304104362, -17.34273971091913 ], [ 34.983339888417177, -17.342836151307104 ], [ 34.983259320589269, -17.342928668851723 ], [ 34.983173821447792, -17.343017009963088 ], [ 34.983083625337699, -17.343100932498373 ], [ 34.982988979479238, -17.343180206425632 ], [ 34.982890143290554, -17.343254614454327 ], [ 34.982787387676503, -17.343323952631003 ], [ 34.982680994286177, -17.343388030898371 ], [ 34.982571254740826, -17.343446673616306 ], [ 34.982458469834533, -17.343499720043344 ], [ 34.982342948709736, -17.343547024777287 ], [ 34.982225008009713, -17.343588458153864 ], [ 34.982104971010692, -17.343623906602136 ], [ 34.981983166735645, -17.343653272955859 ], [ 34.981859929052334, -17.343676476719857 ], [ 34.981735595758096, -17.343693454290744 ], [ 34.981610507653819, -17.343704159131189 ], [ 34.981485007609791, -17.343708561897607 ], [ 34.981359439625614, -17.343706650520566 ], [ 34.981234147887363, -17.3436984302379 ], [ 34.981172574054533, -17.343691265597464 ] ] ] } }, -{ "type": "Feature", "properties": { "field": "1.4", "sub_field": "1.4A" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 34.977605005473734, -17.338606017387828 ], [ 34.977665672603734, -17.33863431107558 ], [ 34.977763772866389, -17.338690719975755 ], [ 34.977876169269216, -17.338763283345308 ], [ 34.977984457548132, -17.338841396753352 ], [ 34.978088340898189, -17.338924846102827 ], [ 34.978187534586567, -17.339013402671572 ], [ 34.978281766732948, -17.339106823739105 ], [ 34.978370779054657, -17.339204853251911 ], [ 34.978454327574674, -17.339307222525107 ], [ 34.97853218329027, -17.339413650978859 ], [ 34.978604132800747, -17.339523846907355 ], [ 34.978669978892427, -17.33963750827823 ], [ 34.978729541079169, -17.339754323560388 ], [ 34.978782656097266, -17.339873972577784 ], [ 34.97882917835291, -17.339996127386925 ], [ 34.978868980321394, -17.34012045317569 ], [ 34.978901952896805, -17.340246609181008 ], [ 34.978928005691152, -17.340374249622688 ], [ 34.978947067282256, -17.340503024651259 ], [ 34.978959085409684, -17.340632581306743 ], [ 34.978964027118096, -17.340762564486102 ], [ 34.978961878847812, -17.340892617916531 ], [ 34.978952646472038, -17.341022385131897 ], [ 34.97893635528105, -17.34115151044988 ], [ 34.978926265695563, -17.341206981511462 ], [ 34.976297118077937, -17.340867839790402 ], [ 34.976670537115623, -17.338320549892174 ], [ 34.976755638684374, -17.338330454697513 ], [ 34.976889048044576, -17.338352838997491 ], [ 34.977004841715654, -17.33837832923189 ], [ 34.977605005473734, -17.338606017387828 ] ] ] } }, -{ "type": "Feature", "properties": { "field": "1.4", "sub_field": "1.4C" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 34.976297118077937, -17.340867839790402 ], [ 34.975949718590073, -17.343237636498074 ], [ 34.97586557276648, -17.343223518187639 ], [ 34.975733562536121, -17.343194458466325 ], [ 34.975603316843497, -17.343158803210262 ], [ 34.975475192696571, -17.343116650150446 ], [ 34.975349541287549, -17.343068114828622 ], [ 34.97522670703011, -17.343013330280517 ], [ 34.975107026615298, -17.342952446671219 ], [ 34.974990828088544, -17.34288563088344 ], [ 34.974878429950408, -17.342813066060131 ], [ 34.974770140283518, -17.342734951102397 ], [ 34.974666255908012, -17.342651500124298 ], [ 34.974567061567939, -17.342562941865822 ], [ 34.974472829150777, -17.342469519065983 ], [ 34.974383816942158, -17.342371487797241 ], [ 34.974300268917865, -17.342269116763756 ], [ 34.974222414075207, -17.34216268656462 ], [ 34.974150465805295, -17.342052488924793 ], [ 34.974084621308229, -17.341938825895362 ], [ 34.974025061052657, -17.341822009025627 ], [ 34.973971948281175, -17.341702358509004 ], [ 34.973925428562943, -17.341580202305412 ], [ 34.973885629394871, -17.34145587524225 ], [ 34.973852659852184, -17.341329718096571 ], [ 34.973826610289663, -17.34120207666103 ], [ 34.973807552094073, -17.341073300796005 ], [ 34.973795537488641, -17.340943743470646 ], [ 34.973790599390107, -17.340813759795306 ], [ 34.973792751318612, -17.340683706048242 ], [ 34.973801987360879, -17.340553938699045 ], [ 34.973802974953465, -17.340546112708161 ], [ 34.976297118077937, -17.340867839790402 ] ] ] } }, -{ "type": "Feature", "properties": { "field": "1.4", "sub_field": "1.4D" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 34.976670537115623, -17.338320549892174 ], [ 34.976297118077937, -17.340867839790402 ], [ 34.973802974953465, -17.340546112708161 ], [ 34.973818282186457, -17.340424813431532 ], [ 34.973841591117456, -17.34029668416888 ], [ 34.973871850251086, -17.340169902103536 ], [ 34.973908976634981, -17.340044814734618 ], [ 34.973952868494727, -17.33992176491547 ], [ 34.974003405512995, -17.339801089913962 ], [ 34.974060449159396, -17.339683120488104 ], [ 34.974123843070416, -17.339568179979455 ], [ 34.974193413478005, -17.339456583426976 ], [ 34.97426896968603, -17.339348636703559 ], [ 34.974350304593074, -17.339244635677673 ], [ 34.974437195260094, -17.339144865402556 ], [ 34.974529403521622, -17.339049599334913 ], [ 34.974626676638515, -17.338959098585459 ], [ 34.974728747990838, -17.338873611203347 ], [ 34.974835337808571, -17.338793371496333 ], [ 34.974946153938468, -17.338718599388653 ], [ 34.975060892644805, -17.338649499818292 ], [ 34.975179239441857, -17.338586262175358 ], [ 34.975300869955831, -17.338529059782996 ], [ 34.975425450813887, -17.338478049422477 ], [ 34.975552640557751, -17.338433370903498 ], [ 34.975682090579618, -17.338395146681059 ], [ 34.975813446077481, -17.338363481519838 ], [ 34.975946347027502, -17.33833846220719 ], [ 34.976080429170672, -17.338320157315209 ], [ 34.976215325011133, -17.338308617012903 ], [ 34.976350664823187, -17.338303872928698 ], [ 34.976486077664653, -17.338305938063733 ], [ 34.976621192393402, -17.338314806756351 ], [ 34.976670537115623, -17.338320549892174 ] ] ] } }, -{ "type": "Feature", "properties": { "field": "1.2", "sub_field": "1.2A" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 34.979495810456342, -17.334203961691134 ], [ 34.97820349148671, -17.336307953800048 ], [ 34.976145471591806, -17.334907946244652 ], [ 34.976175428365991, -17.334865145367932 ], [ 34.976253802797373, -17.334764925673479 ], [ 34.976337530859709, -17.334668782842019 ], [ 34.976426383056278, -17.334576980388171 ], [ 34.976520115846917, -17.33448976992964 ], [ 34.976618472315508, -17.334407390497606 ], [ 34.976721182874279, -17.334330067881691 ], [ 34.976827966002574, -17.334258014011112 ], [ 34.976938529018604, -17.334191426373845 ], [ 34.977052568881554, -17.334130487475448 ], [ 34.977169773022176, -17.334075364338887 ], [ 34.977289820199417, -17.334026208046808 ], [ 34.977412381380873, -17.333983153327463 ], [ 34.977537120644556, -17.333946318185511 ], [ 34.977663696099462, -17.333915803578684 ], [ 34.977791760822647, -17.333891693141041 ], [ 34.977920963809922, -17.333874052953824 ], [ 34.978050950937828, -17.333862931364354 ], [ 34.978181365934098, -17.333858358853604 ], [ 34.978311851354057, -17.333860347952598 ], [ 34.978442049560201, -17.333868893208162 ], [ 34.978571603702264, -17.333883971197807 ], [ 34.978700158695197, -17.333905540594017 ], [ 34.978827362192298, -17.33393354227746 ], [ 34.978952865550774, -17.333967899499068 ], [ 34.97907632478725, -17.334008518090307 ], [ 34.979197401520416, -17.334055286721373 ], [ 34.979315763898441, -17.334108077206196 ], [ 34.979431087508353, -17.334166744853853 ], [ 34.979495810456342, -17.334203961691134 ] ] ] } }, -{ "type": "Feature", "properties": { "field": "1.2", "sub_field": "1.2C" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 34.976973009965533, -17.338311269909727 ], [ 34.97820349148671, -17.336307953800048 ], [ 34.980211685376219, -17.337674066258426 ], [ 34.980160358782953, -17.337739701106912 ], [ 34.98007663167305, -17.33783584545019 ], [ 34.979987780081963, -17.337927649472633 ], [ 34.979894047543212, -17.338014861539353 ], [ 34.979795690970128, -17.338097242601521 ], [ 34.979692979951686, -17.338174566851677 ], [ 34.979586196013528, -17.338246622342712 ], [ 34.979475631846341, -17.33831321156887 ], [ 34.979361590503522, -17.338374152007198 ], [ 34.979244384570571, -17.338429276617834 ], [ 34.979124335308164, -17.338478434302029 ], [ 34.979001771771522, -17.338521490316253 ], [ 34.978877029908503, -17.33855832664165 ], [ 34.978750451638518, -17.338588842307534 ], [ 34.978622383915415, -17.338612953668228 ], [ 34.978493177776194, -17.338630594632406 ], [ 34.978363187378896, -17.338641716844212 ], [ 34.978232769031571, -17.338646289815852 ], [ 34.978102280215623, -17.338644301011275 ], [ 34.977972078605781, -17.338635755880404 ], [ 34.97784252108957, -17.338620677844375 ], [ 34.977713962789039, -17.338599108231218 ], [ 34.977586756087099, -17.338571106162615 ], [ 34.97746124966168, -17.338536748391885 ], [ 34.977445054809721, -17.33853142025189 ], [ 34.976973009965533, -17.338311269909727 ] ] ] } }, -{ "type": "Feature", "properties": { "field": "1.2", "sub_field": "1.2B" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 34.97820349148671, -17.336307953800048 ], [ 34.979495810456342, -17.334203961691134 ], [ 34.979543056265214, -17.334231128865 ], [ 34.979651363278293, -17.334301052772663 ], [ 34.979755711692235, -17.334376324925834 ], [ 34.979855815500571, -17.334456739014655 ], [ 34.979951400329632, -17.334542074635905 ], [ 34.980042204190553, -17.334632097897025 ], [ 34.980127978197274, -17.334726562057128 ], [ 34.980208487248802, -17.334825208203203 ], [ 34.980283510673523, -17.334927765959726 ], [ 34.980352842834122, -17.33503395422969 ], [ 34.980416293691249, -17.335143481964927 ], [ 34.980473689324427, -17.335256048963895 ], [ 34.980524872408871, -17.335371346694291 ], [ 34.980569702646726, -17.335489059138776 ], [ 34.98060805715177, -17.335608863661058 ], [ 34.980639830786288, -17.33573043189012 ], [ 34.980664936449386, -17.335853430620244 ], [ 34.980683305315878, -17.335977522724271 ], [ 34.980694887025031, -17.336102368077537 ], [ 34.980699649818746, -17.336227624490192 ], [ 34.980697580628785, -17.336352948644983 ], [ 34.980688685112696, -17.336477997038344 ], [ 34.980672987638499, -17.336602426921839 ], [ 34.980650531218004, -17.336725897241585 ], [ 34.980621377389127, -17.336848069573168 ], [ 34.980585606047292, -17.336968609049123 ], [ 34.980543315226697, -17.337087185276864 ], [ 34.980494620831621, -17.337203473244294 ], [ 34.980439656318971, -17.337317154210655 ], [ 34.98037857233254, -17.337427916580229 ], [ 34.980311536290245, -17.337535456756427 ], [ 34.980238731925354, -17.337639479973969 ], [ 34.980211685376219, -17.337674066258426 ], [ 34.97820349148671, -17.336307953800048 ] ] ] } }, -{ "type": "Feature", "properties": { "field": "1.1", "sub_field": "1.1A" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 34.974747055587912, -17.330561624074441 ], [ 34.975967002903133, -17.329006613978088 ], [ 34.97768378767087, -17.330124305102657 ], [ 34.977675645322599, -17.330135938962055 ], [ 34.977610877597876, -17.330218762285984 ], [ 34.977541685523548, -17.330298216410046 ], [ 34.97746825874755, -17.330374083551767 ], [ 34.97739079852591, -17.330446155760175 ], [ 34.97730951717098, -17.330514235485847 ], [ 34.977224637469618, -17.330578136122426 ], [ 34.977136392072467, -17.330637682518109 ], [ 34.977045022856281, -17.330692711455839 ], [ 34.976950780260992, -17.33074307210066 ], [ 34.976853922603134, -17.330788626413213 ], [ 34.976754715367839, -17.330829249528179 ], [ 34.9766534304811, -17.330864830096498 ], [ 34.976550345564355, -17.330895270590695 ], [ 34.976445743173485, -17.330920487572168 ], [ 34.976339910024251, -17.330940411919936 ], [ 34.976233136206396, -17.330954989020189 ], [ 34.976125714388374, -17.330964178915902 ], [ 34.97601793901508, -17.33096795641648 ], [ 34.975910105500709, -17.330966311166762 ], [ 34.975802509418969, -17.330959247675441 ], [ 34.975695445692772, -17.330946785302704 ], [ 34.975589207785838, -17.330928958207167 ], [ 34.975484086898128, -17.330905815252294 ], [ 34.975380371167688, -17.330877419872376 ], [ 34.975278344880749, -17.330843849898734 ], [ 34.975178287692358, -17.330805197346297 ], [ 34.975080473859883, -17.33076156816146 ], [ 34.97498517149112, -17.330713081931542 ], [ 34.974892641809419, -17.330659871557128 ], [ 34.974803138437572, -17.330602082887651 ], [ 34.974747055587912, -17.330561624074441 ] ] ] } }, -{ "type": "Feature", "properties": { "field": "1.1", "sub_field": "1.1C" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 34.977225538507916, -17.327402417183986 ], [ 34.975967002903133, -17.329006613978088 ], [ 34.974274653035941, -17.327904830888109 ], [ 34.974317836853025, -17.327843131256433 ], [ 34.974382605457386, -17.327760308914549 ], [ 34.974451798181676, -17.327680855822567 ], [ 34.974525225370748, -17.327604989751688 ], [ 34.974602685764104, -17.327532918641111 ], [ 34.974683967047483, -17.327464840028238 ], [ 34.97476884643482, -17.327400940507246 ], [ 34.974857091278928, -17.327341395217715 ], [ 34.974948459709061, -17.327286367364568 ], [ 34.975042701293965, -17.327236007770892 ], [ 34.975139557728149, -17.327190454464535 ], [ 34.975238763539863, -17.327149832299764 ], [ 34.975340046818744, -17.32711425261525 ], [ 34.975443129960965, -17.327083812928787 ], [ 34.975547730430073, -17.327058596670124 ], [ 34.97565356153136, -17.32703867295232 ], [ 34.975760333197549, -17.327024096382285 ], [ 34.975867752783742, -17.32701490691122 ], [ 34.975975525869487, -17.327011129725086 ], [ 34.976083357065676, -17.327012775175607 ], [ 34.976190950823955, -17.327019838751866 ], [ 34.976298012246922, -17.327032301092764 ], [ 34.97640424789607, -17.327050128040007 ], [ 34.976509366596161, -17.327073270731798 ], [ 34.976613080233122, -17.327101665736684 ], [ 34.976715104543686, -17.327135235227491 ], [ 34.976815159894414, -17.327173887194547 ], [ 34.976912972048119, -17.327217515697914 ], [ 34.977008272915363, -17.327266001157675 ], [ 34.977100801289254, -17.327319210681736 ], [ 34.977190303561343, -17.32737699842998 ], [ 34.977225538507916, -17.327402417183986 ] ] ] } }, -{ "type": "Feature", "properties": { "field": "1.1", "sub_field": "1.1B" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 34.975967002903133, -17.329006613978088 ], [ 34.974747055587912, -17.330561624074441 ], [ 34.974716906702625, -17.330539874321609 ], [ 34.974634182963371, -17.330473416372392 ], [ 34.974555193962502, -17.330402891200858 ], [ 34.974480156205075, -17.330328492116003 ], [ 34.974409275365083, -17.330250423045062 ], [ 34.974342745721671, -17.330168897974517 ], [ 34.974280749626672, -17.330084140363468 ], [ 34.974223457004811, -17.329996382531196 ], [ 34.974171024887951, -17.329905865020287 ], [ 34.974123596984739, -17.329812835937251 ], [ 34.974081303286702, -17.329717550272466 ], [ 34.974044259712088, -17.329620269201229 ], [ 34.974012567788179, -17.329521259367823 ], [ 34.973986314373022, -17.329420792154632 ], [ 34.973965571417502, -17.329319142938278 ], [ 34.973950395768235, -17.329216590334781 ], [ 34.973940829011752, -17.329113415435877 ], [ 34.973936897360709, -17.329009901038535 ], [ 34.973938611582099, -17.328906330869806 ], [ 34.973945966967818, -17.328802988809159 ], [ 34.973958943347753, -17.328700158110344 ], [ 34.973977505145072, -17.328598120625017 ], [ 34.974001601473894, -17.328497156030238 ], [ 34.974031166278891, -17.328397541061847 ], [ 34.974066118516369, -17.328299548756014 ], [ 34.974106362376588, -17.328203447700862 ], [ 34.974151787546347, -17.328109501300297 ], [ 34.97420226951153, -17.328017967052048 ], [ 34.974257669898414, -17.327929095841995 ], [ 34.974274653035941, -17.327904830888109 ], [ 34.975967002903133, -17.329006613978088 ] ] ] } }, -{ "type": "Feature", "properties": { "field": "1.3", "sub_field": "1.3C" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 34.971195967655134, -17.332888509205493 ], [ 34.970773107481506, -17.335663616039604 ], [ 34.967900765229288, -17.335206638144747 ], [ 34.967920610457007, -17.335097567226367 ], [ 34.967954614815163, -17.334955110851492 ], [ 34.967996335195423, -17.334814558954029 ], [ 34.968045657228011, -17.33467629677391 ], [ 34.968102445708503, -17.334540703274193 ], [ 34.968166544968589, -17.334408150102437 ], [ 34.968237779302939, -17.334279000572078 ], [ 34.968315953450919, -17.334153608666739 ], [ 34.968400853131925, -17.334032318069912 ], [ 34.968492245632852, -17.333915461223164 ], [ 34.968589880446025, -17.333803358414983 ], [ 34.968693489955889, -17.333696316902909 ], [ 34.968802790172646, -17.333594630071527 ], [ 34.968917481510559, -17.333498576628386 ], [ 34.969037249609258, -17.333408419840225 ], [ 34.969161766195299, -17.333324406811389 ], [ 34.969290689981875, -17.333246767806713 ], [ 34.969423667604325, -17.333175715620431 ], [ 34.969560334588486, -17.333111444993076 ], [ 34.969700316349666, -17.333054132077738 ], [ 34.969843229219229, -17.333003933957372 ], [ 34.969988681496098, -17.332960988214293 ], [ 34.970136274520222, -17.332925412553223 ], [ 34.970285603765085, -17.33289730447866 ], [ 34.970436259946382, -17.332876741027736 ], [ 34.970587830143572, -17.332863778559105 ], [ 34.970739898931548, -17.332858452598554 ], [ 34.970892049519023, -17.332860777741558 ], [ 34.97104386489081, -17.332870747613462 ], [ 34.971194928950496, -17.332888334886835 ], [ 34.971195967655134, -17.332888509205493 ] ] ] } }, -{ "type": "Feature", "properties": { "field": "1.3", "sub_field": "1.3A" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 34.970354223381719, -17.338412629071641 ], [ 34.970773107481506, -17.335663616039604 ], [ 34.973634084154476, -17.336118785717325 ], [ 34.973618904232666, -17.336202230245593 ], [ 34.973584904230833, -17.33634468714585 ], [ 34.973543188019221, -17.336485239791532 ], [ 34.97349386992196, -17.336623502934522 ], [ 34.973437085100322, -17.336759097601192 ], [ 34.973372989182529, -17.336891652131232 ], [ 34.973301757837334, -17.337020803196278 ], [ 34.973223586292583, -17.337146196795945 ], [ 34.973138688800368, -17.33726748922814 ], [ 34.973047298049813, -17.337384348031179 ], [ 34.972949664529423, -17.337496452895188 ], [ 34.97284605584057, -17.337603496540073 ], [ 34.972736755964092, -17.337705185557869 ], [ 34.972622064481968, -17.337801241217083 ], [ 34.972502295756165, -17.337891400226717 ], [ 34.972377778066971, -17.337975415458054 ], [ 34.9722488527133, -17.338053056622162 ], [ 34.972115873076987, -17.338124110901102 ], [ 34.97197920365425, -17.338188383531453 ], [ 34.97183921905652, -17.338245698338167 ], [ 34.97169630298346, -17.338295898217574 ], [ 34.971550847171287, -17.338338845568071 ], [ 34.971403250318779, -17.338374422667343 ], [ 34.971253916994385, -17.338402531995111 ], [ 34.971103256527137, -17.338423096500538 ], [ 34.970951681884493, -17.3384360598134 ], [ 34.970799608540283, -17.338441386398674 ], [ 34.970647453335715, -17.338439061654018 ], [ 34.970495633336562, -17.338429091949749 ], [ 34.970354223381719, -17.338412629071641 ] ] ] } }, -{ "type": "Feature", "properties": { "field": "1.3", "sub_field": "1.3D" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 34.970773107481506, -17.335663616039604 ], [ 34.971195967655134, -17.332888509205493 ], [ 34.971344827660843, -17.33291349135645 ], [ 34.971493150178375, -17.332946148071397 ], [ 34.971639489979275, -17.332986215524052 ], [ 34.971783445973415, -17.333033583895354 ], [ 34.971924623603627, -17.333088123355868 ], [ 34.972062635926825, -17.333149684421517 ], [ 34.972197104674571, -17.333218098363261 ], [ 34.972327661289661, -17.333293177669553 ], [ 34.97245394793616, -17.333374716560179 ], [ 34.972575618480157, -17.333462491550247 ], [ 34.972692339438325, -17.333556262062647 ], [ 34.972803790891966, -17.333655771087365 ], [ 34.972909667363737, -17.333760745885836 ], [ 34.973009678655011, -17.333870898738422 ], [ 34.973103550641191, -17.33398592773289 ], [ 34.973191026023137, -17.334105517591908 ], [ 34.973271865032345, -17.334229340537018 ], [ 34.9733458460883, -17.33435705718701 ], [ 34.973412766405815, -17.334488317488017 ], [ 34.973472442550914, -17.334622761672907 ], [ 34.973524710943792, -17.334760021247295 ], [ 34.973569428307272, -17.334899719999441 ], [ 34.973606472059643, -17.335041475031371 ], [ 34.973635740650828, -17.335184897808336 ], [ 34.973657153840904, -17.335329595223612 ], [ 34.973670652920205, -17.335475170675963 ], [ 34.973676200870415, -17.335621225156661 ], [ 34.973673782466292, -17.335767358343112 ], [ 34.973663404317563, -17.335913169696045 ], [ 34.97364509485098, -17.336058259557369 ], [ 34.973634084154476, -17.336118785717325 ], [ 34.970773107481506, -17.335663616039604 ] ] ] } }, -{ "type": "Feature", "properties": { "field": "1.7", "sub_field": "1.7B" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 34.96697037363257, -17.340380748223968 ], [ 34.968913119447087, -17.339561990788184 ], [ 34.968924732557923, -17.339588154703865 ], [ 34.968961776131572, -17.339685436701803 ], [ 34.96899346779216, -17.339784447337809 ], [ 34.969019720667752, -17.339884915233949 ], [ 34.969040462793117, -17.33998656501765 ], [ 34.969055637307129, -17.340089118076534 ], [ 34.969065202608647, -17.340192293321937 ], [ 34.969069132470679, -17.34029580795945 ], [ 34.969067416112331, -17.340399378263918 ], [ 34.969060058228507, -17.340502720357161 ], [ 34.969047078977077, -17.340605550986041 ], [ 34.969028513923831, -17.340707588298791 ], [ 34.969004413945001, -17.340808552617649 ], [ 34.968974845087928, -17.340908167205317 ], [ 34.968939888390231, -17.341006159023614 ], [ 34.968899639657678, -17.341102259481772 ], [ 34.968854209201659, -17.341196205172718 ], [ 34.968803721537007, -17.341287738595042 ], [ 34.968748315040735, -17.341376608858798 ], [ 34.968688141572834, -17.341462572373302 ], [ 34.968623366060072, -17.341545393514739 ], [ 34.968554166044022, -17.341624845272079 ], [ 34.96848073119444, -17.341700709869322 ], [ 34.968403262789458, -17.341772779362497 ], [ 34.968321973163881, -17.3418408562096 ], [ 34.968237085127249, -17.341904753812166 ], [ 34.968148831353027, -17.341964297026713 ], [ 34.968057453740961, -17.342019322644887 ], [ 34.967963202754007, -17.34206967984084 ], [ 34.967866336731689, -17.342115230584671 ], [ 34.967862993493888, -17.342116599326115 ], [ 34.96697037363257, -17.340380748223968 ] ] ] } }, -{ "type": "Feature", "properties": { "field": "1.7", "sub_field": "1.7D" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 34.96697037363257, -17.340380748223968 ], [ 34.965141978743468, -17.34115131321493 ], [ 34.965135870092325, -17.341139330722289 ], [ 34.965093577571821, -17.341044043052051 ], [ 34.965056535608213, -17.340946760170706 ], [ 34.965024845724365, -17.340847748727509 ], [ 34.964998594772723, -17.340747280109223 ], [ 34.964977854697416, -17.340645629696343 ], [ 34.964962682337145, -17.340543076108169 ], [ 34.964953119269445, -17.340439900439126 ], [ 34.96494919169681, -17.340336385488293 ], [ 34.964950910375102, -17.340232814984212 ], [ 34.964958270583949, -17.340129472807298 ], [ 34.964971252140032, -17.340026642211601 ], [ 34.964989819452306, -17.339924605048481 ], [ 34.965013921619786, -17.339823640994112 ], [ 34.965043492571134, -17.339724026782864 ], [ 34.965078451245816, -17.339626035448813 ], [ 34.965118701816422, -17.339529935577406 ], [ 34.965164133951369, -17.339435990569296 ], [ 34.965214623117454, -17.339344457918411 ], [ 34.965270030921225, -17.339255588506234 ], [ 34.965330205488343, -17.339169625914124 ], [ 34.965394981880017, -17.339086805755809 ], [ 34.965464182545041, -17.33900735503153 ], [ 34.965537617806547, -17.338931491505967 ], [ 34.965615086381874, -17.338859423111348 ], [ 34.965696375934364, -17.338791347377654 ], [ 34.965781263655309, -17.338727450891149 ], [ 34.965869516874641, -17.338667908783069 ], [ 34.965960893698714, -17.338612884249663 ], [ 34.966039653327748, -17.338570804330793 ], [ 34.96697037363257, -17.340380748223968 ] ] ] } }, -{ "type": "Feature", "properties": { "field": "1.7", "sub_field": "1.7A" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 34.968913119447087, -17.339561990788184 ], [ 34.96697037363257, -17.340380748223968 ], [ 34.966039653327748, -17.338570804330793 ], [ 34.966055143673252, -17.338562528104891 ], [ 34.966152008469777, -17.338516978367149 ], [ 34.96625122259362, -17.338476359880929 ], [ 34.966352514111676, -17.338440783974821 ], [ 34.966455605397492, -17.338410348156252 ], [ 34.966560213892357, -17.33838513584438 ], [ 34.966666052879539, -17.338365216141444 ], [ 34.966772832270152, -17.338350643643359 ], [ 34.96688025939816, -17.338341458290188 ], [ 34.966988039822454, -17.338337685256583 ], [ 34.967095878133762, -17.338339334882878 ], [ 34.967203478764311, -17.338346402646742 ], [ 34.967310546797805, -17.338358869175604 ], [ 34.967416788777662, -17.33837670029968 ], [ 34.967521913511277, -17.338399847145745 ], [ 34.967625632868057, -17.338428246270951 ], [ 34.967727662569054, -17.338461819836844 ], [ 34.967827722966078, -17.338500475822592 ], [ 34.967925539808057, -17.338544108277233 ], [ 34.968020844992765, -17.338592597610052 ], [ 34.968113377301442, -17.338645810918319 ], [ 34.968202883114863, -17.338703602351565 ], [ 34.968289117108299, -17.338765813511245 ], [ 34.968371842924007, -17.338832273884954 ], [ 34.968450833818949, -17.338902801313676 ], [ 34.968525873286232, -17.33897720249103 ], [ 34.968596755648612, -17.339055273493063 ], [ 34.968663286622174, -17.339136800337148 ], [ 34.968725283848819, -17.339221559568486 ], [ 34.968782577396205, -17.339309318872438 ], [ 34.968835010223451, -17.339399837711309 ], [ 34.968882438611672, -17.339492867983591 ], [ 34.968913119447087, -17.339561990788184 ] ] ] } }, -{ "type": "Feature", "properties": { "field": "1.8", "sub_field": "1.8C" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 34.958846576270247, -17.339420347508153 ], [ 34.961161225337996, -17.342695153682683 ], [ 34.957665162047512, -17.344762020273741 ], [ 34.957619750775827, -17.344692455184319 ], [ 34.957515131525668, -17.344511824153546 ], [ 34.95742049925115, -17.344326182128594 ], [ 34.957336113312707, -17.344136037957821 ], [ 34.957262204982982, -17.343941912828704 ], [ 34.957198976813203, -17.343744338839166 ], [ 34.957146602078303, -17.343543857538954 ], [ 34.957105224302296, -17.34334101844518 ], [ 34.957074956865263, -17.343136377535984 ], [ 34.957055882692877, -17.342930495726488 ], [ 34.957048054029585, -17.342723937331343 ], [ 34.957051492295761, -17.342517268517859 ], [ 34.957066188029401, -17.342311055754124 ], [ 34.957092100912497, -17.342105864256347 ], [ 34.957129159881944, -17.341902256439582 ], [ 34.957177263324716, -17.341700790376251 ], [ 34.95723627935687, -17.341502018266478 ], [ 34.957306046185302, -17.341306484924623 ], [ 34.957386372551667, -17.341114726286037 ], [ 34.957477038256947, -17.34092726793822 ], [ 34.957577794765285, -17.340744623680305 ], [ 34.957688365885573, -17.340567294114859 ], [ 34.957808448528688, -17.340395765275964 ], [ 34.957937713538506, -17.340230507297168 ], [ 34.958075806594252, -17.340071973122999 ], [ 34.958222349181902, -17.339920597267728 ], [ 34.958376939631663, -17.339776794624512 ], [ 34.95853915421911, -17.339640959328449 ], [ 34.958708548326541, -17.339513463676425 ], [ 34.958846576270247, -17.339420347508153 ] ] ] } }, -{ "type": "Feature", "properties": { "field": "1.8", "sub_field": "1.8A" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 34.963463180156758, -17.345951999810669 ], [ 34.961161225337996, -17.342695153682683 ], [ 34.964664424622271, -17.340624068304397 ], [ 34.964697486842347, -17.340674713360091 ], [ 34.964802110127501, -17.34085534020641 ], [ 34.964896747286502, -17.341040978226815 ], [ 34.964981138905401, -17.341231118616804 ], [ 34.965055053649337, -17.34142524023035 ], [ 34.965118288896797, -17.34162281100804 ], [ 34.965170671295283, -17.3418232894353 ], [ 34.965212057236833, -17.342026126026514 ], [ 34.965242333251901, -17.342230764830955 ], [ 34.96526141632085, -17.342436644956557 ], [ 34.96526925410172, -17.342643202107119 ], [ 34.965265825074276, -17.342849870128966 ], [ 34.965251138599292, -17.34305608256269 ], [ 34.965225234893339, -17.343261274195687 ], [ 34.965188184918972, -17.343464882611432 ], [ 34.965140090190644, -17.343666349730935 ], [ 34.965081082496845, -17.343865123342518 ], [ 34.965011323539322, -17.344060658615334 ], [ 34.964931004490182, -17.344252419592877 ], [ 34.964840345468289, -17.344439880662051 ], [ 34.964739594936226, -17.344622527993895 ], [ 34.96462902901969, -17.344799860952165 ], [ 34.964508950750719, -17.344971393465599 ], [ 34.964379689237582, -17.345136655360388 ], [ 34.964241598762683, -17.345295193649122 ], [ 34.964095057811839, -17.345446573772414 ], [ 34.963940468036853, -17.34559038079038 ], [ 34.963778253154771, -17.345726220519964 ], [ 34.963608857786525, -17.345853720615708 ], [ 34.963463180156758, -17.345951999810669 ] ] ] } }, -{ "type": "Feature", "properties": { "field": "1.8", "sub_field": "1.8D" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 34.961161225337996, -17.342695153682683 ], [ 34.958846576270247, -17.339420347508153 ], [ 34.958884657661677, -17.339394657106936 ], [ 34.959066999530179, -17.339284865242441 ], [ 34.959255074158534, -17.339184388997051 ], [ 34.95944836606386, -17.339093503752036 ], [ 34.959646345466524, -17.339012458601051 ], [ 34.95984846974207, -17.33894147566772 ], [ 34.96005418490828, -17.338880749496898 ], [ 34.960262927143212, -17.338830446521602 ], [ 34.960474124330389, -17.338790704607014 ], [ 34.960687197626548, -17.338761632672661 ], [ 34.960901563047791, -17.338743310394069 ], [ 34.961116633069963, -17.338735787984415 ], [ 34.961331818238484, -17.338739086056979 ], [ 34.961546528783735, -17.338753195568739 ], [ 34.961760176237021, -17.338778077845117 ], [ 34.961972175043229, -17.3388136646861 ], [ 34.962181944165295, -17.338859858553089 ], [ 34.962388908676445, -17.338916532836219 ], [ 34.96259250133555, -17.338983532201397 ], [ 34.962792164141611, -17.33906067301595 ], [ 34.962987349862807, -17.339147743851825 ], [ 34.963177523536125, -17.33924450606515 ], [ 34.963362163933262, -17.33935069444999 ], [ 34.963540764989084, -17.339466017965307 ], [ 34.96371283718851, -17.339590160532456 ], [ 34.963877908907953, -17.339722781901354 ], [ 34.964035527707921, -17.339863518582955 ], [ 34.964185261572979, -17.340011984845287 ], [ 34.964326700095761, -17.340167773770666 ], [ 34.964459455601954, -17.340330458370634 ], [ 34.964583164212755, -17.340499592756277 ], [ 34.964664424622271, -17.340624068304397 ], [ 34.961161225337996, -17.342695153682683 ] ] ] } }, -{ "type": "Feature", "properties": { "field": "1.9", "sub_field": "1.9A" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 34.962034302490196, -17.337088012040809 ], [ 34.964728870983024, -17.336051561916904 ], [ 34.966003469280459, -17.338512454706869 ], [ 34.965924344913347, -17.338549662135424 ], [ 34.965784357706042, -17.338606972920125 ], [ 34.965641439239995, -17.338657168665854 ], [ 34.965495981257945, -17.338700111782341 ], [ 34.965348382464626, -17.338735684558884 ], [ 34.965199047433821, -17.338763789487064 ], [ 34.965048385499237, -17.33878434952808 ], [ 34.96489680963235, -17.338797308323986 ], [ 34.964744735310369, -17.338802630352134 ], [ 34.964592579377161, -17.338800301022673 ], [ 34.964440758900508, -17.338790326718492 ], [ 34.964289690028806, -17.338772734777791 ], [ 34.96413978685019, -17.338747573419131 ], [ 34.963991460257319, -17.338714911609266 ], [ 34.963845116820963, -17.338674838874116 ], [ 34.963701157675445, -17.338627465053349 ], [ 34.96355997741891, -17.338572919999283 ], [ 34.963421963031685, -17.338511353220905 ], [ 34.963287492815319, -17.338442933474067 ], [ 34.96315693535562, -17.338367848298851 ], [ 34.963030648512166, -17.338286303505473 ], [ 34.96290897843744, -17.338198522610085 ], [ 34.962792258627822, -17.338104746222072 ], [ 34.962680809009477, -17.338005231384418 ], [ 34.962574935061454, -17.337900250869161 ], [ 34.962474926978267, -17.337790092429572 ], [ 34.962381058874492, -17.337675058011381 ], [ 34.962293588033532, -17.337555462925053 ], [ 34.962212754202319, -17.337431634981467 ], [ 34.962138778934303, -17.337303913593271 ], [ 34.962071864982285, -17.337172648844497 ], [ 34.962034302490196, -17.337088012040809 ] ] ] } }, -{ "type": "Feature", "properties": { "field": "1.9", "sub_field": "1.9C" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 34.967428748672695, -17.335013069641263 ], [ 34.964728870983024, -17.336051561916904 ], [ 34.963415169170496, -17.333515171177073 ], [ 34.963505628599926, -17.333472634116486 ], [ 34.963645612969273, -17.33341532522212 ], [ 34.963788528230573, -17.33336513123426 ], [ 34.96393398267621, -17.33332218972393 ], [ 34.964081577640179, -17.333286618384236 ], [ 34.964230908590665, -17.333258514707836 ], [ 34.964381566238657, -17.333237955719817 ], [ 34.964533137659622, -17.333224997766614 ], [ 34.964685207425113, -17.333219676361633 ], [ 34.964837358741143, -17.333222006087869 ], [ 34.964989174590535, -17.333231980558111 ], [ 34.96514023887557, -17.333249572432333 ], [ 34.965290137558391, -17.333274733492722 ], [ 34.965438459795585, -17.333307394775765 ], [ 34.965584799064111, -17.333347466761317 ], [ 34.965728754275318, -17.333394839617938 ], [ 34.965869930874121, -17.333449383503872 ], [ 34.966007941920303, -17.333510948922914 ], [ 34.966142409148922, -17.333579367134121 ], [ 34.96627296400689, -17.333654450614219 ], [ 34.966399248663151, -17.333735993571572 ], [ 34.966520916989182, -17.333823772510151 ], [ 34.966637635507752, -17.333917546842027 ], [ 34.966749084306826, -17.334017059546696 ], [ 34.966854957916375, -17.334122037875517 ], [ 34.966954966145565, -17.334232194099176 ], [ 34.967048834878206, -17.334347226296227 ], [ 34.967136306824045, -17.334466819180523 ], [ 34.967217142224001, -17.334590644965317 ], [ 34.967291119507479, -17.334718364261622 ], [ 34.967358035899565, -17.334849627008314 ], [ 34.967417707977077, -17.334984073431553 ], [ 34.967428748672695, -17.335013069641263 ] ] ] } }, -{ "type": "Feature", "properties": { "field": "1.9", "sub_field": "1.9B" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 34.964728870983024, -17.336051561916904 ], [ 34.962034302490196, -17.337088012040809 ], [ 34.962012195742716, -17.337038200530916 ], [ 34.961959934753182, -17.336900937173795 ], [ 34.961915225244269, -17.33676123500965 ], [ 34.961878189747068, -17.336619476959022 ], [ 34.961848929757601, -17.33647605157676 ], [ 34.961827525458673, -17.336331351987006 ], [ 34.96181403550041, -17.336185774805603 ], [ 34.961808496839552, -17.336039719052945 ], [ 34.961810924638471, -17.335893585060266 ], [ 34.961821312223798, -17.33574777337228 ], [ 34.961839631104837, -17.335602683649384 ], [ 34.961865831052002, -17.335458713572155 ], [ 34.961899840234594, -17.335316257751341 ], [ 34.961941565417888, -17.335175706646258 ], [ 34.961990892218978, -17.335037445494642 ], [ 34.962047685420352, -17.33490185325676 ], [ 34.962111789340781, -17.334769301576685 ], [ 34.962183028262146, -17.334640153763782 ], [ 34.962261206911265, -17.334514763796925 ], [ 34.962346110995185, -17.334393475354325 ], [ 34.962437507788763, -17.334276620871645 ], [ 34.962535146772538, -17.334164520630836 ], [ 34.962638760319571, -17.334057481882457 ], [ 34.962748064428943, -17.333955798003494 ], [ 34.962862759504311, -17.333859747693428 ], [ 34.962982531175044, -17.333769594210374 ], [ 34.96310705115792, -17.333685584649643 ], [ 34.963235978156838, -17.33360794926655 ], [ 34.963368958798306, -17.333536900845434 ], [ 34.963415169170496, -17.333515171177073 ], [ 34.964728870983024, -17.336051561916904 ] ] ] } }, -{ "type": "Feature", "properties": { "field": "1.10", "sub_field": "1.10A" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 34.958739701646998, -17.339232847473824 ], [ 34.957010326871092, -17.336809457524954 ], [ 34.959540353269119, -17.335238722501 ], [ 34.959589253839567, -17.335313636053893 ], [ 34.959668014263052, -17.335449625557878 ], [ 34.959739256571318, -17.335589387587159 ], [ 34.959802785482793, -17.335732539073017 ], [ 34.959858426855881, -17.335878687655981 ], [ 34.959906028166579, -17.336027432761135 ], [ 34.959945458926505, -17.336178366695954 ], [ 34.959976611040844, -17.336331075767689 ], [ 34.959999399104831, -17.336485141417217 ], [ 34.960013760638006, -17.336640141366214 ], [ 34.960019656255689, -17.336795650774501 ], [ 34.960017069777173, -17.336951243404492 ], [ 34.960006008270348, -17.337106492789449 ], [ 34.959986502032443, -17.337260973402362 ], [ 34.959958604507399, -17.337414261822307 ], [ 34.959922392139397, -17.337565937894968 ], [ 34.959877964163766, -17.337715585884322 ], [ 34.959825442335102, -17.337862795612132 ], [ 34.959764970593746, -17.338007163582269 ], [ 34.959696714671516, -17.338148294086736 ], [ 34.959620861637603, -17.338285800290265 ], [ 34.959537619385998, -17.33841930529077 ], [ 34.959447216065776, -17.338548443152437 ], [ 34.959349899456001, -17.33867285990879 ], [ 34.959245936286599, -17.338792214533026 ], [ 34.959135611507378, -17.338906179872861 ], [ 34.959019227507071, -17.339014443547278 ], [ 34.958897103284585, -17.339116708802869 ], [ 34.9587695735746, -17.339212695327376 ], [ 34.958739701646998, -17.339232847473824 ] ] ] } }, -{ "type": "Feature", "properties": { "field": "1.10", "sub_field": "1.10C" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 34.955242480798987, -17.334332157368866 ], [ 34.957010326871092, -17.336809457524954 ], [ 34.954343541002665, -17.33846509794364 ], [ 34.954260784434837, -17.338338313495246 ], [ 34.95418202629854, -17.338202321620905 ], [ 34.954110786758697, -17.338062557323308 ], [ 34.954047261066549, -17.337919403696002 ], [ 34.953991623328406, -17.337773253121934 ], [ 34.953944026028459, -17.33762450619783 ], [ 34.95390459961115, -17.337473570636146 ], [ 34.953873452123695, -17.337320860147432 ], [ 34.95385066892019, -17.337166793306359 ], [ 34.953836312427846, -17.337011792404329 ], [ 34.953830421976093, -17.336856282291919 ], [ 34.953833013689021, -17.336700689214442 ], [ 34.953844080441442, -17.336545439643551 ], [ 34.953863591878616, -17.336390959108272 ], [ 34.953891494499679, -17.336237671028709 ], [ 34.953927711804546, -17.336085995555422 ], [ 34.953972144503872, -17.335936348417885 ], [ 34.954024670791277, -17.335789139784975 ], [ 34.954085146677556, -17.33564477314086 ], [ 34.954153406385494, -17.335503644178985 ], [ 34.954229262804425, -17.335366139717731 ], [ 34.954312508003291, -17.33523263664009 ], [ 34.954402913800664, -17.335103500860804 ], [ 34.954500232390394, -17.334979086323543 ], [ 34.954604197020849, -17.334859734030776 ], [ 34.954714522726206, -17.334745771109269 ], [ 34.954830907107592, -17.334637509913541 ], [ 34.954953031161914, -17.334535247169818 ], [ 34.95508056015634, -17.334439263162871 ], [ 34.955213144545709, -17.334349820967844 ], [ 34.955242480798987, -17.334332157368866 ] ] ] } }, -{ "type": "Feature", "properties": { "field": "1.10", "sub_field": "1.10B" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 34.957010326871092, -17.336809457524954 ], [ 34.958739701646998, -17.339232847473824 ], [ 34.958636987930127, -17.339302140018049 ], [ 34.95849970976434, -17.339384797702966 ], [ 34.9583581153545, -17.339460441813092 ], [ 34.958212592810412, -17.339528865003448 ], [ 34.958063541010617, -17.33958987972149 ], [ 34.957911368508981, -17.339643318721347 ], [ 34.957756492414681, -17.339689035522227 ], [ 34.957599337248816, -17.339726904810092 ], [ 34.957440333780596, -17.339756822781162 ], [ 34.957279917846499, -17.339778707426536 ], [ 34.957118529155416, -17.339792498757056 ], [ 34.956956610083246, -17.339798158967696 ], [ 34.956794604460114, -17.339795672541321 ], [ 34.956632956353708, -17.339785046291222 ], [ 34.956472108851798, -17.339766309342444 ], [ 34.95631250284756, -17.339739513051995 ], [ 34.956154575830887, -17.339704730868029 ], [ 34.95599876068907, -17.339662058128571 ], [ 34.955845484519955, -17.339611611800109 ], [ 34.955695167461201, -17.33955353015708 ], [ 34.955548221538436, -17.339487972402619 ], [ 34.955405049535798, -17.339415118232349 ], [ 34.955266043891676, -17.339335167341641 ], [ 34.955131585622986, -17.339248338878221 ], [ 34.955002043280672, -17.339154870841433 ], [ 34.954877771939422, -17.339055019429797 ], [ 34.954759112224359, -17.338949058338667 ], [ 34.954646389377288, -17.338837278009954 ], [ 34.95453991236527, -17.338719984835976 ], [ 34.954439973033701, -17.338597500319473 ], [ 34.954346845306404, -17.338470160192326 ], [ 34.954343541002665, -17.33846509794364 ], [ 34.957010326871092, -17.336809457524954 ] ] ] } }, -{ "type": "Feature", "properties": { "field": "1.11", "sub_field": "1.11A" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 34.959791281109077, -17.327010987988146 ], [ 34.960630932270384, -17.330690185640638 ], [ 34.956779145904193, -17.33137872104356 ], [ 34.956764856793804, -17.331308666394371 ], [ 34.956736047353225, -17.331113859021773 ], [ 34.95671789260097, -17.330917870461413 ], [ 34.956710442264828, -17.330721237910581 ], [ 34.956713716731777, -17.330524500330025 ], [ 34.956727706992346, -17.330328196966747 ], [ 34.956752374665776, -17.330132865875832 ], [ 34.956787652105561, -17.329939042445719 ], [ 34.956833442585214, -17.329747257930709 ], [ 34.956889620563857, -17.329558037994907 ], [ 34.956956032030497, -17.329371901271418 ], [ 34.957032494926693, -17.329189357940876 ], [ 34.957118799645741, -17.329010908333149 ], [ 34.957214709607541, -17.328837041556099 ], [ 34.957319961907359, -17.328668234155014 ], [ 34.957434268036607, -17.328504948806675 ], [ 34.957557314673871, -17.328347633051155 ], [ 34.957688764543875, -17.328196718065481 ], [ 34.957828257342058, -17.328052617481823 ], [ 34.957975410722298, -17.327915726254009 ], [ 34.958129821344905, -17.327786419575087 ], [ 34.958291065982159, -17.327665051849202 ], [ 34.958458702678442, -17.327551955720331 ], [ 34.958632271961456, -17.327447441160722 ], [ 34.958811298101537, -17.327351794621475 ], [ 34.958995290415487, -17.32726527824753 ], [ 34.959183744611337, -17.327188129159367 ], [ 34.959376144170342, -17.327120558803227 ], [ 34.959571961762535, -17.327062752371688 ], [ 34.959770660691824, -17.327014868296196 ], [ 34.959791281109077, -17.327010987988146 ] ] ] } }, -{ "type": "Feature", "properties": { "field": "1.11", "sub_field": "1.11B" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 34.960630932270384, -17.330690185640638 ], [ 34.959791281109077, -17.327010987988146 ], [ 34.959971696366765, -17.326977037813023 ], [ 34.960174517792879, -17.326949364603571 ], [ 34.960378569082671, -17.326931924510365 ], [ 34.960583290978782, -17.32692476532921 ], [ 34.960788122386646, -17.326927906678304 ], [ 34.960992501911946, -17.326941339944465 ], [ 34.961195869399035, -17.326965028306834 ], [ 34.96139766746591, -17.326998906837758 ], [ 34.961597343031521, -17.327042882680757 ], [ 34.96179434883144, -17.327096835305003 ], [ 34.96198814491747, -17.327160616835705 ], [ 34.962178200137267, -17.327234052459289 ], [ 34.962363993589896, -17.327316940902499 ], [ 34.962545016053291, -17.327409054984003 ], [ 34.962720771379686, -17.327510142236925 ], [ 34.962890777855286, -17.327619925600736 ], [ 34.963054569520445, -17.327738104180536 ], [ 34.963211697446603, -17.327864354071615 ], [ 34.963361730966632, -17.327998329247073 ], [ 34.96350425885521, -17.328139662506167 ], [ 34.963638890455776, -17.328287966480499 ], [ 34.963765256751422, -17.328442834695693 ], [ 34.963883011376232, -17.328603842685226 ], [ 34.963991831564719, -17.328770549153813 ], [ 34.96409141903667, -17.328942497186652 ], [ 34.964181500814739, -17.329119215501724 ], [ 34.964261829972877, -17.329300219741285 ], [ 34.964332186313328, -17.329485013799381 ], [ 34.964392376970423, -17.329673091181412 ], [ 34.964442236939426, -17.329863936392307 ], [ 34.964470767983819, -17.3300037865056 ], [ 34.960630932270384, -17.330690185640638 ] ] ] } }, -{ "type": "Feature", "properties": { "field": "1.11", "sub_field": "1.11C" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 34.961187884958441, -17.334400587778653 ], [ 34.960619385935466, -17.330692249633707 ], [ 34.964470767983819, -17.3300037865056 ], [ 34.964481629529139, -17.330057026349291 ], [ 34.964510446736824, -17.330251831815545 ], [ 34.964528609544658, -17.330447818850658 ], [ 34.964536068136539, -17.330644450274068 ], [ 34.964532802035059, -17.330841187137342 ], [ 34.964518820158055, -17.331037490201368 ], [ 34.964494160794402, -17.331232821414325 ], [ 34.964458891499589, -17.331426645386436 ], [ 34.964413108910819, -17.331618430857471 ], [ 34.964356938482574, -17.331807652152843 ], [ 34.964290534143089, -17.331993790624551 ], [ 34.964214077872739, -17.332176336072834 ], [ 34.964127779205612, -17.332354788144567 ], [ 34.964031874655497, -17.332528657704952 ], [ 34.963926627067856, -17.332697468178146 ], [ 34.963812324899642, -17.332860756853766 ], [ 34.963689281428891, -17.333018076155238 ], [ 34.963557833896161, -17.33316899486671 ], [ 34.963418342580404, -17.333313099315198 ], [ 34.963271189811508, -17.333449994504512 ], [ 34.96311677892249, -17.333579305198217 ], [ 34.962955533143941, -17.333700676948169 ], [ 34.962787894444006, -17.333813777066307 ], [ 34.962614322316931, -17.333918295536666 ], [ 34.962435292523566, -17.334013945865316 ], [ 34.962251295787105, -17.334100465865792 ], [ 34.962062836447977, -17.334177618377865 ], [ 34.961870431081294, -17.334245191917802 ], [ 34.961674607080617, -17.334303001258153 ], [ 34.961475901212289, -17.334350887935564 ], [ 34.961274858143774, -17.334388720685283 ], [ 34.961187884958441, -17.334400587778653 ] ] ] } }, -{ "type": "Feature", "properties": { "field": "1.14", "sub_field": "1.14C" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 34.96199524794266, -17.324405539234302 ], [ 34.964747977596112, -17.324162087220788 ], [ 34.964754107256297, -17.324228233923105 ], [ 34.964759198639079, -17.324362472761511 ], [ 34.964756968599289, -17.324496783565166 ], [ 34.964747423233277, -17.324630798198889 ], [ 34.964730588688205, -17.324764149338428 ], [ 34.964706511090462, -17.324896471477366 ], [ 34.964675256419525, -17.325027401928896 ], [ 34.964636910327144, -17.325156581819918 ], [ 34.96459157790283, -17.325283657074714 ], [ 34.964539383385976, -17.325408279385538 ], [ 34.964480469825446, -17.325530107167204 ], [ 34.964414998687616, -17.325648806493543 ], [ 34.964343149413992, -17.32576405201263 ], [ 34.964265118929369, -17.325875527838612 ], [ 34.964181121102321, -17.325982928417645 ], [ 34.964091386158998, -17.326085959365418 ], [ 34.963996160052147, -17.326184338274128 ], [ 34.963895703787074, -17.326277795486632 ], [ 34.963790292706257, -17.326366074835622 ], [ 34.96368021573462, -17.326448934345862 ], [ 34.963565774587678, -17.326526146897482 ], [ 34.9634472829445, -17.32659750084861 ], [ 34.963325065587895, -17.326662800615537 ], [ 34.963199457514115, -17.326721867208889 ], [ 34.963070803014624, -17.32677453872428 ], [ 34.962939454732314, -17.326820670786223 ], [ 34.962917097922038, -17.326827271055144 ], [ 34.96199524794266, -17.324405539234302 ] ] ] } }, -{ "type": "Feature", "properties": { "field": "1.14", "sub_field": "1.14A" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 34.96199524794266, -17.324405539234302 ], [ 34.959429692942393, -17.324632437480492 ], [ 34.959421977630143, -17.324549153958536 ], [ 34.959416890093451, -17.32441491459441 ], [ 34.959419124030532, -17.324280603456128 ], [ 34.959428673302277, -17.324146588682531 ], [ 34.959445511718769, -17.324013237599395 ], [ 34.959469593111187, -17.323880915712522 ], [ 34.9595008514585, -17.323749985705984 ], [ 34.959539201068687, -17.323620806447984 ], [ 34.959584536813644, -17.323493732007297 ], [ 34.959636734417636, -17.323369110682769 ], [ 34.959695650797968, -17.323247284048762 ], [ 34.95976112445738, -17.323128586018875 ], [ 34.95983297592673, -17.323013341930839 ], [ 34.959911008257158, -17.322901867654821 ], [ 34.959995007559861, -17.322794468727679 ], [ 34.960084743592546, -17.322691439515644 ], [ 34.96017997039052, -17.322593062407474 ], [ 34.960280426940905, -17.322499607040605 ], [ 34.960385837898102, -17.322411329562119 ], [ 34.960495914338523, -17.322328471926756 ], [ 34.960610354552486, -17.322251261233856 ], [ 34.960728844871134, -17.322179909104896 ], [ 34.960851060526181, -17.322114611103654 ], [ 34.960976666540034, -17.322055546200151 ], [ 34.96108398180769, -17.322011611539249 ], [ 34.96199524794266, -17.324405539234302 ] ] ] } }, -{ "type": "Feature", "properties": { "field": "1.14", "sub_field": "1.14B" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 34.964747977596112, -17.324162087220788 ], [ 34.96199524794266, -17.324405539234302 ], [ 34.96108398180769, -17.322011611539249 ], [ 34.961105318643774, -17.322002876280248 ], [ 34.96123666422077, -17.321956745701957 ], [ 34.961370343273025, -17.321917280899935 ], [ 34.961505989407819, -17.321884590038856 ], [ 34.961643230841815, -17.321858762717138 ], [ 34.961781691419915, -17.321839869721348 ], [ 34.961920991646146, -17.321827962832202 ], [ 34.962060749723705, -17.32182307468274 ], [ 34.962200582601191, -17.321825218668891 ], [ 34.96234010702242, -17.321834388912762 ], [ 34.962478940576688, -17.321850560278769 ], [ 34.962616702746779, -17.321873688442555 ], [ 34.962753015951741, -17.321903710012467 ], [ 34.962887506581652, -17.321940542703295 ], [ 34.963019806021485, -17.321984085561798 ], [ 34.963149551661324, -17.32203421924336 ], [ 34.963276387890048, -17.322090806339091 ], [ 34.963399967069982, -17.322153691752426 ], [ 34.963519950489498, -17.322222703124122 ], [ 34.963636009291434, -17.32229765130468 ], [ 34.963747825374263, -17.322378330872727 ], [ 34.963855092263934, -17.322464520697949 ], [ 34.963957515953815, -17.322555984547151 ], [ 34.964054815710554, -17.322652471731679 ], [ 34.964146724843467, -17.322753717794438 ], [ 34.96423299143548, -17.322859445234723 ], [ 34.964313379033676, -17.322969364268623 ], [ 34.96438766729743, -17.323083173623363 ], [ 34.964455652602332, -17.323200561362906 ], [ 34.964517148598397, -17.323321205742843 ], [ 34.964571986720919, -17.323444776092288 ], [ 34.964620016652553, -17.323570933720035 ], [ 34.964661106735534, -17.323699332842892 ], [ 34.964695144332502, -17.323829621533367 ], [ 34.96472203613552, -17.323961442684205 ], [ 34.964741708421862, -17.324094434987114 ], [ 34.964747977596112, -17.324162087220788 ] ] ] } }, -{ "type": "Feature", "properties": { "field": "1.13", "sub_field": "1.13C" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 34.954371207002062, -17.320983642849392 ], [ 34.954988844373986, -17.325074100205931 ], [ 34.950800585931511, -17.325458685865403 ], [ 34.950798085682457, -17.325441774613314 ], [ 34.95077858621412, -17.32523117967385 ], [ 34.950770588566108, -17.325019893135909 ], [ 34.950774114620295, -17.324808494126536 ], [ 34.9507891546723, -17.324597562079067 ], [ 34.950815667458698, -17.324387675145019 ], [ 34.950853580270376, -17.324179408609258 ], [ 34.950902789152352, -17.323973333313319 ], [ 34.950963159189094, -17.323770014090702 ], [ 34.951034524874757, -17.323570008218802 ], [ 34.951116690567204, -17.323373863891501 ], [ 34.951209431024573, -17.323182118716737 ], [ 34.95131249202305, -17.322995298242994 ], [ 34.951425591053983, -17.322813914518999 ], [ 34.951548418098469, -17.322638464690389 ], [ 34.951680636477363, -17.322469429637149 ], [ 34.951821883774279, -17.322307272655788 ], [ 34.951971772829168, -17.322152438189679 ], [ 34.952129892799526, -17.322005350611001 ], [ 34.952295810286643, -17.321866413057819 ], [ 34.952469070523492, -17.321736006329285 ], [ 34.952649198621224, -17.321614487842119 ], [ 34.952835700870786, -17.321502190651106 ], [ 34.95302806609596, -17.321399422536551 ], [ 34.953225767054377, -17.32130646516076 ], [ 34.953428261882415, -17.321223573296251 ], [ 34.953634995580217, -17.321150974127637 ], [ 34.953845401532618, -17.321088866629136 ], [ 34.95405890306192, -17.321037421019309 ], [ 34.954274915008149, -17.320996778294667 ], [ 34.954371207002062, -17.320983642849392 ] ] ] } }, -{ "type": "Feature", "properties": { "field": "1.13", "sub_field": "1.13A" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 34.955577723835631, -17.328974101137693 ], [ 34.954988844373986, -17.325074100205931 ], [ 34.959167806457437, -17.324690368182022 ], [ 34.959171141296942, -17.324726367099057 ], [ 34.959179148473709, -17.324937652338512 ], [ 34.959175632074597, -17.325149050522835 ], [ 34.959160601698166, -17.325359982227685 ], [ 34.95913409850187, -17.32556986930533 ], [ 34.959096195089728, -17.325778136469321 ], [ 34.95904699531377, -17.325984212871251 ], [ 34.958986633989731, -17.3261875336655 ], [ 34.958915276527989, -17.326387541557416 ], [ 34.958833118480612, -17.326583688331024 ], [ 34.958740385005683, -17.326775436351578 ], [ 34.958637330250511, -17.326962260039437 ], [ 34.958524236655357, -17.327143647310606 ], [ 34.958401414179555, -17.327319100980638 ], [ 34.958269199452211, -17.327488140127418 ], [ 34.958127954849679, -17.327650301409609 ], [ 34.957978067502509, -17.327805140336711 ], [ 34.957819948234501, -17.327952232487675 ], [ 34.957654030436665, -17.328091174674338 ], [ 34.957480768879407, -17.328221586046784 ], [ 34.957300638466052, -17.328343109137428 ], [ 34.957114132931054, -17.328455410841006 ], [ 34.956921763486584, -17.328558183327818 ], [ 34.956724057421276, -17.328651144887623 ], [ 34.956521556654678, -17.328734040702091 ], [ 34.956314816251719, -17.328806643543295 ], [ 34.95610440290104, -17.328868754396808 ], [ 34.955890893361392, -17.328920203007311 ], [ 34.955674872880472, -17.3289608483454 ], [ 34.955577723835631, -17.328974101137693 ] ] ] } }, -{ "type": "Feature", "properties": { "field": "1.13", "sub_field": "1.13D" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 34.954694649227697, -17.320949807844581 ], [ 34.954492845332638, -17.320967049843368 ], [ 34.954371207002062, -17.320983642849392 ], [ 34.954988844373986, -17.325074100205931 ], [ 34.959167806457437, -17.324690368182022 ], [ 34.959151632530556, -17.324515773917259 ], [ 34.9591206756849, -17.324306450007203 ], [ 34.959078355647378, -17.324098969102089 ], [ 34.959024788449319, -17.323893899881941 ], [ 34.958960120947573, -17.323691804414914 ], [ 34.958884530421642, -17.323493236616837 ], [ 34.958798224087445, -17.323298740733154 ], [ 34.958701438529012, -17.323108849847333 ], [ 34.958594439049804, -17.322924084419899 ], [ 34.958477518945266, -17.322744950862091 ], [ 34.958350998698776, -17.322571940148009 ], [ 34.958215225103011, -17.322405526469097 ], [ 34.958070570309403, -17.32224616593458 ], [ 34.957917430807903, -17.322094295321598 ], [ 34.957756226340365, -17.321950330878167 ], [ 34.957587398750036, -17.321814667182498 ], [ 34.957411410770504, -17.32168767606171 ], [ 34.957228744757572, -17.321569705572823 ], [ 34.957039901367345, -17.321461079048959 ], [ 34.956845398184079, -17.321362094213331 ], [ 34.956645768301847, -17.321273022363293 ], [ 34.956441558863588, -17.321194107626912 ], [ 34.956233329561812, -17.321125566293954 ], [ 34.956021651104756, -17.321067586223158 ], [ 34.955807103652589, -17.321020326327432 ], [ 34.955590275227564, -17.320983916138314 ], [ 34.955489834358993, -17.320972213087796 ], [ 34.955350371836573, -17.320966445369216 ], [ 34.954694649227697, -17.320949807844581 ] ] ] } }, -{ "type": "Feature", "properties": { "field": "1.12", "sub_field": "1.12D" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 34.953639390624843, -17.331963065750791 ], [ 34.952025040374643, -17.329583299853645 ], [ 34.952098160034545, -17.329533973616417 ], [ 34.952228758810662, -17.32945534029977 ], [ 34.952363463216741, -17.329383379493198 ], [ 34.952501904045853, -17.329318288427501 ], [ 34.952643701851599, -17.329260245504308 ], [ 34.952788467988015, -17.32920940980728 ], [ 34.952935805674699, -17.329165920666156 ], [ 34.953085311084202, -17.329129897274889 ], [ 34.953236574448724, -17.329101438365029 ], [ 34.953389181183084, -17.329080621935237 ], [ 34.953542713020894, -17.329067505037447 ], [ 34.953696749160791, -17.329062123620638 ], [ 34.953850867419632, -17.329064492432295 ], [ 34.954004645389389, -17.329074604977993 ], [ 34.954157661594884, -17.32909243353928 ], [ 34.954309496648627, -17.32911792924957 ], [ 34.954459734400203, -17.329151022228181 ], [ 34.954607963076747, -17.329191621771777 ], [ 34.954753776411302, -17.329239616603008 ], [ 34.954896774756236, -17.329294875175442 ], [ 34.955036566178386, -17.329357246034085 ], [ 34.955172767533284, -17.329426558230505 ], [ 34.955305005515051, -17.329502621791256 ], [ 34.955432917679516, -17.329585228238543 ], [ 34.955556153437534, -17.329674151161573 ], [ 34.955674375015825, -17.329769146837066 ], [ 34.955787258382678, -17.329869954897095 ], [ 34.955894494136068, -17.329976299042801 ], [ 34.955995788351686, -17.330087887801479 ], [ 34.956090863388482, -17.330204415325397 ], [ 34.956179458649743, -17.330325562230108 ], [ 34.956244881516085, -17.330425794331145 ], [ 34.953639390624843, -17.331963065750791 ] ] ] } }, -{ "type": "Feature", "properties": { "field": "1.12", "sub_field": "1.12B" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 34.953639390624843, -17.331963065750791 ], [ 34.955236330182871, -17.33431716598372 ], [ 34.955224718727678, -17.334324157333015 ], [ 34.955090012251418, -17.334396120283976 ], [ 34.954951568916741, -17.334461213401692 ], [ 34.954809768197514, -17.334519258262056 ], [ 34.954664998771598, -17.334570095760149 ], [ 34.954517657455462, -17.334613586546542 ], [ 34.954368148116309, -17.33464961140923 ], [ 34.954216880565006, -17.334678071600539 ], [ 34.954064269432592, -17.334698889107798 ], [ 34.953910733033638, -17.334712006867239 ], [ 34.953756692219486, -17.334717388920446 ], [ 34.9536025692245, -17.334715020512974 ], [ 34.953448786508559, -17.334704908134796 ], [ 34.953295765598902, -17.334687079502569 ], [ 34.953143925934526, -17.334661583483619 ], [ 34.952993683716358, -17.334628489962032 ], [ 34.952845450766205, -17.334587889647075 ], [ 34.952699633397849, -17.334539893824552 ], [ 34.952556631303125, -17.334484634051776 ], [ 34.952416836456244, -17.334422261796878 ], [ 34.952280632039226, -17.334352948023589 ], [ 34.952148391391503, -17.334276882722619 ], [ 34.952020476986448, -17.334194274390857 ], [ 34.951897239437749, -17.334105349459705 ], [ 34.95177901653831, -17.33401035167449 ], [ 34.951666132334324, -17.333909541426202 ], [ 34.951558896236968, -17.333803195037721 ], [ 34.951457602174337, -17.333691604006312 ], [ 34.951362527785797, -17.333575074204578 ], [ 34.951273933660957, -17.333453925041969 ], [ 34.951229068073914, -17.333385185468085 ], [ 34.953639390624843, -17.331963065750791 ] ] ] } }, -{ "type": "Feature", "properties": { "field": "1.12", "sub_field": "1.12C" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 34.952025040374643, -17.329583299853645 ], [ 34.953639390624843, -17.331963065750791 ], [ 34.951229068073914, -17.333385185468085 ], [ 34.951192062625495, -17.333328488589178 ], [ 34.951117139075599, -17.333199108667912 ], [ 34.951049368362995, -17.333066139908343 ], [ 34.9509889362322, -17.332929946777021 ], [ 34.950936008311515, -17.33279090257782 ], [ 34.950890729659179, -17.332649388428607 ], [ 34.950853224365929, -17.332505792216605 ], [ 34.950823595214999, -17.332360507535061 ], [ 34.95080192340064, -17.332213932604489 ], [ 34.950788268305715, -17.332066469180983 ], [ 34.950782667339162, -17.331918521455069 ], [ 34.950785135833648, -17.331770494943793 ], [ 34.950795667003739, -17.331622795379207 ], [ 34.950814231964728, -17.33147582759624 ], [ 34.950840779812026, -17.331329994423033 ], [ 34.950875237760897, -17.331185695576949 ], [ 34.950917511346177, -17.331043326568849 ], [ 34.950967484681314, -17.330903277619115 ], [ 34.951025020776335, -17.330765932588115 ], [ 34.951089961913382, -17.330631667924091 ], [ 34.951162130079283, -17.330500851631427 ], [ 34.951241327453488, -17.330373842262006 ], [ 34.951327336950605, -17.33025098793253 ], [ 34.951419922815354, -17.330132625370453 ], [ 34.951518831268977, -17.330019078991043 ], [ 34.951623791204831, -17.329910660008423 ], [ 34.95173451493163, -17.329807665582468 ], [ 34.951850698961884, -17.329710378004542 ], [ 34.951972024843911, -17.32961906392379 ], [ 34.952025040374643, -17.329583299853645 ] ] ] } }, -{ "type": "Feature", "properties": { "field": "1.17", "sub_field": "1.17B" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 34.951827023263888, -17.31509680237874 ], [ 34.954026875506962, -17.314612148368443 ], [ 34.95460479566993, -17.316838550983693 ], [ 34.954582300191881, -17.316843971690474 ], [ 34.954464390420419, -17.316866156967695 ], [ 34.954345433420492, -17.316882384371478 ], [ 34.954225755255891, -17.316892609420933 ], [ 34.954105683967548, -17.316896804087772 ], [ 34.953985548674133, -17.316894956873099 ], [ 34.953865678669999, -17.316887072839005 ], [ 34.953746402522292, -17.316873173594651 ], [ 34.953628047170405, -17.316853297237095 ], [ 34.953510937029606, -17.316827498246788 ], [ 34.953395393101793, -17.316795847338348 ], [ 34.953281732095512, -17.316758431266628 ], [ 34.953170265557723, -17.316715352588957 ], [ 34.953061299019829, -17.316666729384 ], [ 34.95295513116006, -17.316612694928025 ], [ 34.952852052984774, -17.316553397329692 ], [ 34.95275234703076, -17.316488999123926 ], [ 34.952656286590667, -17.316419676826428 ], [ 34.952564134963964, -17.316345620449805 ], [ 34.95247614473513, -17.316267032982701 ], [ 34.952392557081382, -17.316184129833367 ], [ 34.952313601111499, -17.316097138239147 ], [ 34.952239493237947, -17.31600629664365 ], [ 34.952170436583643, -17.315911854043023 ], [ 34.952106620425212, -17.315814069303528 ], [ 34.952048219674296, -17.31571321045185 ], [ 34.95199539439816, -17.315609553940433 ], [ 34.951948289380944, -17.315503383889688 ], [ 34.951907033726947, -17.315394991309187 ], [ 34.951871740506874, -17.315284673299935 ], [ 34.951842506447925, -17.315172732240043 ], [ 34.951827023263888, -17.31509680237874 ] ] ] } }, -{ "type": "Feature", "properties": { "field": "1.17", "sub_field": "1.17D" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 34.95629602563065, -17.314112227198336 ], [ 34.954026875506962, -17.314612148368443 ], [ 34.953494750340077, -17.312562168216999 ], [ 34.953582389133082, -17.312541050248115 ], [ 34.953700296363273, -17.312518865749148 ], [ 34.953819250693684, -17.312502638999813 ], [ 34.953938926089734, -17.312492414473798 ], [ 34.954058994540823, -17.312488220193675 ], [ 34.95417912695936, -17.312490067654078 ], [ 34.954298994082514, -17.312497951790249 ], [ 34.954418267374685, -17.312511850991893 ], [ 34.954536619927801, -17.312531727162444 ], [ 34.954653727357204, -17.312557525823461 ], [ 34.954769268690725, -17.312589176263966 ], [ 34.954882927248256, -17.312626591734215 ], [ 34.954994391509658, -17.312669669683476 ], [ 34.955103355968461, -17.312718292041072 ], [ 34.955209521969209, -17.312772325539996 ], [ 34.955312598525929, -17.312831622082093 ], [ 34.955412303119552, -17.312896019143999 ], [ 34.955508362472351, -17.312965340222579 ], [ 34.955600513296758, -17.313039395318516 ], [ 34.955688503017065, -17.313117981457257 ], [ 34.955772090461657, -17.313200883245095 ], [ 34.955851046524032, -17.313287873459569 ], [ 34.955925154790734, -17.313378713672218 ], [ 34.955994212134506, -17.313473154902031 ], [ 34.956058029271169, -17.313570938297769 ], [ 34.956116431278367, -17.313671795847476 ], [ 34.956169258075107, -17.313775451112978 ], [ 34.956216364860559, -17.31388161998748 ], [ 34.956257622511032, -17.313990011474338 ], [ 34.956292917933979, -17.3141003284845 ], [ 34.95629602563065, -17.314112227198336 ] ] ] } }, -{ "type": "Feature", "properties": { "field": "1.17", "sub_field": "1.17C" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 34.954026875506962, -17.314612148368443 ], [ 34.951827023263888, -17.31509680237874 ], [ 34.951819411668815, -17.315059474955834 ], [ 34.951802519460308, -17.314945211880861 ], [ 34.951791876111791, -17.314830256204942 ], [ 34.951787510784577, -17.314714923015753 ], [ 34.951789435432069, -17.314599528435117 ], [ 34.951797644767126, -17.314484388752604 ], [ 34.951812116276713, -17.314369819558468 ], [ 34.95183281028369, -17.314256134878732 ], [ 34.951859670055732, -17.314143646314449 ], [ 34.951892621960923, -17.314032662187568 ], [ 34.95193157566974, -17.31392348669598 ], [ 34.951976424402709, -17.313816419079632 ], [ 34.952027045223218, -17.313711752800415 ], [ 34.952083299374593, -17.313609774737873 ], [ 34.952145032660468, -17.313510764402817 ], [ 34.952212075867564, -17.313414993171374 ], [ 34.952284245229521, -17.313322723541155 ], [ 34.952361342930651, -17.31323420841176 ], [ 34.952443157648254, -17.313149690391761 ], [ 34.952529465131775, -17.313069401133724 ], [ 34.95262002881752, -17.312993560699343 ], [ 34.952714600477137, -17.312922376956276 ], [ 34.952812920897877, -17.312856045008573 ], [ 34.952914720593142, -17.312794746661851 ], [ 34.95301972054105, -17.312738649925091 ], [ 34.953127632949226, -17.31268790855022 ], [ 34.953238162043483, -17.312642661610678 ], [ 34.953351004878527, -17.312603033120357 ], [ 34.953465852168193, -17.312569131693717 ], [ 34.953494750340077, -17.312562168216999 ], [ 34.954026875506962, -17.314612148368443 ] ] ] } }, -{ "type": "Feature", "properties": { "field": "1.16", "sub_field": "1.16D" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 34.957182302821295, -17.318536599276882 ], [ 34.955074672069358, -17.318897254404234 ], [ 34.954661651915764, -17.316980166566335 ], [ 34.954671838084693, -17.316977712023718 ], [ 34.954779599945176, -17.316957436047787 ], [ 34.954888318856462, -17.316942605057037 ], [ 34.954997696836713, -17.316933259699976 ], [ 34.955107434097982, -17.316929425589755 ], [ 34.955217229867827, -17.316931113234073 ], [ 34.955326783213508, -17.316938318006393 ], [ 34.955435793866819, -17.316951020158577 ], [ 34.955543963046949, -17.316969184875028 ], [ 34.955650994279274, -17.316992762368198 ], [ 34.955756594207948, -17.317021688014929 ], [ 34.955860473399802, -17.31705588253363 ], [ 34.955962347137593, -17.3170952522016 ], [ 34.9560619362003, -17.317139689111766 ], [ 34.956158967628355, -17.317189071468594 ], [ 34.956253175471744, -17.317243263921736 ], [ 34.956344301518882, -17.317302117937068 ], [ 34.956432096004264, -17.317365472203772 ], [ 34.956516318293041, -17.317433153076365 ], [ 34.956596737540529, -17.317504975050671 ], [ 34.956673133324919, -17.317580741272227 ], [ 34.956745296251377, -17.317660244075764 ], [ 34.956813028526042, -17.317743265554331 ], [ 34.956876144498082, -17.31782957815658 ], [ 34.956934471168672, -17.317918945310385 ], [ 34.956987848665094, -17.318011122071191 ], [ 34.957036130679015, -17.318105855793377 ], [ 34.957079184867595, -17.318202886822661 ], [ 34.957116893216238, -17.31830194920779 ], [ 34.957149152362099, -17.318402771429408 ], [ 34.957175873877567, -17.318505077144206 ], [ 34.957182302821295, -17.318536599276882 ] ] ] } }, -{ "type": "Feature", "properties": { "field": "1.16", "sub_field": "1.16B" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 34.954859932451754, -17.320941430306988 ], [ 34.954821771081448, -17.320936983748155 ], [ 34.954713599562865, -17.320918818875519 ], [ 34.954606566065088, -17.320895241107298 ], [ 34.954500963968805, -17.320866315069665 ], [ 34.954397082730935, -17.320832120048479 ], [ 34.954295207091114, -17.320792749771989 ], [ 34.95419561629123, -17.320748312153899 ], [ 34.954098583309857, -17.320698928997505 ], [ 34.954004374114035, -17.320644735661915 ], [ 34.95391324693022, -17.320585880690935 ], [ 34.953825451536296, -17.320522525405838 ], [ 34.953741228577087, -17.320454843463274 ], [ 34.95366080890463, -17.320383020379118 ], [ 34.953584412945403, -17.320307253020022 ], [ 34.953512250096132, -17.320227749063722 ], [ 34.953444518149837, -17.320144726429767 ], [ 34.95338140275377, -17.320058412682187 ], [ 34.953323076900439, -17.319969044405653 ], [ 34.95326970045361, -17.319876866557024 ], [ 34.953221419710069, -17.319782131793826 ], [ 34.953178366998799, -17.319685099781751 ], [ 34.953140660318205, -17.319586036482843 ], [ 34.953108403012827, -17.31948521342645 ], [ 34.953081683490133, -17.319382906965 ], [ 34.953060574978281, -17.319279397516461 ], [ 34.953055168419084, -17.319242829332627 ], [ 34.955074672069358, -17.318897254404234 ], [ 34.955511377817565, -17.320924282071903 ], [ 34.955477979112175, -17.320930566296397 ], [ 34.955369257970489, -17.320945397833995 ], [ 34.95529630929034, -17.320951630797449 ], [ 34.954859932451754, -17.320941430306988 ] ] ] } }, -{ "type": "Feature", "properties": { "field": "1.16", "sub_field": "1.16A" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 34.955074672069358, -17.318897254404234 ], [ 34.957182302821295, -17.318536599276882 ], [ 34.95719698451262, -17.318608585942435 ], [ 34.957212426395785, -17.318713014116351 ], [ 34.95722215719276, -17.318818075437807 ], [ 34.957226150222589, -17.318923481942836 ], [ 34.957224394530947, -17.319028944720859 ], [ 34.957216894920172, -17.319134174706594 ], [ 34.957203671936284, -17.319238883472298 ], [ 34.957184761812783, -17.319342784018371 ], [ 34.957160216371385, -17.319445591560026 ], [ 34.957130102880129, -17.319547024307777 ], [ 34.957094503869122, -17.319646804239927 ], [ 34.957053516904331, -17.31974465786454 ], [ 34.957007254320388, -17.319840316969159 ], [ 34.956955842912699, -17.319933519355892 ], [ 34.956899423589938, -17.320024009560218 ], [ 34.956838150988013, -17.320111539551114 ], [ 34.956772193046199, -17.320195869411073 ], [ 34.956701730546861, -17.320276767993608 ], [ 34.956626956620106, -17.320354013556926 ], [ 34.956548076214318, -17.320427394371769 ], [ 34.956465305534444, -17.320496709301732 ], [ 34.95637887144953, -17.320561768354683 ], [ 34.956289010870705, -17.320622393203507 ], [ 34.956195970101952, -17.320678417675055 ], [ 34.956100004164895, -17.320729688205471 ], [ 34.956001376099834, -17.32077606426137 ], [ 34.955900356244626, -17.320817418724921 ], [ 34.955797221493775, -17.320853638242355 ], [ 34.955692254539301, -17.320884623534763 ], [ 34.955585743095874, -17.320910289670167 ], [ 34.955511377817565, -17.320924282071903 ], [ 34.955074672069358, -17.318897254404234 ] ] ] } }, -{ "type": "Feature", "properties": { "field": "6.2", "sub_field": "6.2D" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 34.933686532028823, -17.34741850738671 ], [ 34.930918907739319, -17.350619195960071 ], [ 34.930749371120577, -17.350482950059067 ], [ 34.9305831090279, -17.350334454986911 ], [ 34.930425167481324, -17.35017780671259 ], [ 34.930275979390657, -17.350013434618159 ], [ 34.930135953668632, -17.349841789256359 ], [ 34.930005474110168, -17.349663341115505 ], [ 34.929884898340468, -17.349478579329688 ], [ 34.929774556834893, -17.349288010337819 ], [ 34.929674752013298, -17.349092156495377 ], [ 34.929585757411353, -17.348891554642378 ], [ 34.92950781693105, -17.348686754631803 ], [ 34.929441144172401, -17.348478317822277 ], [ 34.9293859218484, -17.348266815539219 ], [ 34.929342301284514, -17.348052827508759 ], [ 34.929310402004319, -17.347836940268596 ], [ 34.92929031140222, -17.347619745560188 ], [ 34.929282084504514, -17.347401838706777 ], [ 34.929285743818809, -17.347183816981492 ], [ 34.92930127927297, -17.346966277970296 ], [ 34.929328648243064, -17.346749817933908 ], [ 34.929367775670698, -17.346535030173548 ], [ 34.929418554269198, -17.34632250340475 ], [ 34.929480844818194, -17.346112820143716 ], [ 34.929554476545505, -17.345906555110741 ], [ 34.929639247595759, -17.345704273655056 ], [ 34.929734925584, -17.345506530205324 ], [ 34.929841248233032, -17.345313866750129 ], [ 34.929957924092612, -17.34512681135249 ], [ 34.930084633338602, -17.344945876702717 ], [ 34.930221028649861, -17.34477155871328 ], [ 34.930343832257769, -17.344630621189719 ], [ 34.933686532028823, -17.34741850738671 ] ] ] } }, -{ "type": "Feature", "properties": { "field": "6.2", "sub_field": "6.2A" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 34.936458268544008, -17.344213063126752 ], [ 34.933686532028823, -17.34741850738671 ], [ 34.930343832257769, -17.344630621189719 ], [ 34.930366736160408, -17.344604335159747 ], [ 34.93052135648437, -17.344444664371434 ], [ 34.930684465810785, -17.344292983975372 ], [ 34.93085561706534, -17.344149709696961 ], [ 34.931034341135764, -17.344015234220802 ], [ 34.931220148157657, -17.343889926114542 ], [ 34.931412528857074, -17.343774128818861 ], [ 34.931610955946326, -17.343668159706397 ], [ 34.931814885569068, -17.343572309212028 ], [ 34.93202375879077, -17.343486840037041 ], [ 34.932237003130467, -17.34341198642927 ], [ 34.932454034129648, -17.343347953541233 ], [ 34.932674256953796, -17.343294916868011 ], [ 34.932897068022541, -17.343253021766351 ], [ 34.933121856663583, -17.343222383056439 ], [ 34.933348006786112, -17.343203084707323 ], [ 34.933574898569034, -17.343195179606763 ], [ 34.933801910159438, -17.343198689416489 ], [ 34.934028419376581, -17.343213604512808 ], [ 34.934253805416724, -17.343239884013023 ], [ 34.934477450554319, -17.343277455887517 ], [ 34.93469874183473, -17.343326217157209 ], [ 34.934917072753706, -17.343386034175726 ], [ 34.935131844919461, -17.343456742995702 ], [ 34.935342469692365, -17.343538149818031 ], [ 34.935548369797949, -17.343630031523016 ], [ 34.935748980908848, -17.343732136281769 ], [ 34.935943753191204, -17.343844184246329 ], [ 34.936132152811439, -17.343965868316541 ], [ 34.936313663399275, -17.34409685498165 ], [ 34.936458268544008, -17.344213063126752 ] ] ] } }, -{ "type": "Feature", "properties": { "field": "6.1", "sub_field": "6.1C" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 34.924014427740026, -17.344857153121342 ], [ 34.926975301324241, -17.341756277068452 ], [ 34.930206135800262, -17.344526394378821 ], [ 34.93019316385849, -17.344541281858941 ], [ 34.93003854325503, -17.344700952461203 ], [ 34.929875433121211, -17.344852632448269 ], [ 34.929704280527545, -17.344995906055839 ], [ 34.929525554592857, -17.345130380560647 ], [ 34.929339745198348, -17.345255687357142 ], [ 34.929147361644837, -17.345371482967963 ], [ 34.92894893125672, -17.34547744998568 ], [ 34.928744997936427, -17.345573297942956 ], [ 34.928536120673414, -17.345658764108965 ], [ 34.928322872011776, -17.345733614209617 ], [ 34.928105836480654, -17.345797643070011 ], [ 34.92788560899178, -17.345850675176816 ], [ 34.927662793208455, -17.345892565159698 ], [ 34.927437999890635, -17.345923198189734 ], [ 34.927211845220448, -17.345942490294355 ], [ 34.926984949112807, -17.345950388587646 ], [ 34.926757933515866, -17.345946871415304 ], [ 34.926531420705857, -17.345931948414133 ], [ 34.926306031580957, -17.345905660485595 ], [ 34.926082383959056, -17.345868079683793 ], [ 34.925861090883807, -17.345819309017926 ], [ 34.925642758943994, -17.345759482169868 ], [ 34.925427986610323, -17.345688763127814 ], [ 34.9252173625948, -17.345607345736642 ], [ 34.925011464236583, -17.345515453166517 ], [ 34.92481085591924, -17.345413337301096 ], [ 34.924616087523482, -17.345301278046954 ], [ 34.92442769291965, -17.345179582566296 ], [ 34.924246188504156, -17.34504858443481 ], [ 34.924072071783883, -17.344908642727177 ], [ 34.924014427740026, -17.344857153121342 ] ] ] } }, -{ "type": "Feature", "properties": { "field": "6.1", "sub_field": "6.1A" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 34.929874621707043, -17.3387198647094 ], [ 34.926975301324241, -17.341756277068452 ], [ 34.923737722930689, -17.338980377523537 ], [ 34.923844300080475, -17.338870324057513 ], [ 34.924007410942906, -17.33871864893819 ], [ 34.924178563186587, -17.338575380261723 ], [ 34.92435728769653, -17.338440910697358 ], [ 34.924543094607159, -17.338315608796531 ], [ 34.924735474644862, -17.338199817982947 ], [ 34.924933900523754, -17.338093855611472 ], [ 34.925137828390824, -17.337998012098549 ], [ 34.92534669931635, -17.33791255012633 ], [ 34.925559940825678, -17.337837703922908 ], [ 34.925776968468028, -17.33777367862054 ], [ 34.925997187418091, -17.337720649693534 ], [ 34.92621999410612, -17.337678762477399 ], [ 34.926444777871808, -17.337648131770756 ], [ 34.926670922637705, -17.337628841520697 ], [ 34.926897808597396, -17.337620944592842 ], [ 34.927124813913892, -17.337624462626497 ], [ 34.927351316423618, -17.337639385975457 ], [ 34.927576695341251, -17.337665673734445 ], [ 34.927800332960729, -17.337703253851203 ], [ 34.928021616347976, -17.33775202332404 ], [ 34.928239939020372, -17.337811848484161 ], [ 34.928454702608725, -17.337882565361848 ], [ 34.928665318496876, -17.337963980135974 ], [ 34.928871209434661, -17.338055869664995 ], [ 34.929071811119861, -17.338157982098618 ], [ 34.929266573744414, -17.338270037567831 ], [ 34.929454963501193, -17.338391728951922 ], [ 34.929636464046908, -17.338522722720082 ], [ 34.929810577917074, -17.338662659845419 ], [ 34.929874621707043, -17.3387198647094 ] ] ] } }, -{ "type": "Feature", "properties": { "field": "6.1", "sub_field": "6.1D" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 34.926975301324241, -17.341756277068452 ], [ 34.924014427740026, -17.344857153121342 ], [ 34.923905820012344, -17.344760141032754 ], [ 34.923747888881501, -17.344603486403877 ], [ 34.923598711272561, -17.344439108239992 ], [ 34.923458696069524, -17.344267457110487 ], [ 34.923328227038496, -17.344089003519457 ], [ 34.92320766177577, -17.343904236615927 ], [ 34.923097330727906, -17.343713662852821 ], [ 34.922997536286125, -17.343517804598687 ], [ 34.922908551957605, -17.343317198705623 ], [ 34.922830621616164, -17.343112395037664 ], [ 34.922763958834061, -17.342903954963422 ], [ 34.922708746296955, -17.342692449817278 ], [ 34.922665135303461, -17.342478459333183 ], [ 34.922633245350909, -17.342262570055521 ], [ 34.922613163808208, -17.342045373731359 ], [ 34.922604945676802, -17.341827465688315 ], [ 34.922608613440303, -17.341609443202778 ], [ 34.922624157003398, -17.341391903862778 ], [ 34.922651533719979, -17.341175443929924 ], [ 34.922690668510434, -17.34096065670515 ], [ 34.922741454067939, -17.340748130902483 ], [ 34.922803751153019, -17.340538449035467 ], [ 34.922877388975664, -17.340332185820596 ], [ 34.922962165663776, -17.34012990660208 ], [ 34.92305784881701, -17.339932165802466 ], [ 34.923164176144006, -17.339739505403038 ], [ 34.923280856181734, -17.33955245345847 ], [ 34.923407569094621, -17.339371522649586 ], [ 34.923543967551495, -17.339197208878335 ], [ 34.923689677677785, -17.339029989908727 ], [ 34.923737722930689, -17.338980377523537 ], [ 34.926975301324241, -17.341756277068452 ] ] ] } }, -{ "type": "Feature", "properties": { "field": "2.5", "sub_field": "2.5C" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 34.917570487117061, -17.339711118027701 ], [ 34.920240082361659, -17.336946735747041 ], [ 34.923199307657669, -17.339448856263918 ], [ 34.923071705624515, -17.33958061908611 ], [ 34.922923099879576, -17.339718804051945 ], [ 34.922767167458396, -17.339849329976413 ], [ 34.922604335762102, -17.339971839080217 ], [ 34.922435051105928, -17.340085995557583 ], [ 34.922259777495817, -17.340191486496835 ], [ 34.922078995356557, -17.340288022738303 ], [ 34.921893200214804, -17.340375339667009 ], [ 34.921702901340709, -17.340453197938189 ], [ 34.921508620351901, -17.340521384133421 ], [ 34.921310889783442, -17.340579711345818 ], [ 34.921110251627987, -17.340628019692403 ], [ 34.920907255849897, -17.340666176752553 ], [ 34.920702458877493, -17.34069407793098 ], [ 34.920496422077605, -17.340711646744563 ], [ 34.920289710216586, -17.340718835032121 ], [ 34.920082889911853, -17.3407156230864 ], [ 34.919876528078532, -17.340702019708203 ], [ 34.919671190375219, -17.34067806218227 ], [ 34.91946743965304, -17.340643816175103 ], [ 34.919265834412677, -17.340599375555005 ], [ 34.919066927273107, -17.340544862134671 ], [ 34.918871263456573, -17.340480425337375 ], [ 34.918679379293778, -17.340406241787306 ], [ 34.918491800753571, -17.34032251482536 ], [ 34.918309042000999, -17.340229473951673 ], [ 34.918131603987675, -17.340127374196545 ], [ 34.917959973078531, -17.340016495421217 ], [ 34.917794619718457, -17.33989714155069 ], [ 34.917635997142689, -17.339769639740499 ], [ 34.917570487117061, -17.339711118027701 ] ] ] } }, -{ "type": "Feature", "properties": { "field": "2.5", "sub_field": "2.5A" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 34.922942052048946, -17.33414882953203 ], [ 34.920240082361659, -17.336946735747041 ], [ 34.917269399022985, -17.334434927085208 ], [ 34.917287823506996, -17.334413783914261 ], [ 34.91742869674966, -17.334268322621668 ], [ 34.917577303095733, -17.334130141694978 ], [ 34.917733235223096, -17.33399961986192 ], [ 34.917896065733828, -17.333877114856964 ], [ 34.918065348325705, -17.333762962440996 ], [ 34.918240619015357, -17.333657475481164 ], [ 34.91842139741005, -17.333560943093559 ], [ 34.918607188024126, -17.333473629850932 ], [ 34.918797481637021, -17.33339577505766 ], [ 34.91899175668879, -17.333327592094061 ], [ 34.919189480709392, -17.333269267831611 ], [ 34.919390111777922, -17.333220962120961 ], [ 34.91959310000766, -17.333182807353882 ], [ 34.919797889052994, -17.333154908100525 ], [ 34.920003917633906, -17.333137340822887 ], [ 34.920210621074162, -17.333130153665365 ], [ 34.920417432848552, -17.333133366322823 ], [ 34.920623786135408, -17.33314696998664 ], [ 34.920829115369827, -17.333170927368968 ], [ 34.921032857793406, -17.333205172804849 ], [ 34.921234454996402, -17.333249612432297 ], [ 34.921433354447913, -17.333304124449441 ], [ 34.921629011009919, -17.333368559448381 ], [ 34.921820888431192, -17.333442740824655 ], [ 34.922008460816762, -17.333526465261187 ], [ 34.922191214068988, -17.333619503285469 ], [ 34.922368647296558, -17.333721599898446 ], [ 34.922540274186922, -17.333832475273329 ], [ 34.922705624339265, -17.333951825522362 ], [ 34.922864244553487, -17.334079323529647 ], [ 34.922942052048946, -17.33414882953203 ] ] ] } }, -{ "type": "Feature", "properties": { "field": "2.5", "sub_field": "2.5D" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 34.920240082361659, -17.336946735747041 ], [ 34.917570487117061, -17.339711118027701 ], [ 34.917484540134382, -17.339634339479865 ], [ 34.917340663832782, -17.339491611633623 ], [ 34.917204762595283, -17.339341847425441 ], [ 34.917077208916524, -17.339185457365442 ], [ 34.916958352407384, -17.339022870124747 ], [ 34.916848518836794, -17.338854531360347 ], [ 34.916748009238944, -17.338680902493451 ], [ 34.916657099088269, -17.338502459444559 ], [ 34.916576037544537, -17.338319691328788 ], [ 34.916505046770205, -17.338133099115122 ], [ 34.916444321321642, -17.337943194253128 ], [ 34.916394027616185, -17.337750497270942 ], [ 34.916354303476247, -17.337555536348415 ], [ 34.916325257751936, -17.337358845869311 ], [ 34.916306970023015, -17.337160964956428 ], [ 34.916299490381085, -17.336962435993936 ], [ 34.91630283929274, -17.336763803140538 ], [ 34.91631700754381, -17.33656561083799 ], [ 34.916341956265015, -17.336368402318797 ], [ 34.916377617038826, -17.33617271811719 ], [ 34.916423892087501, -17.335979094587614 ], [ 34.91648065454131, -17.335788062434609 ], [ 34.916547748786755, -17.335600145258304 ], [ 34.916624990893368, -17.33541585811918 ], [ 34.916712169118249, -17.335235706126554 ], [ 34.916809044486669, -17.335060183054143 ], [ 34.916915351447358, -17.334889769986802 ], [ 34.917030798600706, -17.334724934001962 ], [ 34.917155069497618, -17.334566126889655 ], [ 34.917269399022985, -17.334434927085208 ], [ 34.920240082361659, -17.336946735747041 ] ] ] } }, -{ "type": "Feature", "properties": { "field": "2.1", "sub_field": "2.1A" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 34.915191282440283, -17.337693243965902 ], [ 34.913379761071603, -17.335625170111705 ], [ 34.915518445366438, -17.33371081141938 ], [ 34.91556591333611, -17.333763124395745 ], [ 34.915660056119648, -17.333878556262661 ], [ 34.915747779977927, -17.333998562055793 ], [ 34.915828844461352, -17.334122812856673 ], [ 34.915903027371279, -17.33425096811143 ], [ 34.9159701253691, -17.334382676564005 ], [ 34.916029954533762, -17.33451757721895 ], [ 34.916082350865892, -17.334655300330706 ], [ 34.916127170737504, -17.334795468417038 ], [ 34.916164291285796, -17.334937697293565 ], [ 34.916193610750071, -17.335081597126699 ], [ 34.916215048750807, -17.335226773502143 ], [ 34.916228546510219, -17.33537282850585 ], [ 34.916234067013484, -17.335519361814619 ], [ 34.916231595110446, -17.335665971793379 ], [ 34.916221137557322, -17.335812256595954 ], [ 34.91620272299842, -17.335957815266493 ], [ 34.916176401887839, -17.336102248838476 ], [ 34.916142246351313, -17.336245161428248 ], [ 34.916100349988831, -17.336386161320107 ], [ 34.916050827618207, -17.33652486203999 ], [ 34.915993814960572, -17.336660883414858 ], [ 34.915929468268565, -17.336793852614697 ], [ 34.915857963898262, -17.336923405174531 ], [ 34.915779497825845, -17.337049185993408 ], [ 34.915694285110668, -17.337170850307807 ], [ 34.915602559305853, -17.337288064636702 ], [ 34.915504571818289, -17.337400507695637 ], [ 34.915400591219608, -17.337507871277509 ], [ 34.91529090251003, -17.337609861097384 ], [ 34.915191282440283, -17.337693243965902 ] ] ] } }, -{ "type": "Feature", "properties": { "field": "2.1", "sub_field": "2.1C" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 34.911437392245574, -17.333407717834426 ], [ 34.913379761071603, -17.335625170111705 ], [ 34.911255677582851, -17.337526459469718 ], [ 34.911170570838692, -17.337442025530336 ], [ 34.911070267333443, -17.337331481742687 ], [ 34.910976125197692, -17.337216047643373 ], [ 34.910888402465794, -17.337096039638435 ], [ 34.910807339575037, -17.336971786670553 ], [ 34.910733158706634, -17.336843629317364 ], [ 34.910666063176791, -17.336711918857905 ], [ 34.910606236879538, -17.336577016309619 ], [ 34.910553843782843, -17.336439291438793 ], [ 34.910509027479215, -17.336299121746951 ], [ 34.910471910792388, -17.336156891436062 ], [ 34.910442595440756, -17.336012990355417 ], [ 34.910421161758748, -17.335867812933003 ], [ 34.910407668476871, -17.335721757094326 ], [ 34.910402152560884, -17.335575223171723 ], [ 34.910404629110673, -17.335428612807021 ], [ 34.910415091319095, -17.335282327850589 ], [ 34.910433510490847, -17.335136769259989 ], [ 34.910459836121319, -17.334992336000848 ], [ 34.910493996035243, -17.334849423953397 ], [ 34.910535896584648, -17.334708424827415 ], [ 34.910585422905875, -17.334569725088556 ], [ 34.910642439234486, -17.334433704899109 ], [ 34.910706789277619, -17.334300737076106 ], [ 34.910778296642519, -17.334171186069447 ], [ 34.910856765320155, -17.334045406963057 ], [ 34.910941980222667, -17.333923744501693 ], [ 34.911033707772944, -17.33380653214607 ], [ 34.911131696544956, -17.333694091159053 ], [ 34.911235677953037, -17.333586729725003 ], [ 34.911345366988073, -17.33348474210538 ], [ 34.911437392245574, -17.333407717834426 ] ] ] } }, -{ "type": "Feature", "properties": { "field": "2.1", "sub_field": "2.1B" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 34.913379761071603, -17.335625170111705 ], [ 34.915191282440283, -17.337693243965902 ], [ 34.915175806337395, -17.337706197599196 ], [ 34.915055618172943, -17.337796616722148 ], [ 34.914930667446747, -17.337880870624524 ], [ 34.914801296644683, -17.337958728363152 ], [ 34.914667860369669, -17.338029976526471 ], [ 34.914530724369655, -17.338094419819619 ], [ 34.914390264535022, -17.338151881599728 ], [ 34.914246865868172, -17.338202204360293 ], [ 34.914100921428201, -17.338245250162895 ], [ 34.913952831253319, -17.338280901015388 ], [ 34.913803001264291, -17.33830905919536 ], [ 34.913651842151559, -17.338329647518076 ], [ 34.913499768249508, -17.338342609548064 ], [ 34.913347196400544, -17.338347909753889 ], [ 34.913194544812328, -17.338345533605516 ], [ 34.913042231911355, -17.33833548761422 ], [ 34.912890675195818, -17.338317799314741 ], [ 34.912740290091094, -17.338292517189796 ], [ 34.912591488810882, -17.33825971053723 ], [ 34.912444679227121, -17.33821946928002 ], [ 34.912300263751881, -17.338171903719815 ], [ 34.912158638234182, -17.338117144234534 ], [ 34.912020190874792, -17.338055340920988 ], [ 34.911885301162073, -17.337986663183429 ], [ 34.911754338831614, -17.33791129926913 ], [ 34.91162766285283, -17.337829455752399 ], [ 34.911505620444707, -17.337741356968213 ], [ 34.911388546124208, -17.337647244397367 ], [ 34.911276760789143, -17.337547376004352 ], [ 34.911255677582851, -17.337526459469718 ], [ 34.913379761071603, -17.335625170111705 ] ] ] } }, -{ "type": "Feature", "properties": { "field": "2.2", "sub_field": "2.2B" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 34.909113153334729, -17.34030905206204 ], [ 34.911578911920543, -17.342468032199982 ], [ 34.911483266003707, -17.342566783644735 ], [ 34.911354818022311, -17.342686208422425 ], [ 34.911220037986965, -17.342799013216435 ], [ 34.911079295321287, -17.342904888824119 ], [ 34.910932975794793, -17.343003545035192 ], [ 34.910781480465488, -17.343094711427394 ], [ 34.910625224580507, -17.343178138107756 ], [ 34.910464636437894, -17.343253596397744 ], [ 34.9103001562125, -17.343320879460098 ], [ 34.910132234749348, -17.343379802865964 ], [ 34.909961332327725, -17.343430205100489 ], [ 34.90978791739942, -17.343471948005583 ], [ 34.909612465304448, -17.343504917158779 ], [ 34.909435456967969, -17.343529022186893 ], [ 34.909257377581909, -17.343544197013831 ], [ 34.90907871527471, -17.343550400041732 ], [ 34.90889995977318, -17.343547614265091 ], [ 34.908721601059909, -17.343535847317359 ], [ 34.908544128029973, -17.343515131450051 ], [ 34.908368027150622, -17.343485523444404 ], [ 34.908193781127558, -17.343447104455645 ], [ 34.908021867581709, -17.343399979790647 ], [ 34.907852757739754, -17.343344278619131 ], [ 34.90768691514225, -17.343280153619709 ], [ 34.907524794372911, -17.343207780561201 ], [ 34.90736683981239, -17.343127357820926 ], [ 34.907213484420012, -17.343039105840777 ], [ 34.907065148546927, -17.342943266522941 ], [ 34.906922238783757, -17.342840102566772 ], [ 34.906860112803329, -17.342790160574449 ], [ 34.909113153334729, -17.34030905206204 ] ] ] } }, -{ "type": "Feature", "properties": { "field": "2.2", "sub_field": "2.2D" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 34.909113153334729, -17.34030905206204 ], [ 34.906533452371185, -17.338050305737823 ], [ 34.90660624542992, -17.337975151605978 ], [ 34.906734693855789, -17.337855729846009 ], [ 34.906869473666958, -17.337742928108351 ], [ 34.907010215442298, -17.337637055562148 ], [ 34.907156533422004, -17.337538402384133 ], [ 34.907308026565047, -17.33744723896336 ], [ 34.907464279648224, -17.337363815160227 ], [ 34.907624864404212, -17.337288359621752 ], [ 34.907789340695246, -17.337221079155054 ], [ 34.907957257719431, -17.337162158160531 ], [ 34.908128155246089, -17.33711175812665 ], [ 34.908301564877085, -17.337070017187351 ], [ 34.908477011330419, -17.337037049743579 ], [ 34.908654013742748, -17.337012946149805 ], [ 34.908832086987054, -17.336997772466383 ], [ 34.909010743002206, -17.336991570278656 ], [ 34.909189492130309, -17.33699435658291 ], [ 34.9093678444586, -17.337006123739954 ], [ 34.909545311161978, -17.337026839495923 ], [ 34.90972140584249, -17.337056447070864 ], [ 34.909895645862328, -17.337094865314214 ], [ 34.910067553666394, -17.3371419889273 ], [ 34.910236658090895, -17.337197688751889 ], [ 34.910402495654601, -17.337261812124172 ], [ 34.910564611828974, -17.33733418329313 ], [ 34.910722562283695, -17.337414603902154 ], [ 34.910875914104444, -17.337502853532694 ], [ 34.911024246979174, -17.337598690308319 ], [ 34.911167154350139, -17.337701851557512 ], [ 34.911304244527969, -17.337812054533547 ], [ 34.91134641261079, -17.337849727197245 ], [ 34.909113153334729, -17.34030905206204 ] ] ] } }, -{ "type": "Feature", "properties": { "field": "2.2", "sub_field": "2.2A" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 34.911578911920543, -17.342468032199982 ], [ 34.909113153334729, -17.34030905206204 ], [ 34.91134641261079, -17.337849727197245 ], [ 34.91143514176526, -17.337928997189451 ], [ 34.911559487286333, -17.338052359005587 ], [ 34.91167694027061, -17.338181801868199 ], [ 34.911787178786682, -17.338316970995947 ], [ 34.911889900674801, -17.33845749591223 ], [ 34.911984824375082, -17.338602991460462 ], [ 34.91207168969926, -17.33875305885968 ], [ 34.912150258544031, -17.338907286797372 ], [ 34.912220315543756, -17.339065252556818 ], [ 34.912281668660903, -17.339226523175476 ], [ 34.912334149712621, -17.339390656631728 ], [ 34.91237761483189, -17.339557203056199 ], [ 34.912411944862086, -17.339725705964806 ], [ 34.912437045683824, -17.339895703509814 ], [ 34.912452848473158, -17.340066729745672 ], [ 34.912459309890508, -17.340238315906035 ], [ 34.912456412199738, -17.340409991688645 ], [ 34.912444163317041, -17.340581286544278 ], [ 34.912422596789526, -17.340751730966492 ], [ 34.912391771703525, -17.340920857778553 ], [ 34.912351772523039, -17.341088203413818 ], [ 34.912302708858348, -17.34125330918652 ], [ 34.912244715165983, -17.341415722548859 ], [ 34.912177950380325, -17.341574998331588 ], [ 34.912102597478352, -17.341730699964163 ], [ 34.912018862978236, -17.341882400671473 ], [ 34.911926976373564, -17.342029684643691 ], [ 34.91182718950445, -17.342172148176019 ], [ 34.911719775867432, -17.34230940077537 ], [ 34.911605029865996, -17.34244106623078 ], [ 34.911578911920543, -17.342468032199982 ] ] ] } }, -{ "type": "Feature", "properties": { "field": "2.3", "sub_field": "2.3B" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 34.899977306418968, -17.342598676400389 ], [ 34.900577206073855, -17.344757029496293 ], [ 34.90053099248378, -17.344770656279508 ], [ 34.900412035589035, -17.344799284489611 ], [ 34.900291681601324, -17.344821894278759 ], [ 34.900170260413489, -17.344838423671792 ], [ 34.900048104844025, -17.344848827360014 ], [ 34.899925549724713, -17.344853076825434 ], [ 34.899802930982794, -17.344851160418948 ], [ 34.899680584720031, -17.344843083392274 ], [ 34.899558846291384, -17.344828867883589 ], [ 34.899438049385651, -17.34480855285684 ], [ 34.899318525110722, -17.344782193994938 ], [ 34.899200601085958, -17.344749863547143 ], [ 34.899084600543979, -17.344711650130986 ], [ 34.898970841444694, -17.344667658489421 ], [ 34.898859635603621, -17.344618009203618 ], [ 34.898751287837094, -17.344562838362481 ], [ 34.898646095126765, -17.344502297189571 ], [ 34.898544345805426, -17.344436551628583 ], [ 34.898446318766688, -17.344365781888438 ], [ 34.898352282700444, -17.34429018194934 ], [ 34.898262495356455, -17.344209959030934 ], [ 34.898177202837687, -17.344125333024376 ], [ 34.898096638925864, -17.344036535889487 ], [ 34.898021024440638, -17.343943811018971 ], [ 34.897950566634307, -17.343847412571144 ], [ 34.89788545862384, -17.343747604773341 ], [ 34.897825878861511, -17.343644661197509 ], [ 34.897771990645907, -17.343538864010416 ], [ 34.897723941674307, -17.343430503200111 ], [ 34.897681863638006, -17.343319875781045 ], [ 34.897645871861357, -17.343207284979929 ], [ 34.897632654475345, -17.343156624592137 ], [ 34.899977306418968, -17.342598676400389 ] ] ] } }, -{ "type": "Feature", "properties": { "field": "2.3", "sub_field": "2.3D" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 34.899977306418968, -17.342598676400389 ], [ 34.8993698935897, -17.3404132919784 ], [ 34.899392664965589, -17.340407811872627 ], [ 34.899513016297661, -17.340385202886463 ], [ 34.899634434697063, -17.340368674166911 ], [ 34.89975658737589, -17.340358271015273 ], [ 34.899879139534015, -17.340354021943661 ], [ 34.90000175527662, -17.340355938596865 ], [ 34.900124098534818, -17.340364015720475 ], [ 34.900245833986595, -17.340378231175233 ], [ 34.900366627975728, -17.340398545997807 ], [ 34.900486149426307, -17.340424904507497 ], [ 34.900604070749914, -17.340457234458924 ], [ 34.90072006874351, -17.340495447239984 ], [ 34.90083382547509, -17.340539438114668 ], [ 34.900945029155146, -17.340589086510239 ], [ 34.901053374990944, -17.340644256347534 ], [ 34.901158566022026, -17.340704796413981 ], [ 34.901260313933982, -17.34077054077801 ], [ 34.901358339848642, -17.340841309243807 ], [ 34.901452375088432, -17.340916907845159 ], [ 34.901542161912666, -17.340997129377051 ], [ 34.901627454224055, -17.34108175396354 ], [ 34.901708018243141, -17.34117054966033 ], [ 34.901783633149101, -17.341263273090505 ], [ 34.901854091685024, -17.341359670111498 ], [ 34.901919200725978, -17.341459476511659 ], [ 34.901978781808353, -17.341562418734288 ], [ 34.902032671619118, -17.341668214627489 ], [ 34.902080722443529, -17.341776574217395 ], [ 34.902122802569984, -17.341887200502885 ], [ 34.902158796651207, -17.341999790269696 ], [ 34.902178392629686, -17.3420748920176 ], [ 34.899977306418968, -17.342598676400389 ] ] ] } }, -{ "type": "Feature", "properties": { "field": "2.3", "sub_field": "2.3A" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 34.900577206073855, -17.344757029496293 ], [ 34.899977306418968, -17.342598676400389 ], [ 34.902178392629686, -17.3420748920176 ], [ 34.902188606020459, -17.342114034921313 ], [ 34.902212148962079, -17.342229621324904 ], [ 34.9022293609356, -17.342346232669474 ], [ 34.902240194752764, -17.342463549334198 ], [ 34.902244620706924, -17.34258124976445 ], [ 34.902242626654697, -17.342699011353165 ], [ 34.902234218049344, -17.342816511325012 ], [ 34.902219417925892, -17.342933427621141 ], [ 34.902198266838255, -17.343049439781904 ], [ 34.902170822748069, -17.343164229825184 ], [ 34.902137160866111, -17.343277483118008 ], [ 34.902097373446153, -17.343388889238934 ], [ 34.902051569532283, -17.343498142828913 ], [ 34.901999874660113, -17.343604944428311 ], [ 34.901942430512797, -17.343709001297707 ], [ 34.901879394532841, -17.343810028220332 ], [ 34.901810939490574, -17.343907748283865 ], [ 34.901737253010715, -17.344001893639497 ], [ 34.901658537058189, -17.344092206236112 ], [ 34.901575007384508, -17.344178438527649 ], [ 34.901486892936596, -17.344260354151714 ], [ 34.901394435229165, -17.344337728577433 ], [ 34.901297887682823, -17.344410349720999 ], [ 34.901197514929372, -17.344478018526939 ], [ 34.901093592086589, -17.344540549513926 ], [ 34.90098640400398, -17.344597771283127 ], [ 34.900876244482049, -17.344649526988103 ], [ 34.900763415466933, -17.344695674764722 ], [ 34.900648226222749, -17.344736088120147 ], [ 34.900577206073855, -17.344757029496293 ] ] ] } }, -{ "type": "Feature", "properties": { "field": "2.4", "sub_field": "2.4A" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 34.89784433134804, -17.347383688817565 ], [ 34.896270521422032, -17.345778057340958 ], [ 34.898018534309401, -17.34427437726421 ], [ 34.898049630555178, -17.344308651412607 ], [ 34.898125245197328, -17.344401376276529 ], [ 34.898195703304218, -17.344497774650247 ], [ 34.898260811752031, -17.344597582318404 ], [ 34.898320392078851, -17.344700525720842 ], [ 34.898374280973691, -17.344806322702414 ], [ 34.898422330724294, -17.344914683286273 ], [ 34.898464409622015, -17.345025310468575 ], [ 34.898500402322924, -17.345137901032597 ], [ 34.898530210164083, -17.345252146379647 ], [ 34.898553751434022, -17.345367733374978 ], [ 34.898570961596832, -17.345484345205968 ], [ 34.898581793469205, -17.345601662250449 ], [ 34.898586217349859, -17.345719362952764 ], [ 34.898584221101068, -17.345837124705092 ], [ 34.898575810182095, -17.345954624731661 ], [ 34.898561007634342, -17.346071540973472 ], [ 34.898539854018331, -17.34618755297101 ], [ 34.898512407302668, -17.346302342742597 ], [ 34.898478742705286, -17.346415595656016 ], [ 34.898438952487425, -17.346527001290848 ], [ 34.898393145700823, -17.346636254289407 ], [ 34.898341447888967, -17.346743055193635 ], [ 34.898284000743089, -17.34684711126604 ], [ 34.898220961713911, -17.346948137292031 ], [ 34.898152503580086, -17.347045856361728 ], [ 34.898078813974848, -17.347140000629064 ], [ 34.898000094871662, -17.347230312045884 ], [ 34.897916562030716, -17.347316543069386 ], [ 34.89784433134804, -17.347383688817565 ] ] ] } }, -{ "type": "Feature", "properties": { "field": "2.4", "sub_field": "2.4C" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 34.894633955948727, -17.344108401435214 ], [ 34.896270521422032, -17.345778057340958 ], [ 34.894530375270897, -17.347274970273929 ], [ 34.89451869393659, -17.347263380014812 ], [ 34.894438130123419, -17.347174581368925 ], [ 34.894362515902834, -17.347081855064534 ], [ 34.894292058526425, -17.346985455263962 ], [ 34.894226951109985, -17.346885646198167 ], [ 34.894167372104157, -17.346782701442645 ], [ 34.894113484805423, -17.346676903167346 ], [ 34.894065436908569, -17.346568541363308 ], [ 34.894023360101947, -17.346457913047725 ], [ 34.893987369706529, -17.346345321449771 ], [ 34.893957564360043, -17.346231075179425 ], [ 34.893934025746624, -17.346115487381585 ], [ 34.893916818373043, -17.345998874877647 ], [ 34.893905989392053, -17.345881557297147 ], [ 34.893901568473275, -17.345763856201621 ], [ 34.893903567721992, -17.3456460942032 ], [ 34.893911981646049, -17.34552859408036 ], [ 34.893926787171132, -17.345411677893143 ], [ 34.893947943704113, -17.345295666100494 ], [ 34.893975393244382, -17.345180876681777 ], [ 34.894009060543098, -17.345067624265408 ], [ 34.894048853309421, -17.344956219266344 ], [ 34.894094662463672, -17.344846967035298 ], [ 34.894146362436459, -17.344740167021918 ], [ 34.894203811512831, -17.34463611195395 ], [ 34.894266852220959, -17.344535087034966 ], [ 34.894335311763747, -17.344437369162709 ], [ 34.894409002492552, -17.344343226170164 ], [ 34.894487722421609, -17.344252916091463 ], [ 34.894571255781663, -17.344166686454802 ], [ 34.894633955948727, -17.344108401435214 ] ] ] } }, -{ "type": "Feature", "properties": { "field": "2.4", "sub_field": "2.4B" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 34.896270521422032, -17.345778057340958 ], [ 34.89784433134804, -17.347383688817565 ], [ 34.897828444407587, -17.347398457340631 ], [ 34.897735983525699, -17.347475830332453 ], [ 34.897639432814358, -17.347548449964961 ], [ 34.89753905691407, -17.347616117186867 ], [ 34.897435130951216, -17.347678646521146 ], [ 34.897327939783857, -17.347735866573512 ], [ 34.897217777220966, -17.347787620502217 ], [ 34.897104945217023, -17.347833766448016 ], [ 34.896989753044323, -17.347874177923067 ], [ 34.8968725164452, -17.347908744157682 ], [ 34.896753556766491, -17.347937370403951 ], [ 34.896633200078661, -17.347959978195529 ], [ 34.896511776281947, -17.347976505562741 ], [ 34.896389618201965, -17.347986907202465 ], [ 34.896267060677431, -17.347991154602312 ], [ 34.89614443964215, -17.347989236118849 ], [ 34.896022091204195, -17.347981157009478 ], [ 34.895900350724474, -17.347966939418107 ], [ 34.895779551897398, -17.347946622314364 ], [ 34.895660025836158, -17.347920261386893 ], [ 34.895542100164981, -17.347887928890579 ], [ 34.895426098121014, -17.347849713448607 ], [ 34.89531233766828, -17.347805719809461 ], [ 34.895201130625999, -17.347756068559807 ], [ 34.89509278181383, -17.347700895793917 ], [ 34.894987588216253, -17.347640352740644 ], [ 34.894885838168513, -17.347574605348829 ], [ 34.894787810566186, -17.347503833832434 ], [ 34.894693774100759, -17.347428232176501 ], [ 34.894603986523009, -17.347348007605405 ], [ 34.894530375270897, -17.347274970273929 ], [ 34.896270521422032, -17.345778057340958 ] ] ] } }, -{ "type": "Feature", "properties": { "field": "3.1", "sub_field": "3.1A" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 34.913636518942788, -17.329266359662952 ], [ 34.911721763444021, -17.327270799151147 ], [ 34.914031362474837, -17.325516182075784 ], [ 34.914117900913318, -17.325634575111025 ], [ 34.914198960029665, -17.325758827177712 ], [ 34.914273137824281, -17.325886983615426 ], [ 34.914340230972627, -17.326018693164876 ], [ 34.914400055566908, -17.326153594827613 ], [ 34.914452447620299, -17.326291318855283 ], [ 34.914497263516544, -17.326431487763152 ], [ 34.914534380403744, -17.326573717364585 ], [ 34.914563696531239, -17.326717617824006 ], [ 34.914585131528675, -17.326862794725379 ], [ 34.914598626626493, -17.327008850153227 ], [ 34.914604144817197, -17.327155383783179 ], [ 34.914601670956962, -17.327301993979287 ], [ 34.914591211807391, -17.327448278894774 ], [ 34.91457279601719, -17.327593837573485 ], [ 34.914546474043796, -17.327738271048865 ], [ 34.914512318015369, -17.327881183437523 ], [ 34.914470421533231, -17.328022183024327 ], [ 34.914420899415532, -17.328160883336039 ], [ 34.914363887382741, -17.328296904200737 ], [ 34.914299541685793, -17.328429872789819 ], [ 34.914228038678019, -17.328559424639966 ], [ 34.914149574331894, -17.328685204652192 ], [ 34.914064363702025, -17.328806868065175 ], [ 34.913972640335864, -17.328924081400377 ], [ 34.913874655633592, -17.329036523376065 ], [ 34.913770678159203, -17.32914388578811 ], [ 34.913660992904397, -17.329245874354772 ], [ 34.913636518942788, -17.329266359662952 ] ] ] } }, -{ "type": "Feature", "properties": { "field": "3.1", "sub_field": "3.1C" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 34.909685584378018, -17.325148690849765 ], [ 34.911721763444021, -17.327270799151147 ], [ 34.909460106454006, -17.328988994353146 ], [ 34.909440549923985, -17.328967439651969 ], [ 34.909346413613996, -17.328852004133012 ], [ 34.909258696485878, -17.328731994784103 ], [ 34.909177638961573, -17.328607740551625 ], [ 34.909103463207565, -17.328479582016655 ], [ 34.909036372526053, -17.328347870461474 ], [ 34.908976550797789, -17.32821296690652 ], [ 34.908924161978199, -17.32807524112085 ], [ 34.908879349648117, -17.327935070608461 ], [ 34.908842236620366, -17.327792839573583 ], [ 34.908812924603325, -17.327648937867501 ], [ 34.908791493922287, -17.327503759919889 ], [ 34.908778003299552, -17.327357703657697 ], [ 34.908772489693582, -17.327211169414433 ], [ 34.90877496819796, -17.327064558832792 ], [ 34.908785432000194, -17.326918273763734 ], [ 34.908803852400631, -17.326772715165127 ], [ 34.908830178891286, -17.32662828200262 ], [ 34.908864339294539, -17.326485370156192 ], [ 34.908906239961134, -17.326344371335054 ], [ 34.908955766027034, -17.326205672004026 ], [ 34.90901278172857, -17.3260696523243 ], [ 34.909077130774563, -17.325936685111486 ], [ 34.909148636775029, -17.325807134813829 ], [ 34.909227103724675, -17.325681356513325 ], [ 34.909312316540387, -17.325559694952492 ], [ 34.90940404165076, -17.325442483589615 ], [ 34.909502027636492, -17.325330043684811 ], [ 34.909606005919557, -17.325222683419522 ], [ 34.909685584378018, -17.325148690849765 ] ] ] } }, -{ "type": "Feature", "properties": { "field": "3.1", "sub_field": "3.1B" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 34.911721763444021, -17.327270799151147 ], [ 34.913636518942788, -17.329266359662952 ], [ 34.913545900507494, -17.329342209523453 ], [ 34.91342571642943, -17.329432627237008 ], [ 34.913300770089045, -17.329516879657564 ], [ 34.913171403960227, -17.329594735846065 ], [ 34.913037972633042, -17.329665982395142 ], [ 34.912900841841903, -17.3297304240144 ], [ 34.912760387462882, -17.329787884065563 ], [ 34.912616994483479, -17.329838205046872 ], [ 34.912471055947115, -17.329881249024769 ], [ 34.912322971875888, -17.329916898012115 ], [ 34.912173148173757, -17.329945054291645 ], [ 34.912021995513982, -17.329965640683806 ], [ 34.911869928213214, -17.329978600758434 ], [ 34.911717363095775, -17.329983898989447 ], [ 34.911564718350839, -17.329981520852233 ], [ 34.911412412386156, -17.329971472863519 ], [ 34.911260862680884, -17.329953782563518 ], [ 34.911110484641192, -17.329928498440431 ], [ 34.910961690461392, -17.329895689797588 ], [ 34.910814887993944, -17.32985544656341 ], [ 34.910670479631406, -17.329807879044964 ], [ 34.910528861203304, -17.329753117625536 ], [ 34.910390420890941, -17.329691312407235 ], [ 34.910255538163376, -17.329622632799548 ], [ 34.910124582737076, -17.329547267054856 ], [ 34.909997913562464, -17.329465421752481 ], [ 34.90987587783988, -17.3293773212323 ], [ 34.909758810067963, -17.329283206979852 ], [ 34.909647031126617, -17.329183336964235 ], [ 34.90954084739743, -17.329077984931061 ], [ 34.909460106454006, -17.328988994353146 ], [ 34.911721763444021, -17.327270799151147 ] ] ] } }, -{ "type": "Feature", "properties": { "field": "3.2", "sub_field": "3.2B" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 34.906021160934294, -17.32453810278799 ], [ 34.904885066790669, -17.326570895183487 ], [ 34.904806230599256, -17.326530749763023 ], [ 34.904701047182016, -17.326470210855359 ], [ 34.904599306688482, -17.326404467496388 ], [ 34.904501287988097, -17.326333699888984 ], [ 34.904407259747913, -17.32625810200749 ], [ 34.904317479696211, -17.32617788106592 ], [ 34.904232193915959, -17.326093256949981 ], [ 34.904151636170468, -17.326004461614346 ], [ 34.904076027262448, -17.325911738446724 ], [ 34.90400557442895, -17.325815341600823 ], [ 34.903940470773314, -17.32571553529953 ], [ 34.903880894735885, -17.325612593110719 ], [ 34.903827009605024, -17.325506797197328 ], [ 34.90377896306962, -17.325398437543917 ], [ 34.903736886814265, -17.32528781116179 ], [ 34.903700896158483, -17.325175221274797 ], [ 34.903671089740698, -17.325060976488256 ], [ 34.903647549248021, -17.324945389942979 ], [ 34.903630339192389, -17.324828778456951 ], [ 34.903619506733925, -17.324711461656918 ], [ 34.90361508155182, -17.324593761102271 ], [ 34.903617075763009, -17.324475999403674 ], [ 34.903625483889194, -17.324358499338782 ], [ 34.903640282871983, -17.324241582967488 ], [ 34.903661432136161, -17.324125570749231 ], [ 34.903688873701093, -17.324010780664615 ], [ 34.903722532339778, -17.323897527343828 ], [ 34.903762315785151, -17.323786121204328 ], [ 34.903808114983079, -17.323676867599978 ], [ 34.903859804391431, -17.323570065984185 ], [ 34.903896908377526, -17.323502846894009 ], [ 34.906021160934294, -17.32453810278799 ] ] ] } }, -{ "type": "Feature", "properties": { "field": "3.2", "sub_field": "3.2D" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 34.906021160934294, -17.32453810278799 ], [ 34.907099870341185, -17.322607987848503 ], [ 34.907107996990085, -17.322612126146115 ], [ 34.907213178728831, -17.322672663949191 ], [ 34.907314917813316, -17.322738406113043 ], [ 34.907412935389594, -17.322809172447901 ], [ 34.907506962802877, -17.322884768993358 ], [ 34.907596742334007, -17.322964988550062 ], [ 34.907682027905636, -17.323049611247448 ], [ 34.907762585756814, -17.323138405146423 ], [ 34.907838195083627, -17.323231126874965 ], [ 34.907908648644458, -17.32332752229518 ], [ 34.907973753328015, -17.323427327199781 ], [ 34.908033330682649, -17.323530268036201 ], [ 34.908087217405573, -17.323636062656309 ], [ 34.908135265790484, -17.323744421089724 ], [ 34.908177344132525, -17.323855046338515 ], [ 34.908213337089279, -17.323967635191241 ], [ 34.908243145997119, -17.324081879053907 ], [ 34.908266689141676, -17.324197464795841 ], [ 34.908283901981953, -17.324314075607841 ], [ 34.908294737327296, -17.324431391870569 ], [ 34.908299165466907, -17.324549092030502 ], [ 34.908297174251452, -17.324666853481297 ], [ 34.908288769126365, -17.324784353448031 ], [ 34.908273973117211, -17.32490126987188 ], [ 34.908252826766599, -17.325017282292816 ], [ 34.908225388023233, -17.325132072728039 ], [ 34.908191732083218, -17.325245326543502 ], [ 34.908151951184053, -17.32535673331634 ], [ 34.908106154351955, -17.325465987685721 ], [ 34.908071600970572, -17.325537386101097 ], [ 34.906021160934294, -17.32453810278799 ] ] ] } }, -{ "type": "Feature", "properties": { "field": "3.2", "sub_field": "3.2A" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 34.904885066790669, -17.326570895183487 ], [ 34.906021160934294, -17.32453810278799 ], [ 34.908071600970572, -17.325537386101097 ], [ 34.908054467103149, -17.325572790189899 ], [ 34.90799703109991, -17.325676848086957 ], [ 34.907934003762392, -17.325777876157318 ], [ 34.907865557837262, -17.325875597485545 ], [ 34.907791880924258, -17.325969744219353 ], [ 34.907713174962034, -17.326060058303852 ], [ 34.907629655674789, -17.326146292188934 ], [ 34.907541551980941, -17.326228209507818 ], [ 34.907449105365721, -17.326305585725002 ], [ 34.907352569219306, -17.326378208751755 ], [ 34.907252208142296, -17.32644587952749 ], [ 34.907148297220381, -17.326508412565456 ], [ 34.90704112127046, -17.326565636461215 ], [ 34.906930974059705, -17.326617394362458 ], [ 34.906818157500545, -17.326663544399111 ], [ 34.906702980822907, -17.326703960072088 ], [ 34.906585759726646, -17.326738530600174 ], [ 34.906466815516076, -17.326767161223724 ], [ 34.906346474219269, -17.326789773464377 ], [ 34.906225065694215, -17.326806305340277 ], [ 34.906102922724692, -17.326816711535912 ], [ 34.905980380107977, -17.326820963526419 ], [ 34.905857773736962, -17.326819049655761 ], [ 34.905735439679553, -17.326810975168716 ], [ 34.905613713257182, -17.326796762196473 ], [ 34.905492928125767, -17.326776449696034 ], [ 34.905373415360891, -17.326750093343406 ], [ 34.905255502550368, -17.326717765380913 ], [ 34.905139512896064, -17.326679554419297 ], [ 34.90502576432803, -17.326635565194774 ], [ 34.904914568632925, -17.326585918281896 ], [ 34.904885066790669, -17.326570895183487 ] ] ] } }, -{ "type": "Feature", "properties": { "field": "3.3", "sub_field": "3.3B" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 34.900551100160158, -17.32491517010353 ], [ 34.900776626466843, -17.327745490872061 ], [ 34.900656786239431, -17.327755697621463 ], [ 34.900504221756528, -17.327760987206652 ], [ 34.900351578120073, -17.327758600371943 ], [ 34.900199273734728, -17.327748543657901 ], [ 34.900047726075364, -17.327730844628654 ], [ 34.899897350542489, -17.327705551796367 ], [ 34.899748559323548, -17.327672734488232 ], [ 34.899601760262883, -17.327632482656444 ], [ 34.899457355743735, -17.327584906631635 ], [ 34.899315741585028, -17.327530136820421 ], [ 34.899177305956393, -17.327468323347929 ], [ 34.899042428314019, -17.327399635646241 ], [ 34.898911478360418, -17.327324261989983 ], [ 34.898784815031014, -17.327242408980108 ], [ 34.898662785510126, -17.327154300977668 ], [ 34.898545724279373, -17.32706017948869 ], [ 34.898433952200669, -17.326960302502119 ], [ 34.898327775636837, -17.326854943782664 ], [ 34.898227485611763, -17.326744392120304 ], [ 34.898133357012782, -17.326628950538552 ], [ 34.898045647837129, -17.326508935463988 ], [ 34.897964598484933, -17.32638467585863 ], [ 34.897890431100279, -17.32625651231832 ], [ 34.897823348962419, -17.326124796139013 ], [ 34.897763535928661, -17.325989888353835 ], [ 34.897711155930615, -17.325852158743412 ], [ 34.897666352524929, -17.325711984822245 ], [ 34.897629248499918, -17.325569750803872 ], [ 34.897599945539312, -17.325425846547741 ], [ 34.897578523943601, -17.325280666490528 ], [ 34.897565743794004, -17.325142207305205 ], [ 34.900551100160158, -17.32491517010353 ] ] ] } }, -{ "type": "Feature", "properties": { "field": "3.3", "sub_field": "3.3D" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 34.900551100160158, -17.32491517010353 ], [ 34.900331858463275, -17.322163720229909 ], [ 34.900446486600295, -17.322159746280438 ], [ 34.900599125593352, -17.322162133497788 ], [ 34.900751425327122, -17.322172190362547 ], [ 34.900902968377679, -17.322189889308945 ], [ 34.901053339395013, -17.322215181825705 ], [ 34.901202126241159, -17.322247998589095 ], [ 34.901348921119656, -17.322288249652903 ], [ 34.901493321693145, -17.3223358246949 ], [ 34.901634932185885, -17.322390593319241 ], [ 34.901773364468404, -17.322452405413809 ], [ 34.901908239121205, -17.322521091561601 ], [ 34.902039186474497, -17.322596463505029 ], [ 34.902165847621376, -17.322678314661896 ], [ 34.902287875401406, -17.322766420691451 ], [ 34.902404935352081, -17.322860540109318 ], [ 34.90251670662547, -17.322960414949193 ], [ 34.902622882867597, -17.323065771469913 ], [ 34.902723173058085, -17.323176320905603 ], [ 34.90281730230781, -17.323291760257099 ], [ 34.902905012612401, -17.323411773122313 ], [ 34.902986063559332, -17.323536030563393 ], [ 34.903060232987073, -17.323664192008231 ], [ 34.903127317593992, -17.323795906183808 ], [ 34.903187133495692, -17.323930812078967 ], [ 34.903239516729194, -17.324068539933798 ], [ 34.90328432370238, -17.324208712253018 ], [ 34.903321431587827, -17.324350944840624 ], [ 34.903350738659526, -17.32449484785289 ], [ 34.903372164571941, -17.324640026866742 ], [ 34.90337772102832, -17.324700204781678 ], [ 34.900551100160158, -17.32491517010353 ] ] ] } }, -{ "type": "Feature", "properties": { "field": "3.3", "sub_field": "3.3A" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 34.900776626466843, -17.327745490872061 ], [ 34.900551100160158, -17.32491517010353 ], [ 34.90337772102832, -17.324700204781678 ], [ 34.903385650580439, -17.324786083960905 ], [ 34.903391159702402, -17.324932618806443 ], [ 34.903388676818878, -17.325079229764025 ], [ 34.903378208716227, -17.325225514984815 ], [ 34.903359784067653, -17.325371073511793 ], [ 34.903333453354918, -17.325515506378824 ], [ 34.903299288730132, -17.325658417704162 ], [ 34.903257383818179, -17.325799415775553 ], [ 34.903207853460337, -17.325938114123943 ], [ 34.903150833399678, -17.326074132582772 ], [ 34.903086479909113, -17.326207098330002 ], [ 34.903014969363383, -17.326336646910139 ], [ 34.902936497755626, -17.326462423233099 ], [ 34.902851280160384, -17.326584082547722 ], [ 34.902759550144168, -17.326701291386676 ], [ 34.902661559125448, -17.326813728480538 ], [ 34.902557575685506, -17.326921085638585 ], [ 34.902447884832448, -17.327023068593451 ], [ 34.902332787219926, -17.327119397807941 ], [ 34.902212598323182, -17.327209809241211 ], [ 34.902087647574284, -17.327294055072645 ], [ 34.901958277459215, -17.327371904381195 ], [ 34.901824842578996, -17.327443143778424 ], [ 34.901687708677741, -17.327507577993487 ], [ 34.901547251640118, -17.327565030408447 ], [ 34.90140385646086, -17.327615343542455 ], [ 34.901257916189486, -17.327658379483513 ], [ 34.901109830852782, -17.327694020266488 ], [ 34.900960006358247, -17.327722168196619 ], [ 34.900808853381278, -17.327742746117259 ], [ 34.900776626466843, -17.327745490872061 ] ] ] } }, -{ "type": "Feature", "properties": { "field": "4.1", "sub_field": "4.1B" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 34.886782334569538, -17.326739205117487 ], [ 34.887703979851366, -17.329372879634846 ], [ 34.8876643191578, -17.329386792202165 ], [ 34.887518373215272, -17.329429818514686 ], [ 34.887370282716603, -17.329465449470245 ], [ 34.88722045358341, -17.329493587401011 ], [ 34.887069296503846, -17.329514155177758 ], [ 34.886917225806691, -17.329527096421376 ], [ 34.886764658325532, -17.329532375657408 ], [ 34.886612012256101, -17.329529978413341 ], [ 34.886459706009731, -17.329519911258302 ], [ 34.886308157066374, -17.329502201785065 ], [ 34.886157780830047, -17.329476898534416 ], [ 34.886008989490165, -17.32944407086211 ], [ 34.885862190891373, -17.32940380874879 ], [ 34.885717787415615, -17.329356222553258 ], [ 34.88557617487897, -17.329301442710033 ], [ 34.885437741446637, -17.32923961937173 ], [ 34.885302866568736, -17.329170921997534 ], [ 34.885171919940205, -17.32909553888852 ], [ 34.885045260487331, -17.329013676671618 ], [ 34.884923235383837, -17.328925559733097 ], [ 34.884806179099137, -17.328831429603483 ], [ 34.884694412481636, -17.328731544295415 ], [ 34.88458824187915, -17.328626177596401 ], [ 34.884487958299232, -17.328515618318296 ], [ 34.884393836611494, -17.328400169505525 ], [ 34.884306134794222, -17.328280147604413 ], [ 34.884225093227393, -17.328155881595727 ], [ 34.884150934033698, -17.328027712092847 ], [ 34.884083860469936, -17.327895990408074 ], [ 34.884024056369917, -17.327761077589614 ], [ 34.883971685640724, -17.327623343431874 ], [ 34.883964047061163, -17.327599439232444 ], [ 34.886782334569538, -17.326739205117487 ] ] ] } }, -{ "type": "Feature", "properties": { "field": "4.1", "sub_field": "4.1D" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 34.886782334569538, -17.326739205117487 ], [ 34.885846577829994, -17.324065205990067 ], [ 34.885953641947083, -17.324033642826574 ], [ 34.886101728582837, -17.323998013298716 ], [ 34.886251553602811, -17.323969876608579 ], [ 34.886402706363931, -17.323949309871807 ], [ 34.886554772584716, -17.32393636945611 ], [ 34.886707335480622, -17.323931090826889 ], [ 34.88685997690618, -17.323933488449978 ], [ 34.887012278500904, -17.323943555752123 ], [ 34.887163822835845, -17.323961265138948 ], [ 34.887314194557419, -17.323986568070588 ], [ 34.887462981525729, -17.324019395194775 ], [ 34.887609775944007, -17.324059656536921 ], [ 34.887754175476097, -17.324107241746617 ], [ 34.887895784349141, -17.324162020400173 ], [ 34.888034214438093, -17.324223842358005 ], [ 34.888169086329441, -17.324292538176074 ], [ 34.88830003036098, -17.324367919570307 ], [ 34.888426687634862, -17.324449779932586 ], [ 34.888548711001285, -17.324537894896967 ], [ 34.888665766009801, -17.324632022954553 ], [ 34.888777531826008, -17.324731906115399 ], [ 34.888883702110896, -17.324837270615532 ], [ 34.888983985860385, -17.324947827667181 ], [ 34.88907810820298, -17.325063274250319 ], [ 34.889165811153212, -17.325183293943041 ], [ 34.889246854318749, -17.325307557788776 ], [ 34.889321015559332, -17.325435725197845 ], [ 34.889388091595755, -17.325567444880889 ], [ 34.889447898567113, -17.325702355811647 ], [ 34.88950027253486, -17.325840088216371 ], [ 34.889520512970037, -17.325903422939145 ], [ 34.886782334569538, -17.326739205117487 ] ] ] } }, -{ "type": "Feature", "properties": { "field": "4.1", "sub_field": "4.1A" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 34.887703979851366, -17.329372879634846 ], [ 34.886782334569538, -17.326739205117487 ], [ 34.889520512970037, -17.325903422939145 ], [ 34.889545069932325, -17.325980264587329 ], [ 34.889582167958245, -17.326122500717403 ], [ 34.889611464913656, -17.326266406753103 ], [ 34.889632880480761, -17.326411588263088 ], [ 34.889646355943256, -17.326557647319234 ], [ 34.889651854347427, -17.326704183587182 ], [ 34.889649360603691, -17.326850795423734 ], [ 34.889638881528178, -17.326997080977577 ], [ 34.889620445824171, -17.327142639290791 ], [ 34.889594104003734, -17.327287071397805 ], [ 34.889559928249412, -17.327429981418941 ], [ 34.889518012216612, -17.327570977645536 ], [ 34.889468470777103, -17.327709673613544 ], [ 34.889411439704311, -17.32784568916291 ], [ 34.889347075301409, -17.327978651479597 ], [ 34.889275553972986, -17.328108196117469 ], [ 34.889197071741769, -17.328233967997264 ], [ 34.88911184371144, -17.328355622379977 ], [ 34.889020103477137, -17.32847282581178 ], [ 34.888922102485324, -17.328585257038089 ], [ 34.888818109344669, -17.328692607884239 ], [ 34.888708409089844, -17.328794584100173 ], [ 34.888593302400324, -17.328890906167157 ], [ 34.888473104776217, -17.328981310063959 ], [ 34.888348145673561, -17.329065547990599 ], [ 34.888218767601209, -17.329143389047712 ], [ 34.888085325182047, -17.329214619869479 ], [ 34.887948184180871, -17.329279045208576 ], [ 34.887807720501797, -17.329336488471384 ], [ 34.887703979851366, -17.329372879634846 ] ] ] } }, -{ "type": "Feature", "properties": { "field": "4.2", "sub_field": "4.2A" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 34.894318941931957, -17.326404205007993 ], [ 34.892592473294087, -17.324940604483569 ], [ 34.89423852225147, -17.323363284353789 ], [ 34.894279290997311, -17.323403741786901 ], [ 34.894359843150291, -17.323492541716824 ], [ 34.894435446447254, -17.323585269172604 ], [ 34.894505893663094, -17.323681670000639 ], [ 34.894570991703901, -17.323781479978805 ], [ 34.894630562136221, -17.323884425540623 ], [ 34.894684441676247, -17.32399022452503 ], [ 34.894732482637338, -17.32409858694966 ], [ 34.894774553334969, -17.324209215805645 ], [ 34.8948105384477, -17.324321807871623 ], [ 34.894840339333385, -17.324436054544822 ], [ 34.894863874299624, -17.324551642686835 ], [ 34.894881078827837, -17.324668255481892 ], [ 34.894891905750164, -17.324785573305192 ], [ 34.89489632537888, -17.32490327459891 ], [ 34.894894325587956, -17.325021036753622 ], [ 34.894885911846373, -17.325138536992469 ], [ 34.894871107203294, -17.325255453255821 ], [ 34.894849952224995, -17.325371465084146 ], [ 34.894822504883827, -17.325486254496205 ], [ 34.894788840399457, -17.32559950686079 ], [ 34.894749051032846, -17.325710911758964 ], [ 34.894703245833377, -17.325820163835068 ], [ 34.894651550340264, -17.325926963633588 ], [ 34.894594106238337, -17.326031018420061 ], [ 34.89453107096999, -17.326132042983406 ], [ 34.894462617303638, -17.326229760417807 ], [ 34.894388932860224, -17.326323902881626 ], [ 34.894318941931957, -17.326404205007993 ] ] ] } }, -{ "type": "Feature", "properties": { "field": "4.2", "sub_field": "4.2C" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 34.890807409243124, -17.32342733014784 ], [ 34.892592473294087, -17.324940604483569 ], [ 34.890923514244896, -17.32653987812137 ], [ 34.890914484047336, -17.32653180828056 ], [ 34.890829203620619, -17.3264471778465 ], [ 34.890748651575883, -17.326358376480158 ], [ 34.890673048700258, -17.326265647585799 ], [ 34.890602602214209, -17.326169245332796 ], [ 34.890537505203675, -17.326069433958875 ], [ 34.890477936090804, -17.325966487045811 ], [ 34.890424058144973, -17.325860686769481 ], [ 34.890376019035322, -17.325752323126384 ], [ 34.890333950426125, -17.325641693138767 ], [ 34.890297967615908, -17.325529100040367 ], [ 34.890268169221613, -17.32541485244527 ], [ 34.890244636908328, -17.325299263501982 ], [ 34.890227435165592, -17.325182650035078 ], [ 34.890216611130739, -17.325065331676697 ], [ 34.890212194459821, -17.324947629990511 ], [ 34.890214197246515, -17.324829867590271 ], [ 34.890222613988975, -17.324712367255533 ], [ 34.890237421605185, -17.324595451046935 ], [ 34.890258579496297, -17.324479439423452 ], [ 34.890286029658014, -17.324364650364053 ], [ 34.890319696839796, -17.324251398496109 ], [ 34.890359488751137, -17.324139994233082 ], [ 34.890405296314732, -17.324030742923696 ], [ 34.890456993965522, -17.323923944015053 ], [ 34.890514439994988, -17.323819890231881 ], [ 34.890577476939619, -17.32371886677425 ], [ 34.890645932012674, -17.323621150535875 ], [ 34.89071961757778, -17.323527009345277 ], [ 34.890798331663291, -17.323436701231689 ], [ 34.890807409243124, -17.32342733014784 ] ] ] } }, -{ "type": "Feature", "properties": { "field": "4.2", "sub_field": "4.2B" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 34.892592473294087, -17.324940604483569 ], [ 34.894318941931957, -17.326404205007993 ], [ 34.894310219599099, -17.326414212331692 ], [ 34.894226693264422, -17.326500441230607 ], [ 34.89413858279395, -17.326582353225231 ], [ 34.89404612969151, -17.32665972379467 ], [ 34.893949587365086, -17.326732340865671 ], [ 34.893849220432202, -17.326800005393974 ], [ 34.893745303994642, -17.32686253190996 ], [ 34.893638122884369, -17.326919749027052 ], [ 34.893527970882786, -17.326971499911568 ], [ 34.893415149915398, -17.327017642712615 ], [ 34.893299969224287, -17.327058050950988 ], [ 34.893182744520246, -17.327092613865844 ], [ 34.893063797117513, -17.327121236718394 ], [ 34.892943453052915, -17.327143841051626 ], [ 34.892822042192059, -17.327160364905325 ], [ 34.892699897325102, -17.327170762986 ], [ 34.892577353254502, -17.327175006791023 ], [ 34.892454745877195, -17.327173084686827 ], [ 34.892332411263794, -17.327165001940749 ], [ 34.892210684737286, -17.327150780706638 ], [ 34.892089899953852, -17.327130459964124 ], [ 34.891970387988138, -17.32710409541183 ], [ 34.89185247642574, -17.327071759314567 ], [ 34.891736488465099, -17.327033540305397 ], [ 34.89162274203165, -17.32698954314257 ], [ 34.891511548906152, -17.326939888422402 ], [ 34.891403213870092, -17.326884712248685 ], [ 34.891298033870221, -17.326824165859591 ], [ 34.891196297204459, -17.326758415213135 ], [ 34.891098282731733, -17.326687640532139 ], [ 34.891004259107483, -17.326612035810371 ], [ 34.890923514244896, -17.32653987812137 ], [ 34.892592473294087, -17.324940604483569 ] ] ] } }, -{ "type": "Feature", "properties": { "field": "4.4", "sub_field": "4.4B" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 34.901510659033576, -17.318761975282452 ], [ 34.90279052743562, -17.320898850353373 ], [ 34.902695969314003, -17.320949335742025 ], [ 34.902573880267774, -17.32100670306102 ], [ 34.90244883266864, -17.321057854335081 ], [ 34.902321169272682, -17.321102649355964 ], [ 34.902191240006921, -17.321140965337896 ], [ 34.902059401010106, -17.321172697254248 ], [ 34.901926013656272, -17.321197758125358 ], [ 34.901791443564306, -17.321216079257098 ], [ 34.90165605959551, -17.32122761042908 ], [ 34.901520232842493, -17.321232320032479 ], [ 34.901384335611887, -17.321230195156613 ], [ 34.901248740403666, -17.321221241624368 ], [ 34.901113818890003, -17.321205483976261 ], [ 34.900979940896406, -17.321182965403178 ], [ 34.900847473387834, -17.321153747627999 ], [ 34.900716779462755, -17.321117910736373 ], [ 34.900588217357772, -17.321075552957247 ], [ 34.900462139465517, -17.321026790393535 ], [ 34.900338891368634, -17.320971756703898 ], [ 34.900218810892511, -17.320910602736351 ], [ 34.900102227179111, -17.32084349611473 ], [ 34.899989459784749, -17.320770620779172 ], [ 34.899880817804124, -17.320692176481966 ], [ 34.899776599023014, -17.320608378239882 ], [ 34.899677089102028, -17.320519455744826 ], [ 34.899582560793547, -17.320425652734166 ], [ 34.899493273194146, -17.320327226322597 ], [ 34.89940947103441, -17.32022444629732 ], [ 34.899331384008093, -17.320117594378495 ], [ 34.899259226142632, -17.320006963446986 ], [ 34.89921991385566, -17.319939028684551 ], [ 34.901510659033576, -17.318761975282452 ] ] ] } }, -{ "type": "Feature", "properties": { "field": "4.3", "sub_field": "4.3B" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 34.896432140987109, -17.321371469783127 ], [ 34.89747695456991, -17.323348411891939 ], [ 34.897469679008267, -17.323352296088142 ], [ 34.897359530326881, -17.323404048785928 ], [ 34.897246712631812, -17.32345019345582 ], [ 34.897131535156085, -17.323490603613518 ], [ 34.897014313601751, -17.323525168492896 ], [ 34.896895369274397, -17.323553793349777 ], [ 34.896775028202391, -17.323576399721649 ], [ 34.896653620243129, -17.323592925642721 ], [ 34.896531478178844, -17.323603325813824 ], [ 34.896408936804313, -17.323607571726608 ], [ 34.896286332009041, -17.323605651741715 ], [ 34.896163999856569, -17.323597571120658 ], [ 34.89604227566317, -17.323583352011493 ], [ 34.895921493078589, -17.323563033388012 ], [ 34.895801983171467, -17.32353667094301 ], [ 34.895684073521728, -17.323504336935521 ], [ 34.895568087322616, -17.32346611999289 ], [ 34.895454342494695, -17.323422124867694 ], [ 34.895343150814341, -17.323372472150655 ], [ 34.895234817059112, -17.32331729794009 ], [ 34.895129638172165, -17.323256753468765 ], [ 34.895027902448454, -17.323191004689452 ], [ 34.894929888744272, -17.323120231819857 ], [ 34.894835865713006, -17.323044628848749 ], [ 34.894746091068598, -17.3229644030041 ], [ 34.894660810879273, -17.322879774185061 ], [ 34.894580258892958, -17.322790974359165 ], [ 34.894504655896569, -17.322698246926471 ], [ 34.894434209110955, -17.322601846052333 ], [ 34.894369111622865, -17.3225020359707 ], [ 34.894337657341168, -17.322447678138754 ], [ 34.896432140987109, -17.321371469783127 ] ] ] } }, -{ "type": "Feature", "properties": { "field": "4.4", "sub_field": "4.4D" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 34.901510659033576, -17.318761975282452 ], [ 34.900201998898332, -17.316577029381111 ], [ 34.900293113953509, -17.316528382885895 ], [ 34.900415201043664, -17.316471017154804 ], [ 34.900540246370653, -17.316419867378574 ], [ 34.900667907203236, -17.316375073749036 ], [ 34.900797833642493, -17.316336759036712 ], [ 34.900929669580677, -17.316305028254352 ], [ 34.90106305367722, -17.316279968369155 ], [ 34.90119762034896, -17.316261648064486 ], [ 34.901333000772034, -17.316250117551629 ], [ 34.901468823892699, -17.316245408432209 ], [ 34.901604717444123, -17.316247533611602 ], [ 34.90174030896663, -17.316256487263608 ], [ 34.901875226828437, -17.316272244846392 ], [ 34.90200910124404, -17.316294763169765 ], [ 34.902141565287693, -17.316323980513619 ], [ 34.902272255898858, -17.316359816796982 ], [ 34.902400814877282, -17.31640217379762 ], [ 34.902526889864582, -17.316450935421123 ], [ 34.902650135309905, -17.31650596801914 ], [ 34.902770213416957, -17.316567120755611 ], [ 34.902886795069712, -17.316634226020188 ], [ 34.902999560734415, -17.316707099887594 ], [ 34.903108201335357, -17.316785542621652 ], [ 34.903212419101848, -17.316869339222688 ], [ 34.903311928384397, -17.316958260016797 ], [ 34.903406456437629, -17.317052061285217 ], [ 34.903495744167735, -17.317150485932377 ], [ 34.903579546842757, -17.317253264190409 ], [ 34.903657634763242, -17.317360114358475 ], [ 34.903729793891969, -17.317470743574912 ], [ 34.903795826440607, -17.317584848619777 ], [ 34.903797012928912, -17.317587178252715 ], [ 34.901510659033576, -17.318761975282452 ] ] ] } }, -{ "type": "Feature", "properties": { "field": "4.4", "sub_field": "4.4A" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 34.90279052743562, -17.320898850353373 ], [ 34.901510659033576, -17.318761975282452 ], [ 34.903797012928912, -17.317587178252715 ], [ 34.903855551411873, -17.317702116745874 ], [ 34.903908805095746, -17.317822226535956 ], [ 34.903955441518242, -17.317944848783579 ], [ 34.90399533284166, -17.318069647395419 ], [ 34.904028369715036, -17.318196280312364 ], [ 34.904054461574034, -17.318324400447054 ], [ 34.904073536889292, -17.318453656635143 ], [ 34.904085543362676, -17.31858369459782 ], [ 34.904090448070683, -17.318714157912751 ], [ 34.90408823755498, -17.318844688991089 ], [ 34.904078917859259, -17.318974930057436 ], [ 34.904062514513072, -17.319104524130601 ], [ 34.904039072461806, -17.319233116001957 ], [ 34.904008655943819, -17.319360353209095 ], [ 34.90397134831445, -17.31948588700191 ], [ 34.903927251817677, -17.319609373298508 ], [ 34.903876487306093, -17.319730473628336 ], [ 34.903819193909769, -17.319848856059931 ], [ 34.903755528655026, -17.319964196110821 ], [ 34.903685666034164, -17.320076177636885 ], [ 34.903609797527295, -17.320184493698932 ], [ 34.903528131077636, -17.320288847404175 ], [ 34.903440890521551, -17.320388952719917 ], [ 34.903348314975204, -17.320484535257712 ], [ 34.903250658179061, -17.320575333025491 ], [ 34.903148187802621, -17.320661097145702 ], [ 34.903041184710538, -17.320741592537622 ], [ 34.902929942192998, -17.320816598561695 ], [ 34.902814765161672, -17.320885909624447 ], [ 34.90279052743562, -17.320898850353373 ] ] ] } }, -{ "type": "Feature", "properties": { "field": "4.3", "sub_field": "4.3D" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 34.896432140987109, -17.321371469783127 ], [ 34.895357321246472, -17.319337751577674 ], [ 34.895412100380852, -17.319312014200012 ], [ 34.895524916225504, -17.319265870748787 ], [ 34.895640091613821, -17.319225461723033 ], [ 34.895757310866635, -17.319190897876435 ], [ 34.89587625270358, -17.319162273941881 ], [ 34.895996591123556, -17.319139668371751 ], [ 34.896117996298237, -17.319123143123075 ], [ 34.8962401354759, -17.319112743487636 ], [ 34.8963626738934, -17.319108497967935 ], [ 34.896485275693607, -17.31911041819901 ], [ 34.896607604845812, -17.319118498916652 ], [ 34.896729326066612, -17.319132717971751 ], [ 34.896850105738828, -17.319153036391111 ], [ 34.896969612825721, -17.31917939848416 ], [ 34.897087519778275, -17.319211731995729 ], [ 34.897203503432799, -17.31924994830392 ], [ 34.897317245896588, -17.319293942663073 ], [ 34.897428435419187, -17.319343594490885 ], [ 34.897536767246699, -17.319398767698779 ], [ 34.897641944457035, -17.319459311064964 ], [ 34.897743678773672, -17.319525058648797 ], [ 34.897841691355659, -17.319595830245646 ], [ 34.897935713561985, -17.3196714318807 ], [ 34.898025487687661, -17.319751656340614 ], [ 34.898110767670225, -17.319836283741424 ], [ 34.898191319763967, -17.319925082131114 ], [ 34.89826692318082, -17.320017808125392 ], [ 34.898337370695316, -17.320114207574626 ], [ 34.898402469212712, -17.320214016260511 ], [ 34.898462040298284, -17.32031696062009 ], [ 34.898466676679575, -17.320326064479389 ], [ 34.896432140987109, -17.321371469783127 ] ] ] } }, -{ "type": "Feature", "properties": { "field": "4.3", "sub_field": "4.3A" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 34.89747695456991, -17.323348411891939 ], [ 34.896432140987109, -17.321371469783127 ], [ 34.898466676679575, -17.320326064479389 ], [ 34.898515920666433, -17.320422758495592 ], [ 34.898563962628245, -17.320531119907688 ], [ 34.898606034496453, -17.320641747850299 ], [ 34.898642020946426, -17.320754339104575 ], [ 34.898671823332343, -17.320868585069945 ], [ 34.898695359957713, -17.320984172609954 ], [ 34.898712566299402, -17.321100784910492 ], [ 34.898723395184547, -17.321218102348105 ], [ 34.898727816920108, -17.321335803366054 ], [ 34.89872581937427, -17.32145356535565 ], [ 34.898717408009844, -17.321571065540464 ], [ 34.898702605869474, -17.321687981861071 ], [ 34.898681453512594, -17.321803993857738 ], [ 34.898654008904387, -17.321918783548817 ], [ 34.898620347257008, -17.322032036302279 ], [ 34.898580560823632, -17.322143441698167 ], [ 34.898534758645638, -17.322252694379447 ], [ 34.898483066253917, -17.322359494888957 ], [ 34.89842562532484, -17.322463550490273 ], [ 34.898362593292084, -17.322564575970105 ], [ 34.898294142915205, -17.322662294420091 ], [ 34.89822046180609, -17.322756437995842 ], [ 34.898141751914984, -17.322846748651152 ], [ 34.89805822897678, -17.322932978845273 ], [ 34.897970121919982, -17.323014892221561 ], [ 34.897877672239005, -17.323092264255322 ], [ 34.897781133332444, -17.323164882869285 ], [ 34.897680769808474, -17.323232549014975 ], [ 34.897576856759528, -17.323295077218333 ], [ 34.89747695456991, -17.323348411891939 ] ] ] } }, -{ "type": "Feature", "properties": { "field": "4.5", "sub_field": "4.5A" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 34.895433867295488, -17.318895605322869 ], [ 34.893769553711472, -17.316586264213559 ], [ 34.896250865251233, -17.315043362242964 ], [ 34.896318457119754, -17.315146999772502 ], [ 34.896392618163802, -17.315275164603293 ], [ 34.896459694535324, -17.315406881910381 ], [ 34.896519502372527, -17.315541790673997 ], [ 34.896571877734488, -17.31567952112637 ], [ 34.896616677050702, -17.315819695765096 ], [ 34.896653777514736, -17.315961930387815 ], [ 34.896683077420903, -17.316105835145184 ], [ 34.896704496443341, -17.316251015609364 ], [ 34.896717975856284, -17.316397073855079 ], [ 34.896723478695229, -17.316543609550223 ], [ 34.896720989858451, -17.316690221053168 ], [ 34.896710516148602, -17.316836506513539 ], [ 34.896692086254312, -17.316982064973665 ], [ 34.896665750671708, -17.317126497467576 ], [ 34.896631581566275, -17.317269408114562 ], [ 34.896589672575168, -17.317410405204214 ], [ 34.89654013855089, -17.317549102270181 ], [ 34.896483115246532, -17.317685119149388 ], [ 34.896418758943973, -17.317818083024147 ], [ 34.89634724602562, -17.317947629444067 ], [ 34.896268772491148, -17.318073403325023 ], [ 34.896183553420386, -17.318195059922527 ], [ 34.896091822383909, -17.31831226577669 ], [ 34.895993830802993, -17.318424699626295 ], [ 34.89588984726047, -17.318532053289481 ], [ 34.895780156764722, -17.318634032508506 ], [ 34.895665059968458, -17.31873035775638 ], [ 34.895544872344658, -17.31882076500316 ], [ 34.895433867295488, -17.318895605322869 ] ] ] } }, -{ "type": "Feature", "properties": { "field": "4.5", "sub_field": "4.5C" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 34.892115685045027, -17.314291416092694 ], [ 34.893769553711472, -17.316586264213559 ], [ 34.891356570129695, -17.318086679241528 ], [ 34.891297083615598, -17.317995466139099 ], [ 34.891222924615022, -17.317867299214686 ], [ 34.891155850712593, -17.317735579905825 ], [ 34.891096045743055, -17.317600669254201 ], [ 34.891043673615911, -17.31746293704829 ], [ 34.890998877866231, -17.317322760809684 ], [ 34.890961781261367, -17.317180524758289 ], [ 34.890932485464695, -17.317036618759101 ], [ 34.890911070757085, -17.31689143725356 ], [ 34.890897595817023, -17.316745378178336 ], [ 34.890892097560027, -17.316598841874647 ], [ 34.890894591037593, -17.316452229990769 ], [ 34.890905069396219, -17.316305944381273 ], [ 34.890923503896353, -17.316160386005446 ], [ 34.8909498439914, -17.316015953828344 ], [ 34.890984017466458, -17.315873043727201 ], [ 34.891025930636467, -17.315732047406435 ], [ 34.891075468603169, -17.315593351324001 ], [ 34.89113249557024, -17.315457335632171 ], [ 34.891196855215718, -17.315324373135638 ], [ 34.891268371120539, -17.315194828269686 ], [ 34.891346847252301, -17.315069056101418 ], [ 34.891432068502752, -17.314947401356562 ], [ 34.891523801277408, -17.314830197474695 ], [ 34.891621794135965, -17.314717765695455 ], [ 34.891725778481565, -17.314610414177974 ], [ 34.891835469297064, -17.314508437156523 ], [ 34.891950565926237, -17.314412114133994 ], [ 34.892070752897929, -17.314321709115958 ], [ 34.892115685045027, -17.314291416092694 ] ] ] } }, -{ "type": "Feature", "properties": { "field": "4.5", "sub_field": "4.5B" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 34.893769553711472, -17.316586264213559 ], [ 34.895433867295488, -17.318895605322869 ], [ 34.895419923321938, -17.318905006439724 ], [ 34.895290555381528, -17.318982851157038 ], [ 34.895157123118501, -17.319054085779275 ], [ 34.895019992269809, -17.319118515048697 ], [ 34.894879538711734, -17.319175962360919 ], [ 34.894736147429491, -17.319226270249096 ], [ 34.894590211461896, -17.319269300815598 ], [ 34.894442130823954, -17.319304936110047 ], [ 34.894292311410268, -17.319333078452726 ], [ 34.894141163882288, -17.319353650702329 ], [ 34.893989102542648, -17.319366596467447 ], [ 34.89383654419926, -17.31937188026124 ], [ 34.893683907022783, -17.319369487598706 ], [ 34.893531609400171, -17.319359425036396 ], [ 34.893380068787728, -17.319341720154483 ], [ 34.893229700566629, -17.319316421481151 ], [ 34.893080916904303, -17.31928359835964 ], [ 34.892934125624336, -17.319243340758049 ], [ 34.892789729088619, -17.319195759022865 ], [ 34.892648123094212, -17.319140983576336 ], [ 34.892509695788348, -17.319079164559028 ], [ 34.892374826604382, -17.319010471418256 ], [ 34.892243885221639, -17.318935092443517 ], [ 34.892117230552039, -17.318853234250383 ], [ 34.891995209756132, -17.318765121214074 ], [ 34.891878157291615, -17.318670994854429 ], [ 34.891766393996384, -17.318571113173732 ], [ 34.891660226209176, -17.31846574994956 ], [ 34.89155994492981, -17.318355193984225 ], [ 34.891465825021619, -17.318239748313058 ], [ 34.891378124458043, -17.318119729373805 ], [ 34.891356570129695, -17.318086679241528 ], [ 34.893769553711472, -17.316586264213559 ] ] ] } }, -{ "type": "Feature", "properties": { "field": "4.6", "sub_field": "4.6B" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 34.899440097999843, -17.313485312578923 ], [ 34.897682148973075, -17.31561157677756 ], [ 34.89767166812657, -17.315604008707908 ], [ 34.897554615295256, -17.315509885726271 ], [ 34.897442851360346, -17.315410007298045 ], [ 34.897336682662356, -17.315304647191873 ], [ 34.897236400203575, -17.315194094201519 ], [ 34.897142278850595, -17.31507865135416 ], [ 34.897054576580814, -17.314958635079801 ], [ 34.896973533775437, -17.314834374343764 ], [ 34.89689937256059, -17.314706209744962 ], [ 34.896832296198639, -17.314574492582278 ], [ 34.89677248853107, -17.314439583891517 ], [ 34.896720113474764, -17.314301853455778 ], [ 34.89667531457286, -17.314161678791795 ], [ 34.896638214601346, -17.314019444115193 ], [ 34.896608915232846, -17.313875539287164 ], [ 34.896587496758009, -17.313730358745971 ], [ 34.89657401786566, -17.313584300425656 ], [ 34.896568515482123, -17.313437764665327 ], [ 34.896571004670271, -17.313291153111834 ], [ 34.896581478588317, -17.313144867618806 ], [ 34.896599908508904, -17.312999309145241 ], [ 34.896626243897977, -17.312854876656449 ], [ 34.896660412553551, -17.312711966030534 ], [ 34.896702320803762, -17.312570968973372 ], [ 34.896751853763831, -17.312432271944935 ], [ 34.896808875651196, -17.312296255100076 ], [ 34.896873230157759, -17.312163291246673 ], [ 34.896944740878574, -17.312033744823729 ], [ 34.897023211795457, -17.31190797090262 ], [ 34.897108427814409, -17.311786314213879 ], [ 34.897200155355293, -17.311669108202434 ], [ 34.8972189524941, -17.311647539775638 ], [ 34.899440097999843, -17.313485312578923 ] ] ] } }, -{ "type": "Feature", "properties": { "field": "4.6", "sub_field": "4.6D" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 34.899440097999843, -17.313485312578923 ], [ 34.90130835758503, -17.31122562620051 ], [ 34.901413639955251, -17.311310283537498 ], [ 34.901525403085479, -17.31141015982055 ], [ 34.901631571462033, -17.311515517729532 ], [ 34.901731854086115, -17.311626068494771 ], [ 34.901825976089349, -17.311741509113453 ], [ 34.901913679487194, -17.311861523179989 ], [ 34.901994723886119, -17.311985781753258 ], [ 34.902068887142498, -17.312113944258016 ], [ 34.90213596597161, -17.312245659418359 ], [ 34.902195776504954, -17.312380566220416 ], [ 34.902248154794236, -17.312518294901775 ], [ 34.902292957260912, -17.312658467964877 ], [ 34.902330061089906, -17.312800701211714 ], [ 34.902359364566351, -17.312944604796709 ], [ 34.902380787354609, -17.313089784295226 ], [ 34.902394270718574, -17.313235841784657 ], [ 34.902399777682902, -17.313382376934985 ], [ 34.902397293134591, -17.313528988106064 ], [ 34.902386823864568, -17.313675273448435 ], [ 34.902368398549257, -17.313820832004755 ], [ 34.902342067672237, -17.313965264808807 ], [ 34.902307903386109, -17.314108175979023 ], [ 34.902265999314849, -17.314249173803603 ], [ 34.902216470297404, -17.314387871814134 ], [ 34.902159452073207, -17.314523889844988 ], [ 34.902095100910188, -17.314656855075331 ], [ 34.902023593176651, -17.314786403051055 ], [ 34.901945124858074, -17.31491217868377 ], [ 34.901859911019962, -17.315033837224195 ], [ 34.901768185218579, -17.315151045207116 ], [ 34.90167019886082, -17.315263481365488 ], [ 34.901634167766389, -17.315300682952017 ], [ 34.899440097999843, -17.313485312578923 ] ] ] } }, -{ "type": "Feature", "properties": { "field": "4.6", "sub_field": "4.6A" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 34.897682148973075, -17.31561157677756 ], [ 34.899440097999843, -17.313485312578923 ], [ 34.901634167766389, -17.315300682952017 ], [ 34.901566220515207, -17.315370837511132 ], [ 34.901456535175853, -17.31547281937948 ], [ 34.901341443481343, -17.315569147436317 ], [ 34.901221260890679, -17.315659557643983 ], [ 34.901096316818645, -17.31574380218521 ], [ 34.900966953732905, -17.315821650142521 ], [ 34.900833526215209, -17.315892888131156 ], [ 34.900696399989521, -17.315957320884166 ], [ 34.900555950919419, -17.316014771787611 ], [ 34.900412563977817, -17.316065083364801 ], [ 34.900266632191638, -17.316108117707994 ], [ 34.900118555564397, -17.316143756856455 ], [ 34.899968739979705, -17.316171903119908 ], [ 34.899817596088525, -17.316192479346252 ], [ 34.899665538183491, -17.316205429133237 ], [ 34.899512983063111, -17.316210716982958 ], [ 34.899360348889211, -17.316208328399284 ], [ 34.8992080540405, -17.316198269927593 ], [ 34.899056515965661, -17.316180569136844 ], [ 34.898906150038954, -17.316155274543995 ], [ 34.898757368421464, -17.316122455481082 ], [ 34.898610578931248, -17.316082201905107 ], [ 34.898466183925223, -17.316034624151484 ], [ 34.898324579196277, -17.31597985263155 ], [ 34.898186152888186, -17.315918037475122 ], [ 34.898051284431546, -17.315849348118899 ], [ 34.897920343503721, -17.315773972842017 ], [ 34.897793689015366, -17.315692118249903 ], [ 34.897682148973075, -17.31561157677756 ] ] ] } }, -{ "type": "Feature", "properties": { "field": "5.1", "sub_field": "5.1A" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 34.889644280205616, -17.310113123629545 ], [ 34.893567231271753, -17.309696371939275 ], [ 34.894135431768206, -17.313461353424515 ], [ 34.894022909687017, -17.31347666856341 ], [ 34.893816897561351, -17.313494207208084 ], [ 34.893610212128692, -17.313501365053114 ], [ 34.893403419933982, -17.313498122474773 ], [ 34.893197087815246, -17.313484488357865 ], [ 34.892991781349544, -17.313460500071429 ], [ 34.892788063302312, -17.313426223366324 ], [ 34.892586492084611, -17.313381752195014 ], [ 34.892387620222046, -17.313327208454009 ], [ 34.892191992840104, -17.313262741649709 ], [ 34.892000146169543, -17.313188528488556 ], [ 34.891812606076378, -17.313104772392641 ], [ 34.891629886620137, -17.313011702941967 ], [ 34.891452488644688, -17.312909575245161 ], [ 34.891280898405093, -17.31279866924006 ], [ 34.89111558623474, -17.312679288926272 ], [ 34.890957005255849, -17.312551761531832 ], [ 34.890805590137525, -17.312416436616065 ], [ 34.890661755904112, -17.312273685111339 ], [ 34.890525896797627, -17.312123898306147 ], [ 34.890398385197194, -17.311967486772534 ], [ 34.890279570598331, -17.311804879240409 ], [ 34.890169778655036, -17.311636521422365 ], [ 34.89006931028738, -17.311462874791772 ], [ 34.889978440856758, -17.311284415317768 ], [ 34.889897419411362, -17.311101632160437 ], [ 34.889826468003683, -17.310915026329962 ], [ 34.889765781082247, -17.310725109313132 ], [ 34.889715524958767, -17.310532401671345 ], [ 34.889675837352712, -17.310337431613661 ], [ 34.889646827014069, -17.310140733548774 ], [ 34.889644280205616, -17.310113123629545 ] ] ] } }, -{ "type": "Feature", "properties": { "field": "5.1", "sub_field": "5.1C" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 34.897496240357995, -17.309278976679899 ], [ 34.893567231271753, -17.309696371939275 ], [ 34.893002323669023, -17.305953209660426 ], [ 34.893119668539669, -17.305937238579631 ], [ 34.893325672458758, -17.305919701457171 ], [ 34.893532349484737, -17.30591254472894 ], [ 34.893739133164758, -17.305915788006445 ], [ 34.893945456754139, -17.305929422397227 ], [ 34.894150754769228, -17.30595341052922 ], [ 34.894354464537166, -17.30598768665326 ], [ 34.894556027737657, -17.306032156823267 ], [ 34.894754891932848, -17.306086699153688 ], [ 34.89495051208133, -17.30615116415359 ], [ 34.895142352031577, -17.306225375136297 ], [ 34.895329885991188, -17.306309128703578 ], [ 34.895512599967851, -17.306402195303132 ], [ 34.895689993177726, -17.306504319857581 ], [ 34.895861579417975, -17.306615222463513 ], [ 34.896026888399007, -17.306734599158542 ], [ 34.896185467033547, -17.306862122754314 ], [ 34.896336880678206, -17.306997443733113 ], [ 34.896480714324767, -17.307140191205693 ], [ 34.896616573737617, -17.30728997392773 ], [ 34.896744086534312, -17.307446381371953 ], [ 34.89686290320622, -17.307608984853228 ], [ 34.89697269807661, -17.30777733870335 ], [ 34.897073170193366, -17.307950981492414 ], [ 34.897164044153996, -17.308129437293385 ], [ 34.897245070860698, -17.308312216986412 ], [ 34.897316028203313, -17.308498819599276 ], [ 34.897376721668323, -17.308688733680437 ], [ 34.897426984872283, -17.308881438700638 ], [ 34.897466680018177, -17.309076406479587 ], [ 34.897495698273403, -17.309273102633544 ], [ 34.897496240357995, -17.309278976679899 ] ] ] } }, -{ "type": "Feature", "properties": { "field": "5.1", "sub_field": "5.1B" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 34.893567231271753, -17.309696371939275 ], [ 34.889644280205616, -17.310113123629545 ], [ 34.889628573425647, -17.309942846620235 ], [ 34.889621126585517, -17.309744313228641 ], [ 34.889624506870462, -17.309545677544772 ], [ 34.889638704980335, -17.309347484018105 ], [ 34.889663681964102, -17.309150275884431 ], [ 34.88969936932687, -17.308954593676912 ], [ 34.889745669218065, -17.308760973744466 ], [ 34.889802454699968, -17.308569946781756 ], [ 34.889869570096032, -17.308382036374624 ], [ 34.889946831417923, -17.308197757564983 ], [ 34.890034026870126, -17.308017615439326 ], [ 34.890130917430803, -17.307842103744292 ], [ 34.890237237507151, -17.307671703533526 ], [ 34.890352695663665, -17.307506881849253 ], [ 34.890476975421151, -17.307348090442296 ], [ 34.890609736124361, -17.307195764533997 ], [ 34.890750613875788, -17.3070503216235 ], [ 34.890899222533278, -17.306912160343522 ], [ 34.891055154768431, -17.306781659367985 ], [ 34.891217983183068, -17.306659176374215 ], [ 34.891387261480766, -17.306545047062802 ], [ 34.891562525690006, -17.306439584237634 ], [ 34.891743295435781, -17.306343076948679 ], [ 34.891929075256186, -17.306255789699943 ], [ 34.892119355960247, -17.306177961724611 ], [ 34.892313616023394, -17.306109806329552 ], [ 34.892511323016663, -17.306051510310741 ], [ 34.892711935065812, -17.30600323344148 ], [ 34.892914902336223, -17.305965108034528 ], [ 34.893002323669023, -17.305953209660426 ], [ 34.893567231271753, -17.309696371939275 ] ] ] } }, -{ "type": "Feature", "properties": { "field": "5.3", "sub_field": "5.3C" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 34.88655044353051, -17.30082027669599 ], [ 34.887065228066767, -17.304559537671949 ], [ 34.883138407553353, -17.304967747142655 ], [ 34.883124499512981, -17.304816903162319 ], [ 34.883117060422094, -17.30461836873225 ], [ 34.883120448196905, -17.304419732390357 ], [ 34.883134653516784, -17.304221538587896 ], [ 34.883159637410927, -17.304024330561418 ], [ 34.883195331365513, -17.303828648843769 ], [ 34.883241637511922, -17.303635029782509 ], [ 34.883298428895301, -17.303444004069913 ], [ 34.883365549822955, -17.303256095288376 ], [ 34.883442816291399, -17.30307181847537 ], [ 34.883530016491029, -17.302891678711884 ], [ 34.883626911387026, -17.302716169738098 ], [ 34.883733235374699, -17.30254577260019 ], [ 34.883848697007878, -17.302380954331959 ], [ 34.883972979797818, -17.302222166674863 ], [ 34.884105743080994, -17.302069844839973 ], [ 34.884246622952844, -17.301924406315258 ], [ 34.88439523326543, -17.301786249721427 ], [ 34.88455116668581, -17.301655753719565 ], [ 34.884713995812575, -17.301533275973377 ], [ 34.884883274347381, -17.301419152169071 ], [ 34.885058538318042, -17.301313695095438 ], [ 34.885239307350204, -17.301217193786709 ], [ 34.885425085983954, -17.301129912730506 ], [ 34.885615365031562, -17.301052091143053 ], [ 34.885809622973014, -17.30098394231371 ], [ 34.886007327385144, -17.300925653020485 ], [ 34.88620793640078, -17.30087738301825 ], [ 34.886410900193646, -17.30083926460097 ], [ 34.88655044353051, -17.30082027669599 ] ] ] } }, -{ "type": "Feature", "properties": { "field": "5.3", "sub_field": "5.3A" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 34.887585923201613, -17.308341731698718 ], [ 34.887065228066767, -17.304559537671949 ], [ 34.890991820206963, -17.304151351941599 ], [ 34.891009712544758, -17.30434532014915 ], [ 34.891017160039745, -17.304543853465603 ], [ 34.891013780776646, -17.304742489111405 ], [ 34.890999583982811, -17.304940682642922 ], [ 34.890974608535664, -17.305137890826575 ], [ 34.890938922856463, -17.305333573127797 ], [ 34.890892624723172, -17.305527193192621 ], [ 34.89083584100284, -17.305718220317804 ], [ 34.890768727304206, -17.305906130905438 ], [ 34.890691467551548, -17.306090409898285 ], [ 34.890604273480889, -17.306270552191478 ], [ 34.890507384059916, -17.306446064017113 ], [ 34.890401064833291, -17.306616464297758 ], [ 34.890285607195082, -17.306781285965204 ], [ 34.890161327590214, -17.306940077240721 ], [ 34.890028566647352, -17.307092402873621 ], [ 34.889887688245388, -17.307237845334313 ], [ 34.889739078516179, -17.307376005958961 ], [ 34.889583144786272, -17.307506506042298 ], [ 34.889420314460438, -17.307628987875948 ], [ 34.889251033850186, -17.307743115728897 ], [ 34.889075766950455, -17.307848576767977 ], [ 34.888894994167643, -17.307945081915541 ], [ 34.888709211002805, -17.3080323666419 ], [ 34.888518926693266, -17.308110191690613 ], [ 34.888324662816736, -17.308178343734379 ], [ 34.888126951861395, -17.308236635960007 ], [ 34.887926335766082, -17.308284908580482 ], [ 34.887723364434663, -17.308323029273154 ], [ 34.887585923201613, -17.308341731698718 ] ] ] } }, -{ "type": "Feature", "properties": { "field": "5.3", "sub_field": "5.3D" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 34.887065228066767, -17.304559537671949 ], [ 34.88655044353051, -17.30082027669599 ], [ 34.886615662485013, -17.300811402239216 ], [ 34.886821662068201, -17.300793872293969 ], [ 34.88702833434634, -17.300786722807359 ], [ 34.887235112879623, -17.30078997337106 ], [ 34.887441430937386, -17.300803615072628 ], [ 34.887646723051198, -17.300827610519995 ], [ 34.88785042656432, -17.30086189394396 ], [ 34.888051983173575, -17.300906371378414 ], [ 34.888250840459207, -17.300960920917966 ], [ 34.888446453398686, -17.301025393051869 ], [ 34.888638285860232, -17.301099611073905 ], [ 34.888825812071993, -17.301183371566594 ], [ 34.889008518062795, -17.301276444958631 ], [ 34.889185903070754, -17.301378576154015 ], [ 34.889357480915407, -17.301489485231148 ], [ 34.889522781330243, -17.301608868209907 ], [ 34.889681351251404, -17.301736397884714 ], [ 34.889832756059356, -17.301871724721188 ], [ 34.88997658077011, -17.302014477814012 ], [ 34.89011243117254, -17.302164265903457 ], [ 34.890239934908863, -17.302320678447551 ], [ 34.890358742495273, -17.302483286747144 ], [ 34.890468528279946, -17.302651645120829 ], [ 34.890568991335634, -17.3028252921263 ], [ 34.890659856284707, -17.303003751824949 ], [ 34.890740874054046, -17.303186535086216 ], [ 34.890811822557978, -17.303373140928109 ], [ 34.890872507307208, -17.303563057890219 ], [ 34.890922761942207, -17.303755765435376 ], [ 34.890962448689429, -17.303950735376358 ], [ 34.890991458739279, -17.304147433323465 ], [ 34.890991820206963, -17.304151351941599 ], [ 34.887065228066767, -17.304559537671949 ] ] ] } }, -{ "type": "Feature", "properties": { "field": "5.2", "sub_field": "5.2A" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 34.8969126991338, -17.302747852699646 ], [ 34.900876176680299, -17.302893796550027 ], [ 34.900862215681485, -17.303088843323266 ], [ 34.900837250927268, -17.303286051715396 ], [ 34.900801576024612, -17.303481734749649 ], [ 34.900755288721975, -17.303675356070045 ], [ 34.900698515856696, -17.303866384969915 ], [ 34.900631413007766, -17.30405429784653 ], [ 34.900554164069703, -17.304238579636362 ], [ 34.900466980748888, -17.30441872522692 ], [ 34.900370101983533, -17.304594240841258 ], [ 34.900263793289071, -17.304764645391586 ], [ 34.900148346030669, -17.30492947179798 ], [ 34.900024076624817, -17.305088268268765 ], [ 34.899891325672165, -17.305240599538983 ], [ 34.899750457024226, -17.305386048063617 ], [ 34.899601856786099, -17.305524215162226 ], [ 34.899445932258295, -17.305654722111793 ], [ 34.899283110820335, -17.305777211185095 ], [ 34.899113838759355, -17.305891346631288 ], [ 34.898938580046824, -17.305996815596405 ], [ 34.898757815066695, -17.306093328981046 ], [ 34.898572039298578, -17.30618062223294 ], [ 34.898381761959563, -17.306258456072264 ], [ 34.898187504608195, -17.30632661714764 ], [ 34.89798979971475, -17.306384918621077 ], [ 34.89778918920144, -17.306433200680189 ], [ 34.897586222956839, -17.306471330976475 ], [ 34.897381457328272, -17.306499204988068 ], [ 34.89717545359661, -17.306516746306354 ], [ 34.896968776437447, -17.306523906845566 ], [ 34.896848733623173, -17.306522026027363 ], [ 34.8969126991338, -17.302747852699646 ] ] ] } }, -{ "type": "Feature", "properties": { "field": "5.2", "sub_field": "5.2C" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 34.8969126991338, -17.302747852699646 ], [ 34.892982579947684, -17.30260313717654 ], [ 34.892983172682968, -17.302568275889897 ], [ 34.892997367422488, -17.302370082399289 ], [ 34.893022340623894, -17.302172874159623 ], [ 34.893058023802681, -17.301977191704324 ], [ 34.89310431911975, -17.301783571383027 ], [ 34.893161099649916, -17.301592543891452 ], [ 34.893228209730253, -17.301404632816908 ], [ 34.89330546538698, -17.301220353203167 ], [ 34.893392654840142, -17.301040210138897 ], [ 34.8934895390843, -17.300864697373338 ], [ 34.893595852544017, -17.300694295963083 ], [ 34.893711303801894, -17.300529472953652 ], [ 34.893835576397656, -17.300370680099508 ], [ 34.893968329695682, -17.300218352625976 ], [ 34.894109199818764, -17.30007290803648 ], [ 34.894257800645626, -17.299934744968354 ], [ 34.894413724869359, -17.299804242100432 ], [ 34.894576545113729, -17.299681757115238 ], [ 34.894745815104677, -17.299567625718822 ], [ 34.894921070893432, -17.299462160720779 ], [ 34.89510183212807, -17.299365651177041 ], [ 34.895287603369994, -17.299278361597814 ], [ 34.895477875451739, -17.29920053122266 ], [ 34.895672126872348, -17.299132373365019 ], [ 34.895869825226519, -17.299074074827637 ], [ 34.896070428663677, -17.299025795390687 ], [ 34.896273387372787, -17.298987667373979 ], [ 34.896478145089084, -17.298959795274413 ], [ 34.89668414061839, -17.29894225547962 ], [ 34.896890809374973, -17.298935096058699 ], [ 34.8969772955911, -17.298936451464556 ], [ 34.8969126991338, -17.302747852699646 ] ] ] } }, -{ "type": "Feature", "properties": { "field": "5.2", "sub_field": "5.2D" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 34.900876176680299, -17.302893796550027 ], [ 34.8969126991338, -17.302747852699646 ], [ 34.8969772955911, -17.298936451464556 ], [ 34.897097584928609, -17.298938336630535 ], [ 34.897303900556857, -17.298951968310067 ], [ 34.897509190797912, -17.298975953732672 ], [ 34.89771289300019, -17.299010227156604 ], [ 34.897914448864078, -17.299054694643154 ], [ 34.898113305971897, -17.299109234314148 ], [ 34.898308919301599, -17.299173696685894 ], [ 34.898500752720359, -17.299247905078936 ], [ 34.898688280453683, -17.299331656102137 ], [ 34.898870988526284, -17.299424720210141 ], [ 34.899048376170541, -17.299526842332384 ], [ 34.899219957198824, -17.299637742572131 ], [ 34.899385261335887, -17.299757116973481 ], [ 34.899543835507686, -17.299884638354321 ], [ 34.899695245083088, -17.300019957203023 ], [ 34.899839075065046, -17.300162702636175 ], [ 34.899974931227973, -17.300312483415023 ], [ 34.900102441198349, -17.30046888901763 ], [ 34.900221255475309, -17.300631490763884 ], [ 34.900331048388715, -17.300799842990351 ], [ 34.900431518991795, -17.300973484271562 ], [ 34.900522391886227, -17.301151938684619 ], [ 34.900603417977173, -17.301334717113466 ], [ 34.90067437515615, -17.301521318589351 ], [ 34.900735068910123, -17.301711231663859 ], [ 34.900785332854859, -17.301903935810486 ], [ 34.900825029191338, -17.302098902851345 ], [ 34.900854049083712, -17.302295598404701 ], [ 34.900872312957986, -17.302493483349586 ], [ 34.900879770720429, -17.302692015303364 ], [ 34.900876401895346, -17.302890650108349 ], [ 34.900876176680299, -17.302893796550027 ] ] ] } }, -{ "type": "Feature", "properties": { "field": "5.4", "sub_field": "5.4B" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 34.894017157017068, -17.294410311809727 ], [ 34.89693731592709, -17.294573580994058 ], [ 34.896864188941137, -17.297331505303269 ], [ 34.896805931020118, -17.297330592199042 ], [ 34.896653651768069, -17.297320530228568 ], [ 34.896502129402165, -17.297302825932473 ], [ 34.896351779253607, -17.297277527837316 ], [ 34.896203013440193, -17.297244705284744 ], [ 34.896056239736616, -17.297204448241324 ], [ 34.89591186045655, -17.297156867051939 ], [ 34.895770271349726, -17.297102092137393 ], [ 34.895631860517078, -17.29704027363676 ], [ 34.895497007346798, -17.296971580995908 ], [ 34.895366081474315, -17.296896202502978 ], [ 34.895239441768993, -17.296814344772198 ], [ 34.8951174353504, -17.296726232177512 ], [ 34.895000396636796, -17.296632106237524 ], [ 34.894888646428399, -17.296532224953381 ], [ 34.894782491028053, -17.296426862101541 ], [ 34.894682221401673, -17.296316306483291 ], [ 34.894588112380617, -17.296200861132984 ], [ 34.894500421908518, -17.296080842487484 ], [ 34.894419390334207, -17.295956579518617 ], [ 34.894345239753093, -17.295828412831394 ], [ 34.894278173398355, -17.295696693730406 ], [ 34.894218375084108, -17.295561783256755 ], [ 34.894166008701575, -17.295424051198424 ], [ 34.89412121777012, -17.295283875076617 ], [ 34.89408412504396, -17.295141639110881 ], [ 34.894054832175833, -17.294997733166007 ], [ 34.894033419438607, -17.294852551683256 ], [ 34.894019945505391, -17.294706492599275 ], [ 34.894014447288981, -17.294559956255252 ], [ 34.894016939840789, -17.294413344299628 ], [ 34.894017157017068, -17.294410311809727 ] ] ] } }, -{ "type": "Feature", "properties": { "field": "5.4", "sub_field": "5.4A" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 34.89693731592709, -17.294573580994058 ], [ 34.89983659573803, -17.294735682805793 ], [ 34.899832163531997, -17.294797598243601 ], [ 34.899822899654588, -17.294870775272294 ], [ 34.899813736479395, -17.294943156836158 ], [ 34.899787404689512, -17.295087589492788 ], [ 34.899753240317445, -17.295230500332377 ], [ 34.899711336987437, -17.29537149764397 ], [ 34.89966180953644, -17.29551019496061 ], [ 34.899604793699602, -17.295646212118569 ], [ 34.89954044573831, -17.295779176299387 ], [ 34.89946894201217, -17.295908723051863 ], [ 34.899390478495619, -17.296034497290957 ], [ 34.899305270241072, -17.296156154271213 ], [ 34.899213550789469, -17.29627336053171 ], [ 34.899115571530331, -17.296385794810135 ], [ 34.899011601012702, -17.296493148923457 ], [ 34.898901924209291, -17.296595128612708 ], [ 34.898786841735244, -17.296691454349638 ], [ 34.898666669024301, -17.296781862102957 ], [ 34.898541735464178, -17.296866104062158 ], [ 34.898412383493714, -17.296943949316809 ], [ 34.898278967664204, -17.297015184489627 ], [ 34.898141853667532, -17.297079614321344 ], [ 34.898001417333766, -17.297137062206048 ], [ 34.89785804360087, -17.297187370675346 ], [ 34.897712125459591, -17.297230401829999 ], [ 34.897564062875993, -17.297266037718053 ], [ 34.897414261695189, -17.297294180658142 ], [ 34.89726313252865, -17.297314753507322 ], [ 34.897111089628602, -17.29732769987255 ], [ 34.896958549752426, -17.297332984265342 ], [ 34.896864188941137, -17.297331505303269 ], [ 34.89693731592709, -17.294573580994058 ] ] ] } }, -{ "type": "Feature", "properties": { "field": "5.4", "sub_field": "5.4C" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 34.89693731592709, -17.294573580994058 ], [ 34.894017157017068, -17.294410311809727 ], [ 34.894027416309868, -17.294267058587142 ], [ 34.894045847961912, -17.294121500077392 ], [ 34.894072184258114, -17.293977067735781 ], [ 34.894089624499351, -17.293904124152515 ], [ 34.894106352994037, -17.293834157440013 ], [ 34.894148260497595, -17.293693160895057 ], [ 34.894197791886107, -17.293554464559477 ], [ 34.89425481138133, -17.293418448586269 ], [ 34.894319162681754, -17.293285485780885 ], [ 34.894390669391221, -17.293155940579478 ], [ 34.894469135502568, -17.293030168050077 ], [ 34.894554345934992, -17.292908512919421 ], [ 34.894646067123652, -17.292791308628154 ], [ 34.894744047660041, -17.292678876417035 ], [ 34.894848018981065, -17.292571524446419 ], [ 34.894957696105273, -17.292469546951811 ], [ 34.895072778413969, -17.292373223437412 ], [ 34.89519295047522, -17.292282817910166 ], [ 34.895317882908451, -17.292198578156203 ], [ 34.89544723328715, -17.292120735061754 ], [ 34.89558064707748, -17.292049501980475 ], [ 34.895717758609869, -17.291985074148698 ], [ 34.89585819208127, -17.291927628150439 ], [ 34.896001562585077, -17.291877321433407 ], [ 34.89614747716594, -17.291834291877638 ], [ 34.896295535896762, -17.291798657417591 ], [ 34.896445332974679, -17.29177051571898 ], [ 34.896596457833176, -17.291749943911135 ], [ 34.896748496267172, -17.291736998375693 ], [ 34.896901031568262, -17.291731714592061 ], [ 34.897012622272264, -17.291733463938773 ], [ 34.896942313597627, -17.29438509794787 ], [ 34.89693731592709, -17.294573580994058 ] ] ] } }, -{ "type": "Feature", "properties": { "field": "5.4", "sub_field": "5.4D" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 34.89983659573803, -17.294735682805793 ], [ 34.89693731592709, -17.294573580994058 ], [ 34.896942313597627, -17.29438509794787 ], [ 34.897012622272264, -17.291733463938773 ], [ 34.897053645666574, -17.291734107040188 ], [ 34.897205920276505, -17.291744169161014 ], [ 34.897357438042967, -17.29176187337432 ], [ 34.897507783685214, -17.291787171154436 ], [ 34.89765654513478, -17.291819993163191 ], [ 34.897803314664799, -17.291860249439978 ], [ 34.897947690007349, -17.291907829648292 ], [ 34.898089275455796, -17.291962603378103 ], [ 34.89822768294929, -17.292024420503296 ], [ 34.898362533136257, -17.292093111593083 ], [ 34.898493456413945, -17.292168488376308 ], [ 34.898620093941389, -17.2922503442575 ], [ 34.898742098622918, -17.292338454882941 ], [ 34.898859136059286, -17.292432578755633 ], [ 34.898970885464273, -17.292532457897078 ], [ 34.899077040543823, -17.292637818554272 ], [ 34.899177310335574, -17.29274837194999 ], [ 34.899271420006308, -17.29286381507422 ], [ 34.8993591116053, -17.292983831514487 ], [ 34.899440144771376, -17.293108092323138 ], [ 34.899514297391676, -17.293236256918828 ], [ 34.899581366210683, -17.293367974019876 ], [ 34.899641167387308, -17.29350288260709 ], [ 34.899693536998917, -17.293640612913151 ], [ 34.899738331490795, -17.293780787436059 ], [ 34.899775428069709, -17.293923021973789 ], [ 34.899804725040731, -17.294066926677193 ], [ 34.899826142086027, -17.294212107118611 ], [ 34.899839620485281, -17.294358165372817 ], [ 34.899845123276762, -17.29450470110768 ], [ 34.899842635358958, -17.294651312681466 ], [ 34.89983659573803, -17.294735682805793 ] ] ] } }, -{ "type": "Feature", "properties": { "field": "DL1.3", "sub_field": "DL1.3" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 34.947451385514611, -17.321753599029073 ], [ 34.947298927757849, -17.321663500672134 ], [ 34.947001852567226, -17.32100637178991 ], [ 34.947092750341952, -17.318710743453458 ], [ 34.94828268484742, -17.317606307231124 ], [ 34.948861125232021, -17.317077753261884 ], [ 34.949299087237506, -17.316123196719229 ], [ 34.950715487823011, -17.316226521400374 ], [ 34.951786380891292, -17.316304641732966 ], [ 34.953480384874766, -17.317416974640771 ], [ 34.953265535589061, -17.317724640001025 ], [ 34.953133320644007, -17.318048082516636 ], [ 34.953034159435212, -17.318442523838343 ], [ 34.952968051962692, -17.318884297113428 ], [ 34.952968051962692, -17.319373402000465 ], [ 34.953092003473678, -17.319909838121443 ], [ 34.952794519847309, -17.321448138900415 ], [ 34.952108654819853, -17.321661133377713 ], [ 34.950066988602522, -17.321701668718116 ], [ 34.947451385514611, -17.321753599029073 ] ] ] } }, -{ "type": "Feature", "properties": { "field": "1.18", "sub_field": "1.18C" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 34.961301964672387, -17.313838203379714 ], [ 34.963291039141012, -17.311973548628245 ], [ 34.963318548862773, -17.312000830743248 ], [ 34.963414658522524, -17.312106712348005 ], [ 34.963504867652226, -17.312217280413027 ], [ 34.963588928992536, -17.312332231887332 ], [ 34.963666612132982, -17.31245125170528 ], [ 34.963737704143533, -17.312574013649993 ], [ 34.963802010158297, -17.312700181247447 ], [ 34.963859353909704, -17.312829408688614 ], [ 34.963909578211776, -17.312961341777211 ], [ 34.963952545391066, -17.313095618900494 ], [ 34.963988137664089, -17.313231872020292 ], [ 34.964016257460422, -17.3133697276817 ], [ 34.964036827690187, -17.313508808036687 ], [ 34.964049791955574, -17.313648731879656 ], [ 34.964055114705573, -17.313789115692281 ], [ 34.964052781333649, -17.313929574694654 ], [ 34.964042798217903, -17.314069723899909 ], [ 34.964025192703858, -17.314209179169463 ], [ 34.964000013029583, -17.314347558265844 ], [ 34.963967328193803, -17.314484481900458 ], [ 34.963927227766852, -17.314619574773129 ], [ 34.963879821645449, -17.314752466600854 ], [ 34.96382523975155, -17.314882793132711 ], [ 34.963763631676478, -17.315010197148315 ], [ 34.963695166271002, -17.315134329436955 ], [ 34.963620031182742, -17.315254849754851 ], [ 34.963538432341863, -17.315371427757743 ], [ 34.963450593396857, -17.315483743906491 ], [ 34.963356755101515, -17.3155914903429 ], [ 34.96325717465519, -17.315694371733709 ], [ 34.963152124997862, -17.315792106080078 ], [ 34.963115666188799, -17.315822640664031 ], [ 34.961301964672387, -17.313838203379714 ] ] ] } }, -{ "type": "Feature", "properties": { "field": "1.18", "sub_field": "1.18A" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 34.961301964672387, -17.313838203379714 ], [ 34.959294104555354, -17.315720468707916 ], [ 34.959205111423216, -17.315632210383061 ], [ 34.959109001898497, -17.315526326733945 ], [ 34.959018793349316, -17.315415756619789 ], [ 34.95893473302857, -17.315300803113992 ], [ 34.958857051335606, -17.315181781304474 ], [ 34.958785961184603, -17.315059017429945 ], [ 34.958721657421044, -17.314932847985528 ], [ 34.958664316287852, -17.314803618800539 ], [ 34.958614094942313, -17.314671684090325 ], [ 34.958571131025515, -17.314537405485428 ], [ 34.958535542285148, -17.314401151040233 ], [ 34.958507426252964, -17.314263294224176 ], [ 34.958486859977597, -17.31412421289793 ], [ 34.958473899813526, -17.313984288277727 ], [ 34.958468581266821, -17.313843903890437 ], [ 34.958470918897959, -17.313703444522226 ], [ 34.958480906282176, -17.313563295164005 ], [ 34.958498516027234, -17.31342383995602 ], [ 34.95852369984862, -17.313285461135049 ], [ 34.958556388702249, -17.313148537986695 ], [ 34.958596492973705, -17.31301344580578 ], [ 34.958643902724212, -17.312880554867768 ], [ 34.958698487991995, -17.31275022941379 ], [ 34.958760099148805, -17.312622826652447 ], [ 34.958828567310086, -17.312498695780704 ], [ 34.958903704798047, -17.312378177026815 ], [ 34.958985305656192, -17.3122616007179 ], [ 34.959073146213981, -17.312149286374552 ], [ 34.959166985699902, -17.31204154183515 ], [ 34.95926656690159, -17.311938662412228 ], [ 34.959371616870783, -17.311840930083029 ], [ 34.959431043918748, -17.311791160431401 ], [ 34.961301964672387, -17.313838203379714 ] ] ] } }, -{ "type": "Feature", "properties": { "field": "1.18", "sub_field": "1.18B" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 34.963291039141012, -17.311973548628245 ], [ 34.961301964672387, -17.313838203379714 ], [ 34.959431043918748, -17.311791160431401 ], [ 34.959481847671512, -17.311748612716794 ], [ 34.95959695716941, -17.311661963340608 ], [ 34.959716629859727, -17.311581219445991 ], [ 34.959840537732092, -17.311506602337992 ], [ 34.95996834116962, -17.311438316528729 ], [ 34.960099689879613, -17.311376549176956 ], [ 34.960234223853597, -17.311321469575088 ], [ 34.960371574354085, -17.311273228685337 ], [ 34.960511364925047, -17.311231958725969 ], [ 34.960653212423622, -17.311197772808992 ], [ 34.9607967280702, -17.31117076463017 ], [ 34.960941518513806, -17.311151008212327 ], [ 34.961087186910177, -17.311138557702407 ], [ 34.961233334009165, -17.311133447223234 ], [ 34.961379559249025, -17.31113569077991 ], [ 34.961525461854002, -17.311145282221496 ], [ 34.961670641932749, -17.311162195257861 ], [ 34.96181470157412, -17.311186383531847 ], [ 34.96195724593769, -17.311217780746176 ], [ 34.962097884335776, -17.311256300845265 ], [ 34.962236231304082, -17.311301838251062 ], [ 34.962371907658095, -17.311354268152318 ], [ 34.962504541532205, -17.311413446846771 ], [ 34.962633769398863, -17.311479212134888 ], [ 34.962759237064759, -17.311551383764364 ], [ 34.962880600641611, -17.31162976392423 ], [ 34.962997527488582, -17.311714137786886 ], [ 34.96310969712394, -17.311804274096819 ], [ 34.96321680210341, -17.311899925804482 ], [ 34.963291039141012, -17.311973548628245 ] ] ] } }, -{ "type": "Feature", "properties": { "field": "DL1.1", "sub_field": "DL1.1" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 34.973316494728564, -17.333251794475164 ], [ 34.973346256561562, -17.333419673334269 ], [ 34.973237698645903, -17.333332450175927 ], [ 34.973316494728564, -17.333251794475164 ] ] ] } }, -{ "type": "Feature", "properties": { "field": "DL1.1", "sub_field": "DL1.1" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 34.973346256561562, -17.333419673334269 ], [ 34.973316494728564, -17.333251794475164 ], [ 34.974847423373653, -17.331684735320394 ], [ 34.975486037377962, -17.331031049777948 ], [ 34.976506367806572, -17.330987952117045 ], [ 34.97768922874593, -17.331936098320032 ], [ 34.978068466604348, -17.332608417206025 ], [ 34.977245857001407, -17.333467640564528 ], [ 34.975576332106158, -17.335211474799472 ], [ 34.973346256561562, -17.333419673334269 ] ] ] } } -] -} diff --git a/webapps/docs/ARCHITECTURE_DATA_FLOW.md b/webapps/docs/ARCHITECTURE_DATA_FLOW.md new file mode 100644 index 0000000..9f1f22d --- /dev/null +++ b/webapps/docs/ARCHITECTURE_DATA_FLOW.md @@ -0,0 +1,408 @@ +# SmartCane Data Flow Architecture + +This diagram shows the complete pipeline from satellite imagery download through final report delivery, highlighting where Python and R interact and how data transforms at each stage. + +## High-Level Data Flow + +```mermaid +%% High-Level Data Flow +flowchart TD + A["πŸ›°οΈ External Data Sources
Planet API β€’ GeoJSON β€’ Harvest Data"] + + B["🐍 Python Stage 00
00_download_8band_pu_optimized.py"] + C["πŸ’Ύ 4-Band TIFF
merged_tif/{DATE}.tif
RGB+NIR uint16"] + + D["πŸ”΄ R Stage 10
10_create_per_field_tiffs.R"] + E["πŸ’Ύ Per-Field Tiles
field_tiles/{FIELD}/{DATE}.tif"] + + F["🟒 R Stage 20
20_ci_extraction_per_field.R"] + G["πŸ’Ύ CI Data
field_tiles_CI/{FIELD}/{DATE}.tif
+ combined_CI_data.rds"] + + H["🟑 R Stage 30
30_interpolate_growth_model.R"] + I["πŸ’Ύ Interpolated Model
All_pivots_Cumulative_CI_quadrant_year_v2.rds"] + + J["🟣 R Stage 40
40_mosaic_creation_per_field.R"] + K["πŸ’Ύ Weekly Mosaics
weekly_mosaic/{FIELD}/week_WW_YYYY.tif"] + + L["🟠 R Stage 80
80_calculate_kpis.R"] + M["πŸ’Ύ KPI Outputs
Excel + RDS Summary"] + + N["πŸ“„ R Stage 90/91
RMarkdown Reporting"] + O["βœ… Final Outputs
Word Reports β€’ Excel Tables β€’ GeoTIFFs"] + + A -->|Download| B + B -->|Save| C + C -->|Split| D + D -->|Save| E + E -->|Extract CI| F + F -->|Save| G + G -->|Interpolate| H + H -->|Save| I + I -->|Create Mosaic| J + J -->|Save| K + K -->|Calculate KPIs| L + L -->|Save| M + M -->|Render Report| N + N -->|Generate| O +``` + +## Stage-by-Stage Transformation + +### Entry Point: External Data Sources + +| Source | Format | Key File | Purpose | +|--------|--------|----------|---------| +| **Planet Labs API** | 4-band GeoTIFF (RGB+NIR) | Satellite imagery | Raw canopy reflectance | +| **Project GeoJSON** | GeoJSON polygons | `pivot.geojson` | Field boundary masks | +| **Harvest Records** | Excel spreadsheet | `harvest.xlsx` | Season date markers (optional for agronomic_support, required for cane_supply) | + +**Storage Path**: `laravel_app/storage/app/{PROJECT}/Data/` + +--- + +### Stage 00: Download (Python) + +**Script**: `python_app/00_download_8band_pu_optimized.py` + +**Inputs**: +- Planet API credentials (SentinelHub) +- Date range (YYYY-MM-DD format) +- Project ID (determines bounding box) +- Cloud masking threshold + +**Key Processing**: +- Authenticates via SentinelHub SDK +- Downloads 4 bands (R, G, B, NIR) at 3m resolution +- Applies UDM1 cloud masking +- Merges all tiles for the day into single GeoTIFF + +**Output Format**: 4-band uint16 GeoTIFF, ~150-300MB per date +``` +laravel_app/storage/app/{PROJECT}/merged_tif/{YYYY-MM-DD}.tif +``` + +**Execution Context**: +- **SOBIT**: Triggered via Laravel `ProjectDownloadTiffJob` queue +- **Dev Laptop**: Manual PowerShell command + ```powershell + cd python_app + python 00_download_8band_pu_optimized.py angata --date 2026-02-19 + ``` + +--- + +### Stage 10: Per-Field Tile Creation (R) + +**Script**: `r_app/10_create_per_field_tiffs.R` + +**Inputs**: +- Merged 4-band TIFF: `merged_tif/{DATE}.tif` +- Field boundaries: `pivot.geojson` + +**Key Processing**: +- Reads polygon geometries from GeoJSON +- Clips merged TIFF to each field boundary +- Preserves 4 bands (R, G, B, NIR) as uint16 +- Handles edge pixels and overlaps + +**Output Format**: Per-field 4-band TIFFs +``` +laravel_app/storage/app/{PROJECT}/field_tiles/{FIELD}/{DATE}.tif +``` + +**Execution Context**: +- **SOBIT**: Via shell wrapper `10_planet_download.sh` +- **Dev Laptop**: + ```powershell + & "C:\Program Files\R\R-4.4.3\bin\x64\Rscript.exe" r_app/10_create_per_field_tiffs.R angata 2026-02-19 7 + ``` + +--- + +### Stage 20: CI Extraction (R) + +**Script**: `r_app/20_ci_extraction_per_field.R` + +**Inputs**: +- Per-field 4-band TIFFs: `field_tiles/{FIELD}/{DATE}.tif` +- Field boundaries: `pivot.geojson` + +**Key Processing**: +- Calculates Canopy Index (CI) = (NIR / Green) - 1 for each pixel +- Extracts field-level statistics (mean, sd, min, max, pixel count) +- Handles clouds: CI=0 or NA when green band is absent +- Creates 5-band output: R, G, B, NIR, CI (float32 for CI band) + +**Outputs**: +``` +field_tiles_CI/{FIELD}/{DATE}.tif # 5-band daily per-field +Data/extracted_ci/daily_vals/{FIELD}/{DATE}.rds # Field stats RDS +Data/extracted_ci/cumulative_vals/combined_CI_data.rds # Wide RDS (fields Γ— dates) +``` + +**Data Format** (combined_CI_data.rds): +- Rows: Field names +- Columns: Dates (YYYY-MM-DD) +- Values: Mean CI per field on that date + +**Execution Context**: +- **SOBIT**: Via `20_ci_extraction.sh` +- **Dev Laptop**: + ```powershell + & "C:\Program Files\R\R-4.4.3\bin\x64\Rscript.exe" r_app/20_ci_extraction_per_field.R angata 2026-02-19 7 + ``` + +--- + +### Stage 30: Growth Model Interpolation (R) + +**Script**: `r_app/30_interpolate_growth_model.R` + +**Inputs**: +- Cumulative CI data: `combined_CI_data.rds` (from Stage 20) +- Harvest dates: `harvest.xlsx` (groups data into seasons) + +**Key Processing**: +- Applies LOESS smoothing (span=0.3) to CI time series +- Interpolates missing dates (handles clouds: if entire field cloudy, skips date) +- Calculates daily CI changes and cumulative CI sums per season +- Groups by harvest season (defined in harvest.xlsx) + +**Output Format**: Interpolated growth model (long format RDS) +``` +Data/extracted_ci/cumulative_vals/All_pivots_Cumulative_CI_quadrant_year_v2.rds +``` + +**Data Structure**: +- Columns: field_name, date, interpolated_ci, daily_change, cumulative_ci, season, phase +- Used by: Stage 80 (trend analysis), harvest forecasting + +**Execution Context**: +- **SOBIT**: Via `30_growth_model.sh` +- **Dev Laptop**: + ```powershell + & "C:\Program Files\R\R-4.4.3\bin\x64\Rscript.exe" r_app/30_interpolate_growth_model.R angata + ``` + +--- + +### Stage 40: Weekly Mosaic Creation (R) + +**Script**: `r_app/40_mosaic_creation_per_field.R` + +**Inputs**: +- Daily per-field CI TIFFs: `field_tiles_CI/{FIELD}/{DATE1,2,3...}.tif` (week's dates) +- Week number and year + +**Key Processing**: +- Reads all daily TIFFs for a given ISO week (Monday–Sunday) +- Applies MAX function per pixel across the week + - Max function handles clouds: picks highest (best) CI value visible during week +- Outputs 5-band composite: R, G, B, NIR, CI (float32) + +**Output Format**: Per-field weekly mosaics +``` +weekly_mosaic/{FIELD}/week_WW_YYYY.tif +``` + +**Execution Context**: +- **SOBIT**: Via `40_mosaic_creation.sh` +- **Dev Laptop**: + ```powershell + & "C:\Program Files\R\R-4.4.3\bin\x64\Rscript.exe" r_app/40_mosaic_creation_per_field.R 2026-02-19 7 angata + ``` + +--- + +### Stage 80: KPI Calculation (R) + +**Script**: `r_app/80_calculate_kpis.R` + +**Inputs**: +- Current week mosaic: `weekly_mosaic/{FIELD}/week_WW_2026.tif` +- Previous weeks' mosaics (for trend analysis) +- Growth model data: `All_pivots_Cumulative_CI_quadrant_year_v2.rds` +- Field boundaries: `pivot.geojson` +- Harvest data: `harvest.xlsx` + +**Key Processing**: +- **Client-type branching** (determined from project name): + - **agronomic_support** β†’ Sources `80_utils_agronomic_support.R` + - Field uniformity KPI (CV + Moran's I) + - Area change KPI + - TCH forecast KPI + - Growth decline KPI + - Weed presence KPI + - Gap filling KPI + + - **cane_supply** β†’ Sources `80_utils_cane_supply.R` + - Per-field analysis (acreage, phase) + - Phase assignment (age-based: germination, tillering, grand growth, maturation) + - Harvest prediction (integrates Python 31 imminent_prob if available) + - Status triggers + +**Outputs**: +``` +reports/{PROJECT}_field_analysis_week{WW}_{YYYY}.xlsx # Excel - 21 columns, per-field +reports/kpis/{PROJECT}_kpi_summary_tables_week{WW}.rds # RDS - Summary for rendering +``` + +**Execution Context**: +- **SOBIT**: Via `80_calculate_kpis.sh` +- **Dev Laptop**: + ```powershell + & "C:\Program Files\R\R-4.4.3\bin\x64\Rscript.exe" r_app/80_calculate_kpis.R 2026-02-19 angata 7 + ``` + +--- + +### Stages 90/91: Report Rendering (R Markdown) + +**Scripts**: +- `r_app/90_CI_report_with_kpis_agronomic_support.Rmd` (agronomic_support client type) +- `r_app/91_CI_report_with_kpis_cane_supply.Rmd` (cane_supply client type) + +**Inputs**: +- Weekly mosaics: `weekly_mosaic/{FIELD}/week_*.tif` +- KPI summary: `kpi_summary_tables_week{WW}.rds` +- Field boundaries: `pivot.geojson` +- CI time series: `combined_CI_data.rds` +- Growth model predictions (Script 91 only) + +**Key Processing**: + +**Script 90 (Agronomic Support)**: +- Field uniformity trend plots (CV over 8 weeks) +- Spatial autocorrelation maps (Moran's I) +- Interactive field boundary map (tmap) +- Farm-level KPI averages +- Colorblind-friendly palette + +**Script 91 (Cane Supply)**: +- Per-field status alerts (harvest readiness, stress) +- Phase assignment table +- Tonnage forecasts (CI curves Γ— historical harvest) +- Age-based harvest window predictions +- Urgent/warning/opportunity alerts + +**Output Format**: Microsoft Word (.docx) with embedded tables, images, charts +``` +reports/SmartCane_Report_week{WW}_{YYYY}.docx +``` + +**Execution Context**: +- **SOBIT**: Via `90_kpi_report.sh` (calls rmarkdown::render) +- **Dev Laptop**: + ```powershell + & "C:\Program Files\R\R-4.4.3\bin\x64\Rscript.exe" -e ` + "rmarkdown::render('r_app/90_CI_report_with_kpis_agronomic_support.Rmd', ` + params=list(data_dir='angata', report_date=as.Date('2026-02-19')), ` + output_file='SmartCane_Report_week07_2026.docx', ` + output_dir='laravel_app/storage/app/angata/reports')" + ``` + +--- + +## Exit Points: User-Facing Outputs + +| Output Type | Format | Location | Audience | +|-------------|--------|----------|----------| +| **Reports** | Word (.docx) | `reports/SmartCane_Report_*.docx` | Agronomist / Farm manager | +| **Field Analysis** | Excel (.xlsx) | `reports/field_analysis_week*.xlsx` | Data analyst / Operations | +| **GeoTIFFs** | 5-band raster | `weekly_mosaic/{FIELD}/week_*.tif` | GIS systems | +| **Predictions** | CSV | `harvest_imminent_weekly.csv` (Python 31 output) | Harvest scheduling | + +--- + +## File Storage Architecture + +``` +laravel_app/storage/app/{PROJECT}/ +β”œβ”€β”€ merged_tif/ +β”‚ β”œβ”€β”€ 2026-02-12.tif ← Stage 00 output (Python download) +β”‚ β”œβ”€β”€ 2026-02-13.tif +β”‚ └── 2026-02-19.tif +β”‚ +β”œβ”€β”€ field_tiles/ ← Stage 10 output +β”‚ β”œβ”€β”€ Field_001/ +β”‚ β”‚ β”œβ”€β”€ 2026-02-12.tif +β”‚ β”‚ └── 2026-02-19.tif +β”‚ β”œβ”€β”€ Field_002/ +β”‚ β”‚ └── ... +β”‚ └── ... +β”‚ +β”œβ”€β”€ field_tiles_CI/ ← Stage 20 output +β”‚ β”œβ”€β”€ Field_001/ +β”‚ β”‚ β”œβ”€β”€ 2026-02-12.tif (5-band with CI) +β”‚ β”‚ └── 2026-02-19.tif +β”‚ └── ... +β”‚ +β”œβ”€β”€ Data/ +β”‚ β”œβ”€β”€ pivot.geojson ← Input: field boundaries +β”‚ β”œβ”€β”€ harvest.xlsx ← Input: harvest dates (Stage 30 requirement) +β”‚ β”œβ”€β”€ extracted_ci/ +β”‚ β”‚ β”œβ”€β”€ daily_vals/ +β”‚ β”‚ β”‚ └── Field_001/2026-02-19.rds ← Stage 20 output +β”‚ β”‚ └── cumulative_vals/ +β”‚ β”‚ β”œβ”€β”€ combined_CI_data.rds ← Stage 20 output (wide format) +β”‚ β”‚ └── All_pivots_Cumulative_CI_quadrant_year_v2.rds ← Stage 30 output +β”‚ └── growth_model_interpolated/ ← Stage 30 output +β”‚ +β”œβ”€β”€ weekly_mosaic/ ← Stage 40 output +β”‚ β”œβ”€β”€ Field_001/ +β”‚ β”‚ β”œβ”€β”€ week_07_2026.tif (5-band, MAX-aggregated) +β”‚ β”‚ └── week_06_2026.tif +β”‚ └── ... +β”‚ +└── reports/ ← Stages 80/90/91 output + β”œβ”€β”€ SmartCane_Report_week07_2026.docx + β”œβ”€β”€ angata_field_analysis_week07_2026.xlsx + └── kpis/ + └── angata_kpi_summary_tables_week07.rds +``` + +--- + +## Data Format Reference + +### RDS Files (R Serialized Objects) + +**combined_CI_data.rds** (Stage 20 output) +- Type: data.frame +- Rows: Field names +- Cols: ISO dates (YYYY-MM-DD) +- Values: Mean Canopy Index per field-date + +**All_pivots_Cumulative_CI_quadrant_year_v2.rds** (Stage 30 output) +- Type: data.frame +- Columns: field_name, date, interpolated_ci, daily_change, cumulative_ci, season, phase +- Used by: Scripts 80, 90/91, harvest prediction + +**kpi_summary_tables_week{WW}.rds** (Stage 80 output) +- Type: list of data.frames +- Contains: Weekly KPI summaries for all fields +- Used by: Scripts 90/91 rendering + +### GeoTIFF Bands + +**merged_tif/{DATE}.tif** (Stage 00, 4-band) +- Band 1: Red +- Band 2: Green +- Band 3: Blue +- Band 4: NIR + +**field_tiles_CI/{FIELD}/{DATE}.tif** (Stage 20, 5-band) +- Bands 1-4: R, G, B, NIR (uint16) +- Band 5: Canopy Index (float32) + +**weekly_mosaic/{FIELD}/week_WW_YYYY.tif** (Stage 40, 5-band) +- Bands 1-4: R, G, B, NIR (uint16, MAX of week) +- Band 5: CI (float32, MAX of week) + +--- + +## Next Steps + +- See [CLIENT_TYPE_ARCHITECTURE.md](CLIENT_TYPE_ARCHITECTURE.md) for how agronomic_support and cane_supply types branch +- See [SOBIT_DEPLOYMENT.md](SOBIT_DEPLOYMENT.md) for Laravel queue orchestration +- See [DEV_LAPTOP_EXECUTION.md](DEV_LAPTOP_EXECUTION.md) for manual execution workflow diff --git a/webapps/docs/ARCHITECTURE_INTEGRATION_GUIDE.md b/webapps/docs/ARCHITECTURE_INTEGRATION_GUIDE.md new file mode 100644 index 0000000..3bdf178 --- /dev/null +++ b/webapps/docs/ARCHITECTURE_INTEGRATION_GUIDE.md @@ -0,0 +1,404 @@ +# SmartCane Architecture Integration Guide + +This document ties together all SmartCane architecture components: the unified data pipeline, client type branching, and two execution models (SOBIT production vs developer laptop). + +## Quick Navigation + +- **[ARCHITECTURE_DATA_FLOW.md](ARCHITECTURE_DATA_FLOW.md)**: Complete Stage 00–91 pipeline with data transformations, file formats, and storage locations +- **[CLIENT_TYPE_ARCHITECTURE.md](CLIENT_TYPE_ARCHITECTURE.md)**: How agronomic_support (AURA) and cane_supply (ANGATA) differ in KPIs, reports, and requirements +- **[SOBIT_DEPLOYMENT.md](SOBIT_DEPLOYMENT.md)**: Production server execution via Laravel job queue, web UI, and shell wrappers +- **[DEV_LAPTOP_EXECUTION.md](DEV_LAPTOP_EXECUTION.md)**: Manual PowerShell execution for developer testing and one-off analysis + +--- + +## System Architecture: Three Dimensions + +SmartCane's architecture is defined by three orthogonal dimensions: + +``` +β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” +β”‚ SmartCane Dimensions β”‚ +β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€ +β”‚ β”‚ +β”‚ 1. PIPELINE STAGES (Data Flow) β”‚ +β”‚ Stage 00 (Python) ──> Stage 10 ──> Stage 20 ──> ... ──> Stage 91 (Output) +β”‚ β”‚ +β”‚ 2. CLIENT TYPES (Business Logic) β”‚ +β”‚ Agronomic Support (AURA) vs Cane Supply (ANGATA) β”‚ +β”‚ ↓ β”‚ +β”‚ Different KPIs, data requirements, report formats β”‚ +β”‚ β”‚ +β”‚ 3. EXECUTION MODELS (Deployment) β”‚ +β”‚ SOBIT Server (Job Queue) vs Dev Laptop (PowerShell) β”‚ +β”‚ ↓ β”‚ +β”‚ Different execution paths, error handling, monitoring β”‚ +β”‚ β”‚ +β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ +``` + +### Dimension 1: Pipeline Stages (Data Flow) + +**Unified for all projects/clients**. Stages 00–40 are identical regardless of client type or execution model. + +| Stage | Script | Client Type | Execution Model | Purpose | +|-------|--------|-------------|-----------------|---------| +| 00 | Python 00_download_*.py | All | Both | Download 4-band satellite imagery | +| 10 | R 10_create_per_field_tiffs.R | All | Both | Split merged TIFF into field tiles | +| 20 | R 20_ci_extraction_per_field.R | All | Both | Extract Canopy Index per pixel/field | +| 30 | R 30_interpolate_growth_model.R | All | Both | Smooth CI time series (LOESS) | +| 40 | R 40_mosaic_creation_per_field.R | All | Both | Create weekly MAX-composites | +| **80** | **R 80_calculate_kpis.R** | **Specific** | **Both** | **Calculate client-type KPIs** | +| **90** | **R 90_CI_report_*.Rmd** | **agronomic_support** | **Both** | **Render agronomic report** | +| **91** | **R 91_CI_report_*.Rmd** | **cane_supply** | **Both** | **Render cane client report** | + +--- + +### Dimension 2: Client Types (Business Logic) + +**Diverges at Stage 80 for KPI calculation and reporting**. + +#### Client Type Configuration + +```r +# In r_app/parameters_project.R +CLIENT_TYPE_MAP <- list( + "angata" = "cane_supply", # Sugarcane operations + "chemba" = "agronomic_support", # Agronomic advisory + "xinavane" = "agronomic_support", + "esa" = "agronomic_support", + "simba" = "agronomic_support", + "aura" = "agronomic_support" +) +``` + +#### KPI Differences + +| Aspect | **Agronomic Support (AURA)** | **Cane Supply (ANGATA)** | +|--------|------------------------------|------------------------| +| **Primary Audience** | Agronomist / farm consultant | Mill operations manager | +| **Key Question** | "Is the crop healthy? Are yields on track?" | "Which fields are ready to harvest this week?" | +| **Data Requirements** | pivot.geojson (required); harvest.xlsx (optional) | pivot.geojson + harvest.xlsx (both required) | +| **KPI Count** | 6 KPIs | 4 KPIs + harvest integration | +| **Utility Script** | `80_utils_agronomic_support.R` | `80_utils_cane_supply.R` | +| **Report Script** | `90_CI_report_with_kpis_agronomic_support.Rmd` | `91_CI_report_with_kpis_cane_supply.Rmd` | +| **Harvest Integration** | Minimal (season grouping only) | Central (harvest readiness, phase, tonnage) | + +#### When to Switch Client Types + +| Scenario | Action | +|----------|--------| +| **New project** launched | Add to `CLIENT_TYPE_MAP` in parameters_project.R; create pivot.geojson + harvest.xlsx as needed | +| **Aura switching** to harvest-focused operations | Change mapping: "aura" β†’ "cane_supply"; ensure harvest.xlsx exists | +| **Testing** both client types on same project | Update mapping; re-run Stages 80–91 | + +--- + +### Dimension 3: Execution Models (Deployment) + +**Orthogonal to pipeline stages and client types**. Both SOBIT and dev laptop can run any stage for any client type. + +#### SOBIT Server (Production) + +**When to use**: Production deployment, scheduled runs, multi-user farm management platform + +**Flow**: +1. User clicks button in web UI (Laravel controller) +2. Job dispatched to queue (database or Redis) +3. Background queue worker picks up job +4. Shell script wrapper executed +5. Python/R script runs +6. Results stored in `laravel_app/storage/app/{PROJECT}/` +7. Next job automatically dispatched (chaining) +8. User monitors progress via dashboard + +**Key Characteristics**: +- **Async execution**: Long-running stages don't block web requests +- **Job chaining**: Automatic pipeline orchestration (00 β†’ 10 β†’ 20 β†’ ... β†’ 91) +- **Error handling**: Failed jobs logged; retries configurable +- **Monitoring**: Web dashboard shows job history, results, logs +- **Multi-user**: Multiple projects can run concurrently + +**Infrastructure**: +- Laravel application server (PHP) +- Queue backend (database or Redis) +- Supervisor daemon (manages queue workers) +- Cron for scheduled pipeline runs + +--- + +#### Developer Laptop (Development) + +**When to use**: Local development, testing, one-off analysis, debugging + +**Flow**: +1. Developer opens PowerShell terminal +2. Sources `parameters_project.R` to set PROJECT, dates, etc. +3. Manually calls `Rscript` or `python` for each stage +4. Waits for completion (synchronous) +5. Reviews output in terminal +6. Proceeds to next stage or adjusts parameters +7. Final outputs saved to `laravel_app/storage/app/{PROJECT}/` + +**Key Characteristics**: +- **Synchronous execution**: Developer sees immediate output/errors +- **Manual control**: Run individual stages, skip stages, rerun stages +- **No job queue**: Direct shell execution +- **Simple setup**: Just R, Python, and terminal +- **Single user**: Developer's machine + +**Infrastructure**: +- R 4.4.0+ +- Python 3.9+ +- PowerShell (Windows) or Bash (Linux/Mac) +- Text editor or RStudio + +--- + +## Decision Matrix: Which Execution Model? + +``` +β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” +β”‚ Scenario β”‚ SOBIT β”‚ Dev Laptop β”‚ +β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€ +β”‚ Production farm management platform β”‚ βœ… β”‚ ❌ β”‚ +β”‚ Scheduled weekly pipeline (Monday 5am) β”‚ βœ… β”‚ ❌ (need cron)β”‚ +β”‚ Multi-user concurrent projects β”‚ βœ… β”‚ ❌ β”‚ +β”‚ New feature development & debugging β”‚ ❌ β”‚ βœ… β”‚ +β”‚ Testing on specific date range β”‚ ❌ β”‚ βœ… β”‚ +β”‚ Ad-hoc "regenerate this week's report" β”‚ ❌ β”‚ βœ… β”‚ +β”‚ CI/CD pipeline (automated testing) β”‚ βœ… β”‚ βœ… (both OK) β”‚ +β”‚ One-off analysis for farm manager β”‚ ⚠️ (OK) β”‚ βœ… β”‚ +β”‚ Minimal setup (no server) β”‚ ❌ β”‚ βœ… β”‚ +β”‚ Persistent monitoring & alerting β”‚ βœ… β”‚ ❌ β”‚ +β”‚ Educational demo for agronomist β”‚ ❌ β”‚ βœ… β”‚ +β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ +``` + +--- + +## System Integration: Data Flow with Client Types & Execution + +Here's how all three dimensions interact in a complete workflow: + +### Scenario 1: SOBIT Production (Angata, Cane Supply) + +``` +1. PIPELINE DIMENSION + User clicks "Generate Weekly Report" in web UI + ↓ +2. EXECUTION DIMENSION (SOBIT) + Laravel ProjectReportGeneratorJob dispatched to queue + ↓ +3. CLIENT TYPE DIMENSION + parameters_project.R loaded with PROJECT="angata" + CLIENT_TYPE = CLIENT_TYPE_MAP[["angata"]] = "cane_supply" + ↓ +4. PIPELINE STAGES + Stage 80 runs: + - source("80_utils_cane_supply.R") ← Client-specific utilities + - Calculate 4 KPIs (acreage, phase, harvest readiness, stress) + - Save RDS + Excel + ↓ +5. STAGE 91 REPORT + rmarkdown::render("91_CI_report_with_kpis_cane_supply.Rmd") + ↓ +6. OUTPUT + SmartCane_Report_cane_supply_angata_week07_2026.docx + (Per-field status, harvest alerts, tonnage forecast) + ↓ +7. USER NOTIFICATION + Dashboard shows report ready; email sent to mill manager +``` + +### Scenario 2: Dev Laptop Testing (Aura, Agronomic Support) + +``` +1. EXECUTION DIMENSION (Dev Laptop) + Developer opens PowerShell, sets: + $PROJECT = "aura" + $END_DATE = "2026-02-19" + ↓ +2. CLIENT TYPE DIMENSION + Developer manually checks parameters_project.R: + CLIENT_TYPE_MAP[["aura"]] = "agronomic_support" + ↓ +3. PIPELINE STAGES (Manual Run) + $ & $R_EXE r_app/80_calculate_kpis.R 2026-02-19 aura 7 + ↓ +4. STAGE 80 EXECUTION + parameters_project.R loaded with PROJECT="aura" + source("80_utils_agronomic_support.R") ← Client-specific utilities + Calculate 6 KPIs (uniformity, area change, TCH, growth decline, weeds, gap fill) + ↓ +5. STAGE 90 REPORT (Manual) + $ & $R_EXE -e "rmarkdown::render('r_app/90_CI_report_with_kpis_agronomic_support.Rmd', + params=list(data_dir='aura', report_date=as.Date('2026-02-19')), ...)" + ↓ +6. OUTPUT + SmartCane_Report_agronomic_support_aura_week07_2026.docx + (Farm-level KPI averages, uniformity trends, spatial analysis) + ↓ +7. DEVELOPER REVIEW + Opens .docx file locally, reviews; makes adjustments to plotting code if needed +``` + +--- + +## Data Dependency Map: Python ↔ R Integration + +This table shows which R stages depend on Python outputs and third-party inputs. + +| R Stage | Depends On | Input File | From | Notes | +|---------|------------|------------|------|-------| +| **10** | Python 00 | `merged_tif/{DATE}.tif` | Stage 00 | 4-band daily TIFF | +| **20** | Stage 10 | `field_tiles/{FIELD}/{DATE}.tif` | Stage 10 | 4-band per-field daily | +| **20** | External | `Data/pivot.geojson` | User upload | Field boundaries (REQUIRED) | +| **30** | Stage 20 | `combined_CI_data.rds` | Stage 20 | Wide format CI data | +| **30** | External | `Data/harvest.xlsx` | User upload | Harvest dates (optional for agronomic_support, REQUIRED for cane_supply) | +| **40** | Stage 20 | `field_tiles_CI/{FIELD}/{DATE}.tif` | Stage 20 | 5-band daily per-field | +| **80** | Stage 40 | `weekly_mosaic/{FIELD}/week_*.tif` | Stage 40 | 5-band weekly per-field | +| **80** | Stage 30 | `All_pivots_Cumulative_CI_*.rds` | Stage 30 | Interpolated growth model | +| **80** | External | `Data/pivot.geojson` | User upload | Field boundaries (REQUIRED) | +| **80** | External | `Data/harvest.xlsx` | User upload | Harvest dates (REQUIRED for cane_supply) | +| **80** | Python 31 | `harvest_imminent_weekly.csv` | Python 31 | Harvest probability (optional, improves cane_supply KPI) | +| **90** | Stage 80 | `kpi_summary_tables_week{WW}.rds` | Stage 80 | KPI summary for rendering | +| **90** | Stage 20 | `combined_CI_data.rds` | Stage 20 | For trend plots | +| **91** | Stage 80 | `kpi_summary_tables_week{WW}.rds` | Stage 80 | KPI summary for rendering | +| **91** | Python 31 | `harvest_imminent_weekly.csv` | Python 31 | Harvest readiness probabilities | + +--- + +## Configuration Checklist: Before Running Pipeline + +### Universal Requirements (All Projects) + +- [ ] `laravel_app/storage/app/{PROJECT}/Data/pivot.geojson` exists and is valid +- [ ] At least one satellite TIFF in `merged_tif/` (or Stage 00 will download) +- [ ] R packages installed: `Rscript r_app/package_manager.R` (one-time) +- [ ] Python dependencies installed if running Stage 00 + +### Agronomic Support Projects (AURA type) + +- [ ] `parameters_project.R` maps project to "agronomic_support" +- [ ] (Optional) `harvest.xlsx` for better season grouping + +### Cane Supply Projects (ANGATA type) + +- [ ] `parameters_project.R` maps project to "cane_supply" +- [ ] βœ… **REQUIRED**: `harvest.xlsx` with planting/harvest dates (Stage 30 and Stage 80 need it) +- [ ] (Optional) `harvest_imminent_weekly.csv` from Python 31 for better harvest predictions + +--- + +## Output Files Reference + +### By Client Type + +#### Agronomic Support (AURA-type projects) + +| Output | Format | Location | Created By | Content | +|--------|--------|----------|------------|---------| +| Report | Word | `reports/SmartCane_Report_agronomic_support_*.docx` | Stage 90 | Farm KPIs, uniformity trends, spatial maps | +| KPI Excel | Excel | `reports/{PROJECT}_field_analysis_week*.xlsx` | Stage 80 | Field-by-field metrics (6 KPIs per field) | +| KPI RDS | R object | `reports/kpis/{PROJECT}_kpi_summary_tables_week*.rds` | Stage 80 | Summary data for Stage 90 rendering | + +#### Cane Supply (ANGATA-type projects) + +| Output | Format | Location | Created By | Content | +|--------|--------|----------|------------|---------| +| Report | Word | `reports/SmartCane_Report_cane_supply_*.docx` | Stage 91 | Harvest alerts, phase assignment, tonnage forecast | +| KPI Excel | Excel | `reports/{PROJECT}_field_analysis_week*.xlsx` | Stage 80 | Field-by-field metrics (4 KPIs + harvest data) | +| KPI RDS | R object | `reports/kpis/{PROJECT}_kpi_summary_tables_week*.rds` | Stage 80 | Summary data for Stage 91 rendering | + +### By Execution Model + +#### SOBIT Server +- Reports auto-saved to `laravel_app/storage/app/{PROJECT}/reports/` +- User downloads via web dashboard +- Optional email delivery (configured in Laravel) + +#### Dev Laptop +- Reports saved to same location (same Laravel storage directory) +- Developer manually opens files +- Can share via USB/cloud if needed + +--- + +## Troubleshooting Decision Tree + +``` +Pipeline Error? +β”œβ”€ Stage 00 (Python download) fails +β”‚ β”œβ”€ Auth error β†’ Check Planet API credentials +β”‚ β”œβ”€ Network β†’ Check internet connection +β”‚ └─ Cloud cover β†’ That date is too cloudy; try different date +β”‚ +β”œβ”€ Stage 10–40 fails β†’ Check prerequisites +β”‚ β”œβ”€ File not found β†’ Run previous stage first +β”‚ β”œβ”€ pivot.geojson invalid β†’ Repair GeoJSON geometry +β”‚ └─ GDAL error β†’ Check TIFF file integrity +β”‚ +β”œβ”€ Stage 80 fails +β”‚ β”œβ”€ harvest.xlsx missing (cane_supply) β†’ REQUIRED; upload file +β”‚ β”œβ”€ combined_CI_data.rds missing β†’ Run Stage 20 first +β”‚ β”œβ”€ Client type unknown β†’ Check parameters_project.R mapping +β”‚ └─ KPI calculation error β†’ Stage-specific utility function bug +β”‚ +β”œβ”€ Stage 90/91 fails +β”‚ β”œβ”€ RMarkdown not found β†’ Check r_app/90_*.Rmd or 91_*.Rmd path +β”‚ β”œβ”€ Missing params β†’ Check data_dir, report_date params +β”‚ └─ RMarkdown error β†’ Check knitr output; may need renv reinstall +β”‚ +└─ SOBIT-specific error + β”œβ”€ Job stuck in queue β†’ Check job table; restart worker + β”œβ”€ Shell script permission denied β†’ chmod +x *.sh + └─ r_app directory not found β†’ Update shell scripts with correct paths +``` + +--- + +## Glossary + +| Term | Definition | +|------|-----------| +| **Canopy Index (CI)** | Normalized vegetation index: (NIR/Green) - 1; ~1.0–2.0 range | +| **LOESS** | Locally Estimated Scatterplot Smoothing; statistical interpolation method | +| **Coefficient of Variation (CV)** | Standard deviation Γ· mean; measure of field uniformity | +| **Moran's I** | Spatial autocorrelation metric; detects clustered anomalies | +| **Phase Assignment** | Growth stage classification (germination, tillering, grand growth, maturation) | +| **Harvest Readiness** | Probability field is mature and ready for harvest (0.0–1.0) | +| **MAX Composite** | Weekly mosaic using maximum CI pixel across the week; handles clouds | +| **Job Queue** | Async task management system (Laravel); decouples web UI from long computations | +| **RMarkdown** | Dynamic document format; combines R code + text β†’ Word/.html output | + +--- + +## Key Files Summary + +| File | Purpose | Edited By | +|------|---------|-----------| +| `r_app/parameters_project.R` | Central config; project β†’ client type mapping | Dev / DevOps | +| `r_app/00_common_utils.R` | Shared utility functions | Development | +| `r_app/80_utils_agronomic_support.R` | Agronomic KPI calculations | Development (agronomic_support) | +| `r_app/80_utils_cane_supply.R` | Cane supply KPI calculations | Development (cane_supply) | +| `r_app/90_CI_report_with_kpis_agronomic_support.Rmd` | Agronomic report template | Development (agronomic_support) | +| `r_app/91_CI_report_with_kpis_cane_supply.Rmd` | Cane supply report template | Development (cane_supply) | +| `laravel_app/storage/app/{PROJECT}/Data/pivot.geojson` | Field boundaries | GIS / User upload | +| `laravel_app/storage/app/{PROJECT}/Data/harvest.xlsx` | Harvest calendar | User upload (required for cane_supply) | + +--- + +## Next Steps + +1. **Understand your deployment**: Are you on SOBIT server or local dev laptop? + - SOBIT β†’ See [SOBIT_DEPLOYMENT.md](SOBIT_DEPLOYMENT.md) + - Dev Laptop β†’ See [DEV_LAPTOP_EXECUTION.md](DEV_LAPTOP_EXECUTION.md) + +2. **Understand your client type**: Are you managing agronomic advisory (AURA) or harvest operations (ANGATA)? + - AURA β†’ See [CLIENT_TYPE_ARCHITECTURE.md](CLIENT_TYPE_ARCHITECTURE.md) + - Harvest β†’ See [CLIENT_TYPE_ARCHITECTURE.md](CLIENT_TYPE_ARCHITECTURE.md) + +3. **Understand the data flow**: How does data transform through 8 pipeline stages? + - See [ARCHITECTURE_DATA_FLOW.md](ARCHITECTURE_DATA_FLOW.md) + +4. **Run your first pipeline**: Choose development laptop and follow [DEV_LAPTOP_EXECUTION.md](DEV_LAPTOP_EXECUTION.md) commands. diff --git a/webapps/docs/CLIENT_TYPE_ARCHITECTURE.md b/webapps/docs/CLIENT_TYPE_ARCHITECTURE.md new file mode 100644 index 0000000..0536b2a --- /dev/null +++ b/webapps/docs/CLIENT_TYPE_ARCHITECTURE.md @@ -0,0 +1,328 @@ +# SmartCane Client Type Architecture + +SmartCane serves two distinct agricultural client types with different needs and data processing requirements. This document explains how the system branches to support both, starting from a unified pipeline and diverging at Stage 80. + +## Client Type Overview + +| Aspect | **Agronomic Support (AURA)** | **Cane Supply (ANGATA)** | +|--------|------------------------------|------------------------| +| **Project Examples** | chemba, xinavane, esa, aura, simba | angata | +| **Primary Use** | Farm-level agronomic advisory, crop monitoring | Sugarcane harvest operations, milling coordination | +| **Field Count** | Typically 1–10 fields | Typically 20–50+ fields | +| **Data Dependencies** | `pivot.geojson` required; `harvest.xlsx` optional | `pivot.geojson` + `harvest.xlsx` both required | +| **Harvest Integration** | Minimal; focuses on crop health | Central; harvest prediction drives operations | +| **Output Type** | Farm summary + field-level trends | Per-field alerts + harvest readiness | +| **Report Client** | Agronomist / farm consultant | Mill operations / harvest scheduler | +| **KPI Focus** | Uniformity, growth patterns, anomalies | Acreage, age phases, harvest readiness | + +--- + +## Configuration: Project β†’ Client Type Mapping + +**File**: `r_app/parameters_project.R` + +```r +CLIENT_TYPE_MAP <- list( + "angata" = "cane_supply", + "chemba" = "agronomic_support", + "xinavane" = "agronomic_support", + "esa" = "agronomic_support", + "simba" = "agronomic_support", + "aura" = "agronomic_support" +) +``` + +**How it Works**: +1. At pipeline startup, project name (e.g., "angata") is passed to `parameters_project.R` +2. Script looks up project in `CLIENT_TYPE_MAP` +3. Downstream scripts (Stage 80, Scripts 90/91) use this mapping to determine which utilities and reports to use + +--- + +## Pipeline Divergence: Before vs After Stage 80 + +### Stages 00–40: Unified Pipeline + +**All client types run identical processing**: +- Stage 00 (Python): Download 4-band satellite imagery +- Stage 10 (R): Split into per-field tiles +- Stage 20 (R): Extract Canopy Index +- Stage 30 (R): Interpolate growth model +- Stage 40 (R): Create weekly mosaics + +**Output**: Per-field weekly mosaics (`weekly_mosaic/{FIELD}/week_WW_YYYY.tif`) + interpolated CI data + +### Stage 80: KPI Calculation (Client-Type Branching Point) + +**File**: `r_app/80_calculate_kpis.R` + +```r +# Pseudo-code showing branching logic +PROJECT <- Sys.getenv("PROJECT") +client_type <- CLIENT_TYPE_MAP[[PROJECT]] + +if (client_type == "agronomic_support") { + source("80_utils_agronomic_support.R") + kpis <- calculate_agronomic_kpis(weekly_mosaic, boundaries, harvest_data) + +} else if (client_type == "cane_supply") { + source("80_utils_cane_supply.R") + kpis <- calculate_cane_supply_kpis(weekly_mosaic, boundaries, harvest_data, imminent_prob) +} + +# Both save KPI summary to RDS +saveRDS(kpis, file = "kpi_summary_tables_week{WW}.rds") +``` + +### Stages 90 & 91: Report Rendering (Client-Type Specific) + +**Agronomic Support Branch** β†’ Script 90 +``` +r_app/90_CI_report_with_kpis_agronomic_support.Rmd +``` + +**Cane Supply Branch** β†’ Script 91 +``` +r_app/91_CI_report_with_kpis_cane_supply.Rmd +``` + +--- + +## Agronomic Support (AURA) Pipeline + +### KPIs Calculated (Stage 80) + +**File**: `r_app/80_utils_agronomic_support.R` + +| KPI | Calculation | Interpretation | Data Source | +|------|------------|-----------------|-------------| +| **Field Uniformity** | Coefficient of Variation (CV) of CI within field + Moran's I | Low CV = healthy uniform crop; High CV = stress/disease clusters | Current week mosaic + spatial analysis | +| **Area Change** | % pixel difference week-over-week | Increasing pixels = plant growth; decreasing = harvest/stress | Previous week vs current week | +| **TCH Forecast** | CI trajectory Γ— historical yield | Projected tonnage per hectare at harvest | Growth model interpolation + training data | +| **Growth Decline** | Rate of change in daily CI | Negative slope = ripening or stress; positive = recovery | Interpolated time series (Stage 30) | +| **Weed Presence** | NDVI-based clustering analysis | Clustered spectral anomalies = weeds or pests | Multi-spectral bands | +| **Gap Filling Quality** | % of dates successfully interpolated | High % = reliable trend; Low % = cloudy season | Growth model output (Stage 30) | + +### Report Output (Script 90) + +**File**: `r_app/90_CI_report_with_kpis_agronomic_support.Rmd` + +**Contents**: +- **Executive Summary**: Farm-level KPI averages (6 KPIs across all fields) +- **Field-Level Trends**: 8-week CV plots showing uniformity stability +- **Spatial Analysis**: Moran's I maps (cluster detection) +- **Interactive Map**: tmap with field boundaries and current CI values +- **Recommendations**: Rule-based suggestions based on KPI thresholds +- **Colorblind Palette**: Accessible color scheme (Viridis preferred) + +**Output Filename**: `SmartCane_Report_agronomic_support_{PROJECT}_{DATE}.docx` + +**Sample Usage**: +```r +# Render for Aura project, week 07, 2026 +rmarkdown::render( + "r_app/90_CI_report_with_kpis_agronomic_support.Rmd", + params = list( + data_dir = "aura", + report_date = as.Date("2026-02-19") + ), + output_file = "SmartCane_Report_agronomic_support_aura_week07_2026.docx", + output_dir = "laravel_app/storage/app/aura/reports" +) +``` + +--- + +## Cane Supply (ANGATA) Pipeline + +### KPIs Calculated (Stage 80) + +**File**: `r_app/80_utils_cane_supply.R` + +| KPI | Calculation | Interpretation | Data Source | +|------|------------|-----------------|-------------| +| **Per-Field Acreage** | Field area (hectares + acres) | Tonnage forecast requires acreage | pivot.geojson area | +| **Phase Assignment** | Age derived from planting date in harvest.xlsx | Germination (0–6 wk), Tillering (4–16 wk), Grand Growth (17–39 wk), Maturation (39+ wk) | Harvest dates + current week # | +| **Harvest Readiness** | CI maturity threshold + imminent probability | Is field ready to harvest? What's the urgency? | CI values + Python 31 probability | +| **Stress Detection** | Growth rate vs baseline | Drop in daily CI = stress signal | Growth model daily_change | +| **Tonnage Forecast** | Phase Γ— CI trajectory Γ— regional yield model | Projected tons at harvest | Phase assignment + CI growth curve | +| **Status Trigger** | Composite alert (URGENT / ALERT / OK) | Field action priority for mill | Age + stress + readiness | + +### Harvest Probability Integration (Python β†’ R) + +**Python Script 31**: `python_app/31_harvest_imminent_weekly.py` + +- **Input**: CI time series from `combined_CI_data.rds` (Stage 20 output) +- **Output**: `harvest_imminent_weekly.csv` with columns: + - `field_name`: Field identifier + - `week`: ISO week number + - `imminent_prob`: Probability (0.0–1.0) field is harvest-ready + +**Integration in Stage 80**: +```r +# Load harvest imminent probabilities from Python 31 +imminent_probs <- read.csv("harvest_imminent_weekly.csv") + +# Use in harvest readiness KPI +for (field in all_fields) { + prob <- imminent_probs[imminent_probs$field == field, "imminent_prob"] + if (prob > 0.7) { + status <- "URGENT: harvest imminent" + } else if (prob > 0.5) { + status <- "ALERT: harvest approaching" + } else { + status <- "OK: still growing" + } +} +``` + +### Report Output (Script 91) + +**File**: `r_app/91_CI_report_with_kpis_cane_supply.Rmd` + +**Contents**: +- **Field-by-Field Status Table**: 21 columns (name, acreage, phase, CI, growth_rate, stress_flag, harvest_prob, status, ...) +- **Harvest Readiness Summary**: Which fields can be harvested this week? +- **Daily Forecast**: Projected tonnage per field Γ— phase +- **Phase Distribution Chart**: How many fields in each growth stage? +- **Alerts Section**: URGENT fields (harvest-ready), ALERT fields (approaching), OK fields +- **Operational Notes**: Recommended harvest sequence by acreage/tonnage + +**Output Filename**: `SmartCane_Report_cane_supply_{PROJECT}_{DATE}.docx` + +**Sample Usage**: +```r +# Render for Angata project, week 07, 2026 +rmarkdown::render( + "r_app/91_CI_report_with_kpis_cane_supply.Rmd", + params = list( + data_dir = "angata", + report_date = as.Date("2026-02-19") + ), + output_file = "SmartCane_Report_cane_supply_angata_week07_2026.docx", + output_dir = "laravel_app/storage/app/angata/reports" +) +``` + +--- + +## Data Requirements: Input Files Needed + +### Agronomic Support (AURA) + +**Required**: +- `pivot.geojson` β€” Field boundaries (must exist, defines all analysis units) +- `merged_tif/{YYYY-MM-DD}.tif` β€” Downloaded from Stage 00 + +**Optional**: +- `harvest.xlsx` β€” If provided, Stage 30 uses it for season grouping; otherwise uses calendar weeks + +### Cane Supply (ANGATA) + +**Required**: +- `pivot.geojson` β€” Field boundaries +- `harvest.xlsx` β€” **MUST exist** with planting/harvest dates (Stage 30 requires it; Stage 80 requires it for phase assignment) +- `merged_tif/{YYYY-MM-DD}.tif` β€” Downloaded from Stage 00 + +**Optional**: +- `harvest_imminent_weekly.csv` β€” Output from Python 31; if not present, harvest readiness KPI uses only CI thresholds (less accurate) + +--- + +## Configuration Parameter: Triggering Client-Type Logic + +### In parameters_project.R + +```r +# The project name determines client type lookup +PROJECT <- Sys.getenv("PROJECT") # Set by calling script (e.g., "angata") + +# CLIENT_TYPE_MAP is consulted by downstream scripts +CLIENT_TYPE <- CLIENT_TYPE_MAP[[PROJECT]] + +# Example: if PROJECT == "angata", then CLIENT_TYPE == "cane_supply" +``` + +### In Stage 80 Script + +```r +# Load project-specific configuration +source("parameters_project.R") + +# Determine which utility functions to use +if (CLIENT_TYPE == "agronomic_support") { + source("80_utils_agronomic_support.R") +} else if (CLIENT_TYPE == "cane_supply") { + source("80_utils_cane_supply.R") +} +``` + +### In Report Scripts + +**RMarkdown YAML params**: +```yaml +--- +params: + data_dir: "aura" # Project directory + report_date: "2026-02-19" # Report week + client_type: "agronomic_support" # Determined from data_dir +--- +``` + +--- + +## Decision Tree: Which Report Will Be Generated? + +```mermaid +%% KPI Client Type Logic +flowchart TD + A["Stage 80
Calculate KPIs"] -->|Read PROJECT| B["Load parameters_project.R"] + B -->|Lookup in CLIENT_TYPE_MAP| C{"Client Type?"} + + C -->|agronomic_support
chemba/aura/esa/etc| D["Source
80_utils_agronomic_support.R"] + C -->|cane_supply
angata| E["Source
80_utils_cane_supply.R"] + + D -->|Calculate 6 KPIs| F["Save
kpi_summary_tables_*.rds"] + E -->|Calculate 4 KPIs| F + + F -->|Report rendering| G{"Which Report?"} + + G -->|agronomic_support| H["90_CI_report_with_kpis
_agronomic_support.Rmd"] + G -->|cane_supply| I["91_CI_report_with_kpis
_cane_supply.Rmd"] + + H -->|Word output| J["SmartCane_Report
_agronomic_support_*.docx"] + I -->|Word output| K["SmartCane_Report
_cane_supply_*.docx"] +``` + +--- + +## Switching Client Type for a Project + +**Scenario**: Angata (currently cane_supply) wants to switch to agronomic_support for experimental advisory. + +**Steps**: +1. Edit `r_app/parameters_project.R`: + ```r + CLIENT_TYPE_MAP <- list( + ... + "angata" = "agronomic_support" # Changed from "cane_supply" + ) + ``` +2. Ensure `harvest.xlsx` is still in `Data/` (Stage 20 may still need it for grouping, even though agronomic_support doesn't require it) +3. Re-run Stage 80: + ```powershell + & "C:\Program Files\R\R-4.4.3\bin\x64\Rscript.exe" r_app/80_calculate_kpis.R 2026-02-19 angata 7 + ``` +4. Re-render report (will now use Script 90 instead of 91) + ```powershell + & "C:\Program Files\R\R-4.4.3\bin\x64\Rscript.exe" -e ` + "rmarkdown::render('r_app/90_CI_report_with_kpis_agronomic_support.Rmd', ...)" + ``` + +--- + +## Next Steps + +- See [ARCHITECTURE_DATA_FLOW.md](ARCHITECTURE_DATA_FLOW.md) for stage-by-stage transformation details +- See [SOBIT_DEPLOYMENT.md](SOBIT_DEPLOYMENT.md) to understand how client type affects job queue routing +- See [DEV_LAPTOP_EXECUTION.md](DEV_LAPTOP_EXECUTION.md) for manual execution of client-type-specific reports diff --git a/webapps/docs/DEV_LAPTOP_EXECUTION.md b/webapps/docs/DEV_LAPTOP_EXECUTION.md new file mode 100644 index 0000000..dbba434 --- /dev/null +++ b/webapps/docs/DEV_LAPTOP_EXECUTION.md @@ -0,0 +1,636 @@ +# Developer Laptop Manual Execution + +This document explains how to manually run the SmartCane pipeline on a Windows developer machine, without the SOBIT Laravel job queue. This is the **primary workflow for development and testing**. + +## Overview: Manual Execution Architecture + +Instead of web UI buttons and job queues, developers execute R and Python scripts directly in PowerShell, controlling each stage manually. + +```mermaid +%% Manual Execution Architecture +flowchart TD + A["Developer
PowerShell Terminal"] -->|Edit params| B["parameters_project.R
Set PROJECT, dates, paths"] + + B -->|Run Stage 00| C["python 00_download_8band_pu_optimized.py
Stage 00"] + + C -->|Run Stage 10| D["Rscript 10_create_per_field_tiffs.R
Stage 10"] + + D -->|Run Stage 20| E["Rscript 20_ci_extraction_per_field.R
Stage 20"] + + E -->|Run Stage 30| F["Rscript 30_interpolate_growth_model.R
Stage 30"] + + F -->|Run Stage 40| G["Rscript 40_mosaic_creation_per_field.R
Stage 40"] + + G -->|Run Stage 80| H["Rscript 80_calculate_kpis.R
Stage 80"] + + H -->|Run Stage 90 OR 91| I{"Client Type?"} + + I -->|agronomic_support| J["rmarkdown::render
90_CI_report_*.Rmd"] + I -->|cane_supply| K["rmarkdown::render
91_CI_report_*.Rmd"] + + J -->|Output| L["Word Report
Excel KPI Tables
GeoTIFFs"] + K -->|Output| L +``` + +--- + +## Prerequisites & Environment Setup + +### System Requirements + +- **OS**: Windows 10+ +- **R**: Version 4.4.0+ (from https://cran.r-project.org/) +- **Python**: Version 3.9+ (from https://www.python.org/) +- **RStudio**: Optional but recommended (for debugging) + +### One-Time Configuration + +#### Step 1: Install R Packages + +```powershell +cd c:\Users\{YOUR_USERNAME}\Documents\SmartCane_code + +# Run package manager to install/update all dependencies +& "C:\Program Files\R\R-4.4.3\bin\x64\Rscript.exe" r_app\package_manager.R + +# This reads renv.lock and installs exact versions into renv/ folder +``` + +**What happens**: +- `package_manager.R` uses `renv::restore()` to install packages from `renv.lock` +- All packages isolated to project (not system-wide) +- Ensures reproducibility across team members + +#### Step 2: Verify R Installation + +```powershell +# Check R installation path +& "C:\Program Files\R\R-4.4.3\bin\x64\Rscript.exe" --version + +# Should output: R version 4.4.3 (or similar) +``` + +#### Step 3: Verify Python Installation + +```powershell +# Check Python +python --version + +# Should output: Python 3.9.x or higher + +# Create/activate virtual environment (optional but recommended) +python -m venv venv_smartcane +.\venv_smartcane\Scripts\Activate.ps1 + +# Install Python dependencies +pip install -r python_app\requirements_linux.txt +``` + +#### Step 4: Set Environment Variables (Optional) + +```powershell +# Define R executable path as variable (for easier copy-paste) +$R_EXE = "C:\Program Files\R\R-4.4.3\bin\x64\Rscript.exe" +$PROJECT = "angata" # or "chemba", "aura", etc. +$END_DATE = "2026-02-19" +$OFFSET = 7 + +# Or add to PowerShell $PROFILE for persistence +# Add these lines to C:\Users\{YOUR_USERNAME}\Documents\PowerShell\profile.ps1 +``` + +--- + +## Stage-by-Stage Execution + +### Stage 00 (Optional): Download Satellite Imagery + +**Purpose**: Fetch 4-band GeoTIFFs from Planet API + +**When to run**: +- When you need fresh data (weekly or on-demand) +- Not needed if satellite TIFFs already in `merged_tif/` directory + +**Command**: + +```powershell +cd python_app + +# Download for a specific date +python 00_download_8band_pu_optimized.py angata --date 2026-02-19 + +# Or use batch download for multiple dates +python download_planet_missing_dates.py --start 2025-12-24 --end 2026-02-19 --project angata + +cd .. +``` + +**Expected Output**: +``` +laravel_app/storage/app/angata/merged_tif/2026-02-19.tif (~200 MB) +``` + +**Troubleshooting**: +- **Auth error**: Check Planet API credentials in environment +- **Date missing**: Download script skips dates already saved +- **Cloud cover**: Script applies UDM1 cloud mask; may skip high-cloud days + +--- + +### Stage 10: Create Per-Field Tiles + +**Purpose**: Split merged farm TIFF into individual field files + +**Prerequisite**: +- `merged_tif/2026-02-19.tif` must exist +- `Data/pivot.geojson` must exist and be valid + +**Command**: + +```powershell +$R_EXE = "C:\Program Files\R\R-4.4.3\bin\x64\Rscript.exe" +$PROJECT = "angata" +$END_DATE = "2026-02-19" +$OFFSET = 7 + +& $R_EXE r_app/10_create_per_field_tiffs.R $PROJECT $END_DATE $OFFSET +``` + +**Parameters**: +- `PROJECT`: Project name (angata, chemba, aura, etc.) +- `END_DATE`: Date in YYYY-MM-DD format +- `OFFSET`: Days to look back (7 = last week) + +**Expected Output**: +``` +laravel_app/storage/app/angata/field_tiles/ +β”œβ”€β”€ Field_001/ +β”‚ β”œβ”€β”€ 2026-02-12.tif (4-band) +β”‚ β”œβ”€β”€ 2026-02-13.tif +β”‚ └── 2026-02-19.tif +β”œβ”€β”€ Field_002/ +β”‚ └── ... +└── ... +``` + +**Console Output**: +``` +[1] "Loading parameters..." +[1] "Processing dates 2026-02-12 to 2026-02-19" +[1] "Field_001: splitting tile..." +[1] "Field_002: splitting tile..." +[1] "Stage 10 completed successfully" +``` + +--- + +### Stage 20: Extract Canopy Index (CI) + +**Purpose**: Calculate CI per field and per pixel from 4-band TIFFs + +**Prerequisite**: +- Stage 10 completed (`field_tiles/` populated) +- `Data/pivot.geojson` exists + +**Command**: + +```powershell +& $R_EXE r_app/20_ci_extraction_per_field.R $PROJECT $END_DATE $OFFSET +``` + +**Expected Output**: +``` +laravel_app/storage/app/angata/field_tiles_CI/ +β”œβ”€β”€ Field_001/ +β”‚ β”œβ”€β”€ 2026-02-12.tif (5-band: R,G,B,NIR,CI) +β”‚ └── 2026-02-19.tif + +Data/extracted_ci/ +β”œβ”€β”€ daily_vals/ +β”‚ └── Field_001/ +β”‚ β”œβ”€β”€ 2026-02-12.rds +β”‚ └── 2026-02-19.rds +└── cumulative_vals/ + └── combined_CI_data.rds (WIDE format: fields Γ— dates) +``` + +**Console Output**: +``` +[1] "Computing CI index..." +[1] "Field_001: CI = 1.23 (mean), 0.45 (sd)" +[1] "Field_002: CI = 1.19 (mean), 0.38 (sd)" +[1] "Saving combined_CI_data.rds..." +[1] "Stage 20 completed successfully" +``` + +--- + +### Stage 30: Interpolate Growth Model + +**Purpose**: Smooth CI time series and fill gaps (handles clouds) + +**Prerequisite**: +- Stage 20 completed (`combined_CI_data.rds` exists) +- `Data/harvest.xlsx` recommended (required for cane_supply projects) + +**Command**: + +```powershell +# No date/offset parameters for Stage 30 β€” it processes all available CI data +& $R_EXE r_app/30_interpolate_growth_model.R $PROJECT +``` + +**Expected Output**: +``` +Data/extracted_ci/cumulative_vals/ +└── All_pivots_Cumulative_CI_quadrant_year_v2.rds + # (long format: field Γ— date Γ— interpolated_ci Γ— daily_change Γ— cumulative_ci) +``` + +**Console Output**: +``` +[1] "Loading combined CI data..." +[1] "Applying LOESS interpolation (span=0.3)..." +[1] "Season 2025-10 β†’ 2026-03: Field_001 interpolated 42 dates, filled 3 gaps" +[1] "Saving interpolated growth model..." +[1] "Stage 30 completed successfully" +``` + +--- + +### Stage 40: Create Weekly Mosaics + +**Purpose**: Aggregate daily per-field TIFFs into weekly MAX-composites + +**Prerequisite**: +- Stage 20 completed (`field_tiles_CI/` populated) + +**Command**: + +```powershell +# Process mosaics for END_DATE week, looking back OFFSET days +& $R_EXE r_app/40_mosaic_creation_per_field.R $END_DATE $OFFSET $PROJECT +``` + +**Expected Output**: +``` +laravel_app/storage/app/angata/weekly_mosaic/ +β”œβ”€β”€ Field_001/ +β”‚ β”œβ”€β”€ week_07_2026.tif (5-band, MAX-aggregated for ISO week 7) +β”‚ β”œβ”€β”€ week_06_2026.tif +β”‚ └── ... +β”œβ”€β”€ Field_002/ +β”‚ └── ... +``` + +**Console Output**: +``` +[1] "Computing weekly mosaics for week 07 (2026-02-16 to 2026-02-22)..." +[1] "Field_001: aggregating 7 daily TIFFs..." +[1] "Field_002: aggregating 7 daily TIFFs..." +[1] "Saving weekly_mosaic/Field_001/week_07_2026.tif..." +[1] "Stage 40 completed successfully" +``` + +--- + +### Stage 80: Calculate KPIs + +**Purpose**: Compute field-level KPIs from weekly mosaics (client-type dependent) + +**Prerequisite**: +- Stage 40 completed (`weekly_mosaic/` populated) +- Stage 30 completed (growth model data for trends) +- `Data/pivot.geojson` exists +- `Data/harvest.xlsx` exists (required for cane_supply) + +**Command**: + +```powershell +# KPI calculation (client type determined from PROJECT name in parameters_project.R) +& $R_EXE r_app/80_calculate_kpis.R $END_DATE $PROJECT $OFFSET +``` + +**Expected Output**: +``` +laravel_app/storage/app/angata/reports/ +β”œβ”€β”€ angata_field_analysis_week07_2026.xlsx (21-column spreadsheet) +└── kpis/ + └── angata_kpi_summary_tables_week07.rds +``` + +**Console Output** (agronomic_support type): +``` +[1] "Client type: agronomic_support" +[1] "Loading weekly mosaic data..." +[1] "Computing uniformity KPI (CV)..." +[1] "Computing area change KPI..." +[1] "Computing TCH forecast..." +[1] "Computing growth decline..." +[1] "Computing weed presence (Moran's I)..." +[1] "Computing gap fill quality..." +[1] "Saving kpi_summary_tables_week07.rds..." +[1] "Stage 80 completed successfully" +``` + +--- + +### Stages 90/91: Generate Word Reports + +**Purpose**: Render RMarkdown to Microsoft Word (client-type specific) + +**Prerequisite**: +- Stage 80 completed (KPI summary RDS + Excel exist) +- `Data/pivot.geojson` exists +- `Data/extracted_ci/cumulative_vals/combined_CI_data.rds` exists + +**Command for Agronomic Support (Aura, Chemba, etc.)**: + +```powershell +& $R_EXE -e ` + "rmarkdown::render('r_app/90_CI_report_with_kpis_agronomic_support.Rmd', ` + params=list(data_dir='$PROJECT', report_date=as.Date('$END_DATE')), ` + output_file='SmartCane_Report_agronomic_support_${PROJECT}_week07_2026.docx', ` + output_dir='laravel_app/storage/app/$PROJECT/reports')" +``` + +**Command for Cane Supply (Angata)**: + +```powershell +& $R_EXE -e ` + "rmarkdown::render('r_app/91_CI_report_with_kpis_cane_supply.Rmd', ` + params=list(data_dir='$PROJECT', report_date=as.Date('$END_DATE')), ` + output_file='SmartCane_Report_cane_supply_${PROJECT}_week07_2026.docx', ` + output_dir='laravel_app/storage/app/$PROJECT/reports')" +``` + +**Expected Output**: +``` +laravel_app/storage/app/angata/reports/ +└── SmartCane_Report_cane_supply_angata_week07_2026.docx (Word file with tables, charts, maps) +``` + +**Console Output**: +``` +[1] "Rendering RMarkdown..." +[1] "Loading KPI summary data..." +[1] "Loading weekly mosaics..." +[1] "Creating plots..." +[1] "Rendering Word document..." +[1] "Output: laravel_app/storage/app/angata/reports/SmartCane_Report_*.docx" +``` + +--- + +## Complete Pipeline: Single Command Sequence + +### One-Liner Scripts (PowerShell) + +**Setup Variables** (run once per session): + +```powershell +$R_EXE = "C:\Program Files\R\R-4.4.3\bin\x64\Rscript.exe" +$PROJECT = "angata" +$END_DATE = "2026-02-19" +$OFFSET = 7 +``` + +**Full Pipeline (if all data already downloaded)**: + +```powershell +Write-Host "Starting SmartCane pipeline for $PROJECT on $END_DATE..." + +# Stage 10 +Write-Host "[Stage 10] Creating field tiles..." +& $R_EXE r_app/10_create_per_field_tiffs.R $PROJECT $END_DATE $OFFSET + +# Stage 20 +Write-Host "[Stage 20] Extracting CI..." +& $R_EXE r_app/20_ci_extraction_per_field.R $PROJECT $END_DATE $OFFSET + +# Stage 30 +Write-Host "[Stage 30] Interpolating growth model..." +& $R_EXE r_app/30_interpolate_growth_model.R $PROJECT + +# Stage 40 +Write-Host "[Stage 40] Creating weekly mosaics..." +& $R_EXE r_app/40_mosaic_creation_per_field.R $END_DATE $OFFSET $PROJECT + +# Stage 80 +Write-Host "[Stage 80] Calculating KPIs..." +& $R_EXE r_app/80_calculate_kpis.R $END_DATE $PROJECT $OFFSET + +# Stage 90/91 (client-type dependent) +Write-Host "[Stage 90/91] Rendering report..." +$CLIENT_TYPE = "cane_supply" # Determine from parameters_project.R +if ($CLIENT_TYPE -eq "agronomic_support") { + $TEMPLATE = "r_app/90_CI_report_with_kpis_agronomic_support.Rmd" +} else { + $TEMPLATE = "r_app/91_CI_report_with_kpis_cane_supply.Rmd" +} + +& $R_EXE -e ` + "rmarkdown::render('$TEMPLATE', ` + params=list(data_dir='$PROJECT', report_date=as.Date('$END_DATE')), ` + output_file='SmartCane_Report_${PROJECT}_week07_2026.docx', ` + output_dir='laravel_app/storage/app/$PROJECT/reports')" + +Write-Host "Pipeline completed! Report: laravel_app/storage/app/$PROJECT/reports/" +``` + +### Batch Processing Multiple Weeks + +**Use Batch Runner** (R script that loops weeks): + +```powershell +# Aura batch processing (weeks 49–8, Dec 3 2025 - Feb 4 2026) +& $R_EXE -e "source('r_app/batch_pipeline_aura.R')" + +# Manually loop custom date range +$startDate = [DateTime]::ParseExact("2026-01-28", "yyyy-MM-dd", $null) +$endDate = [DateTime]::ParseExact("2026-02-19", "yyyy-MM-dd", $null) +$current = $startDate + +while ($current -le $endDate) { + $dateStr = $current.ToString("yyyy-MM-dd") + Write-Host "Processing week of $dateStr..." + + & $R_EXE r_app/40_mosaic_creation_per_field.R $dateStr 7 "angata" + & $R_EXE r_app/80_calculate_kpis.R $dateStr "angata" 7 + + $current = $current.AddDays(7) +} +``` + +--- + +## Configuration: parameters_project.R + +**Location**: `r_app/parameters_project.R` + +This file defines global settings used by all stages. + +```r +# ============================================================================ +# SmartCane Project Configuration +# ============================================================================ + +# Project settings +PROJECT <- Sys.getenv("PROJECT") # Set by calling script or manually +if (PROJECT == "") { + PROJECT <- "angata" # Default project +} + +# Client type mapping +CLIENT_TYPE_MAP <- list( + "angata" = "cane_supply", + "chemba" = "agronomic_support", + "xinavane" = "agronomic_support", + "esa" = "agronomic_support", + "simba" = "agronomic_support", + "aura" = "agronomic_support" +) + +CLIENT_TYPE <- CLIENT_TYPE_MAP[[PROJECT]] + +# Data directory (Laravel storage) +data_dir <- file.path( + dirname(getwd()), # Up one level from r_app + "laravel_app/storage/app", + PROJECT +) + +# Key file paths +pivot_path <- file.path(data_dir, "Data", "pivot.geojson") +harvest_path <- file.path(data_dir, "Data", "harvest.xlsx") +merged_tif_dir <- file.path(data_dir, "merged_tif") +field_tiles_dir <- file.path(data_dir, "field_tiles") +field_tiles_ci_dir <- file.path(data_dir, "field_tiles_CI") +weekly_mosaic_dir <- file.path(data_dir, "weekly_mosaic") + +# KPI thresholds (customizable) +CI_THRESHOLD <- 1.0 +CV_GOOD <- 0.15 +CV_EXCELLENT <- 0.08 +CV_POOR <- 0.25 + +# Print configuration summary +cat("\n=== SmartCane Configuration ===\n") +cat("Project:", PROJECT, "\n") +cat("Client Type:", CLIENT_TYPE, "\n") +cat("Data Directory:", data_dir, "\n\n") +``` + +**How to Use**: +1. All scripts start with `source("parameters_project.R")` +2. Use global variables: `PROJECT`, `CLIENT_TYPE`, `data_dir`, etc. +3. To change project: Edit this file OR set `PROJECT` env var before running + +--- + +## Troubleshooting Common Issues + +### Issue: "File not found: combined_CI_data.rds" + +**Cause**: Stage 20 not completed. + +**Solution**: +```powershell +# Run Stage 20 again with correct date range +& $R_EXE r_app/20_ci_extraction_per_field.R angata 2026-02-19 7 +``` + +### Issue: "Error in rmarkdown::render()" + +**Cause**: RMarkdown template not found or missing dependencies. + +**Solution**: +```powershell +# Check template file exists +Test-Path "r_app/90_CI_report_with_kpis_agronomic_support.Rmd" + +# Reinstall R packages +& $R_EXE r_app/package_manager.R +``` + +### Issue: "GDAL error: Cannot open file" + +**Cause**: Incorrect pivot.geojson path or file doesn't exist. + +**Solution**: +```powershell +# Check pivot.geojson exists +Test-Path "laravel_app/storage/app/angata/Data/pivot.geojson" + +# Verify path in parameters_project.R +``` + +### Issue: Python download fails with "Cloud cover too high" + +**Cause**: Planet API filtering out days with >90% clouds. + +**Solution**: +```powershell +# Check available dates in merged_tif directory +Get-ChildItem laravel_app/storage/app/angata/merged_tif/ + +# Or edit Python script to use permissive cloud threshold +# Line: cloud_cover_threshold = 0.95 # 95% clouds allowed +``` + +--- + +## Development Workflow Best Practices + +### 1. Testing Single Stage in Isolation + +```powershell +# Test Stage 20 without running full pipeline +$PROJECT = "angata" +$END_DATE = "2026-02-19" +$OFFSET = 7 + +# Prerequisite: Stage 10 must be done, or manually create field_tiles/ +& $R_EXE r_app/20_ci_extraction_per_field.R $PROJECT $END_DATE $OFFSET + +# Review output +Get-ChildItem laravel_app/storage/app/$PROJECT/field_tiles_CI/ + +# View CI values +$data <- readRDS("laravel_app/storage/app/$PROJECT/Data/extracted_ci/cumulative_vals/combined_CI_data.rds") +head(data) +``` + +### 2. Debugging RMarkdown + +```powershell +# Render with verbose output +& $R_EXE -e ` + "rmarkdown::render('r_app/90_CI_report_with_kpis_agronomic_support.Rmd', ` + params=list(data_dir='aura', report_date=as.Date('2026-02-19')), ` + knit_root_dir=getwd(), clean=FALSE)" + +# Check intermediate files +Get-ChildItem r_app/ -Filter "*_files" -Directory +``` + +### 3. Using RStudio for Interactive Development + +```powershell +# Open project in RStudio +# File > Open Project > r_app/r_app.Rproj + +# Then in RStudio console: +# - source("parameters_project.R") +# - source("20_ci_extraction_per_field.R") # Run script line by line +# - debug(extract_ci_per_field) # Set breakpoints +``` + +--- + +## Next Steps + +- See [ARCHITECTURE_DATA_FLOW.md](ARCHITECTURE_DATA_FLOW.md) for understanding pipeline flow +- See [CLIENT_TYPE_ARCHITECTURE.md](CLIENT_TYPE_ARCHITECTURE.md) for client-specific KPI differences +- See [SOBIT_DEPLOYMENT.md](SOBIT_DEPLOYMENT.md) for production server alternative +- See [ARCHITECTURE_INTEGRATION_GUIDE.md](ARCHITECTURE_INTEGRATION_GUIDE.md) for choosing execution model diff --git a/r_app/system_architecture/PIPELINE_OVERVIEW.md b/webapps/docs/PIPELINE_OVERVIEW.md similarity index 89% rename from r_app/system_architecture/PIPELINE_OVERVIEW.md rename to webapps/docs/PIPELINE_OVERVIEW.md index ac7786c..449577d 100644 --- a/r_app/system_architecture/PIPELINE_OVERVIEW.md +++ b/webapps/docs/PIPELINE_OVERVIEW.md @@ -5,6 +5,7 @@ ## Complete Pipeline Mermaid Diagram ```mermaid +%% Complete Pipeline graph TD %% ===== INPUTS ===== API["πŸ”‘ Planet API
Credentials"] @@ -13,11 +14,11 @@ graph TD %% ===== STAGE 00: DOWNLOAD ===== Stage00["Stage 00: Python
00_download_8band_pu_optimized.py"] - Out00["πŸ“¦ merged_tif_8b/
YYYY-MM-DD.tif
(4-band uint16)"] + Out00["πŸ“¦ merged_tif/
YYYY-MM-DD.tif
(4-band or 8-band)
(configurable)"] %% ===== STAGE 10: OPTIONAL TILING ===== - Stage10["Stage 10: R
10_create_master_grid...
(Optional)"] - Out10["πŸ“¦ daily_tiles_split/5x5/
YYYY-MM-DD/*.tif
(25 tiles)"] + Stage10["Stage 10: R
10_create_per_field_tiffs.R
(Per-field extraction)"] + Out10["πŸ“¦ daily_tiles_split/per_field/
YYYY-MM-DD/*.tif
(one per field)"] %% ===== STAGE 20: CI EXTRACTION ===== Stage20["Stage 20: R
20_ci_extraction.R"] @@ -141,29 +142,29 @@ graph TD Stage 00: PYTHON - Download Satellite Data └─ 00_download_8band_pu_optimized.py INPUT: Planet API credentials, field boundaries (pivot.geojson), date range - OUTPUT: laravel_app/storage/app/{project}/merged_tif_8b/{YYYY-MM-DD}.tif (4-band uint16) - RUN FREQUENCY: Daily or as-needed - NOTES: 8-band includes UDM cloud masking, optimized for PU cost +OUTPUT: laravel_app/storage/app/{project}/merged_tif/{YYYY-MM-DD}.tif (4-band or 8-band) + RUN FREQUENCY: Daily or as-needed + NOTES: Download script configures band count; consolidates to single merged_tif/ folder -Stage 10: R - (Optional) Create Master Grid & Split TIFFs into Tiles - └─ 10_create_master_grid_and_split_tiffs.R - INPUT: Daily GeoTIFFs from merged_tif_8b/ - OUTPUT: laravel_app/storage/app/{project}/daily_tiles_split/5x5/{YYYY-MM-DD}/*.tif - RUN FREQUENCY: Optional - only if tile-based processing desired - NOTES: Creates 25 tiles per day for memory-efficient processing; 5x5 grid hardcoded +Stage 10: R - Create Per-Field Daily Tiles + └─ 10_create_per_field_tiffs.R + INPUT: Daily GeoTIFFs from merged_tif/ + Field boundaries (pivot.geojson) + OUTPUT: laravel_app/storage/app/{project}/daily_tiles_split/per_field/{YYYY-MM-DD}/*.tif + RUN FREQUENCY: Optional - per-field extraction for efficient memory use + NOTES: Creates one GeoTIFF per field per day Stage 20: R - Extract Canopy Index (CI) from Daily Imagery - └─ 20_ci_extraction.R - INPUT: Daily GeoTIFFs (merged_tif_8b/ or daily_tiles_split/) + └─ 20_ci_extraction_per_field.R + INPUT: Daily GeoTIFFs (merged_tif/ or daily_tiles_split/per_field/) Field boundaries (pivot.geojson) - Data source parameter (merged_tif_8b, merged_tif, merged_final_tif) OUTPUT: RDS files: - laravel_app/storage/app/{project}/Data/extracted_ci/daily_vals/extracted_{YYYY-MM-DD}_{suffix}.rds - laravel_app/storage/app/{project}/Data/extracted_ci/cumulative_vals/combined_CI_data.rds (wide format) RUN FREQUENCY: Daily or on-demand - COMMAND: Rscript 20_ci_extraction.R [end_date] [offset] [project_dir] [data_source] - EXAMPLE: Rscript 20_ci_extraction.R 2026-01-02 7 angata merged_tif_8b - NOTES: Auto-detects tiles if daily_tiles_split/ exists; outputs cumulative CI (fields Γ— dates) + COMMAND: Rscript 20_ci_extraction_per_field.R [end_date] [offset] [project_dir] [data_source] + EXAMPLE: Rscript 20_ci_extraction_per_field.R 2026-01-02 7 angata merged_tif + NOTES: Auto-detects per-field tiles if daily_tiles_split/per_field/ exists; outputs cumulative CI (fields Γ— dates) Stage 21: R - Convert CI RDS to CSV for Python Harvest Detection └─ 21_convert_ci_rds_to_csv.R @@ -222,13 +223,13 @@ Stage 31: PYTHON - Weekly Harvest Monitoring (Real-Time Alerts) Used for real-time decision support; compared against baseline from Stage 22 Stage 40: R - Create Weekly 5-Band Mosaics - └─ 40_mosaic_creation.R - INPUT: Daily GeoTIFFs (merged_tif_8b/ or daily_tiles_split/) + └─ 40_mosaic_creation_per_field.R + INPUT: Daily GeoTIFFs (merged_tif/ or daily_tiles_split/per_field/) Field boundaries (pivot.geojson) OUTPUT: laravel_app/storage/app/{project}/weekly_mosaic/week_{WW}_{YYYY}.tif RUN FREQUENCY: Weekly - COMMAND: Rscript 40_mosaic_creation.R [end_date] [offset] [project_dir] - EXAMPLE: Rscript 40_mosaic_creation.R 2026-01-14 7 angata + COMMAND: Rscript 40_mosaic_creation_per_field.R [end_date] [offset] [project_dir] + EXAMPLE: Rscript 40_mosaic_creation_per_field.R 2026-01-14 7 angata NOTES: Composites daily images using MAX function; 5 bands (R, G, B, NIR, CI) Automatically selects images with acceptable cloud coverage Output uses ISO week numbering (week_WW_YYYY) @@ -292,14 +293,13 @@ laravel_app/storage/app/{project}/ β”‚ β”œβ”€β”€ harvest_production_export.xlsx # Baseline harvest predictions (from Stage 22) β”‚ └── harvest_imminent_weekly.csv # Weekly monitoring output (from Stage 31) β”‚ -β”œβ”€β”€ merged_tif_8b/ # Raw 4-band satellite imagery (Stage 00 output) -β”‚ └── YYYY-MM-DD.tif # 4 bands: R, G, B, NIR (uint16 with UDM cloud masking) +β”œβ”€β”€ merged_tif/ # Raw satellite imagery (Stage 00 output) +β”‚ └── YYYY-MM-DD.tif # 4-band or 8-band (configurable via download script) β”‚ -β”œβ”€β”€ daily_tiles_split/ # (Optional) Tile-based processing (Stage 10 output) -β”‚ β”œβ”€β”€ 5x5/ -β”‚ β”‚ β”œβ”€β”€ tiling_config.json # Metadata about tiling parameters +β”œβ”€β”€ daily_tiles_split/ # (Optional) Per-field tile processing (Stage 10 output) +β”‚ β”œβ”€β”€ per_field/ β”‚ β”‚ └── YYYY-MM-DD/ # Date-specific folder -β”‚ β”‚ └── YYYY-MM-DD_{00-24}.tif # 25 tiles per day +β”‚ β”‚ └── {FIELD}_YYYY-MM-DD.tif # One per-field GeoTIFF per day β”‚ β”œβ”€β”€ weekly_mosaic/ # Weekly composite mosaics (Stage 40 output) β”‚ └── week_WW_YYYY.tif # 5 bands: R, G, B, NIR, CI (composite) @@ -376,7 +376,7 @@ python 00_download_8band_pu_optimized.py angata --cleanup # Stage 20: Extract CI from daily imagery (last 7 days) cd ../r_app -Rscript 20_ci_extraction.R 2026-01-14 7 angata merged_tif_8b +Rscript 20_ci_extraction_per_field.R 2026-01-14 7 angata merged_tif # Stage 21: Convert CI to CSV for harvest detection Rscript 21_convert_ci_rds_to_csv.R angata diff --git a/r_app/system_architecture/QUALITY_CHECK_REPORT.md b/webapps/docs/QUALITY_CHECK_REPORT.md similarity index 100% rename from r_app/system_architecture/QUALITY_CHECK_REPORT.md rename to webapps/docs/QUALITY_CHECK_REPORT.md diff --git a/r_app/system_architecture/REVIEW_SUMMARY.md b/webapps/docs/REVIEW_SUMMARY.md similarity index 100% rename from r_app/system_architecture/REVIEW_SUMMARY.md rename to webapps/docs/REVIEW_SUMMARY.md diff --git a/webapps/docs/SOBIT_DEPLOYMENT.md b/webapps/docs/SOBIT_DEPLOYMENT.md new file mode 100644 index 0000000..336e17d --- /dev/null +++ b/webapps/docs/SOBIT_DEPLOYMENT.md @@ -0,0 +1,481 @@ +# SOBIT Linux Server Deployment Architecture + +This document explains how SmartCane runs on SOBIT (the production Linux server) through Laravel web interface, contrasting with manual dev laptop execution. + +## High-Level SOBIT Architecture + +SOBIT hosts a Laravel-based web application that orchestrates Python and R pipeline execution through a **job queue system**. When a user clicks a button in the web UI, a job is created, pushed to a queue, and workers execute the actual Python/R scripts. + +```mermaid +%% SOBIT Deployment Architecture +flowchart TD + A["Web UI
Laravel Dashboard
Project Controller"] + + B["User Action
e.g., Download Data,
Generate Report"] + + C["Job Dispatch
ProjectDownloadTiffJob,
ProjectMosaicJob, etc."] + + D["Queue Worker
Executes Job Handler"] + + E["Shell Script Wrapper
runpython.sh
20_ci_extraction.sh
90_kpi_report.sh"] + + F["Python/R Executable
00_download_8band_pu_optimized.py
20_ci_extraction_per_field.R
rmarkdown::render"] + + G["Output Files
laravel_app/storage/app/{PROJECT}/"] + + H["Next Job Dispatch
job chaining"] + + A --> B + B --> C + C --> D + D --> E + E --> F + F --> G + G --> H + H -.-> D +``` + +--- + +## Laravel Job Classes & Queue Flow + +SmartCane uses Laravel's **queue system** to manage asynchronous task execution. Each stage has a corresponding Job class. + +### Job Class Hierarchy + +| Job Class | Shell Script | R/Python Script | Input File | Output File | Next Stage | +|-----------|-------------|-----------------|------------|------------|-----------| +| **ProjectDownloadTiffJob** | `runpython.sh` | `00_download_8band_pu_optimized.py` | date param | `merged_tif/{DATE}.tif` | ProjectCreateFieldTilesJob | +| **ProjectCreateFieldTilesJob** | (direct Rscript) | `10_create_per_field_tiffs.R` | `merged_tif/{DATE}.tif` | `field_tiles/{FIELD}/{DATE}.tif` | ProjectCIExtractionJob | +| **ProjectCIExtractionJob** | `20_ci_extraction.sh` | `20_ci_extraction_per_field.R` | `field_tiles/...` | `combined_CI_data.rds` | ProjectGrowthModelJob | +| **ProjectGrowthModelJob** | `30_growth_model.sh` | `30_interpolate_growth_model.R` | `combined_CI_data.rds` | `All_pivots_...rds` | ProjectMosaicGeneratorJob | +| **ProjectMosaicGeneratorJob** | `40_mosaic_creation.sh` | `40_mosaic_creation_per_field.R` | `field_tiles_CI/...` | `weekly_mosaic/{FIELD}/week_*.tif` | ProjectKPICalculationJob | +| **ProjectKPICalculationJob** | `80_calculate_kpis.sh` | `80_calculate_kpis.R` | `weekly_mosaic/...` | `field_analysis_*.xlsx` + RDS | ProjectReportGeneratorJob | +| **ProjectReportGeneratorJob** | `90_kpi_report.sh` | `90_*.Rmd` or `91_*.Rmd` render | Excel + RDS | `SmartCane_Report_*.docx` | βœ… Complete | + +--- + +## Execution Flow: From Web UI to Output + +### Scenario: User Clicks "Download Latest Data" for Project "Angata" + +#### Step 1: Web UI Dispatch + +**File**: `laravel_app/app/Http/Controllers/ProjectController.php` + +```php +public function downloadData(Request $request, $projectName) +{ + $project = Project::where('name', $projectName)->firstOrFail(); + + // Dispatch job to queue + dispatch(new ProjectDownloadTiffJob($project, $request->date)); + + return response()->json(['status' => 'Job queued']); +} +``` + +#### Step 2: Job Queue Entry + +**File**: `laravel_app/app/Jobs/ProjectDownloadTiffJob.php` + +```php +class ProjectDownloadTiffJob implements ShouldQueue +{ + public $project; + public $date; + + public function __construct(Project $project, $date = null) + { + $this->project = $project; + $this->date = $date ?? Carbon::now()->toDateString(); + } + + public function handle() + { + // Execute shell script wrapper + $command = "bash " . base_path() . "/runpython.sh " . + "--date=" . $this->date . " " . + "--project_dir=" . $this->project->directory; + + $process = new Process(explode(' ', $command)); + $process->run(); + + if ($process->isSuccessful()) { + // Dispatch next job + dispatch(new ProjectCreateFieldTilesJob($this->project, $this->date)); + } else { + // Log error and notify user + Log::error("Download failed for {$this->project->name}: " . $process->getErrorOutput()); + } + } +} +``` + +#### Step 3: Shell Script Execution (runpython.sh) + +**File**: `laravel_app/../runpython.sh` + +```bash +#!/bin/bash +# Wrapper for Python download script + +DATE=${1#--date=} +PROJECT_DIR=${2#--project_dir=} + +cd /path/to/SmartCane_code/python_app + +# Run Python with project-specific environment +python 00_download_8band_pu_optimized.py $PROJECT_DIR --date $DATE + +if [ $? -eq 0 ]; then + echo "Download successful for $PROJECT_DIR on $DATE" + exit 0 +else + echo "Download failed for $PROJECT_DIR on $DATE" + exit 1 +fi +``` + +#### Step 4: Python Download (Stage 00) + +**File**: `python_app/00_download_8band_pu_optimized.py` + +```python +import sys +from datetime import datetime + +project_dir = sys.argv[1] # "angata" +date_str = sys.argv[2] if len(sys.argv) > 2 else datetime.now().strftime('%Y-%m-%d') + +# Authenticate with Planet API +auth = get_planet_credentials() +bbox = get_project_bbox(project_dir) # From database or config + +# Download 4-band TIFF +tiff_path = f"laravel_app/storage/app/{project_dir}/merged_tif/{date_str}.tif" +download_and_save_tiff(auth, bbox, date_str, tiff_path) + +print(f"Downloaded to {tiff_path}") +``` + +#### Step 5: Job Chaining (Automatic) + +**Back in ProjectDownloadTiffJob.php**: + +```php +if ($process->isSuccessful()) { + // Dispatch next job in pipeline + dispatch(new ProjectCreateFieldTilesJob($this->project, $this->date)); +} +``` + +This triggers `ProjectCreateFieldTilesJob`, which calls the next shell script, and so on. + +--- + +## Shell Script Wrappers: Design & Responsibility + +SOBIT wrapper scripts ensure Python and R scripts run with correct environment variables and working directory. + +### Root-Level Shell Scripts + +**Location**: `c:\Users\timon\Documents\SmartCane_code\` (root) + +| Script | Purpose | Calls | Environment Setup | +|--------|---------|-------|-------------------| +| `10_planet_download.sh` | Stage 10 wrapper | `Rscript 10_create_per_field_tiffs.R` | Sets R_LIBS, PYTHONPATH | +| `20_ci_extraction.sh` | Stage 20 wrapper | `Rscript 20_ci_extraction_per_field.R` | R environment + data paths | +| `30_growth_model.sh` | Stage 30 wrapper | `Rscript 30_interpolate_growth_model.R` | Growth model data path | +| `40_mosaic_creation.sh` | Stage 40 wrapper | `Rscript 40_mosaic_creation_per_field.R` | Sentinel config for mosaics | +| `80_calculate_kpis.sh` | Stage 80 wrapper | `Rscript 80_calculate_kpis.R` | KPI utility loading | +| `90_kpi_report.sh` | Stage 90/91 wrapper | `rmarkdown::render()` via Rscript | RMarkdown dependencies | +| `runpython.sh` | Python wrapper | `python 00_download_8band_pu_optimized.py` | Python venv activation | + +### Example: `20_ci_extraction.sh` + +```bash +#!/bin/bash +# CI Extraction wrapper for SOBIT + +set -e # Exit on error + +# Load environment +export R_LIBS="/opt/R/library" +export PYTHONPATH="/opt/python/lib/python3.9/site-packages:$PYTHONPATH" +PROJECT_DIR=$1 +END_DATE=$2 +OFFSET=${3:-7} + +# Change to code directory +cd /var/www/smartcane/code + +# Execute R script +Rscript r_app/20_ci_extraction_per_field.R "$PROJECT_DIR" "$END_DATE" "$OFFSET" + +if [ $? -eq 0 ]; then + echo "[$(date)] CI extraction completed for $PROJECT_DIR" + # Log success to Laravel job tracking + echo "Success" > "laravel_app/storage/logs/${PROJECT_DIR}_stage20_${END_DATE}.log" +else + echo "[$(date)] CI extraction FAILED for $PROJECT_DIR" + exit 1 +fi +``` + +### Example: `90_kpi_report.sh` + +```bash +#!/bin/bash +# RMarkdown report rendering wrapper + +set -e + +PROJECT_DIR=$1 +REPORT_DATE=$2 +CLIENT_TYPE=$3 # "agronomic_support" or "cane_supply" + +cd /var/www/smartcane/code + +# Determine which RMarkdown template to use +if [ "$CLIENT_TYPE" = "agronomic_support" ]; then + REPORT_TEMPLATE="r_app/90_CI_report_with_kpis_agronomic_support.Rmd" +else + REPORT_TEMPLATE="r_app/91_CI_report_with_kpis_cane_supply.Rmd" +fi + +# Render RMarkdown to Word +Rscript -e " + rmarkdown::render( + '$REPORT_TEMPLATE', + params = list( + data_dir = '$PROJECT_DIR', + report_date = as.Date('$REPORT_DATE') + ), + output_file = 'SmartCane_Report_${CLIENT_TYPE}_${PROJECT_DIR}_${REPORT_DATE}.docx', + output_dir = 'laravel_app/storage/app/$PROJECT_DIR/reports' + ) +" + +echo "[$(date)] Report generation completed for $PROJECT_DIR" +``` + +--- + +## Data Storage on SOBIT + +All data is stored in Laravel's standard storage directory with project-based subdirectories. + +### Storage Structure + +``` +laravel_app/storage/app/ +β”œβ”€β”€ angata/ # Cane Supply project +β”‚ β”œβ”€β”€ merged_tif/ # Stage 00 Python output +β”‚ β”‚ β”œβ”€β”€ 2026-02-12.tif +β”‚ β”‚ └── 2026-02-19.tif +β”‚ β”œβ”€β”€ field_tiles/ # Stage 10 output +β”‚ β”œβ”€β”€ field_tiles_CI/ # Stage 20 output +β”‚ β”œβ”€β”€ Data/ +β”‚ β”‚ β”œβ”€β”€ pivot.geojson # Field boundaries (input) +β”‚ β”‚ β”œβ”€β”€ harvest.xlsx # Harvest dates (input) +β”‚ β”‚ β”œβ”€β”€ extracted_ci/ # Stage 20 CI data +β”‚ β”‚ └── growth_model_interpolated/ # Stage 30 data +β”‚ β”œβ”€β”€ weekly_mosaic/ # Stage 40 output +β”‚ └── reports/ # Stages 80/90/91 output +β”‚ β”œβ”€β”€ SmartCane_Report_*.docx +β”‚ β”œβ”€β”€ angata_field_analysis_week*.xlsx +β”‚ └── kpis/ +β”‚ └── *.rds +β”‚ +β”œβ”€β”€ aura/ # Agronomic Support project +β”‚ └── (same structure as angata) +β”‚ +β”œβ”€β”€ chemba/ +β”œβ”€β”€ xinavane/ +β”œβ”€β”€ esa/ +└── simba/ +``` + +### Permissions Model + +- **Web server user** (www-data on Linux): Can read/write to all storage subdirectories +- **Laravel artisan commands**: Have full access via `Storage::disk('local')` +- **Job queue workers**: Execute as www-data, access via storage symlink + +--- + +## Job Queue Configuration + +**File**: `laravel_app/config/queue.php` + +```php +'default' => env('QUEUE_CONNECTION', 'database'), + +'connections' => [ + 'database' => [ + 'driver' => 'database', + 'table' => 'jobs', + 'queue' => 'default', + 'retry_after' => 1800, // 30 min timeout per job + 'after_commit' => false, + ], + + 'redis' => [ + 'driver' => 'redis', + 'connection' => 'default', + 'queue' => env('REDIS_QUEUE', 'default'), + 'after_commit' => false, + ], +], +``` + +### Starting Queue Worker + +On SOBIT, the queue worker runs in the background: + +```bash +# Manual start (for debugging) +php artisan queue:work --queue=default --timeout=1800 + +# Production (supervisor-managed) +# Supervisor config: /etc/supervisor/conf.d/smartcane-worker.conf +[program:smartcane-queue-worker] +process_name=%(program_name)s_%(process_num)02d +command=php /var/www/smartcane/artisan queue:work --queue=default --timeout=1800 +autostart=true +autorestart=true +numprocs=2 +redirect_stderr=true +stdout_logfile=/var/log/smartcane-queue.log +``` + +--- + +## Error Handling & Retries + +### Job Failure Scenario + +If a shell script returns non-zero exit code: + +```php +// In job handle() method +if (!$process->isSuccessful()) { + Log::error("Job failed: " . $process->getErrorOutput()); + + // Laravel automatically retries if $tries > 1 + // Configurable in job class: + // public $tries = 3; + // public $retryAfter = 300; // 5 minutes between retries +} +``` + +### Monitoring & Alerts + +- **Failed Jobs Table**: `jobs_failed` table in Laravel database +- **Logs**: `storage/logs/laravel.log` + individual stage logs +- **User Notification**: Job status visible in web UI; email alerts can be configured + +--- + +## Deployment vs Dev Laptop: Key Differences + +| Aspect | **SOBIT (Production)** | **Dev Laptop** | +|--------|----------------------|----------------| +| **Execution Model** | Async job queue | Synchronous PowerShell | +| **User Interaction** | Web UI clicks β†’ jobs | Manual script calls | +| **Data Location** | `laravel_app/storage/app/{PROJECT}/` | Same (shared Laravel directory) | +| **Error Handling** | Job retries, logs in database | Terminal output only | +| **Parallelization** | Multiple queue workers | Single sequential execution | +| **Monitoring** | Web dashboard + Laravel logs | Console output only | +| **Environment Setup** | Bash scripts set env vars | Manual R/Python environment | +| **Scheduling** | Can use Laravel scheduler for automated runs | Manual cron or batch scripts | + +--- + +## Running Full Pipeline on SOBIT via Web UI + +### User Workflow + +1. **Navigate** to ProjectController dashboard + ``` + http://sobit-server/projects/angata + ``` + +2. **Click** "Download Latest Data" button + - ProjectDownloadTiffJob queued with current date + - Web UI shows "Job submitted" + +3. **Queue Worker** (background process) executes jobs in sequence + - Downloads TIFF (Stage 00) + - Dispatches Stage 10 job + - Creates field tiles + - Dispatches Stage 20 job + - (etc. through Stage 91) + +4. **Monitor** progress via Dashboard + - Job history tab shows completed jobs + - Report links appear when Stage 91 completes + - Download Word/Excel from reports section + +### Command-Line Submission (Alternative) + +Developer can manually trigger jobs via Laravel artisan: + +```bash +# SSH into SOBIT +ssh user@sobit-server + +# Manually dispatch job +php artisan smartcane:process-pipeline angata --date=2026-02-19 --async + +# Or using job dispatch directly +php artisan queue:work --queue=default +``` + +--- + +## Troubleshooting SOBIT Deployment + +### Issue: Job Stuck in Queue + +```bash +# Check job queue depth +SELECT COUNT(*) FROM jobs WHERE queue = 'default'; + +# Retry failed jobs +php artisan queue:retry --all + +# Clear old jobs +php artisan queue:clear +``` + +### Issue: Shell Script Can't Find R/Python + +**Cause**: Environment variables not set in shell wrapper. + +**Fix**: Add to shell script: +```bash +export PATH="/opt/R/bin:/opt/python/bin:$PATH" +export R_HOME="/opt/R" +source /opt/python/venv/bin/activate +``` + +### Issue: Permission Denied on Storage Files + +**Cause**: Files created by web server, permission mismatch. + +**Fix**: +```bash +sudo chown -R www-data:www-data laravel_app/storage/app/* +sudo chmod -R 755 laravel_app/storage/app/ +``` + +--- + +## Next Steps + +- See [ARCHITECTURE_DATA_FLOW.md](ARCHITECTURE_DATA_FLOW.md) for stage details +- See [CLIENT_TYPE_ARCHITECTURE.md](CLIENT_TYPE_ARCHITECTURE.md) for how jobs route based on project type +- See [DEV_LAPTOP_EXECUTION.md](DEV_LAPTOP_EXECUTION.md) for alternative manual execution model +- See [ARCHITECTURE_INTEGRATION_GUIDE.md](ARCHITECTURE_INTEGRATION_GUIDE.md) for choosing SOBIT vs dev laptop diff --git a/r_app/system_architecture/system_architecture.md b/webapps/docs/system_architecture.md similarity index 81% rename from r_app/system_architecture/system_architecture.md rename to webapps/docs/system_architecture.md index fd69f31..6ceba2c 100644 --- a/r_app/system_architecture/system_architecture.md +++ b/webapps/docs/system_architecture.md @@ -1,117 +1,223 @@ + # SmartCane System Architecture - Python + R Pipeline & File-Based Processing +## πŸ—‚οΈ Quick Navigation + +**New Architecture Guides** (start here for complete system understanding): + +- **[ARCHITECTURE_INTEGRATION_GUIDE.md](ARCHITECTURE_INTEGRATION_GUIDE.md)** β€” *Start here!* Integrates all dimensions: pipeline stages, client types, and execution models. Includes decision matrices and troubleshooting. + +- **[ARCHITECTURE_DATA_FLOW.md](ARCHITECTURE_DATA_FLOW.md)** β€” Complete Stage 00–91 data pipeline with transformations, file formats, and storage locations. High-level overview + stage-by-stage details. + +- **[CLIENT_TYPE_ARCHITECTURE.md](CLIENT_TYPE_ARCHITECTURE.md)** β€” Explains how agronomic_support (AURA) and cane_supply (ANGATA) client types branch at Stage 80. KPI differences, report differences, configuration mapping. + +- **[SOBIT_DEPLOYMENT.md](SOBIT_DEPLOYMENT.md)** β€” Production server deployment via Laravel job queue. Web UI, shell wrappers, job chaining, error handling, monitoring. + +- **[DEV_LAPTOP_EXECUTION.md](DEV_LAPTOP_EXECUTION.md)** β€” Developer manual execution on Windows laptops. PowerShell commands, stage-by-stage workflows, configuration, troubleshooting. + +--- + ## Overview The SmartCane system is a file-based agricultural intelligence platform that processes satellite imagery through sequential Python and R scripts. Raw satellite imagery is downloaded via Planet API (Python), then flows through R processing stages (CI extraction, growth model interpolation, mosaic creation, KPI analysis, harvest detection) with outputs persisted as GeoTIFFs, RDS files, Excel sheets, and Word reports. Harvest monitoring is performed via ML-based harvest detection using LSTM models trained on historical CI sequences. ## Processing Pipeline Overview -``` -Python Download β†’ Daily GeoTIFFs β†’ CI Extraction (RDS) β†’ Growth Model (RDS) β†’ Weekly Mosaics (TIF) - ↓ ↓ - Cumulative CI Data ←─────────────────── KPI Calculation - ↓ - Field Analysis & Report Generation - ↓ - Excel + Word Outputs +```mermaid +%% SmartCane Processing Pipeline +graph LR + DL["🐍 Python Download"] --> TIFF["πŸ“¦ Daily GeoTIFFs"] + TIFF --> CI["🟒 CI Extraction
(RDS)"] + CI --> GM["🟑 Growth Model
(RDS)"] + TIFF --> GM + CI --> CCI["πŸ“Š Cumulative
CI Data"] + GM --> KPI["πŸ”΄ KPI Calculation"] + CCI -.-> KPI + KPI --> FA["πŸ“‹ Field Analysis &
Report Generation"] + FA --> OUT["πŸ“„ Excel + Word
Outputs"] + + style DL fill:#fff3e0 + style TIFF fill:#e8f5e9 + style CI fill:#e8f5e9 + style GM fill:#e8f5e9 + style CCI fill:#fff9c4 + style KPI fill:#ffccbc + style FA fill:#e0f2f1 + style OUT fill:#f1f8e9 ``` -## Complete Processing Pipeline (Mermaid Diagram) +## SmartCane Modern Architecture: Complete Pipeline with Client Types & Execution Models ```mermaid +%% SmartCane Modern Architecture graph TD - %% ===== INPUTS ===== - API["πŸ”‘ API Credentials"] - Bounds["πŸ—ΊοΈ Field Boundaries
(pivot.geojson)"] - Harvest["πŸ“Š Harvest Data
(harvest.xlsx)"] + subgraph INPUTS["πŸ”Ή INPUTS"] + API["πŸ”‘ Planet API
Credentials"] + GJ["πŸ—ΊοΈ Field Boundaries
pivot.geojson"] + HV["πŸ“Š Harvest Data
harvest.xlsx"] + CONFIG["βš™οΈ Configuration
parameters_project.R"] + end - %% ===== STAGE 1: DOWNLOAD ===== - Download["STAGE 1: Satellite Download
01_planet_download.py"] - DL_Out["πŸ“¦ OUTPUT
merged_tif/{date}.tif
(4 bands: RGBN)"] + subgraph STAGE00["STAGE 00: Python Download"] + PY["🐍 00_download_8band
_pu_optimized.py"] + PY_OUT["πŸ“¦ merged_tif/{DATE}.tif
4-band uint16
(R,G,B,NIR)"] + end - %% ===== STAGE 2: CI EXTRACTION ===== - CI["STAGE 2: CI Extraction
02_ci_extraction.R"] - CI_Utils["[Utility]
ci_extraction_utils.R"] - CI_Out["πŸ“¦ OUTPUT
combined_CI_data.rds
(wide format)"] + subgraph STAGE10["STAGE 10: Per-Field Tiles"] + R10["πŸ”΄ 10_create_per_field
_tiffs.R"] + R10_OUT["πŸ“¦ field_tiles/{FIELD}
/{DATE}.tif
4-band per-field"] + end - %% ===== STAGE 3: GROWTH MODEL ===== - Growth["STAGE 3: Growth Model
03_interpolate_growth_model.R"] - Growth_Utils["[Utility]
growth_model_utils.R"] - Growth_Out["πŸ“¦ OUTPUT
All_pivots_Cumulative_CI
_quadrant_year_v2.rds"] + subgraph STAGE20["STAGE 20: CI Extraction"] + R20["🟒 20_ci_extraction
_per_field.R"] + R20_UTIL["[Utils]
ci_extraction
_utils.R"] + R20_OUT1["πŸ“¦ field_tiles_CI
/{FIELD}/{DATE}.tif
5-band + CI"] + R20_OUT2["πŸ“¦ combined_CI
_data.rds
(wide format)"] + end - %% ===== STAGE 4: WEEKLY MOSAIC ===== - Mosaic["STAGE 4: Weekly Mosaic
04_mosaic_creation.R"] - Mosaic_Utils["[Utility]
mosaic_creation_utils.R"] - Mosaic_Out["πŸ“¦ OUTPUT
weekly_mosaic/week_{WW}.tif
(5 bands: RGBNCI)"] + subgraph STAGE30["STAGE 30: Growth Model"] + R30["🟑 30_interpolate
_growth_model.R"] + R30_UTIL["[Utils]
growth_model_utils.R"] + R30_OUT["πŸ“¦ All_pivots_Cumulative
_CI_quadrant_year_v2.rds
(interpolated)"] + end - %% ===== STAGE 5: FIELD ANALYSIS ===== - Field["STAGE 5: Field Analysis
09_field_analysis_weekly.R
(or 09b parallel)"] - Field_Utils["[Utility]
field_analysis_utils.R"] - Field_Out1["πŸ“¦ OUTPUT
{project}_field_analysis
_week{WW}.xlsx"] - Field_Out2["πŸ“¦ OUTPUT
{project}_kpi_summary
_tables_week{WW}.rds"] + subgraph STAGE40["STAGE 40: Weekly Mosaic"] + R40["🟣 40_mosaic_creation
_per_field.R"] + R40_UTIL["[Utils]
mosaic_creation
_utils.R"] + R40_OUT["πŸ“¦ weekly_mosaic
/{FIELD}/week_WW.tif
5-band MAX composite"] + end - %% ===== STAGE 6: REPORT ===== - Report["STAGE 6: Report Generation
10_CI_report_with_kpis_simple.Rmd"] - Report_Utils["[Utility]
report_utils.R"] - Report_Out1["πŸ“¦ PRIMARY OUTPUT
SmartCane_Report
_week{WW}_{YYYY}.docx"] - Report_Out2["πŸ“¦ ALTERNATIVE
SmartCane_Report
_week{WW}_{YYYY}.html"] + subgraph STAGE80["STAGE 80: KPI Calculation
(Client-Type Branching)"] + R80["🟠 80_calculate_kpis.R
(reads parameters)"] + R80_SPLIT{"CLIENT_TYPE?"} + R80_AGRO["[agronomic_support]
80_utils_agronomic
_support.R
6 KPIs"] + R80_CANE["[cane_supply]
80_utils_cane
_supply.R
4 KPIs + harvest"] + R80_OUT1["πŸ“¦ field_analysis
_week{WW}.xlsx"] + R80_OUT2["πŸ“¦ kpi_summary
_tables_week{WW}.rds"] + end - %% ===== CONFIG ===== - Config["[Utility]
parameters_project.R"] + subgraph STAGE90["STAGE 90: Report (Agronomic)"] + R90["πŸ“„ 90_CI_report_with_kpis
_agronomic_support.Rmd"] + R90_OUT["πŸ“¦ SmartCane_Report
_agronomic_support_*.docx
(AURA/Chemba/etc)"] + end + + subgraph STAGE91["STAGE 91: Report (Cane)"] + R91["πŸ“„ 91_CI_report_with_kpis
_cane_supply.Rmd"] + R91_OUT["πŸ“¦ SmartCane_Report
_cane_supply_*.docx
(ANGATA)"] + end + + subgraph EXEC["πŸ”· EXECUTION MODELS"] + SOBIT["SOBIT Server
(Production)"] + SOBIT_EXEC["Laravel Job Queue
β†’ Shell Wrappers
β†’ Async Execution"] + + DEVLAP["Dev Laptop
(Development)"] + DEVLAP_EXEC["PowerShell
β†’ Direct Rscript/python
β†’ Sync Execution"] + end %% ===== CONNECTIONS ===== - API --> Download - Bounds --> Download - Download --> DL_Out + API --> PY + GJ --> PY + PY --> PY_OUT + CONFIG --> PY - DL_Out --> CI - Bounds --> CI - Config --> CI - CI --> CI_Utils - CI --> CI_Out + PY_OUT --> R10 + GJ --> R10 + CONFIG --> R10 + R10 --> R10_OUT - CI_Out --> Growth - Harvest --> Growth - Config --> Growth - Growth --> Growth_Utils - Growth --> Growth_Out + R10_OUT --> R20 + GJ --> R20 + CONFIG --> R20 + R20 --> R20_UTIL + R20 --> R20_OUT1 + R20 --> R20_OUT2 - DL_Out --> Mosaic - Bounds --> Mosaic - Config --> Mosaic - Mosaic --> Mosaic_Utils - Mosaic --> Mosaic_Out + R20_OUT2 --> R30 + HV --> R30 + CONFIG --> R30 + R30 --> R30_UTIL + R30 --> R30_OUT - Mosaic_Out --> Field - Growth_Out --> Field - Bounds --> Field - Harvest --> Field - Config --> Field - Field --> Field_Utils - Field --> Field_Out1 - Field --> Field_Out2 + R20_OUT1 --> R40 + GJ --> R40 + CONFIG --> R40 + R40 --> R40_UTIL + R40 --> R40_OUT - Mosaic_Out --> Report - Field_Out2 --> Report - Field_Out1 --> Report - Config --> Report - Report --> Report_Utils - Report --> Report_Out1 - Report --> Report_Out2 + R40_OUT --> R80 + R30_OUT --> R80 + GJ --> R80 + HV --> R80 + CONFIG --> R80 + R80 --> R80_SPLIT + + R80_SPLIT -->|PROJECT maps to
agronomic_support| R80_AGRO + R80_SPLIT -->|PROJECT maps to
cane_supply| R80_CANE + + R80_AGRO --> R80_OUT1 + R80_AGRO --> R80_OUT2 + R80_CANE --> R80_OUT1 + R80_CANE --> R80_OUT2 + + R80_OUT2 --> R90 + R40_OUT --> R90 + GJ --> R90 + R90 --> R90_OUT + + R80_OUT2 --> R91 + R40_OUT --> R91 + GJ --> R91 + R91 --> R91_OUT + + R90 -.->|Both execution| SOBIT + R90 -.->|models support| DEVLAP + R91 -.->|all stages| SOBIT + R91 -.->|end-to-end| DEVLAP + + SOBIT --> SOBIT_EXEC + DEVLAP --> DEVLAP_EXEC %% ===== STYLING ===== - classDef input fill:#e1f5ff,stroke:#01579b,stroke-width:2px - classDef stage fill:#f3e5f5,stroke:#4a148c,stroke-width:2px - classDef output fill:#e8f5e9,stroke:#1b5e20,stroke-width:2px - classDef util fill:#fff3e0,stroke:#e65100,stroke-width:2px + classDef input fill:#e3f2fd,stroke:#1976d2,stroke-width:2px,color:#000 + classDef python fill:#fff3e0,stroke:#f57c00,stroke-width:2px,color:#000 + classDef stage_r fill:#e8f5e9,stroke:#388e3c,stroke-width:2px,color:#000 + classDef branch fill:#fce4ec,stroke:#c2185b,stroke-width:2px,color:#000 + classDef util fill:#ede7f6,stroke:#512da8,stroke-width:1.5px,color:#000 + classDef output fill:#f1f8e9,stroke:#558b2f,stroke-width:2px,color:#000 + classDef exec fill:#e0f2f1,stroke:#00695c,stroke-width:2px,color:#000 - class API,Bounds,Harvest,Config input - class Download,CI,Growth,Mosaic,Field,Report stage - class DL_Out,CI_Out,Growth_Out,Mosaic_Out,Field_Out1,Field_Out2,Report_Out1,Report_Out2 output - class CI_Utils,Growth_Utils,Mosaic_Utils,Field_Utils,Report_Utils util + class INPUTS input + class STAGE00 python + class STAGE10,STAGE20,STAGE30,STAGE40,STAGE80,STAGE90,STAGE91 stage_r + class R80_SPLIT,R80_AGRO,R80_CANE branch + class R20_UTIL,R30_UTIL,R40_UTIL util + class PY_OUT,R10_OUT,R20_OUT1,R20_OUT2,R30_OUT,R40_OUT,R80_OUT1,R80_OUT2,R90_OUT,R91_OUT output + class EXEC,SOBIT,DEVLAP exec ``` +--- + +### Key Diagram Features + +**Color Coding**: +- πŸ”΅ Blue = External inputs (API, files) +- 🟠 Orange = Python stage +- 🟒 Green = R processing stages +- πŸ”΄ Red/Pink = Branching logic (client types) +- 🟑 Yellow = Utility functions +- 🟒 Light Green = Data outputs +- 🟦 Teal = Execution models + +**Critical Paths**: +1. **Unified Stages (00–40)**: All projects run identically +2. **Branching Point (Stage 80)**: `parameters_project.R` determines client type β†’ sources appropriate utilities β†’ renders appropriate report (90 or 91) +3. **Execution Models**: Both SOBIT and Dev Laptop can run all stages; differ in orchestration + +**Client Type Routing**: +- PROJECT="angata" β†’ CLIENT_TYPE="cane_supply" β†’ Stage 91 report +- PROJECT="aura"/"chemba" β†’ CLIENT_TYPE="agronomic_support" β†’ Stage 90 report + ## Data Processing Pipeline ### Stage 1: Satellite Data Acquisition (Python) @@ -262,10 +368,10 @@ laravel_app/storage/app/{project}/ β”‚ β”‚ └── cumulative_vals/ β”‚ β”‚ β”œβ”€β”€ combined_CI_data.rds # Cumulative CI (wide) β”‚ β”‚ └── All_pivots_Cumulative_CI_quadrant_year_v2.rds # Interpolated -β”‚ └── daily_tiles_split/ # (Optional) Tile-based processing -β”‚ β”œβ”€β”€ master_grid_5x5.geojson -β”‚ └── YYYY-MM-DD/ # Date-specific folders -β”‚ └── YYYY-MM-DD_01.tif, ..., _25.tif +β”‚ └── daily_tiles_split/ # (Optional) Per-field tile processing +β”‚ β”œβ”€β”€ per_field/ +β”‚ β”‚ └── YYYY-MM-DD/ # Date-specific folders +β”‚ β”‚ └── {FIELD}_{YYYY-MM-DD}.tif # Per-field daily β”‚ β”œβ”€β”€ merged_tif/ # Raw daily satellite images (Stage 1 output) β”‚ └── YYYY-MM-DD.tif # 4 bands: R, G, B, NIR @@ -468,7 +574,7 @@ All parameters are configurable via command-line arguments or environment variab - `end_date`: End date (YYYY-MM-DD) - `offset`: Days lookback (default: 7) - `project_dir`: Project directory name (required) -- `data_source`: Source folder (merged_tif_8b, merged_tif, or merged_final_tif) +- `data_source`: Source folder (merged_tif or merged_final_tif) - Auto-detection: If `daily_tiles_split/` exists, uses tile-based processing ### Mosaic Creation Stage (R) @@ -548,6 +654,7 @@ File system is the single source of truth for all analysis data. This diagram provides a high-level overview of the complete SmartCane system, showing how major components interact. It focuses on the system boundaries and main data flows between the Python API Downloader, R Processing Engine, Laravel Web App, and data storage components. This view helps understand how the system works as a whole. ```mermaid +%% Overall System Architecture graph TD A["fa:fa-satellite External Satellite Data Providers API"] --> PyDL["fa:fa-download Python API Downloader"]; C["fa:fa-users Users: Farm Data Input e.g., GeoJSON, Excel"] --> D{"fa:fa-laptop-code Laravel Web App"}; @@ -581,6 +688,7 @@ graph TD This diagram zooms in on the R Processing Engine subsystem, detailing the internal components and data flow. It shows how raw satellite imagery and field data progress through various R scripts to produce crop indices and reports. The diagram highlights the data transformation pipeline within this analytical core of the SmartCane system. ```mermaid +%% R Processing Engine Detail graph TD subgraph R Processing Engine @@ -652,6 +760,7 @@ graph TD This diagram focuses on the Python API Downloader subsystem, showing its internal components and workflow. It illustrates how API credentials, field boundaries, and other inputs are processed through various Python functions to download, process, and prepare satellite imagery. This view reveals the technical implementation details of the data acquisition layer. ```mermaid +%% Python API Downloader Detail graph TD subgraph Python API Downloader @@ -727,6 +836,7 @@ graph TD This diagram illustrates the integration of Python and R components within the SmartCane Engine. Unlike the first diagram that shows the overall system, this one specifically focuses on how the two processing components interact with each other and the rest of the system. It emphasizes the orchestration layer and data flows between the core processing components and external systems. ```mermaid +%% SmartCane Engine Integration graph TD %% External Systems & Users Users_DataInput["fa:fa-user Users: Farm Data Input (GeoJSON, Excel, etc.)"] --> Laravel_WebApp; diff --git a/webapps/index.html b/webapps/index.html index d74f831..ce11ec7 100644 --- a/webapps/index.html +++ b/webapps/index.html @@ -183,6 +183,22 @@
+ +
+
πŸ“š
+
+

Documentation Browser

+

Browse SmartCane system architecture, pipeline design, and deployment guides.

+
    +
  • Architecture overview
  • +
  • Data flow diagrams
  • +
  • Integration points
  • +
  • Deployment guides
  • +
+ Read Docs +
+
+
πŸ—ΊοΈ
diff --git a/webapps/markdown_docs_viewer/README.md b/webapps/markdown_docs_viewer/README.md new file mode 100644 index 0000000..a27bcb6 --- /dev/null +++ b/webapps/markdown_docs_viewer/README.md @@ -0,0 +1,253 @@ +# SmartCane Documentation Viewer + +A lightweight, browser-based markdown documentation viewer for SmartCane architecture guides and system documentation. + +## Features + +✨ **Simple Single-Page App** +- No backend required +- Static HTML/JS/CSS +- Works on any static hosting (Netlify, GitHub Pages, etc.) +- Perfect for local development or production + +πŸ“š **Dynamic Document Loading** +- Sidebar auto-populates from markdown files in `../docs/` +- Click to view any documentation file +- Search/filter documents by name + +🎨 **Beautiful Rendering** +- Inherited SmartCane branding (teal/blue theme from `../theme.css`) +- Responsive design (desktop, tablet, mobile) +- Properly styled markdown elements: + - Headings with hierarchy + - Code blocks with background highlighting + - Tables with alternating rows + - Blockquotes and lists + - Links with hover effects + +πŸ”’ **Security** +- All HTML output is sanitized with DOMPurify +- Prevents XSS injection from markdown content +- Safe for user-uploaded or external documentation + +πŸ”— **Bookmarkable & Shareable** +- URL hash tracks current document (e.g., `#ARCHITECTURE_DATA_FLOW`) +- Reload page or share link with hash to jump directly to document +- Browser back/forward work as expected + +## File Structure + +``` +webapps/markdown_docs_viewer/ +β”œβ”€β”€ index.html # Main page (layout + header) +β”œβ”€β”€ script.js # Markdown loading logic +β”œβ”€β”€ style.css # Custom styles + layout +β”œβ”€β”€ lib/ # (Optional local library storage) +└── README.md # This file +``` + +## Setup + +### Prerequisites +- No installation requiredβ€”pure HTML/CSS/JavaScript +- External libraries loaded via CDN: + - `marked.js` (v11.1.0) β€” Markdown parser + - `DOMPurify.js` (v3.0.0) β€” HTML sanitizer + +### Local Development + +1. Place markdown files in `../docs/` folder (same level as `../webapps/`) + ``` + SmartCane_code/ + β”œβ”€β”€ webapps/ + β”‚ β”œβ”€β”€ markdown_docs_viewer/ + β”‚ β”‚ β”œβ”€β”€ index.html + β”‚ β”‚ β”œβ”€β”€ script.js + β”‚ β”‚ └── style.css + β”‚ └── docs/ ← Markdown files go here + β”‚ β”œβ”€β”€ system_architecture.md + β”‚ β”œβ”€β”€ ARCHITECTURE_DATA_FLOW.md + β”‚ └── ... + ``` + +2. Open `index.html` in a browser (or use a local HTTP server): + ```bash + # Python 3 + python -m http.server 8000 + + # Then visit: http://localhost:8000/webapps/markdown_docs_viewer/ + ``` + +3. Click documents in the sidebar to view them + +### Deployment to Netlify + +1. Ensure `system_architecture/` folder is moved to `webapps/docs/`: + ``` + webapps/ + β”œβ”€β”€ markdown_docs_viewer/ ← The viewer app + └── docs/ ← All .md files here + ``` + +2. Push to GitHub (the `code-improvements` branch) + +3. Netlify will auto-deploy the entire `webapps/` folder + +4. Access at: `https://your-site.netlify.app/markdown_docs_viewer/` + +## How It Works + +### Page Load Flow + +``` +1. User opens index.html + ↓ +2. JavaScript executes `populateDocumentList()` + β”œβ”€ Fetches list of .md files from ../docs/ + β”œβ”€ Sorts alphabetically (system_architecture.md first) + └─ Creates clickable links in sidebar + ↓ +3. Check URL hash: + β”œβ”€ If hash exists (e.g., #ARCHITECTURE_DATA_FLOW) + β”‚ └─ Load that document automatically + └─ If no hash, show welcome message + ↓ +4. Setup completeβ€”user can click docs to load +``` + +### Document Loading + +``` +1. User clicks a document link + ↓ +2. `loadDocument(docId)` is called + β”œβ”€ Fetches markdown file: fetch('../docs/{docId}.md') + β”œβ”€ Parses with marked.js: marked.parse(markdown) + β”œβ”€ Sanitizes with DOMPurify.sanitize(html) + β”œβ”€ Insert into #content div + └─ Update URL hash for bookmarking + ↓ +3. Markdown is rendered with custom CSS styling +``` + +## Customization + +### Adding New Documents + +Simply add `.md` files to `webapps/docs/` folder. They'll automatically appear in the sidebar on next page load. + +### Changing Document Order + +Edit the `docFiles` array in `script.js` `populateDocumentList()` function: + +```javascript +const docFiles = [ + 'system_architecture.md', // Always first + 'ARCHITECTURE_DATA_FLOW.md', + // ... add more +]; +``` + +### Changing Display Names + +Update the `nameMap` in `formatDocName()` function in `script.js`: + +```javascript +const nameMap = { + 'system_architecture.md': 'πŸ—οΈ System Architecture', // Change the emoji or text + 'YOUR_FILE.md': '🎯 Your Custom Name', + // ... +}; +``` + +### Styling Adjustments + +- **Colors**: Modify CSS variables at top of `style.css` (`:root` section) + - `--smartcane-teal`: Main color + - `--smartcane-dark`: Darker accent + - `--accent-color`: Link color + +- **Layout**: Change sidebar width (default 280px) or adjust breakpoints in media queries + +- **Fonts**: Update `font-family` in `body` rule + +## Browser Support + +- βœ… Chrome 90+ +- βœ… Firefox 88+ +- βœ… Safari 14+ +- βœ… Edge 90+ +- ⚠️ IE 11: Not supported (uses modern ES6+ features) + +## Troubleshooting + +### Documents not loading? + +1. **Check folder path**: Ensure `../docs/` folder exists relative to `index.html` +2. **Check filenames**: File names are case-sensitive (e.g., `ARCHITECTURE_DATA_FLOW.md` β‰  `architecture_data_flow.md`) +3. **CORS error**: If running locally via `file://` protocol, use a local HTTP server instead +4. **Browser console**: Open DevTools (F12) and check Console tab for error messages + +### Styling looks different? + +- Ensure `../theme.css` exists (inherited for SmartCane branding) +- Check that `style.css` is loaded (should see in Network tab) +- Clear browser cache (Ctrl+Shift+Delete) and reload + +### Search not working? + +- Search filters sidebar document list (case-insensitive) +- Only shows documents matching the search term +- Clear search input to see all documents again + +## Technical Notes + +### Performance + +- **Fast rendering**: marked.js renders ~1MB markdown in <100ms +- **Minimal dependencies**: Only 2 external libraries (58KB total gzipped) +- **No build step needed**: Pure HTML/CSS/JS, no transpilation required +- **Caching**: Browser caches .md files and libraries automatically + +### Security + +- **DOMPurify sanitization**: Removes any ` + + + + + + + + + +
+ + + + +
+
+
+

Welcome to SmartCane Documentation

+

Select a document from the sidebar to begin exploring the system architecture, pipeline stages, and deployment guides.

+

Quick Start: Begin with system_architecture.md for a comprehensive overview, or choose specific topics:

+
    +
  • Data Flow – ARCHITECTURE_DATA_FLOW.md
  • +
  • Integration Points – ARCHITECTURE_INTEGRATION_GUIDE.md
  • +
  • Development Setup – DEV_LAPTOP_EXECUTION.md
  • +
  • Deployment – SOBIT_DEPLOYMENT.md
  • +
  • Client Types – CLIENT_TYPE_ARCHITECTURE.md
  • +
+
+
+
+
+ + + + + diff --git a/webapps/markdown_docs_viewer/script.js b/webapps/markdown_docs_viewer/script.js new file mode 100644 index 0000000..8c8cc6c --- /dev/null +++ b/webapps/markdown_docs_viewer/script.js @@ -0,0 +1,598 @@ +/** + * SmartCane Documentation Viewer + * Dynamically loads and renders markdown files from docs/ folder + */ + +// Configuration +const DOCS_PATH = '../docs/'; +const STORAGE_KEY = 'smartcane-last-doc'; + +// Configure marked options +marked.setOptions({ + breaks: true, + gfm: true, + headerIds: true, + mangle: false, +}); + +// Configure Mermaid +if (typeof mermaid !== 'undefined') { + mermaid.initialize({ + startOnLoad: false, + theme: 'default', + securityLevel: 'loose' + }); +} + +/** + * Convert mermaid code blocks to proper divs + * This must happen BEFORE DOMPurify sanitization + */ +function convertMermaidCodeBlocks(html) { + // Replace ```mermaid code blocks with
+ let diagramCount = 0; + const result = html.replace(/
([\s\S]*?)<\/code><\/pre>/g, (match, code) => {
+        // Extract diagram name from code BEFORE sanitization
+        const diagramName = extractMermaidDiagramName(code);
+        diagramCount++;
+        console.log(`[Mermaid ${diagramCount}] Extracted name: "${diagramName}"`);
+        const nameAttr = diagramName ? ` data-diagram-name="${diagramName.replace(/"/g, '"')}"` : '';
+        return `
${code}
`; + }); + console.log(`Converted ${diagramCount} mermaid diagrams`); + return result; +} + +/** + * Extract diagram name from mermaid code + * Looks for comment lines like: %% Diagram Name + */ +function extractMermaidDiagramName(code) { + const lines = code.split('\n'); + for (const line of lines) { + const trimmed = line.trim(); + // Look for %% comment lines at the start + if (trimmed.startsWith('%%')) { + let title = trimmed.substring(2).trim(); + // Remove common prefixes if they exist + if (title.toLowerCase().startsWith('title:')) { + title = title.substring(6).trim(); + } else if (title.toLowerCase().startsWith('name:')) { + title = title.substring(5).trim(); + } else if (title.toLowerCase().startsWith('diagram:')) { + title = title.substring(8).trim(); + } + // Return if non-empty and not just decorative comments + if (title && title.length > 2 && !title.match(/^={3,}|^-{3,}/)) { + return title; + } + } + } + return null; +} + +/** + * Add zoom controls to mermaid diagrams + */ +function addMermaidZoomControls(container) { + const mermaidDivs = container.querySelectorAll('.mermaid'); + + mermaidDivs.forEach((div, index) => { + // Create wrapper container + const wrapper = document.createElement('div'); + wrapper.className = 'mermaid-wrapper'; + wrapper.id = `mermaid-wrapper-${index}`; + + // Create zoom controls toolbar + const toolbar = document.createElement('div'); + toolbar.className = 'mermaid-toolbar'; + toolbar.innerHTML = ` + + + + +
+ + + πŸ’‘ Drag to pan + `; + + // Create zoom container for the diagram + const zoomContainer = document.createElement('div'); + zoomContainer.className = 'mermaid-zoom-container'; + zoomContainer.style.overflow = 'auto'; + + // Move diagram into zoom container + zoomContainer.appendChild(div.cloneNode(true)); + + // Assemble the wrapper + wrapper.appendChild(toolbar); + wrapper.appendChild(zoomContainer); + + // Replace original div with wrapper + div.parentNode.replaceChild(wrapper, div); + + // Extract diagram name from the mermaid div data attribute + let diagramName = div.getAttribute('data-diagram-name'); + console.log(`[Diagram ${index}] data-diagram-name attribute: "${diagramName}"`); + + // Store zoom state and diagram name + const zoomState = { + level: 1, + isDragging: false, + startX: 0, + startY: 0, + scrollLeftStart: 0, + scrollTopStart: 0, + fitZoom: 1, + diagramName: diagramName + }; + wrapper.dataset.zoomLevel = zoomState.level; + + // Wait for SVG to render, then auto-fit and size container + setTimeout(() => { + const svg = zoomContainer.querySelector('svg'); + if (svg) { + // Get natural SVG dimensions + const svgWidth = svg.width.baseVal.value || svg.getBoundingClientRect().width; + const svgHeight = svg.height.baseVal.value || svg.getBoundingClientRect().height; + const containerWidth = zoomContainer.clientWidth - 20; // Account for padding + + // Calculate proportional container height based on aspect ratio + if (svgWidth > 0 && svgHeight > 0) { + const aspectRatio = svgHeight / svgWidth; + const proportionalHeight = Math.max(300, Math.min(containerWidth * aspectRatio, window.innerHeight * 0.8)); + + // Set container height to fit diagram proportions + zoomContainer.style.minHeight = proportionalHeight + 'px'; + + // Calculate fit zoom to fill container + const containerHeight = proportionalHeight - 20; // Account for padding + const scaleWidth = containerWidth / svgWidth; + const scaleHeight = containerHeight / svgHeight; + const fitScale = Math.min(scaleWidth, scaleHeight); + + if (fitScale !== 1) { + zoomState.level = fitScale; + zoomState.fitZoom = fitScale; + svg.style.transform = `scale(${zoomState.level})`; + svg.style.transformOrigin = 'top left'; + svg.style.display = 'inline-block'; + wrapper.dataset.zoomLevel = zoomState.level; + } + } + } + }, 200); + + // Add event listeners to buttons + const buttons = toolbar.querySelectorAll('.zoom-btn'); + buttons.forEach(btn => { + btn.addEventListener('click', () => { + const action = btn.dataset.action; + const svg = zoomContainer.querySelector('svg'); + + if (!svg) return; + + switch (action) { + case 'zoom-in': + zoomState.level = Math.min(zoomState.level + 0.2, 5); + break; + case 'zoom-out': + zoomState.level = Math.max(zoomState.level - 0.2, 0.5); + break; + case 'zoom-reset': + zoomState.level = 1; + zoomContainer.scrollLeft = 0; + zoomContainer.scrollTop = 0; + break; + case 'zoom-fit': + zoomState.level = zoomState.fitZoom; + zoomContainer.scrollLeft = 0; + zoomContainer.scrollTop = 0; + break; + case 'save-svg': + saveMermaidAsSVG(svg, index, zoomState.diagramName); + return; + case 'save-png': + saveMermaidAsPNG(zoomContainer, index, zoomState.diagramName); + return; + } + + // Apply zoom + svg.style.transform = `scale(${zoomState.level})`; + svg.style.transformOrigin = 'top left'; + svg.style.display = 'inline-block'; + wrapper.dataset.zoomLevel = zoomState.level; + }); + }); + + // Add mouse drag to pan functionality + const svg = zoomContainer.querySelector('svg'); + if (svg) { + zoomContainer.addEventListener('mousedown', (e) => { + if (e.button === 0 && zoomState.level > 1) { // Left mouse button + zoomState.isDragging = true; + zoomState.startX = e.pageX; + zoomState.startY = e.pageY; + zoomState.scrollLeftStart = zoomContainer.scrollLeft; + zoomState.scrollTopStart = zoomContainer.scrollTop; + zoomContainer.style.cursor = 'grabbing'; + e.preventDefault(); + } + }); + + document.addEventListener('mousemove', (e) => { + if (zoomState.isDragging && wrapper.contains(document.elementFromPoint(e.clientX, e.clientY))) { + const deltaX = e.pageX - zoomState.startX; + const deltaY = e.pageY - zoomState.startY; + + zoomContainer.scrollLeft = zoomState.scrollLeftStart - deltaX; + zoomContainer.scrollTop = zoomState.scrollTopStart - deltaY; + } + }); + + document.addEventListener('mouseup', () => { + if (zoomState.isDragging) { + zoomState.isDragging = false; + zoomContainer.style.cursor = 'grab'; + } + }); + + // Change cursor to grab when hovering + zoomContainer.addEventListener('mouseenter', () => { + if (zoomState.level > 1) { + zoomContainer.style.cursor = 'grab'; + } + }); + + zoomContainer.addEventListener('mouseleave', () => { + zoomContainer.style.cursor = 'auto'; + zoomState.isDragging = false; + }); + } + }); +} + +/** + * Initialize the documentation viewer + */ +document.addEventListener('DOMContentLoaded', async () => { + console.log('Initializing SmartCane Documentation Viewer...'); + + // Load and display list of documentation files + await populateDocumentList(); + + // Handle URL hash on page load (for bookmarking) + if (window.location.hash) { + const docName = window.location.hash.substring(1); + loadDocument(docName); + } + + // Setup search functionality + setupSearch(); +}); + +/** + * Fetch and populate the list of markdown files from docs folder + */ +async function populateDocumentList() { + try { + // This is a simple fallback list in case directory listing isn't available + // On Netlify, you can replace this with a _data.json file if needed + const docFiles = [ + 'system_architecture.md', + 'ARCHITECTURE_DATA_FLOW.md', + 'ARCHITECTURE_INTEGRATION_GUIDE.md', + 'CLIENT_TYPE_ARCHITECTURE.md', + 'DEV_LAPTOP_EXECUTION.md', + 'PIPELINE_OVERVIEW.md', + 'QUALITY_CHECK_REPORT.md', + 'REVIEW_SUMMARY.md', + 'SOBIT_DEPLOYMENT.md' + ]; + + // Sort alphabetically with main architecture file first + docFiles.sort((a, b) => { + // Ensure system_architecture.md comes first + if (a === 'system_architecture.md') return -1; + if (b === 'system_architecture.md') return 1; + return a.localeCompare(b); + }); + + displayDocumentList(docFiles); + } catch (error) { + console.error('Error loading document list:', error); + showError('Could not load documentation list.'); + } +} + +/** + * Display the list of documents in the sidebar + */ +function displayDocumentList(docFiles) { + const docList = document.getElementById('doc-list'); + docList.innerHTML = ''; // Clear loading message + + docFiles.forEach(file => { + // Create friendly display name from filename + const displayName = formatDocName(file); + const docId = file.replace('.md', ''); + + const li = document.createElement('li'); + const a = document.createElement('a'); + a.href = `#${docId}`; + a.textContent = displayName; + a.className = 'doc-link'; + + // Add click handler + a.addEventListener('click', (e) => { + e.preventDefault(); + loadDocument(docId); + setActiveLink(a); + }); + + li.appendChild(a); + docList.appendChild(li); + }); +} + +/** + * Format document name for display (e.g., "ARCHITECTURE_DATA_FLOW.md" β†’ "πŸ“Š Data Flow") + */ +function formatDocName(filename) { + const nameMap = { + 'system_architecture.md': 'πŸ—οΈ System Architecture', + 'ARCHITECTURE_DATA_FLOW.md': 'πŸ“Š Data Flow', + 'ARCHITECTURE_INTEGRATION_GUIDE.md': 'πŸ”— Integration Guide', + 'CLIENT_TYPE_ARCHITECTURE.md': '🎯 Client Types', + 'DEV_LAPTOP_EXECUTION.md': 'πŸ’» Dev Laptop Setup', + 'PIPELINE_OVERVIEW.md': 'πŸ“‹ Pipeline Overview', + 'QUALITY_CHECK_REPORT.md': 'βœ… Quality Report', + 'REVIEW_SUMMARY.md': 'πŸ“ Summary', + 'SOBIT_DEPLOYMENT.md': 'πŸš€ Production Deployment' + }; + + return nameMap[filename] || filename.replace('.md', ''); +} + +/** + * Load and display a markdown document + */ +async function loadDocument(docId) { + const filename = docId.endsWith('.md') ? docId : `${docId}.md`; + const filepath = DOCS_PATH + filename; + + try { + console.log(`Loading document: ${filepath}`); + + // Show loading state + const contentDiv = document.getElementById('content'); + contentDiv.innerHTML = '
Loading documentation...
'; + + // Fetch the markdown file + const response = await fetch(filepath); + + if (!response.ok) { + throw new Error(`HTTP ${response.status}: ${response.statusText}`); + } + + const markdown = await response.text(); + + // Parse markdown to HTML + let html = marked.parse(markdown); + + // Convert mermaid code blocks BEFORE sanitization + html = convertMermaidCodeBlocks(html); + + // Sanitize HTML with mermaid divs allowed + const cleanHtml = DOMPurify.sanitize(html, { + ALLOWED_TAGS: ['div', 'p', 'a', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'strong', 'em', 'u', 'code', 'pre', 'blockquote', 'ul', 'ol', 'li', 'table', 'thead', 'tbody', 'tr', 'th', 'td', 'img', 'hr', 'br', 'span', 'svg', 'g', 'path', 'text', 'line', 'circle', 'rect', 'tspan'], + ALLOWED_ATTR: ['class', 'id', 'href', 'title', 'alt', 'src', 'width', 'height', 'viewBox', 'd', 'x', 'y', 'x1', 'y1', 'x2', 'y2', 'cx', 'cy', 'r', 'fill', 'stroke', 'stroke-width', 'data-diagram-name'], + KEEP_CONTENT: true + }); + + // Add to content div with sanitized HTML + contentDiv.innerHTML = `
${cleanHtml}
`; + + // Scroll to top + contentDiv.scrollTop = 0; + + // Update URL hash + window.location.hash = docId; + + // Save to session storage for quick reload + sessionStorage.setItem(STORAGE_KEY, docId); + + // Add syntax highlighting to code blocks (if highlight.js available) + highlightCodeBlocks(contentDiv); + + // Render Mermaid diagrams + if (typeof mermaid !== 'undefined') { + try { + console.log('Running Mermaid...'); + await mermaid.run(); + + // Add zoom controls to diagrams + addMermaidZoomControls(contentDiv); + } catch (e) { + console.warn('Mermaid render warning:', e); + } + } + + } catch (error) { + console.error(`Error loading document ${filepath}:`, error); + showError(`Could not load document: ${filename}`); + } +} + +/** + * Save Mermaid diagram as SVG + */ +function saveMermaidAsSVG(svgElement, index, diagramName = null) { + try { + console.log(`[Export SVG] Diagram ${index}, name: "${diagramName}"`); + // Clone the SVG to avoid modifying the original + const svgClone = svgElement.cloneNode(true); + + // Reset any transforms for clean export + svgClone.style.transform = 'none'; + + // Serialize SVG to string + const svgString = new XMLSerializer().serializeToString(svgClone); + + // Create blob + const blob = new Blob([svgString], { type: 'image/svg+xml' }); + const url = URL.createObjectURL(blob); + + // Generate filename: use diagram name if available, else use timestamp + const filename = diagramName + ? `${diagramName}.svg` + : `mermaid-diagram-${new Date().toISOString().slice(0, 10)}-${index}.svg`; + + console.log(`[Export SVG] Generated filename: "${filename}"`); + + // Download + const link = document.createElement('a'); + link.href = url; + link.download = filename; + document.body.appendChild(link); + link.click(); + document.body.removeChild(link); + URL.revokeObjectURL(url); + + console.log(`Downloaded: ${filename}`); + } catch (error) { + console.error('Error saving SVG:', error); + alert('Failed to save SVG. Check console for details.'); + } +} + +/** + * Save Mermaid diagram as PNG + */ +async function saveMermaidAsPNG(container, index, diagramName = null) { + try { + console.log(`[Export PNG] Diagram ${index}, name: "${diagramName}"`); + if (typeof html2canvas === 'undefined') { + alert('PNG export library not available. Please try SVG export instead.'); + return; + } + + // Show loading state + const originalCursor = document.body.style.cursor; + document.body.style.cursor = 'wait'; + + // Get the SVG element + const svg = container.querySelector('svg'); + if (!svg) { + alert('No diagram found to export.'); + return; + } + + // Reset transform for cleaner capture + const originalTransform = svg.style.transform; + svg.style.transform = 'scale(1)'; + + // Capture the diagram + const canvas = await html2canvas(container, { + backgroundColor: '#ffffff', + scale: 2, // Higher quality + logging: false, + useCORS: true + }); + + // Restore original transform + svg.style.transform = originalTransform; + + // Convert canvas to blob and download + canvas.toBlob((blob) => { + const url = URL.createObjectURL(blob); + const filename = diagramName + ? `${diagramName}.png` + : `mermaid-diagram-${new Date().toISOString().slice(0, 10)}-${index}.png`; + + console.log(`[Export PNG] Generated filename: "${filename}"`); + + const link = document.createElement('a'); + link.href = url; + link.download = filename; + document.body.appendChild(link); + link.click(); + document.body.removeChild(link); + URL.revokeObjectURL(url); + + document.body.style.cursor = originalCursor; + console.log(`Downloaded: ${filename}`); + }); + } catch (error) { + console.error('Error saving PNG:', error); + document.body.style.cursor = originalCursor; + alert('Failed to save PNG. Check console for details.'); + } +} + + +function highlightCodeBlocks(container) { + // Only apply if highlight.js is loaded + if (typeof hljs !== 'undefined') { + container.querySelectorAll('pre code').forEach(block => { + hljs.highlightElement(block); + }); + } else { + // Fallback: add basic syntax highlighting classes + container.querySelectorAll('pre code').forEach(block => { + block.classList.add('code-block'); + }); + } +} + +/** + * Set the active link in the sidebar + */ +function setActiveLink(activeElement) { + // Remove active class from all links + document.querySelectorAll('.doc-link').forEach(link => { + link.classList.remove('active'); + }); + + // Add active class to clicked link + activeElement.classList.add('active'); +} + +/** + * Setup search functionality + */ +function setupSearch() { + const searchInput = document.getElementById('search-input'); + + searchInput.addEventListener('input', (e) => { + const searchTerm = e.target.value.toLowerCase(); + const docLinks = document.querySelectorAll('.doc-link'); + + docLinks.forEach(link => { + const text = link.textContent.toLowerCase(); + const isVisible = text.includes(searchTerm); + + link.parentElement.style.display = isVisible ? 'block' : 'none'; + }); + }); +} + +/** + * Display error message in content area + */ +function showError(message) { + const contentDiv = document.getElementById('content'); + contentDiv.innerHTML = `

❌ ${message}

`; +} + +/** + * Utility: Format date for display + */ +function formatDate(date) { + return new Date(date).toLocaleDateString('en-US', { + year: 'numeric', + month: 'long', + day: 'numeric' + }); +} diff --git a/webapps/markdown_docs_viewer/style.css b/webapps/markdown_docs_viewer/style.css new file mode 100644 index 0000000..ba11bbf --- /dev/null +++ b/webapps/markdown_docs_viewer/style.css @@ -0,0 +1,657 @@ +/** + * SmartCane Documentation Viewer - Styles + * Inherits from theme.css for consistent branding + */ + +:root { + /* SmartCane colors (inherited from theme.css) */ + --smartcane-teal: #008080; + --smartcane-dark: #003d3d; + --smartcane-light: #e8f5f5; + --text-dark: #333; + --text-light: #666; + --border-color: #ddd; + --code-bg: #f5f5f5; + --accent-color: #0088cc; +} + +* { + margin: 0; + padding: 0; + box-sizing: border-box; +} + +body { + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', sans-serif; + background-color: #fff; + color: var(--text-dark); + line-height: 1.6; +} + +/* ===== HEADER ===== */ +.navbar-header { + background: linear-gradient(135deg, var(--smartcane-teal) 0%, var(--smartcane-dark) 100%); + color: white; + padding: 2rem 1.5rem; + box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); + position: sticky; + top: 0; + z-index: 100; + display: flex; + align-items: center; + gap: 1.5rem; +} + +.back-button { + display: inline-flex; + align-items: center; + justify-content: center; + min-width: 44px; + height: 44px; + padding: 0 0.75rem; + background-color: rgba(255, 255, 255, 0.15); + color: white; + text-decoration: none; + border-radius: 6px; + font-size: 0.95rem; + font-weight: 500; + border: 1px solid rgba(255, 255, 255, 0.25); + transition: all 0.2s ease; + white-space: nowrap; + flex-shrink: 0; +} + +.back-button:hover { + background-color: rgba(255, 255, 255, 0.25); + border-color: rgba(255, 255, 255, 0.4); + text-decoration: none; +} + +.back-button:active { + background-color: rgba(255, 255, 255, 0.35); +} + +.navbar-content { + flex: 1; +} + +.navbar-header h1 { + font-size: 1.8rem; + font-weight: 600; + margin-bottom: 0.25rem; +} + +.navbar-subtitle { + font-size: 0.95rem; + opacity: 0.95; + font-weight: 300; +} + +/* ===== MAIN CONTAINER ===== */ +.doc-container { + display: flex; + height: calc(100vh - 140px); /* Account for header and scrollbar */ + max-width: 1400px; + margin: 0 auto; +} + +/* ===== SIDEBAR ===== */ +.sidebar { + width: 280px; + background-color: #f9f9f9; + border-right: 1px solid var(--border-color); + overflow-y: auto; + overflow-x: hidden; + padding: 0; + display: flex; + flex-direction: column; +} + +.sidebar-header { + padding: 1.5rem 1.25rem 1rem; + border-bottom: 1px solid var(--border-color); + background: linear-gradient(135deg, #f0f8f8 0%, #f9f9f9 100%); + position: sticky; + top: 0; + z-index: 10; +} + +.sidebar-header h2 { + font-size: 1.1rem; + color: var(--smartcane-dark); + font-weight: 600; +} + +/* Search Box */ +.search-box { + padding: 1rem 1rem 0.5rem; +} + +.search-box input { + width: 100%; + padding: 0.6rem 0.75rem; + border: 1px solid var(--border-color); + border-radius: 4px; + font-size: 0.9rem; + background-color: white; + color: var(--text-dark); + font-family: inherit; +} + +.search-box input:focus { + outline: none; + border-color: var(--smartcane-teal); + box-shadow: 0 0 0 3px rgba(0, 128, 128, 0.1); +} + +.search-box input::placeholder { + color: #999; +} + +/* Navigation */ +.doc-nav { + flex: 1; + overflow-y: auto; + padding: 0.5rem 0; +} + +.doc-nav ul { + list-style: none; +} + +.doc-nav li { + transition: background-color 0.2s ease; +} + +.doc-link { + display: block; + padding: 0.75rem 1.25rem; + color: var(--text-dark); + text-decoration: none; + font-size: 0.95rem; + border-left: 4px solid transparent; + transition: all 0.2s ease; + word-break: break-word; +} + +.doc-link:hover { + background-color: #f0f0f0; + border-left-color: var(--smartcane-teal); + color: var(--smartcane-teal); + padding-left: 1.5rem; +} + +.doc-link.active { + background-color: var(--smartcane-light); + border-left-color: var(--smartcane-teal); + color: var(--smartcane-dark); + font-weight: 600; +} + +.sidebar-footer { + padding: 1rem 1.25rem; + border-top: 1px solid var(--border-color); + background-color: #f5f5f5; + text-align: center; + color: #999; + font-size: 0.85rem; + position: sticky; + bottom: 0; +} + +.loading { + padding: 1rem; + color: #999; + text-align: center; + font-style: italic; + font-size: 0.9rem; +} + +/* ===== MAIN CONTENT ===== */ +.doc-content { + flex: 1; + overflow-y: auto; + padding: 2rem 2.5rem; + background-color: white; +} + +.welcome-message { + max-width: none; + margin: 0 auto; +} + +.welcome-message h1 { + color: var(--smartcane-dark); + margin-bottom: 1.5rem; + font-size: 2rem; +} + +.welcome-message p { + margin-bottom: 1rem; + color: var(--text-light); + line-height: 1.8; +} + +.welcome-message ul { + margin-left: 1.5rem; + margin-bottom: 1rem; + color: var(--text-light); + line-height: 1.8; +} + +.welcome-message code { + background-color: var(--code-bg); + padding: 0.2rem 0.5rem; + border-radius: 3px; + font-family: 'Courier New', monospace; + color: #d73a49; + font-size: 0.9em; +} + +/* ===== MARKDOWN RENDERING ===== */ +.markdown-body { + max-width: 100%; + margin: 0 auto; +} + +/* Headings */ +.markdown-body h1 { + color: var(--smartcane-dark); + font-size: 2em; + margin: 1.5em 0 0.5em; + padding-bottom: 0.3em; + border-bottom: 2px solid var(--border-color); + line-height: 1.25; +} + +.markdown-body h2 { + color: var(--smartcane-teal); + font-size: 1.5em; + margin: 1.3em 0 0.4em; + padding-bottom: 0.2em; + border-bottom: 1px solid #eee; + line-height: 1.25; +} + +.markdown-body h3 { + color: var(--text-dark); + font-size: 1.2em; + margin: 1.1em 0 0.3em; + line-height: 1.25; +} + +.markdown-body h4, +.markdown-body h5, +.markdown-body h6 { + color: var(--text-dark); + margin: 1em 0 0.3em; + line-height: 1.25; +} + +/* Paragraphs and text */ +.markdown-body p { + margin-bottom: 1em; + line-height: 1.8; + color: var(--text-dark); +} + +/* Lists */ +.markdown-body ul, +.markdown-body ol { + margin-bottom: 1em; + margin-left: 2em; +} + +.markdown-body li { + margin-bottom: 0.5em; + line-height: 1.7; + color: var(--text-dark); +} + +/* Links */ +.markdown-body a { + color: var(--accent-color); + text-decoration: none; + border-bottom: 1px solid transparent; + transition: all 0.2s ease; +} + +.markdown-body a:hover { + text-decoration: underline; + border-bottom-color: var(--accent-color); +} + +/* Code blocks */ +.markdown-body code { + background-color: var(--code-bg); + padding: 0.2rem 0.4rem; + border-radius: 3px; + font-family: 'Courier New', 'Monaco', 'Ubuntu Mono', monospace; + font-size: 0.9em; + color: #d73a49; + word-break: break-word; +} + +.markdown-body pre { + background-color: var(--code-bg); + border: 1px solid #ddd; + border-radius: 6px; + padding: 1rem; + margin: 1.5em 0; + overflow-x: auto; + line-height: 1.5; +} + +.markdown-body pre code { + background-color: transparent; + padding: 0; + color: #333; + font-size: 0.9em; +} + +.markdown-body .code-block { + color: #333; +} + +/* Tables */ +.markdown-body table { + border-collapse: collapse; + width: 100%; + margin: 1.5em 0; + border: 1px solid var(--border-color); +} + +.markdown-body table th, +.markdown-body table td { + padding: 0.75rem 1rem; + text-align: left; + border: 1px solid var(--border-color); +} + +.markdown-body table th { + background-color: var(--smartcane-light); + color: var(--smartcane-dark); + font-weight: 600; +} + +.markdown-body table tr:nth-child(even) { + background-color: #f9f9f9; +} + +.markdown-body table tr:hover { + background-color: #f0f0f0; +} + +/* Blockquotes */ +.markdown-body blockquote { + border-left: 4px solid var(--smartcane-teal); + padding-left: 1em; + margin-left: 0; + margin-bottom: 1em; + color: var(--text-light); + font-style: italic; +} + +/* Horizontal rules */ +.markdown-body hr { + border: none; + border-top: 2px solid var(--border-color); + margin: 2rem 0; +} + +/* Mermaid diagrams */ +.markdown-body svg { + max-width: 100%; + height: auto; + margin: 1.5rem 0; +} + +/* Mermaid wrapper and zoom controls */ +.mermaid-wrapper { + margin: 2rem 0; + border: 1px solid var(--border-color); + border-radius: 6px; + background-color: transparent; + display: flex; + flex-direction: column; +} + +.mermaid-toolbar { + display: flex; + gap: 0.5rem; + padding: 0.75rem; + background-color: #f9f9f9; + border-bottom: 1px solid var(--border-color); + border-radius: 6px 6px 0 0; + align-items: center; +} + +.zoom-btn { + padding: 0.5rem 0.75rem; + background-color: white; + border: 1px solid var(--border-color); + border-radius: 4px; + cursor: pointer; + font-size: 0.9rem; + font-weight: 500; + color: var(--text-dark); + transition: all 0.2s ease; + white-space: nowrap; +} + +.zoom-btn:hover { + background-color: var(--smartcane-light); + border-color: var(--smartcane-teal); + color: var(--smartcane-dark); +} + +.zoom-btn:active { + background-color: #d4eae9; +} + +.toolbar-separator { + width: 1px; + height: 24px; + background-color: var(--border-color); + margin: 0 0.5rem; +} + +.zoom-hint { + font-size: 0.85rem; + color: #999; + white-space: nowrap; + user-select: none; +} + +.mermaid-zoom-container { + padding: 1rem; + overflow: auto; + min-height: 300px; + display: flex; + align-items: flex-start; + justify-content: flex-start; + cursor: auto; + background-color: transparent; +} + +.mermaid-zoom-container .mermaid { + margin: 0; + display: inline-block; + transition: transform 0.3s ease; + background-color: transparent; +} + +.markdown-body .mermaid { + max-width: none; + height: auto; + margin: 0; +} + +/* Error message */ +.error-message { + background-color: #fee; + border: 1px solid #fcc; + border-radius: 4px; + padding: 1.5rem; + color: #c33; + max-width: 900px; + margin: 2rem auto; + text-align: center; +} + +/* ===== SCROLLBAR STYLING ===== */ +::-webkit-scrollbar { + width: 8px; +} + +::-webkit-scrollbar-track { + background: #f1f1f1; +} + +::-webkit-scrollbar-thumb { + background: #ccc; + border-radius: 4px; +} + +::-webkit-scrollbar-thumb:hover { + background: #999; +} + +/* ===== RESPONSIVE DESIGN ===== */ +@media (max-width: 1024px) { + .doc-container { + height: calc(100vh - 160px); + } + + .sidebar { + width: 250px; + } + + .doc-content { + padding: 1.5rem 2rem; + } + + .markdown-body { + font-size: 0.95rem; + } +} + +@media (max-width: 768px) { + .doc-container { + flex-direction: column; + height: auto; + } + + .sidebar { + width: 100%; + max-height: 50vh; + border-right: none; + border-bottom: 1px solid var(--border-color); + } + + .doc-content { + padding: 1rem 1.5rem; + } + + .navbar-header { + padding: 1.5rem 1rem; + flex-direction: column; + align-items: flex-start; + } + + .back-button { + align-self: flex-start; + } + + .navbar-header h1 { + font-size: 1.4rem; + } + + .markdown-body h1 { + font-size: 1.5em; + } + + .markdown-body h2 { + font-size: 1.3em; + } + + .search-box { + display: none; + } + + .mermaid-toolbar { + flex-wrap: wrap; + gap: 0.4rem; + } + + .zoom-btn { + padding: 0.4rem 0.6rem; + font-size: 0.85rem; + } + + .toolbar-separator { + display: none; + } +} + +@media (max-width: 480px) { + body { + font-size: 14px; + } + + .navbar-header { + padding: 1rem 0.75rem; + gap: 0.75rem; + } + + .back-button { + min-width: 40px; + height: 40px; + padding: 0 0.5rem; + font-size: 0.85rem; + } + + .sidebar { + max-height: 40vh; + } + + .doc-content { + padding: 1rem; + } + + .markdown-body { + font-size: 0.9rem; + } + + .doc-link { + padding: 0.6rem 1rem; + font-size: 0.85rem; + } + + .markdown-body h1 { + font-size: 1.3em; + } + + .markdown-body h2 { + font-size: 1.1em; + } + + .mermaid-toolbar { + flex-wrap: wrap; + gap: 0.3rem; + } + + .zoom-btn { + padding: 0.4rem 0.5rem; + font-size: 0.75rem; + } + + .toolbar-separator { + display: none; + } + + .mermaid-zoom-container { + min-height: 150px; + padding: 0.5rem; + } +}