Since I do not fully understand the tracer algorithm in ROMS, I have some question about the tracer routine.
I know in pre_step3d.F(line 891):
Code: Select all
DO k=1,N(ng)
DO i=Istr,Iend
cff1=Hz(i,j,k)*t(i,j,k,nstp,itrc)
cff2=FC(i,k)-FC(i,k-1)
t(i,j,k,nnew,itrc)=cff1+cff2
END DO
END DO
But in main3d.F(line 183), the time time indices are updated after this calculation:
Code: Select all
DO ig=1,GridsInLayer(nl)
ng=GridNumber(ig,nl)
iic(ng)=iic(ng)+1
nstp(ng)=1+MOD(iic(ng)-ntstart(ng),2)
nnew(ng)=3-nstp(ng)
nrhs(ng)=nstp(ng)
...
END DO
So my question is that, is the unit of t(nnew) always m*Tunit? Or in what line of code, is its unit converted? Do I miss some key points about this algorithm?
Greatly appreciate any hints!