{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "### **Import all functions and libraries**" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "from src.Functions_General import *\n", "from src.Functions_Energy_Model import *\n", "from src.Functions_Financial_Model import *\n", "from src.Functions_Load_Emulator_and_DSM import *" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "---\n", "---" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## **External inputs to set before to run the simulation**\n", "\n", "Before to run the simulation be sure to have set correctly the following input files:\n", " \n", "- config.yml [[link yaml](config.yml)]\n", "\n", "- users CACER.xlsx [[link excel](users%20CACER.xlsx)]\n", "\n", "- inputs_FM.xlsx [[link excel](files/inputs_FM.xlsx)]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "---\n", "---" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## **Initializing CACER configuration**" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "---\n", "---" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### **1. Generating the calendar file**" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "generate_calendar()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "---" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### **2. Generating the yaml and csv files with all the inputs of the CACER configuration**" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "initialization_users()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "---" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### **3. Generating the emulated load profile of the users**" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "flag_last_dict = False # if false we create the appliance start time dictionary; if true we import the last one created (default: False)\n", "flag_optDSM = False # if true we simulate the optimized DSM case (default: False)\n", "flag_all_appliance = True # if true we use all appliance for the load profile emulation (default: True)\n", "flag_daily_activation = True # if false we dont'use a daily usage activation for some specified appliances (only washing machine at the moment, default: True)\n", "flag_multi_use = True # if true we activate the possibility to have multiple activations for the selected appliances during the day (default: True)\n", "\n", "create_emulated_users(flag_last_dict, flag_optDSM, flag_all_appliance, flag_daily_activation, flag_multi_use)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "---" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### **4. Generating all load profile of the users (domestic users, commercial users, industrial users, etc.)**" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "load_profile_all_users()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "---" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### **5. Generating productivity of the photovoltaic generators**" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "simulate_configuration_productivity()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "---" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### **6. Generating all energy flows of the single users**" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "CACER_energy_flows()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "---\n", "---" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## **Simulate CACER configuration**" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "---\n", "---" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### **7. Calculate the electricity bills for each user types**" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "create_users_bill()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "---" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### **8. Setting name and type of the configuration and editing of the incentive repartition**\n", " " ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "case_denomination = \"prova\"\n", "CACER_type = \"CER\" # CER; AUD; AID; NO_CACER\n", "repartition_scheme = \"Egualitario\" # Egualitario; Prosumer; PNRR; Equitario; Misto CER; Misto AUC; Misto - ESCo; Social Fund; Misto - Social Fund; Misto - Social Fund 2; Misto - Social Fund PA; Misto - PA; CACER\n", "\n", "setting_CACER_scenario(case_denomination, CACER_type, repartition_scheme)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "---" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### **9. Calculate CACER energy shared**\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "CACER_shared_energy()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "---" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### **10. Calculate energy sold revenues**" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "RID_calculation()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "---" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### **11. Aggregate bills costs and energy sold revenues for the entire CACER configuration**\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "aggregate_CACER_bills()" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "aggregate_CACER_RID()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "---" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### **12. Generating the xlsx and csv files with all the financial inputs of the CACER configuration**" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "FM_initialization()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "---" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### **13. Calculate incentives revenues**" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "incentives()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "---" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### **14. All the economic cash flows for each users and for each stakeholders are calculated**" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "cash_flows_for_all_plants() # plants first..." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "cash_flows_for_all_users() # ...then users..." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "---" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### **15. All the economic cash flows are aggregated for the project and for the CACER configuration (for single primary station)**" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "aggregate_FM() # ...then configurations!" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "---" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### **16.1 The simulation results are organized for the export and for the creation of the report**" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "organize_simulation_results_for_reporting()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "---" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### **16.2 Creating the report with results**" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "%run Reporting.ipynb" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "---" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### **16.3 Creating the report with results**" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "save_simulation_results(simulation_name = case_denomination)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "---" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### **17. Killing all excel processes in background**" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "kill_excel_processes()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "---\n", "---" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.10.11" }, "orig_nbformat": 4 }, "nbformat": 4, "nbformat_minor": 2 }