I am doing some testes with ROMS sediment transport code and I think the new sediment concentrations (matrix qc) in subroutine sediment.f is not properly calculated.
I am running the test “TEST_CHAN” from ROMS. I performed this test with different number of vertical levels (10, 20, 40 and 80 uniformly spaced levels) and the suspended sediment value obtained for the four simulations was very different and level dependent. With more vertical levels less suspended sediment were obtained.
The possible problem is in the “Sediment deposition and resuspension near the bottom” part, more specifically on line 1238:
! Compute new sediment concentrations.
!
qc(i,1)=qc(i,1)+ero_flux*Hz_inv(i,1)
From my understanding of the code the units of qc are kg/m4 while the units of ero_flux are Kg/m2 and the units of Hz_inv(i,1) are m. So this line is adding two quantities which have different units. Is this equation correct?
If not, should the correct equation be:
qc(i,1)=qc(i,1)+ero_flux*(Hz_inv(i,1)* Hz_inv(i,1))
Lígia
possible problem in subroutine sediment.f
Moderators: arango, robertson, rsignell
I have been thru that part of the sediment routine many times, and each time i find that it is correct so I strongly suggest that you do not make any changes here. You need to be careful with the dimensions. The tracer array at time level nnew at this part of the code has dimension of tracer*m. So it is tracer * Hz. After all the sources and sinks are added, we go back to step3d_t and there the tracer corrector advection step and vertical diffusion operators are performed. The tracer ends up with the correct dimensions of only tracer units at time level nnew at the end of step3d_t.
I don't have my notes here with me, but i strongly believe sed.F is correct. Try going thru it again. Remember, Hz_inv (inverse) is 1/meters.
qc at the top is trac * Hz_inv == trac*m/m = trac =kg/m3 for sed.
so qc=qc+ero_flux*Hz_inv
kg/m3 = kg/m3 + kg/m2 * 1/m
is ok.
For the test chan case -
As you increase the resolution of the bottom cell, then you are resolving the profile of sed conc more closely in the region of strong gradients. There is a battle here between settling and resuspension. The resuspension is not really affected by increasing the bottom resolution. But the amount that settles out will be affected because the grid is resolving more of the profile so more can settle out. This will change the final balance. We suggest you use the theta_b parameter to increase the near bed resolution. I did some tests a while ago, and after say 20 levels with increased near bed zooming the balance converged.
We are working on a method to extraploate the near bed profie to help reduce these kind of issues. Of course, any help is greatly appreciated.
I don't have my notes here with me, but i strongly believe sed.F is correct. Try going thru it again. Remember, Hz_inv (inverse) is 1/meters.
qc at the top is trac * Hz_inv == trac*m/m = trac =kg/m3 for sed.
so qc=qc+ero_flux*Hz_inv
kg/m3 = kg/m3 + kg/m2 * 1/m
is ok.
For the test chan case -
As you increase the resolution of the bottom cell, then you are resolving the profile of sed conc more closely in the region of strong gradients. There is a battle here between settling and resuspension. The resuspension is not really affected by increasing the bottom resolution. But the amount that settles out will be affected because the grid is resolving more of the profile so more can settle out. This will change the final balance. We suggest you use the theta_b parameter to increase the near bed resolution. I did some tests a while ago, and after say 20 levels with increased near bed zooming the balance converged.
We are working on a method to extraploate the near bed profie to help reduce these kind of issues. Of course, any help is greatly appreciated.