# -*- coding: utf-8 -*-
"""
Created on Wed Dec 11 12:11:37 2024


"""
import time
import pandas as pd
import numpy as np

import kinetic_model_package
from kinetic_model_package import kinetic_model
from simulation_plots import create1Plot, create2Plots
import reads_input_from_xls
from reads_input_from_xls import readsSimulationSetup

from math import floor,log10

'''
user input
'''
outputFolder='results'
filepath='N:\\NA\\WIP\\UniNA_Marasco\\HISTORY\\10-modello_cinetico\\SCRIPT\\2025_03_24_script_to_share'
sourceFileName='Simulation_setup_GUI.xlsx'
maxTime=8e-6


'''
MAIN
'''
# reads parameters from xls
(netName,listS,conteggioPYR,W_INT_INT,W_INT_PYR,W_PYR_INT,W_PYR_PYR,dictProbab,ic) = readsSimulationSetup(filepath,sourceFileName)

W_INT_INT = W_INT_INT.T
W_INT_PYR = W_INT_PYR.T
W_PYR_INT = W_PYR_INT.T
W_PYR_PYR = W_PYR_PYR.T

conteggioINT=[x-y for x,y in zip(listS,conteggioPYR)]

# time scaling
scalatura = 1/(10**int(floor(log10(abs(sum(conteggioINT)+sum(conteggioPYR))))))**2

simName = netName


sol = kinetic_model(listS,conteggioPYR,dictProbab,np.array(ic),W_INT_INT,W_INT_PYR,W_PYR_INT,W_PYR_PYR,maxTime)    
create1Plot(listS,scalatura,sol,simName,outputFolder)
#create2Plots(listS,scalatura,sol,simName,outputFolder)