So I've looked into the second float for the CGround (param4) there are two cases:
1, For grounds that are high grass, it is the height of the grass, used to control the particle offset
2. For grounds that are below water (or not, looks like the developers also sometimes put it into nearby grounds) it is the **absolute** y value of the vater. I.e. if the water node is at (42.56, -7.21, 9.14), the param4 is -7.21. I'm not sure for what this is used for, since the effects will continue to work fine even if the value is wrong?