This solves two issues with the bounds check on SpecN
First, we no longer look at species fractions in ghost cells. This avoids issues where corner ghost cells are invalid. Second, we include roundoff. Occasionally, when running with zero species N, specN would contain a negative value due to roundoff error, causing the simulation to throw an error.