*other settings----------------------------------
*show zeros in GDX spreadsheet
SQ=N

*Sets ------------------------------------------

*10plants
dset=p rng=10plants!A3 rdim=1

*time steps
*dset=t rng=load_RT!A2 rdim=1
dset=t rng=load_RT!C2 rdim=1


*plant parameters ------------------------------

*BASE PLANT PARAMETERS
*plant type
  par=plant_type_code rng=10plants!A3 rdim=1
  
*base plant non-fuel/CO2 variable operating cost ($/MWh)
  par=vom_base rng=10plants!D3 rdim=1

*heat rate (MMBTU/MWh)
  par=hr_base rng=10plants!F3 rdim=1


*co2 emissions rate (tCO2/MWh)
  par=co2r_base rng=10plants!H3 rdim=1


*base plant startup cost ($/startup)
  par=x_su_cost rng=10plants!J3 rdim=1

*base plant shutdown cost ($/shutdown)
  par=x_sd_cost rng=10plants!L3 rdim=1

*base plant minimum output (MW)
  par=x_min rng=10plants!N3 rdim=1


*base plant maximum output (MW)
  par=x_max rng=10plants!P3 rdim=1


*base plant ramp up limit (MW/min)
  par=x_ramp_up rng=10plants!R3 rdim=1

*base plant ramp down limit (MW/min)
  par=x_ramp_dn rng=10plants!T3 rdim=1

*base plant minimum up time (hr)
  par=x_mintime_up rng=10plants!V3 rdim=1

*base plant minimum down time (hr)
  par=x_mintime_dn rng=10plants!X3 rdim=1

*base plant initial up time (hr)
  par=x_inittime_up rng=10plants!Z3 rdim=1

*base plant initial down time (hr)
  par=x_inittime_dn rng=10plants!AB3 rdim=1

*CHP status indicator (1=yes, 0=no)
  par=chp_status rng=10plants!DK3 rdim=1


*ENERGY STORAGE PARAMS

*minimum input to storage (MW)
  par=xin_min rng=10plants!CT3 rdim=1

*maximum input to storage (MW)
  par=xin_max rng=10plants!CV3 rdim=1

*output/input round-trip efficiency
  par=xoutin_eff rng=10plants!CX3 rdim=1

*maximum quantity of stored energy (MWh)
  par=s_max rng=10plants!CZ3 rdim=1

*initial quantity of stored energy (MWh)
  par=s_0 rng=10plants!DB3 rdim=1

*final quantity of stored energy (MWh)
  par=s_T rng=10plants!DD3 rdim=1

*input ramp up limit (MW/min)
  par=xin_ramp_up rng=10plants!DF3 rdim=1

*input ramp down limit (MW/min)
  par=xin_ramp_dn rng=10plants!DH3 rdim=1


*ANCILLARY SERVICE PROVISION LIMITS

*regulation up
  par=reg_up_max rng=10plants!CK3 rdim=1

*regulation up
  par=reg_dn_max rng=10plants!CM3 rdim=1

*regulation up
  par=nsrs_max rng=10plants!CO3 rdim=1

*regulation up
  par=rrs_max rng=10plants!CQ3 rdim=1


*CO2 CAPTURE PARAMETERS

*binary flag (1=has capture, 0=no capture)
   par=ccs_bool rng=10plants!AE3 rdim=1  
  
*minimum absorber load before base plant turns off or maximum load after plant turns on (fractional)   
   par=ymin_abs rng=10plants!AG3 rdim=1  

*minimum stripper load before base plant turns off or maximum load after base plant turns on (fractional)
   par=ymin_str rng=10plants!AI3 rdim=1

*maximum CO2 removal (fractional)
   par=co2_removal_max rng=10plants!AK3 rdim=1

*energy per qty of CO2 stripped and compressed (MWh/tCO2)
   par=energy_per_co2_strcomp_base rng=10plants!AM3 rdim=1

*energy per qty of CO2 absorbed (MWh/tCO2)
   par=energy_per_co2_abs_base rng=10plants!AO3 rdim=1

*Fraction of steam to LP turbine extracted for stripping CO2 from all solvent from absorber at full-load
   par=lp_steam_frac rng=10plants!AY3 rdim=1 
      
*(load fraction/min interval) ramp rate on turning stripper load up
   par=yramp_str_up rng=10plants!AU3 rdim=1 
        
