Skip to content

Is the _AB restart file obsolet? #841

@patrickscholz

Description

@patrickscholz

Why do we still have a restart file for the Adams-Bashfort tracers. Since we also explicitly save the tracers for the timesteps n-1 (_M1) and n-2 (_M2, is only needed for 3rd order AB)

fesom2/src/io_restart.F90

Lines 219 to 226 in df1ab8c

if ((tracers%data(j)%ID==101) .or. (tracers%data(j)%ID==102) .or. (tracers%data(j)%ID==103)) then
call oce_files%def_node_var_optional(trim(trname)//'_AB', trim(longname), trim(units), tracers%data(j)%valuesAB(:,:), mesh, partit)
else
call oce_files%def_node_var(trim(trname)//'_AB', trim(longname), trim(units), tracers%data(j)%valuesAB(:,:), mesh, partit)
endif
call oce_files%def_node_var_optional(trim(trname)//'_M1', trim(longname), trim(units), tracers%data(j)%valuesold(1,:,:), mesh, partit)
if (tracers%data(j)%AB_order==3) &
call oce_files%def_node_var_optional(trim(trname)//'_M2', trim(longname), trim(units), tracers%data(j)%valuesold(2,:,:), mesh, partit)

In subroutine init_tracers_AB(...) it is dynamically computed from the tracer at time step n and n-1 for AB2 or n, n-1 and n-2 for AB3

do n=1, partit%myDim_nod2D+partit%eDim_nod2D
tracers%data(tr_num)%valuesAB(:, n) =-(0.5_WP+epsilon)*tracers%data(tr_num)%valuesold(1, :, n)+(1.5_WP+epsilon)*tracers%data(tr_num)%values(:, n)
end do

I dont see anywhere that we would need the AB tracers at restart time, so the _AB restart files seems for me obsolet. If i remember well in the past before dima did the AB3 tracers in FESOM tracers%data(tr_num)%valuesAB hold at restart time the tracer for the previous time step but that is not anymore the case.

Im just not sure if we step in any downward compatibility issues?

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions