Code: Select all
! NOTICE: It is possible to specify the lateral boundary conditions for
! ====== all biological tracers in a compact form with a single entry.
! If so, all the biological tracers are assumed to have the same boundary
! condition as in the single entry.
Code: Select all
LBC(isTvar) == Per Clo Per Clo \ ! idbio( 1), NO3
Per Clo Per Clo \ ! idbio( 2), NH4
Per Clo Per Clo \ ! idbio( 3), chlorophyll
Per Clo Per Clo \ ! idbio( 4), phytoplankton
...
Code: Select all
LBC(isTvar) == RadNud RadNud RadNud RadNud \ ! idbio(*)
Code: Select all
NO3 1 Rad + Nud Rad + Nud Rad + Nud Rad + Nud
NH4 1 Rad + Nud Rad + Nud Rad + Nud Rad + Nud
chlorophyll 1 Rad + Nud Rad + Nud Rad + Nud Rad + Nud
phytoplankton 1 Rad + Nud Rad + Nud Rad + Nud Rad + Nud
zooplankton 1 Rad + Nud Rad + Nud Rad + Nud Rad + Nud
LdetritusN 1 Rad + Nud Rad + Nud Rad + Nud Rad + Nud
SdetritusN 1 Rad + Nud Rad + Nud Rad + Nud Rad + Nud
I did a bit of light debugging and found that in ROMS/Nonlinear/get_data.F, at lines 813-836, there is a series of tests like this
Code: Select all
DO i=1,NT(ng)
IF (LBC(iwest,isTvar(i),ng)%acquire) THEN
CALL get_ngfld (ng, iNLM, idTbry(iwest,i), BRY(ng)%ncid, &
& 1, BRY(ng), update(1), &
& JLB, JUB, N(ng), 2, 0, Mm(ng)+1, N(ng), &
& BOUNDARY(ng) % tG_west(:,:,:,i))
IF (exit_flag.ne.NoError) RETURN
END IF
I have worked around the problem by using a non-compact specification of the boundaries.