Parameters

General Parameters

class Generalparameters

Generalparameters class

This class contains all general parameters used in the simulation. I aggregated all of them inside this class to make it easier to pass them as argument to the functions.

Parameters
  • dataRoot – (string) path to folder with general input data

  • pathSysGams – (string) path to gams installation

  • runCE – (boolean) if True run CE simulation

  • runUC – (boolean) if True run UCED simulation

  • runFirstUCYear – (boolean) if True run UCED in initial year of simulation

  • startYear – (integer) first year of simulation

  • endYear – (integer) end year of simulation

  • yearStepCE – (integer) size of steps (in years) in CE simulation

  • daysPerSeason – (integer) number of days in each season considered in CE simulation

  • analysisArea – (string) analysis area

  • useLineLimits – (boolean) if True, tries to read file with transmission limits (dataRoot/Transmission/). If False, limits = +Inf

  • referenceCase – (boolean) If True, run case without curtailments or effects of climate change in demand

  • incDemandCC – (boolean) If True, run case WITH effects of climate change in demand

  • incHydroCC – (boolean) If True, run case WITH effects of climate change in hydropower

  • incCurtailments – (boolean) whether to model curtailments,whether to model env regs on water T

  • incRegs – (boolean) whether to model curtailments,whether to model env regs on water T

  • ptCurtailed – (set) types of power plants for which thermal deratings simulations will be performed (default: {‘Coal Steam’, ‘Combined Cycle’, ‘Nuclear’})

  • ptCurtailedRegs – (set) types of power plants for which thermal curtailments due to enviro regulations simulations will be performed (default: {‘Coal Steam’, ‘Coal Steam CCS’, ‘Combined Cycle’, ‘Combined Cycle CCS’, ‘Nuclear’})

  • ptCurtailedAll – (set) used internally only. should not be set by user. Union of ptCurtailed and ptCurtailedRegs

  • cellsEligibleForNewPlants – (string) Determines which cells new plants can be sited in; can be all all cells or those w/ gens already. ‘all’ (all cells) or ‘withGens’ (only cells with gen inside)

  • cellNewTechCriteria – (string) Of those cells given above parameter, whether input all of them or just the one w/ max wtr T per zone. ‘all’ or ‘maxWaterT’ (maxWaterT: only include cell w/ max water T in CE.)

  • compressFleet – (boolean) Compress fleet by agregating small generators?

  • co2CapPercentage – (float) Cap of co2 emission in final year of analysis as percentage of emission in base year (i.e., 100% - %reduction)

  • scenario – (string) File with fossil fuel cost scenario (e.g. ‘FuelPriceTimeSeries.csv’)

  • fuelPricesTimeSeries – (list) used internally only. should not be set by user.

  • resultsDir – (string) path to folder where output data will be saved

  • tzAnalysis – (string) timezone of analysis (default: ‘EST’)

  • projectName – (string) project name

  • windGenDataYr – (integer) year of wind database that will be used for wind generation simulations (e.g.: 2009, this was picked somewhat arbitrarily - average CF of all years in WIND data)

  • capacExpFilename – (string) name of gams file with capacity expansion model (e.g., ‘CERIPS24July2017PS.gms’)

  • maxAddedZonalCapacPerTech – (integer) maximum number of new techs (by type) that can be added in each CE xtep

  • incITC – (boolean) include ITC?

  • retirementCFCutoff – (float) retire units w/ CF lower than this value

  • ptEligRetCF – (list) types of power plants that can be retired due to low CF

  • selectCurtailDays – (boolean) add days with maximum curtailment to special days

  • planningReserve – (float) planning reserve as fraction of peak demand

  • discountRate – (float) discount rate used for computation of annualized costs

  • allowCoalWithoutCCS – (boolean) allow Coal without CCS?

  • onlyNSPSUnits – (boolean) allow only NSPS Units?

  • permitOncethru – (boolean) permit adding power plants with Once-through cooling?

  • retireOldPlants – (boolean) retire Old Plants?

  • ucFilename – (string) ‘UCRIPS18April2017.gms’

  • calculateCO2Price – (boolean) True

  • daysOpt – (integer) number of days being optimized in each individual UC run

  • daysLA – (integer) number of “Look Ahead Days” in each individual UC run

  • ocAdderMin – (float) 0

  • ocAdderMax – (float) 0.05 $/MWh

  • ucDayInitial – (integer) initial day of the year for complete UC annual simulation

  • ucDayEnd – (integer) final day of the year for complete UC annual simulation

  • costnse – (float) cost of non supplied energy (cnse) in $/MWh

  • phEff – (float) pumped storage efficiency

  • phMaxSoc – (float) maximum state of charge of pumped hydro. Max soc as multiple of capacity

  • phInitSoc – (float) initial state of charge of pumped hydro. Init SOC as fraction of max soc

  • scaleMWtoGW – 1000

  • scaleDollarsToThousands – 1000

  • scaleLbToShortTon – 2000

  • states – (list) used internally only. should not be set by user.

  • statesAbbrev – (list) used internally only. should not be set by user.

  • ipmZones – (list) used internally only. should not be set by user.

  • fipsToZones – (list) used internally only. should not be set by user.

  • fipsToPolys – (list) used internally only. should not be set by user.

  • statePolys – (list) used internally only. should not be set by user.

  • ipmZoneNums – (list) used internally only. should not be set by user.

  • lineList – (list) used internally only. should not be set by user.

  • lineCapacs – (list) used internally only. should not be set by user.

  • ncores_py – (integer) number of cores to use for parallel simulation in python

  • ncores_gams – (integer) number of cores to use for parallel simulation in gams

  • hotStart – (boolean) “Hot Start” for CE and UC models. Read files with initial conditions in first run

  • gcmranking – (list) list with ranking of GCMs that will be chosen in each CE year (e.g. [3, 9, 15])

  • rcp – (string) name of rcp being simulated (rcp45 or rcp85)

