various time indices in ROMS

General scientific issues regarding ROMS

Moderators: arango, robertson

Post Reply
Message
Author
iwaking
Posts: 5
Joined: Thu Nov 07, 2019 6:24 pm
Location: USA

various time indices in ROMS

#1 Unread post by iwaking »

Dear all,

I am trying to understand the time stepping in step3d_t.F and pre_step3d.F. I found the different time indices confusing, i.e. nrhs, nstp, nnew, indx, and sometimes it is simply a number "3". For example, t(i,j,k,3,itrc). I have searched around but cannot find a good documentation to distinguish between these time indices. Could anyone give me some hints? Thanks in advance. :D

Jay

User avatar
kate
Posts: 4091
Joined: Wed Jul 02, 2003 5:29 pm
Location: CFOS/UAF, USA

Re: various time indices in ROMS

#2 Unread post by kate »

There is some discussion of the timestepping in the roms manual. Most of them point to the old/new time which alternates between 1 and 2, while 3 is always a working time level for tracers.

Note: on restart, the model doesn't save these things and always assumes whatever is true for the first step. That's why perfect restart only works with even numbers of timesteps between saves.

User avatar
arango
Site Admin
Posts: 1367
Joined: Wed Feb 26, 2003 4:41 pm
Location: DMCS, Rutgers University
Contact:

Re: various time indices in ROMS

#3 Unread post by arango »

All the governing equations in ROMS are time-stepped differently. Recall that we have a three-time level predictor-corrector scheme. The tracer equations are kind of special. The t(:,:,:,3,itrc) are the intermediate tracer values (n+1/2) assigned in the predictor step (pre_step3d.F) for only horizontal and vertical advection of tracer, including constancy preservation via an artificial continuity equation. It was kind of confusing to assign a new variable index for this step in the tracers, so we used array element 3. Notice that the tracer vertical diffusion term is also stepped differently. Things can get more complicated since we allow different horizontal and vertical advection schemes for each tracer class. Everything is well documented in routines pre_step3d.F and step3d_t.F.

Post Reply