*(load fraction/min interval) ramp rate on turning stripper load down
   par=yramp_str_dn rng=10plants!AW3 rdim=1 
      
*(load fraction/min interval) ramp rate on turning absorber load up
   par=yramp_abs_up rng=10plants!AQ3 rdim=1   
  
*(load fraction/min interval) ramp rate on turning absorber load down    
   par=yramp_abs_dn rng=10plants!AS3 rdim=1 
      
*startup cost for the absorption (USD/startup)
   par=su_cost_abs rng=10plants!BA3 rdim=1

*shutdown cost for the absorption (USD/shutdown)  
   par=sd_cost_abs rng=10plants!BC3 rdim=1

*startup cost for the absorption (USD/startup) 
   par=su_cost_str rng=10plants!BE3 rdim=1

*shutdown cost for the absorption (USD/shutdown)  
   par=sd_cost_str rng=10plants!BG3 rdim=1 

*  Absorber minimum up/downtime parameters
*minimum time on after startup (hours)
   par=mintime_up_abs rng=10plants!BI3 rdim=1

*time plant must be on after start of study (hours)
   par=inittime_up_abs rng=10plants!BM3 rdim=1

*minimum time off after shutdown (hours)
   par=mintime_dn_abs rng=10plants!BK3 rdim=1

*time plant must be off after start of study (hours)
   par=inittime_dn_abs rng=10plants!BO3 rdim=1

*  Stripper minimum up/downtime parameters
*minimum time on after startup (hours)
   par=mintime_up_str rng=10plants!BQ3 rdim=1

*time plant must be on after start of study (hours) 
   par=inittime_up_str rng=10plants!BU3 rdim=1

*minimum time off after shutdown (hours)
   par=mintime_dn_str rng=10plants!BS3 rdim=1

*time plant must be off after start of study (hours)
   par=inittime_dn_str rng=10plants!BW3 rdim=1

*  Solvent storage parameters
*(m^3) size of each of the rich and lean solvent storage tanks
   par=tank_size rng=10plants!CB3 rdim=1

*(kmol solvent/kmol CO2) solvent capacity in difference between rich and lean loading
   par=delta_ldg rng=10plants!CD3 rdim=1

*(tCO2) initial quantity of CO2 stored in rich storage tank
   par=co2_store_init rng=10plants!CF3 rdim=1

*(tCO2) final quantity of CO2 stored in rich storage tank 
   par=co2_store_fin rng=10plants!CH3 rdim=1

*($/tCO2) cost of CO2 transport and storage
   par=cost_co2_trans_store rng=10plants!BZ3 rdim=1

*Boiler size
   par=boiler_size rng=10plants!DM3 rdim=1

*CCC startup
   par=ccc_su rng=10plants!DO3 rdim=1

*CCC shut down
   par=ccc_sd rng=10plants!DQ3 rdim=1


*time-varying parameters-------------------------

*month
*  par=month rng=load_RT!A2 rdim=1
  par=month rng=load_RT!C2 rdim=1

*day
*  par=day rng=load_RT!C2 rdim=1
  par=day rng=load_RT!E2 rdim=1

*hour
*  par=hour rng=load_RT!E2 rdim=1
  par=hour rng=load_RT!G2 rdim=1

*load
*  par=load rng=load_RT!G2 rdim=1
  par=load rng=load_RT!I2 rdim=1

*wind
*  par=wind_prod rng=load_RT!I2 rdim=1
  par=wind_prod rng=load_RT!K2 rdim=1

*regulation up required before wind adjustment
*  par=reg_up_base rng=AS_req!G5 rdim=1
  par=reg_up_base rng=AS_req!I5 rdim=1

*regulation down required before wind adjustment
*  par=reg_dn_base rng=AS_req!L5 rdim=1
  par=reg_dn_base rng=AS_req!N5 rdim=1

*regulation up required after wind adjustment
*  par=reg_up_adj rng=AS_req!J5 rdim=1
  par=reg_up_adj rng=AS_req!L5 rdim=1

*regulation down required after wind adjustment
*  par=reg_dn_adj rng=AS_req!O5 rdim=1
  par=reg_dn_adj rng=AS_req!Q5 rdim=1

*net load uncertainty
*  par=net_load_unc rng=AS_req!Q5 rdim=1
  par=net_load_unc rng=AS_req!S5 rdim=1

