﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc
376	New parameters in input script files	arango	arango	"All the input script files were updated to include new parameters:
 * Added new horizontal mixing parameters for adjoint-based applications: '''ad_TNU2''', '''ad_TNU4''', '''ad_VISC2''', and '''ad_VISC4'''. These parameters can be set to a different values than those used in the nonlinear model. In some applications, other values are needed for stability of the tangent linear, representer, and adjoint models.  Also this can be used when the advection scheme in the adjoint-based algorithms is different that the nonlinear model basic state trajectory.

{{{
! Harmonic/biharmonic horizontal diffusion of tracer for nonlinear model
! and adjoint-based algorithms: [1:NAT+NPT,Ngrids].

        TNU2 ==  0.0d0   0.0d0                  ! m2/s
        TNU4 ==  0.0d0   0.0d0                  ! m4/s

     ad_TNU2 == 50.0d0  50.0d0                  ! m2/s
     ad_TNU4 == 2.0d+10 2.00d+10                ! m4/s

! Harmononic/biharmonic, horizontal viscosity coefficient for nonlinear model
! and adjoint-based algorithms: [Ngrids].

       VISC2 == 0.0d0                           ! m2/s
       VISC4 == 0.0d0                           ! m4/s

    ad_VISC2 == 50.0d0                          ! m2/s
    ad_VISC4 == 2.0d+10                         ! m4/s
}}}

 * A new routine '''ini_hmixing.F''' is introduced to initialize the horizontal mixing array ('''diff2''', '''diff4''', '''visc2_p''', '''visc2_r''', '''visc4_p''', '''visc4_r''') for the nonlinear, tangent linear, representer and adjoint models. This change is backward compatible and you do not to modify your horizontal mixing strategies, like sponges and so on. This routine also sets the current value of horizontal mixing constants '''tnu2''', '''tnu4''', '''visc2''', and '''visc4''' from provided input values ('''nl_tnu2''', '''ad_tnu2''', or '''tl_tnu2''', etc).

 * Added new parameters '''ad_AKT_fac''' and '''ad_AKV_fac''' to scale (if so desired, default value is '''1.0''') the basic state vertical mixing coefficients ('''Akt''' and '''Akv''' arrays) in adjoint-based applications when the C-preprocessing option '''FORWARD_MIXING''' is activated. In some applications, a smaller/larger values of vertical mixing are necessary for stability. The same scale value is used in the tangent linear, representer and adjoint model for symmetry considerations.

 * Added new logical swith '''LtracerSrc''' to specify which tracer variables to consider when the C-preprocessing option '''TS_PSOURCE''' is activated.

{{{
! Logical switches (TRUE/FALSE) to specify which variables to consider on
! tracers point Sources/Sinks (like river runoff): [1:NAT+NPT,Ngrids].
! See glossary below for details.

  LtracerSrc == T T                        ! temperature, salinity, inert
}}}

This changes affect all ROMS input scripts: '''ocean.in''', '''bio_Fennel.in''', '''ecosim.in''', '''nemuro.in''', '''npzd_Franks.in''', '''npzd_Powell.in''', '''npzd_iron.in''', and '''sediment.in'''.  The changes are simple and backward compatible.

'''WARNING:''' the point sources ('''TS_PSOURCE''') of tracers are modified as follows in '''ocean.in''':
{{{
!  LtracerSrc  Logical switches (T/F) to specify which tracer variables
!              to consider when the option TS_PSOURCE is activated. Only
!              NAT active tracers (temperature, salinity) and NPT inert
!              tracers need to be specified here:
!
!                LtracerSrc(itemp,ng)     for temperature (itemp=1)
!                LtracerSrc(isalt,ng)     for salinity    (isalt=2)
!                LtracerSrc(NAT+1,ng)     for inert tracer 1
!                ...                      ...
!                LtracerSrc(:,NAT+NPT)    for inert tracer NPT
!
!              Other biological and sediment tracers switches are specified in
!              their respective input scrips.
!
!              Recall that TS_PSOURCE is usually activated to add river runoff
!              as a point source. At minimum, it is necessary to specify both
!              temperature and salinity for all rivers.  The other tracers are
!              optional.
!
!              This logical switch REPLACES and ELIMINATES the need to have
!              or read the variable ""river_flag(river)"" in the input rivers
!              forcing NetCDF file:
!
!                double river_flag(river)
!                        river_flag:long_name = ""river runoff tracer flag""
!                        river_flag:option_0 = ""all tracers are off""
!                        river_flag:option_1 = ""only temperature""
!                        river_flag:option_2 = ""only salinity""
!                        river_flag:option_3 = ""both temperature and salinity""
!                        river_flag:units = ""nondimensional""
!
!              This logic was too cumbersome and complicated when additional
!              tracers are considered. However, this change is backward
!              compatible.
!
!              The LtracerSrc switch will be used to activate the reading of
!              respective tracer variable from input river forcing NetCDF
!              file. If you want to add other tracer variables (other than
!              temperature and salinity) as a source for a particular river(s),
!              you just need to specify such values on those river(s). Then,
!              set the values to ZERO on the other river(s) that do NOT
!              require such river forcing for that tracer. Recall that you
!              need to specify the tracer values for all rivers, even if
!              their values are zero.
}}}

Please check any of the biological and sediment model input scripts for more details. The old logic was too cumbersome and complicated.

I am looking in more detail the river runoff (point sources) and I expect to update this capability in the future."	upgrade	new	major	Release ROMS/TOMS 3.3	Nonlinear	3.3			
