I would like renewable sources charge batteries when prices are low (ie. RE is plentiful) and then discharge the batteries when the network needs it during higher priced times (or when RE is not available). Does this happen automatically in the simulation or do I need to set up an event to make that happen?
If SOCSET is 0% (I assume that is the starting charge amount), batteries never charge more than 1% of capacity but they do charge a small amount and discharge a small amount over the simulation. If I set SOCSET to 100% they will start out at 100% and gradually decrease over the simulation but not by much (e.g. 4%). What do I adjust to make the batteries charge up and discharge to support the grid more and ideally offset thermal plants during high demand.
Great question! The short answer to your question is yes. SAInt will automatically enable charging and discharging of storage. You will just need to define the relevant properties for your ESTR object(s) (PGMAX/PGMAXDEF, PDMAX/PDMAXDEF, MaxCap/MaxCapDef, PGeff, PDeff, etc.). You may note that this is just like the way SAInt automatically enables power generation from FGEN objects! You can specify the exact power injection/withdrawal from any of these objects with a PSET event, but this is most relevant for EDEM, WIND, and PV objects. For the rest, in most cases we let the market decide! (Or, more precisely, SAInt will prepare the market optimization model and pass it to Gurobi.)
Please keep in mind that there is some nuance here. I can’t guarantee that batteries will always behave in the intuitive manner you are describing. This will often be the case, but sometimes it will deviate because energy markets are very complicated. A simple example is the complications associated with the “MinUpTime” constraint of FGENs. It is possible for there to be times when it seems like a battery should be discharging as much as it can, but it might be limited because of an FGEN that needs to remain online generating at its PMIN level to satisfy its MinUpTime constraint.
Lastly, it does seem like you have some strange SOC results. By default, an ESTR object will begin a simulation with a SOC of 0, as you’ve observed. You can use a SOCSET event to change that, as you’ve described. My advice to you would be to check what is the value of the “MaxCap/MaxCapDef” property for your ESTR object. Is it a very high value? Be careful of the units, you may need to change your units for “Energy” from MJ to MWh to make the math easier.