Opened 16 years ago

Closed 16 years ago

#134 closed bug (Fixed)

Float restart (FRREC) does not work

Reported by: m.hadfield Owned by: arango
Priority: major Milestone: Release ROMS/TOMS 3.1
Component: Nonlinear Version: 3.1
Keywords: Cc:

Description

As I reported on the user forum on 22 Nov 2006 (title "Restarting floats"),

ROMS floats files contain a variable FRREC which, in the same way as NRREC, is supposed to allow float trajectories to be carried over a model restart from one run to another (or so I surmise). Has anyone actually achieved this? It doesn't work for me. As far as I can see, DEF_FLOATS is only called (from OUTPUT) if LdefFLT is true, but the restart code in DEF_FLOATS is only executed if LdefFLT is false.

This still doesn't work. When I set FRREC to a non-zero value, the float positions are not read from the floats file and a new floats file is created, overwriting the existing one. I will attempt to come up with a solution if I can, but in the meantime am submitting this ticket to record the problem.

Change History (1)

comment:1 by arango, 16 years ago

Resolution: Fixed
Status: newclosed

Yes, this was an easy fix. I just needed to manipulate a couple of logical switches.

I revisited the output routines again. The logic was getting complicated. I cleaned these routines to have a restart logic that it is different from the regular logic when creating multiple output NetCDF files. I need to allow multiple files in the future for the adjoint applications. This will require additional logic in the adjoint-based drivers.

In multiple output files, a logic needs to be provided for single record (unlimited=1) and several records (unlimited>1) files. The restart option requires a paricular logic to have the correct sequence of files and records in these cases.

The history file always contains the initial conditions but not the restart fields. If single record history files, *_0001.nc will contain the initial conditions and the next history record is written in *_0002.nc. If multiple files and several records per file, the first file *_0001.nc contains an additional record because of the initial conditions.

I also corrected few typos.

Note: See TracTickets for help on using tickets.