I'm currently modifying ROMS code for the floats time stepping. We want to allow particles to resuspend (rather than either rebound or be permanently stuck), according to a critical shear stress criterion. I know that I may use the interp_floats subroutine that comes with ROMS, but it may require modify the DRIFTER type a bit more, to add new fields etc., which for now I'm reluctant to do. So I wrote a quick-and-dirty interpolation in step_floats.F, as shown below: But it seems like the bed stress computation is causing me troubles. I used ana_diag.h to print out the bed stress (and some other information not included in the standard float output) experienced by each particle in the model for each baroclinic time step (3s in my case), and found that:
(i) for many particles, the computed stress is often zero, though they are in the estuarine channel rather than at somewhere high and dry;
(ii) in some instances, I saw very large values of bstress

I know that the proper interpolation should involve a 2 more grid points than shown here (bilinear), yet I don't think this is responsible for the weird results I'm looking at. Is the coding correct? Am I using the correct mask (which I'm pretty sure...)? or, can here be something really wrong with the bed stress computed by ROMS, and has anyone seen these abnormal bstress values? Any suggestion will be appreciated!
The modified step_floats.F is now also attached. The modifications are in Line 1023 ~ Line 1118. But the only abnormality I have seen so far is related to the bed stress. In the file, theta_cr is set to 0 for debugging purpose, but this is not what we intend.
Kind Regards,
Gaoyang