% obecné vstupní data, které lze měnit podle scénářů
CPX_e=206; %USD/kW
CPX_l=2016; %USD/kW
CPX_p=700000; %USD/km napojení na výrobnu, 700 000 napojeni na EHB
price_EE=70; %USD/MWh
E_prod=50; %kWh/kg
E_liqiuef=10; %kWh/kg
k=1.487;
ED_caf=43; %MJ/kg
ED_lh2=120; %MJ/kg
%price_GH2=3.07; %USD/kg
price_GH2_min=2.27; %USD/kg
%price_LH2=price_GH2+0.88; %USD/kg
price_LH2_min=price_GH2_min+0.88; %USD/kg
n=0.05; 

%variabilní data závislá na letišti
letiste = 'Obecný graf';
road_distance=190; %km
pipeline_distance=150; %km
AFC=3.13; %kg/km
DPD=166; 
AD=1230; %km
road_price=2; %USD/kg
pipeline_price=0.18; %USD/kg


%průběžné výsledky
CAF=AD*DPD*k*AFC;
LH2=CAF*(ED_caf/ED_lh2);
LH2_2050=LH2*0.05;
Energie_vyroba=(LH2_2050*E_prod)/1000000;
Energie_zkapalneni=(LH2_2050*E_liqiuef)/1000000;
Elektrolyzer=LH2_2050*E_prod/24;
Zkapalnovac=LH2_2050*E_liqiuef/24;
CAPEX_E=Elektrolyzer*CPX_e;
CAPEX_Z=Zkapalnovac*CPX_l;
CAPEX_P=pipeline_distance*CPX_p;

v_1=(LH2_2050*price_LH2_min*365+LH2_2050*road_price*365)/1000000;
f_1=0;
v_2=(LH2_2050*365*price_GH2_min+LH2_2050*365*pipeline_price+Energie_zkapalneni*1000*365*price_EE)/1000000;
f_2=(CAPEX_P+CAPEX_Z)/1000000;
v_3=((Energie_vyroba+Energie_zkapalneni)*1000*365*price_EE)/1000000;
f_3=(CAPEX_Z+CAPEX_E)/1000000;

m=21;
scenar1=zeros(1,m);
scenar2=zeros(1,m);
scenar3=zeros(1,m);

for i=1:m
    if i==1
        scenar1(i)=f_1+v_1;
        scenar2(i)=f_2+v_2;
        scenar3(i)=f_3+v_3;
        
    else
        scenar1(i)=scenar1(i-1)+v_1;
        scenar2(i)=scenar2(i-1)+v_2;
        scenar3(i)=scenar3(i-1)+v_3;
     
    end
end


roky = 2050:2070;
% Vykreslení grafu
figure;




plot(roky, scenar1, 'r-', 'LineWidth', 2); hold on;
plot(roky, scenar2, 'g-', 'LineWidth', 2);
plot(roky, scenar3, 'b-', 'LineWidth', 2);



ylim([0 800]);         % Nastaví rozsah osy Y od 0 do 220
yticks(0:100:800);      % Nastaví hodnoty na ose Y po 20 milionech

% Popisky a legenda
xlabel('Rok');
ylabel('Miliony USD');
title(sprintf('Výhodnost scénářů - %s',letiste));
legend('Scénář 1','Scénář 2','Scénář 3', Location='northwest');
grid on;

T=table(roky.',round(scenar1.',2), round(scenar2.',2), round(scenar3.',2),'VariableNames', {'Roky','Scenar1', 'Scenar2', 'Scenar3'});
nazev_souboru = sprintf('cumcosts_%s.xlsx', letiste);
writetable(T, nazev_souboru,'Sheet','optimistic');