﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc
138	Updated all biology models	arango	arango	"All the biology models were updated to use '''t(:,:,:,nstp,:)''' values in the right-hand-side terms instead of '''t(:,:,:,nnew,:)'''.  The '''nnew''' index is incomplete and only has the surface flux conditions applied in '''pre_step3d'''. We are not
diffusing this term yet because we have '''lambda=1''' (backward implicit) instead of '''lambda=0.5''' (Crack-Nicolson implicit).  Well, this is not a big deal with the biology since the surface tracer flux is zero for now.  However if the biology has temperature dependency in the right-hand-side terms, there is a big problem because the '''nnew''' index is nothing like temperature at this intermediate step. It has transport units (Tunits meter) since we do not have yet the new values for '''zeta''' and '''Hz'''. These are known after the 2D barotropic time-stepping.  The '''t(:,:,:,3,:)''' has the contribution (predictor) for horizontal and vertical advection which will be used in '''step3d_t''' to finalize time-stepping (corrector). The '''t(:,:,:,nstp,:)''' has the full previous time step values and it is in tracer units.

This change affects Fasham ('''fasham.h'''), Nemuro ('''nemuro.h'''), and Ecosim ('''ecosim.h'''). For consistency, the NPZD models ('''npzd_Franks.h''' and '''npzd_Powell.h''') were also corrected including their tangent linear, adjoint, and representer model versions. The '''NPZD_POWELL''' passes the sanity check. However, there are still adjoint problems in '''NPZD_FRANKS'''. Perhaps, we will take a look at this in the future. Anyway, we only use '''NPZD_POWELL''' in all our adjoint-based applications.

Many thanks to Kate Hedstrom for reporting this problem with the biology models."	bug	closed	major	Release ROMS/TOMS 3.1	Nonlinear	3.1	Fixed		
