PUBLIC INTERFACE ~ PUBLIC DATA ~ PUBLIC ROUTINES ~ NAMELIST ~ DIAGNOSTIC FIELDS ~ ERROR MESSAGES ~ REFERENCES ~ NOTES

Module ocean_velocity_mod

Contact:  R.C. Pacanowski A. Rosati S.M. Griffies
Reviewers:  M.J. Harrison
Change History: WebCVS Log


OVERVIEW

Time step velocity field.

This module steps the velocity field forward in time.


OTHER MODULES USED

            constants_mod
diag_manager_mod
fms_mod
fms_io_mod
mpp_domains_mod
mpp_mod
ocean_bih_friction_mod
ocean_coriolis_mod
ocean_domains_mod
ocean_form_drag_mod
ocean_lap_friction_mod
ocean_momentum_source_mod
ocean_obc_mod
ocean_operators_mod
ocean_parameters_mod
ocean_pressure_mod
ocean_types_mod
ocean_util_mod
ocean_velocity_advect_mod
ocean_velocity_diag_mod
ocean_vert_mix_mod
ocean_workspace_mod

PUBLIC INTERFACE

ocean_velocity_init:
check_gravity_wave_cfl:
ocean_explicit_accel_a:
ocean_explicit_accel_b:
ocean_implicit_accel:
update_ocean_velocity:
ocean_velocity_restart:
ocean_velocity_end:
velocity_truncate:
ocean_velocity_chksum:
remap_s_to_depth:


PUBLIC DATA

None.


PUBLIC ROUTINES

  1. ocean_velocity_init

    DESCRIPTION
    Initialize terms for the velocity equation.


  2. check_gravity_wave_cfl

    DESCRIPTION
    Check CFL for internal gravity waves.


  3. ocean_explicit_accel_a

    DESCRIPTION
    Time explicit contributions to thickness weighted and density weighted acceleration.

    Omit here the Coriolis force and vertical friction. They are omitted in order to facilitate the construction of the vertically integrated forcing of the barotropic dynamics. They will be added later in ocean_explicit_accel_b.



  4. ocean_explicit_accel_b

    DESCRIPTION
    Add the contributions from the Coriolis force, computed explicitly in time, and those from explicit vertical friction. Add these to the thickness weighted and density weighted acceleration.

    Note: no visc_cbu_form_drag is included here, since it must be handled via implicit vertical friction to maintain stability for general cases.



  5. ocean_implicit_accel

    DESCRIPTION
    Add the time implicit contributions from the Coriolis force and vertical friction. Add these to the thickness weighted and density weighted acceleration.

    Note the contribution from visc_cbu_form_drag is used for implicit vertical friction.



  6. update_ocean_velocity

    DESCRIPTION
    Update velocity components. There are two general methods available.

    1/ update baroclinic velocity; then add (udrho,vdrho) from external mode algorithm to get the full velocity field. This method is analogous to the older approach with the rigid lid.

    2/ update the full velocity, so there is no need to introduce the intermediate step with the baroclinic velocity. To remain stable, we must use the time filtered barotropic pressure gradient. We then diagnose the vertically integrated horizontal momentum (udrho,vdrho) and its convergence, since these fields are needed elsewhere.



  7. ocean_velocity_restart

    DESCRIPTION
    Write out restart files registered through register_restart_file


  8. ocean_velocity_end

    DESCRIPTION
    Write the velocity field to a restart


  9. velocity_truncate

    DESCRIPTION
    Truncate velocity so that either component has magnitude no larger than nml specified value.



  10. ocean_velocity_chksum

    DESCRIPTION
    Compute checksum for velocity components


  11. remap_s_to_depth

    DESCRIPTION
    Remap in the vertical from s-coordinate to depth and then send to diagnostic manager.

    This routine is mostly of use for terrain following vertical coordinates, which generally deviate a lot from depth or pressure coordinates. The zstar and pstar coordinates are very similar to z or pressure, so there is no need to do the remapping for purposes of visualization.

    The routine needs to be made more general and faster. It also has been found to be problematic, so it is NOT recommended. It remains here as a template for a better algorithm. Remapping methods in Ferret are much better.

    Use rho_dzu weighting to account for nonBoussinesq.

    Author: Stephen.Griffies@noaa.gov




