Two distinct things I want to pick up on:
Firstly: The sheet does not provide any modelling of the fact that during an eclipse there is a set number of spells that can be cast. As far as I can tell, it provides a system whereby your DPS is calculated based on the average DPS seen during an eclipse proc (SF cast time / SF damage under eclipse), not the average damage done by the spell then divided by the maximum number of casts available during the rotation time as an integer.
If this is correct, then maybe an adjustment needs to be made, as an adjustment will make specific thresholds of haste of particular gain due to an extra spell being able to be gained during an eclipse duration. It will also de-value starfire eclipse in comparison to wrath-eclipse, as you can get less spells off and the granualarity of cut-off points for an extra cast is that much larger due to base cast time.
Secondly: There is no travel time coded in for Wrath that I can see. Although this will not change Natures Grace (procs on-cast anyway), it will change eclipse due to the way it procs on-hit, not on-cast. There are two scenarios that arise from this:
- You can cast a wrath, see it has procced NG, and let the next wrath go before switching to starfire, meaning it will be mid-cast prior to a potential proc. Obviously this has the ramifications that the proc may end up being on the starfire cast instead of the wrath cast, depending on randomness. This would cause eclipse_rotation_time to be larger than 15 seconds.
- While spam casting wrath and not taking chances, this has the effect that when wrath does proc a SF eclipse, you're mid-cast and will gain some time over the base cast time of the next wrath, depending on reactions and the exact travel time to the boss. This means eclipse_rotation_time may be longer than the default of (eclipse duration - wrath cast time) by up to (wrath cast time).
I've adjusted the value of eclipse_rotation_time by -0.5 seconds for now.
Other than that, very nice work.
As to not using an integral number of casts during Eclipse, you're right in that it's a shortcut. I'll eventually move to a more probability-based model (hopefully, but it won't be any time soon), but right now what's there does cut the mustard. There's actually not a set number of casts, as it depends on how many NG procs you get, and the 'spamcast' variable has that built in. On average, you should cast the number of spells it lists on the right side when doing mana calcs, or somewhere very close to that number. My priority is getting all of the rotations modeled to some degree before I make the models more robust. Better to have a good idea about everything than a sheet that only gives values for one rotation, no matter how awesomely accurate those values are.
For an idea of how I'd like to eventually model all rotations, I'm attaching my first sheet here. It's BC-based, so don't use it for anything other than getting a sense of how deep I'd like calcs to go in the future. Most interesting info is in the Cast Cycle Calcs page, which give a probability of how many NG procs you're likely to get in a DoT, SFxN rotation, then uses that to determine how many casts, crits, etc. you get, what the resulting damage is, and then adds them all up weighting by probability. It's very intensive calculation (to set up, making sure all of the possible cases are accounted for), though, so it's very likely I'll have it only calculate for your selected rotation.
For Wrath travel-time, you're right, it's not in there. Does anyone know offhand what Wrath's travel speed is? If it's more than 36 yards per sec, you'll get Eclipse before you begin your second Wrath after the spell which procs it, though reaction time would cause issues. I'll possibly get to fixing this, but again it will be a while.
 Oops, forgot to attach.
[edit2] Erd, I'm making the changes you suggested, notably fixing it so that you're always using an NG'd cast going into Eclipse. I also made some predictions on what the casts before Eclipse procced were like, I.E. if you've got 3/3 Eclipse, you can't crit with SF and fail to proc Eclipse. Also accounting for being in the middle of a cast when the cooldown comes up.
I'd like more input on the swapping, though (only so that I can get this damn page finished =P). My original calcs were made under the assumption that you're not dealing with a Swap as a 'spell' with its own chance to proc, but rather that you're going to proc with only one of the spells, each having its own chance to proc, and thus an expected number of casts until that happens (I.E. it doesn't matter how many Wraths you cast in between, you're still going to have to cast X SFs before you'll see a proc [from SF], on average), then weighting based on how likely a given proc is to occur. What surprises me is that the two methods vary so wildly in what the expected number of swaps comes out to. Thoughts?