load(fname)

Reads formatted txt file with the values of the parameters and allocates to object

Parameters

fname – string with path to parameter file

Curtailment Parameters

class Curtailmentparameters

Curtailmentparameters class

This class contains parameters needed to configure the

Parameters
  • envRegMaxT – (dict) dictionary with maximum stream water temperature values in each state ({state : max water T (deg C)})

  • maxFracFlow – (dict) dictionary with minimum river flow ({state : fraction})

  • rbmRootDir – (string) full path to folder of NETCDF files with water and climate date

  • rbmDataDir – (string) not used anymore

  • rbmOutputDir – (string) not used anymore

  • locPrecision – (int) number of decimal digits in cells lat and long values

  • listgcms – list() list with gcm values being simulated (this is not used anymore)

  • basenamemeteo – ‘forcing_maca_hourly_{0}_{1:4d}0101-{1:4d}1231.nc’

  • basenamestreamT – ‘serc.{}.stream_T.nc’

  • basenameflow – ‘serc.{}.KW.flow.MACA.regulated.nc’

load(fname)

Reads formatted txt file with the values of the parameters and allocates to object

Parameters

fname – string with path to parameter file

writefile(fname)

Writes parameters to a formatted txt file

Parameters

fname – string with path to parameter file

Reserve Parameters

class Reserveparameters

Reserveparameter class

This class contains parameters to configure simulation of regulated reserves.

Parameters
  • regLoadFrac – (float) fraction of hourly load in regulated up & down reserves

  • contLoadFrac – (float) fraction of hourly load in contingency reserves

  • regErrorPercentile – (float) percentile of 10-m wind & 5-m solar forecast errors used in regulated reserves

  • flexErrorPercentile – (float) percentile of hourly wind & solar forecast errors used in regulated reserves

  • regUpCostCoeffs – (dict) dictionary with regulated reserve costs by type of plant {‘Combined Cycle’: 6, ‘Combined Cycle CCS’: 6, ‘O/G Steam’: 4, ‘Coal Steam’: 10, ‘Coal Steam CCS’: 10} # $/MWh

  • regReserveMinutes – (float) timeframe of regulated reserves. Regulated reserves must be provided w/in 5 mins

  • flexReserveMinutes – (float) timeframe of spinning reserves. Spin reserves must be provided w/in 10 minutes

  • contingencyReserveMinutes – (float) timeframe of contingency res (must be provided w/in 30 minutes)

  • minutesPerHour – (float) minutes per hour

  • rampRateToRegReserveScalar – (float) computed internally

  • rampRateToFlexReserveScalar – (float) computed internally

  • rampRateToContReserveScalar – (float) computed internally

load(fname)

Reads formatted txt file with the values of the parameters and allocates to object

Parameters

fname – string with path to parameter file