Opened 8 years ago

Closed 8 years ago

Last modified 8 years ago

#376 closed upgrade (Done)

IMPORTANT: New parameters in input script files

Reported by: arango Owned by: arango
Priority: major Milestone: Release ROMS/TOMS 3.3
Component: Nonlinear Version: 3.3
Keywords: Cc:

Description (last modified by 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:,,,,,,, and The changes are simple and backward compatible.

WARNING: the point sources (TS_PSOURCE) of tracers are modified as follows 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. Notice that a lot of files were changed. Notice that ana_psource.h was updated and no longer has the Lsrc argument.

I am looking in more detail the river runoff (point sources) and I expect to update this capability in the future.

Change History (2)

comment:1 Changed 8 years ago by arango

  • Description modified (diff)
  • Resolution set to Done
  • Status changed from new to closed
  • Summary changed from New parameters in input script files to IMPORTANT: New parameters in input script files

comment:2 Changed 8 years ago by arango

  • Description modified (diff)
Note: See TracTickets for help on using tickets.