More generally, should your network have a singular Jacobian?
Yes, that’s intentional, s0 is H2O, which takes part in reactions (consumed/produced) but doesn’t enter any rate expressions (and if its concentration changes much there’s something else which is wrong with the model, so a good check either way). And the Jacobian being singular shouldn’t pose a problem since it’s (I - hJ) which is used for linear solves?