NAMELIST

&ocean_velocity_nml

debug_this_module
For debugging.
[logical]
write_a_restart
Set true to write a restart. False setting only for rare cases where wish to benchmark model without measuring the cost of writing restarts and associated chksums. Default is write_a_restart=.true.
[logical]
update_velocity_via_uprime
When updating the velocity, this method first computes uprime as the updated velocity minus the barotropic pressure gradient. This approach is motivated from the rigid lid approach, in which the surface pressure was never used to update the barotropic fields. With the explicit free surface, we have the choice to update the full velocity field, with the barotropic contributions to the pressure field resulting from a time average in the external mode algorithm. This approach is for testing only, and it has been found to be unstable for many cases.

update_velocity_via_uprime=.true. uses the older aproach, in which the udrho,vdrho fields are taken from the external mode module.

update_velocity_via_uprime=.false. only takes the time averaged pressure from the external mode, and thus updates the full velocity and so recomputes the udrho,vdrho fields.

Default update_velocity_via_uprime=.true. The case of update_velocity_via_uprime=.false. is for testing only!
[logical]
use_constant_velocity
For running with time independent constant velocity. For use with idealized cases. Default=.false.
[logical]
constant_u
For running with use_constant_velocity. Set the i-velocity component to this value. Default constant_u=0.0
[real, units: meter/sec]
constant_v
For running with use_constant_velocity. Set the j-velocity component to this value. Default constant_v=0.0
[real, units: meter/sec]
zero_tendency
For debugging. Will freeze the baroclinic velocity fields.
[logical]
zero_tendency_explicit_a
For debugging. Will not use explicit-a part of the tendency.
[logical]
zero_tendency_explicit_b
For debugging. Will not use explicit-b part of the tendency.
[logical]
zero_tendency_implicit
For debugging. Will not use implicit part of the tendency.
[logical]
truncate_velocity
Truncate the baroclinic velocity to a maximum value. Useful for cases where the initial spin-up initiates spuriously large model velocities that would otherwise cause the model to blow-up. Also can be used as a very simple "polar filter" in cases where have spherical coordinates and wish to avoid using the traditional polar filters.
[logical]
truncate_velocity_value
Speed above which will truncate the baroclinic velocity
[real, units: meter/sec]
truncate_velocity_lat
Latitude poleward of which we truncate the velocity. Useful in cases when wish to truncate the velocity only in polar regions. Default is 0.0
[real, units: dimensionless]
truncate_verbose
For verbose printout
[logical]
max_cgint
Maximum internal gravity wave speed--used for diagnosing conservative estimate of stable time steps.
[real]
adams_bashforth_epsilon
Dimensionless parameter for 2nd order Adams-Bashforth implementation of velocity advection. Values between 0.5 and 1.0 are recommended. Value of 0.5 leads to second order accurate, but it is formally weakly unstable (Durran, Section 2.3.4).
[real, units: dimensionless]
adams_bashforth_third
For a third order treatment of the velocity advection. This is stable and so needs no temporal dissipation (Section 2.3.6 of Durran). This is the model default.
[logical]


DATA SETS

None.


ERROR MESSAGES

None.


REFERENCES

  1. Durran, Numerical Methods for Wave Equations in Geophysical Fluid Dynamics (1999).
  2. R.C. Pacanowski and S.M. Griffies, The MOM3 Manual (1999). NOAA/Geophysical Fluid Dynamics Laboratory
  3. S.M. Griffies, R.C. Pacanowski, R.M. Schmidt, and V. Balaji Tracer Conservation with an Explicit Free Surface Method for Z-coordinate Ocean Models Monthly Weather Review (2001) vol 129 pages 1081--1098
  4. S.M. Griffies, M.J. Harrison, R.C. Pacanowski, and A. Rosati, A Technical Guide to MOM4 (2004). NOAA/Geophysical Fluid Dynamics Laboratory
  5. S.M. Griffies, Fundamentals of Ocean Climate Models (2004). Princeton University Press.
  6. S.M. Griffies (2005) Elements of mom4p1


COMPILER SPECIFICS

None.


PRECOMPILER OPTIONS

None.


LOADER OPTIONS

None.


TEST PROGRAM

None.


KNOWN BUGS

None.


NOTES

None.


FUTURE PLANS

None.


top