# ROMS I/O NetCDF Metadata Dictionary
#
#git $Id$
#========================================================= Hernan G. Arango ==#
#  Copyright (c) 2002-2025 The ROMS Group                                     #
#    Licensed under a MIT/X style license                                     #
#    See License_ROMS.md                                                      #
#=============================================================================#
#
#  Field Metadata Keywords:
#
#    variable        Field variable name
#    standard_name   Standard-name descriptor/attribute
#    long_name       Long-name attribute
#    units           Units attribute
#    field           User field attribute for plotting and visualization
#                      (It can be in any language represented by 255 ASCII
#                       set of characters, letters, symbols and signs)
#    time            Associated time variable, if record dependency
#    index_code      Index variable name used in information arrays
#    type            Staggered C-grid variable type
#                      nulvar  => non-grided variable
#                      p2dvar  => 2D PHI-variable
#                      r2dvar  => 2D RHO-variable
#                      u2dvar  => 2D U-variable
#                      v2dvar  => 2D V-variable
#                      p3dvar  => 3D PSI-variable
#                      r3dvar  => 3D RHO-variable
#                      u3dvar  => 3D U-variable
#                      v3dvar  => 3D V-variable
#                      w3dvar  => 3D W-variable
#                      b3dvar  => 3D BED-sediment
#                      l3dvar  => 3D spectral light variable
#                      l4dvar  => 4D spectral light variable
#    add_offset      Value added to input data
#    scale           Scale to convert input data to model units
#
#  An input field is processed as:
#
#     field = field (source_units) * scale + add_offset
#

git_repository: $URL: https://github.com/myroms/roms/External/varinfo.yaml $

convention:     CF 1.10

#  The surface shortwave radiation flux is handled with a YAML "alias"
#  and "anchor" to facilitate instantaneous or daily-averaged values. If
#  daily-averaged values, you need to activate the DIURNAL_SRFLUX option
#  in ROMS to modulate the shortwave radiation by the local daily cycle
#  at each timestep.

shortwave:     &SWRAD swrad_daily
#shortwave:      &SWRAD swrad

metadata:

  #########################
  ###  State Variables  ###
  #########################

  - variable:       ocean_time                                       # Input/Output
    standard_name:  time
    long_name:      time since initialization
    units:          second                                           # [s]
    field:          time
    time:           ocean_time
    index_code:     idtime
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       zeta                                             # Input/Output
    standard_name:  sea_surface_height_above_geopotential_datum
    long_name:      free-surface
    units:          meter                                            # [m]
    field:          free-surface
    time:           ocean_time
    index_code:     idFsur
    type:           r2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       ubar                                             # Input/Output
    standard_name:  barotropic_sea_water_x_velocity
    long_name:      vertically integrated u-momentum component
    units:          meter second-1                                   # [m/s]
    field:          u-barotropic
    time:           ocean_time
    index_code:     idUbar
    type:           u2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       vbar                                             # Input/Output
    standard_name:  barotropic_sea_water_y_velocity
    long_name:      vertically integrated v-momentum component
    units:          meter second-1                                   # [m/s]
    field:          v-barotropic
    time:           ocean_time
    index_code:     idVbar
    type:           v2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       ubar_eastward                                    # Output
    standard_name:  barotropic_sea_water_eastward_velocity
    long_name:      eastward vertically integrated momentum component at RHO-points
    units:          meter second-1                                   # [m/s]
    field:          u-barotropic
    time:           ocean_time
    index_code:     idu2dE
    type:           r2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       vbar_northward                                   # Output
    standard_name:  barotropic_sea_water_northward_velocity
    long_name:      northward vertically integrated momentum component at RHO-points
    units:          meter second-1                                   # [m/s]
    field:          v-barotropic
    time:           ocean_time
    index_code:     idv2dN
    type:           r2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       u                                                # Input/Output
    standard_name:  sea_water_x_velocity
    long_name:      u-momentum component
    units:          meter second-1                                   # [m/s]
    field:          u-velocity
    time:           ocean_time
    index_code:     idUvel
    type:           u3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       v                                                # Input/Output
    standard_name:  sea_water_y_velocity
    long_name:      v-momentum component
    units:          meter second-1                                   # [m/s]
    field:          v-velocity
    time:           ocean_time
    index_code:     idVvel
    type:           v3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       u_eastward                                       # Output
    standard_name:  eastward_sea_water_velocity
    long_name:      eastward momentum component at RHO-points
    units:          meter second-1                                   # [m/s]
    field:          u-eastward
    time:           ocean_time
    index_code:     idu3dE
    type:           r3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       v_northward                                      # Output
    standard_name:  northward_sea_water_velocity
    long_name:      northward momentum component at RHO-points
    units:          meter second-1                                   # [m/s]
    field:          v-northward
    time:           ocean_time
    index_code:     idv3dN
    type:           r3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       u_sur                                            # Output
    standard_name:  sea_water_surface_x_velocity
    long_name:      surface u-momentum component
    units:          meter second-1                                   # [m/s]
    field:          surface u-velocity
    time:           ocean_time
    index_code:     idUsur
    type:           u2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       v_sur                                            # Output
    standard_name:  sea_water_surface_y_velocity
    long_name:      surface v-momentum component
    units:          meter second-1                                   # [m/s]
    field:          surface v-velocity
    time:           ocean_time
    index_code:     idVsur
    type:           v2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       u_sur_eastward                                   # Output
    standard_name:  surface_eastward_sea_water_velocity
    long_name:      surface eastward momentum component at RHO-points
    units:          meter second-1                                   # [m/s]
    field:          surface u-eastward
    time:           ocean_time
    index_code:     idUsuE
    type:           r2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       v_sur_northward                                  # Output
    standard_name:  surface_northward_sea_water_velocity
    long_name:      surface northward momentum component at RHO-points
    units:          meter second-1                                   # [m/s]
    field:          surface v-northward
    time:           ocean_time
    index_code:     idVsuN
    type:           r2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       u_slice                                          # Output
    standard_name:  sea_water_surface_x_velocity
    long_name:      u-momentum component
    units:          meter second-1                                   # [m/s]
    field:          u-velocity constant depth slice
    time:           ocean_time
    index_code:     idUzsl
    type:           u3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       v_slice                                          # Output
    standard_name:  sea_water_surface_y_velocity
    long_name:      v-momentum component
    units:          meter second-1                                   # [m/s]
    field:          v-velocity constant depth slice
    time:           ocean_time
    index_code:     idVzsl
    type:           v3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       u_eastward_slice                                 # Output
    standard_name:  eastward_sea_water_velocity
    long_name:      eastward momentum component at RHO-points
    units:          meter second-1                                   # [m/s]
    field:          u-eastward constant depth slice
    time:           ocean_time
    index_code:     idUzsE
    type:           r3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       v_northward_slice                                # Output
    standard_name:  northward_sea_water_velocity
    long_name:      northward momentum component at RHO-points
    units:          meter second-1                                   # [m/s]
    field:          v-northward constant depth slice
    time:           ocean_time
    index_code:     idVzsN
    type:           r3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       w                                                # Output
    standard_name:  upward_sea_water_velocity
    long_name:      vertical momentum component
    units:          meter second-1                                   # [m/s]
    time:           ocean_time
    field:          w-velocity
    index_code:     idWvel
    type:           w3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       omega                                            # Output
    standard_name:  upward_sea_water_omega_velocity
    long_name:      S-coordinate vertical momentum component
    units:          meter3 second-1                                  # [m3/s]
    field:          omega
    time:           ocean_time
    index_code:     idOvel
    type:           w3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       omega_implicit                                   # Output
    standard_name:  upward_sea_water_omega_implicit_velocity
    long_name:      S-coordinate vertical implicit momentum component
    units:          meter3 second-1                                  # [m3/s]
    field:          omega
    time:           ocean_time
    index_code:     idOvil
    type:           w3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       rho                                              # Output
    standard_name:  sea_water_density_anomaly
    long_name:      density anomaly
    units:          kilogram meter-3                                 # [m3/s]
    field:          density
    time:           ocean_time
    index_code:     idDano
    type:           r3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       temp                                             # Input/Output
    standard_name:  sea_water_potential_temperature
    long_name:      potential temperature
    units:          Celsius                                          # [Celsius]
    field:          temperature
    time:           ocean_time
    index_code:     idTvar(itemp)
    type:           r3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       salt                                             # Input/Output
    standard_name:  sea_water_practical_salinity
    long_name:      salinity
    units:          nondimensional                                   # [PSS]
    field:          salinity
    time:           ocean_time
    index_code:     idTvar(isalt)
    type:           r3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       temp_sur                                         # Output
    standard_name:  sea_surface_temperature
    long_name:      surface potential temperature
    units:          Celsius                                          # [Celsius]
    field:          surface temperature
    time:           ocean_time
    index_code:     idsurT(itemp)
    type:           r2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       salt_sur                                         # Output
    standard_name:  sea_surface_salinity
    long_name:      surface salinity
    units:          nondimensional                                   # [PSS]
    field:          surface salinity
    time:           ocean_time
    index_code:     idsurT(isalt)
    type:           r2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       temp_slice                                       # Output
    standard_name:  sea_water_potential_temperature
    long_name:      potential temperature
    units:          Celsius                                          # [Celsius]
    field:          temperature constant depth slices
    time:           ocean_time
    index_code:     idzslT(itemp)
    type:           r3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       salt_slice                                       # Output
    standard_name:  sea_water_practical_salinity
    long_name:      salinity
    units:          nondimensional                                   # [PSS]
    field:          salinity constant depth slices
    time:           ocean_time
    index_code:     idzslT(isalt)
    type:           r3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  #######################
  ###  Grid Geometry  ###
  #######################

  - variable:       angle                                            # Input
    standard_name:  grid_angle_of_rotation_from_east_to_y
    long_name:      angle between XI-axis and EAST
    units:          radians                                          # [rafians]
    field:          angle
    time:           nulvar
    index_code:     idangR
    type:           r2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       bath                                             # Input/Output
    standard_name:  sea_floor_depth
    long_name:      time-dependent bathymetry
    units:          meter                                            # [m; positive]
    field:          bathymetry
    time:           ocean_time
    index_code:     idbath
    type:           r2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       f                                                # Input
    standard_name:  coriolis_parameter
    long_name:      Coriolis parameter
    units:          second-1                                         # [1/s]
    field:          coriolis
    time:           nulvar
    index_code:     idfcor
    type:           r2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       h                                                # Input
    standard_name:  sea_floor_depth
    long_name:      time-independent bathymetry
    units:          meter                                            # [m; positive]
    field:          bathymetry
    time:           nulvar
    index_code:     idtopo
    type:           r2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       lat_psi                                          # Input
    standard_name:  grid_latitude_at_cell_corners
    long_name:      latitude of PSI-points
    units:          degree_north                                     # [degree_north]
    field:          lat_psi
    time:           nulvar
    index_code:     idLatP
    type:           p2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       lat_rho                                          # Input
    standard_name:  grid_latitude_at_cell_center
    long_name:      latitude of RHO-points
    units:          degree_north                                     # [degree_north]
    field:          lat_rho
    time:           nulvar
    index_code:     idLatR
    type:           r2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       lat_u                                            # Input
    standard_name:  grid_latitude_at_cell_y_edges
    long_name:      latitude of U-points
    units:          degree_north                                     # [degree_north]
    field:          lat_u
    time:           nulvar
    index_code:     idLatU
    type:           u2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       lat_v                                            # Input
    standard_name:  grid_latitude_at_cell_x_edges
    long_name:      latitude of V-points
    units:          degree_north                                     # [degree_north]
    field:          lat_v
    time:           nulvar
    index_code:     idLatV
    type:           v2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       lon_psi                                          # Input
    standard_name:  grid_longitude_at_cell_corners
    long_name:      longitude of PSI-points
    units:          degree_east                                      # [degree_east]
    field:          lon_psi
    time:           nulvar
    index_code:     idLonP
    type:           p2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       lon_rho                                          # Input
    standard_name:  grid_longitude_at_cell_center
    long_name:      longitude of RHO-points
    units:          degree_east                                      # [degree_east]
    field:          lon_rho
    time:           nulvar
    index_code:     idLonR
    type:           r2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       lon_u                                            # Input
    standard_name:  grid_longitude_at_cell_y_edges
    long_name:      longitude of U-points
    units:          degree_east                                      # [degree_east]
    field:          lon_u
    time:           nulvar
    index_code:     idLonU
    type:           u2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       lon_v                                            # Input
    standard_name:  grid_longitude_at_cell_x_edges
    long_name:      longitude of V-points
    units:          degree_east                                      # [degree_east]
    field:          lon_v
    time:           nulvar
    index_code:     idLonV
    type:           v2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       mask_psi                                         # Input
    standard_name:  land_sea_mask_at_cell_corners
    long_name:      mask on PSI-points
    units:          nondimensional
    field:          mask_psi
    time:           nulvar
    index_code:     idmskP
    type:           p2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       mask_rho                                         # Input
    standard_name:  land_sea_mask_at_cell_center
    long_name:      mask on RHO-points
    units:          nondimensional
    field:          mask_rho
    time:           nulvar
    index_code:     idmskR
    type:           r2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       mask_u                                           # Input
    standard_name:  land_sea_mask_at_cell_y_edges
    long_name:      mask on U-points
    units:          nondimensional
    field:          mask_u
    time:           nulvar
    index_code:     idmskU
    type:           u2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       mask_v                                           # Input
    standard_name:  land_sea_mask_at_cell_x_edges
    long_name:      mask on V-points
    units:          nondimensional
    field:          mask_v
    time:           nulvar
    index_code:     idmskV
    type:           v2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       pm                                               # Input
    standard_name:  inverse_grid_x_spacing
    long_name:      curvilinear coordinate metric in XI
    units:          meter-1                                          # [1/m]
    field:          pm
    time:           nulvar
    index_code:     idpmdx
    type:           r2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       pn                                               # Input
    standard_name:  inverse_grid_y_spacing
    long_name:      curvilinear coordinate metric in ETA
    units:          meter-1                                          # [1/m]
    field:          pn
    time:           nulvar
    index_code:     idpndy
    type:           r2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       scope_rho                                        # Input
    standard_name:  adjoint_sensitivity_scope_mask_at_cell_center
    long_name:      adjoint sensitivity spatial scope on RHO-points
    units:          nondimensional
    field:          scope_rho
    time:           nulvar
    index_code:     idscoR
    type:           r2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       scope_u                                          # Input
    standard_name:  adjoint_sensitivity_scope_mask_at_cell_y_edges
    long_name:      adjoint sensitivity spatial scope on U-points
    units:          nondimensional
    field:          scope_u
    time:           nulvar
    index_code:     idscoU
    type:           u2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       scope_v                                          # Input
    standard_name:  adjoint_sensitivity_scope_mask_at_cell_x_edges
    long_name:      adjoint sensitivity spatial scope on V-points
    units:          nondimensional
    field:          scope_v
    time:           nulvar
    index_code:     idscoV
    type:           v2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       x_psi                                            # Input
    standard_name:  grid_x_location_at_cell_corners
    long_name:      x-locations of PSI-points
    units:          meter                                            # [m]
    field:          Xp
    time:           nulvar
    index_code:     idXgrP
    type:           p2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       x_rho                                            # Input
    standard_name:  grid_x_location_at_cell_center
    long_name:      x-locations of RHO-points
    units:          meter                                            # [m]
    field:          Xr
    time:           nulvar
    index_code:     idXgrR
    type:           r2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       x_u                                              # Input
    standard_name:  grid_x_location_at_cell_y_edges
    long_name:      x-locations of U-points
    units:          meter                                            # [m]
    field:          Xu
    time:           nulvar
    index_code:     idXgrU
    type:           u2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       x_v                                              # Input
    standard_name:  grid_x_location_at_cell_x_edges
    long_name:      x-locations of V-points
    units:          meter                                            # [m]
    field:          Xv
    time:           nulvar
    index_code:     idXgrV
    type:           v2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       y_psi                                            # Input
    standard_name:  grid_y_location_at_cell_corners
    long_name:      y-locations of PSI-points
    units:          meter                                            # [m]
    field:          Yp
    time:           nulvar
    index_code:     idYgrP
    type:           p2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       y_rho                                            # Input
    standard_name:  grid_y_location_at_cell_center
    long_name:      y-locations of RHO-points
    units:          meter                                            # [m]
    field:          Yr
    time:           nulvar
    index_code:     idYgrR
    type:           r2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       y_u                                              # Input
    standard_name:  grid_y_location_at_cell_y_edges
    long_name:      y-locations of U-points
    units:          meter                                            # [m]
    field:          Yu
    time:           nulvar
    index_code:     idYgrU
    type:           u2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       y_v                                              # Input
    standard_name:  grid_y_location_at_cell_x_edges
    long_name:      y-locations of V-points
    units:          meter                                            # [m]
    field:          Yv
    time:           nulvar
    index_code:     idYgrV
    type:           v2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       Hz                                               # Output
    standard_name:  model_level_thickness_at_cell_center
    long_name:      level thickness of RHO-points
    units:          meter                                            # [m]
    field:          Hz
    time:           ocean_time
    index_code:     idHzdz
    type:           r3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       z_rho                                            # Output
    standard_name:  model_level_depth_at_cell_center
    long_name:      depth of RHO-points
    units:          meter                                            # [m; negative]
    field:          Zr
    time:           ocean_time
    index_code:     idpthR
    type:           r3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       z_u                                              # Output
    standard_name:  model_level_depth_at_cell_y_edges
    long_name:      depth of U-points
    units:          meter                                            # [m; negative]
    field:          Zu
    time:           ocean_time
    index_code:     idpthU
    type:           u3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       z_v                                              # Output
    standard_name:  model_level_depth_at_cell_x_edges
    long_name:      depth of V-points
    units:          meter                                            # [m; negative]
    field:          Zv
    time:           ocean_time
    index_code:     idpthV
    type:           v3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       z_w                                              # Output
    standard_name:  model_level_depth_at_cell_top_face
    long_name:      depth of W-points                                # [m; negative]
    units:          meter
    field:          Zw
    time:           ocean_time
    index_code:     idpthW
    type:           w3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  #######################
  ###  Wet/dry masks  ###
  #######################

  - variable:       wetdry_mask_psi                                  # Input/Output
    standard_name:  wet_dry_mask_at_cell_corners
    long_name:      wet/dry mask on PSI-points
    units:          nondimensional
    field:          wet-dry psi-mask
    time:           ocean_time
    index_code:     idPwet
    type:           p2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       wetdry_mask_rho                                  # Input/Output
    standard_name:  wet_dry_mask_at_cell_center
    long_name:      wet/dry mask on RHO-points
    units:          nondimensional
    field:          wet-dry rho-mask
    time:           ocean_time
    index_code:     idRwet
    type:           r2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       wetdry_mask_u                                    # Input/Output
    standard_name:  wet_dry_mask_at_cell_y_edges
    long_name:      wet/dry mask on U-points
    units:          nondimensional
    field:          wet-dry u-mask
    time:           ocean_time
    index_code:     idUwet
    type:           u2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       wetdry_mask_v                                    # Input/Output
    standard_name:  wet_dry_mask_at_cell_x_edges
    long_name:      wet/dry mask on V-points
    units:          nondimensional
    field:          wet-dry v-mask
    time:           ocean_time
    index_code:     idVwet
    type:           v2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  #############################
  ###  Detiding Parameters  ###
  #############################

  - variable:       CosW                                             # Input/Output
    standard_name:  cosine_of_tidal_period_times_time
    long_name:      time-accumulated COS(omega(k)t)
    units:          radians                                          # [radians]
    field:          COS(omega(k)t)
    time:           tide_period
    index_code:     idCosW
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       SinW                                             # Input/Output
    standard_name:  sine_of_tidal_period_times_time
    long_name:      time-accumulated SIN(omega(k)t)
    units:          radians                                          # [radians]
    field:          SIN(omega(k)t)
    time:           tide_period
    index_code:     idSinW
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       CosWCosW                                         # Input/Output
    standard_name:  square_of_cosine_of_tidal_period_times_time
    long_name:      time-accumulated squared COS(omega(k)t) matrix
    units:          radians                                          # [radians]
    field:          squared COS(omega(k)t)
    time:           tide_period
    index_code:     idCos2
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       SinWSinW                                         # Input/Output
    standard_name:  square_of_sine_of_tidal_period_times_time
    long_name:      time-accumulated squared SIN(omega(k)t) matrix
    units:          radians                                          # [radians]
    field:          squared SIN(omega(k)t)
    time:           tide_period
    index_code:     idSin2
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       SinWCosW                                         # Input/Output
    standard_name:  product_of_sine_and_cosine_of_tidal_period_times_time
    long_name:      time-accumulated SIN(omega(k)t) COS(omega(l)t) matrix
    units:          radians                                          # [radians]
    field:          SIN(omega(k)t) COS(omega(k)t)
    time:           tide_period
    index_code:     idSWCW
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  ###############################################
  ###  Harmonics and Detided State Variables  ###
  ###############################################

  - variable:       zeta_tide                                        # Input/Output
    standard_name:  sea_surface_elevation_anomaly_per_tide_constituent
    long_name:      time-accumulated free-surface tide harmonics
    units:          meter                                            # [m]
    field:          free-surface harmonics
    time:           ocean_time
    index_code:     idFsuH
    type:           r2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       zeta_detided                                     # Output
    standard_name:  detided_sea_surface_elevation_anomaly
    long_name:      detided free-surface
    units:          meter                                            # [m]
    field:          detided free-surface
    time:           ocean_time
    index_code:     idFsuD
    type:           r2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       ubar_tide                                        # Input/Output
    standard_name:  barotropic_sea_water_x_velocity_per_tide_constituent
    long_name:      time-accumulated 2D u-momentum tide harmonics
    units:          meter second-1                                   # [m/s]
    field:          u-barotropic harmonics
    time:           ocean_time
    index_code:     idu2dH
    type:           u2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       ubar_detided                                     # Output
    standard_name:  detided_barotropic_sea_water_x_velocity
    long_name:      detided 2D u-momentum
    units:          meter second-1                                   # [m/s]
    field:          detided u-barotropic
    time:           ocean_time
    index_code:     idu2dD
    type:           u2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       vbar_tide                                        # Input/Output
    standard_name:  barotropic_sea_water_y_velocity_per_tide_constituent
    long_name:      time-accumulated 2D v-momentum tide harmonics
    units:          meter second-1                                   # [m/s]
    field:          v-barotropic harmonics
    time:           ocean_time
    index_code:     idv2dH
    type:           v2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       vbar_detided                                     # Output
    standard_name:  detided_barotropic_sea_water_y_velocity
    long_name:      detided 2D v-momentum
    units:          meter second-1                                   # [m/s]
    field:          detided v-barotropic
    time:           ocean_time
    index_code:     idv2dD
    type:           v2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       u_tide                                           # Input/Output
    standard_name:  sea_water_x_velocity_per_tide_constituent
    long_name:      time-accumulated 3D u-momentum tide harmonics
    units:          meter second-1                                   # [m/s]
    field:          u-velocity harmonics
    time:           ocean_time
    index_code:     idu3dH
    type:           u3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       u_detided                                        # Output
    standard_name:  detided_sea_water_x_velocity
    long_name:      detided 3D u-momentum
    units:          meter second-1                                   # [m/s]
    field:          detided u-velocity
    time:           ocean_time
    index_code:     idu3dD
    type:           u3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       v_tide                                           # Input/Output
    standard_name:  sea_water_y_velocity_per_tide_constituent
    long_name:      time-accumulated 3D v-momentum tide harmonics
    units:          meter second-1                                   # [m/s]
    field:          v-velocity harmonics
    time:           ocean_time
    index_code:     idv3dH
    type:           v3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       v_detided                                        # Output
    standard_name:  detided_sea_water_y_velocity
    long_name:      detided 3D v-momentum
    units:          meter second-1                                   # [m/s]
    field:          detided v-velocity
    time:           ocean_time
    index_code:     idv3dD
    type:           v3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       temp_tide                                        # Input/Output
    standard_name:  sea_water_potential_temperature_per_tide_constituent
    long_name:      time-accumulated potential temperature tide harmonics
    units:          Celsius                                          # [Celsius]
    field:          temperature harmonics
    time:           ocean_time
    index_code:     idTrcH(itemp)
    type:           r3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       temp_detided                                     # Output
    standard_name:  detided_sea_water_potential_temperature
    long_name:      detided potential temperature
    units:          Celsius                                          # [Celsius]
    field:          detided temperature
    time:           ocean_time
    index_code:     idTrcD(itemp)
    type:           r3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       salt_tide                                        # Input/Output
    standard_name:  sea_water_practical_salinity_per_tide_constituent
    long_name:      time-accumulated salinity tide harmonics
    units:          nondimensional                                   # [PSS]
    field:          salinity harmonics
    time:           ocean_time
    index_code:     idTrcH(isalt)
    type:           r3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       salt_detided                                     # Output
    standard_name:  detided_sea_water_practical_salinity
    long_name:      detided salinity
    units:          nondimensional                                   # [PSS]
    field:          detided salinity
    time:           ocean_time
    index_code:     idTrcD(isalt)
    type:           r3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  ###################################
  ###  Momentum Stress Variables  ###
  ###################################

  - variable:       sustr                                            # Input/Output
    standard_name:  surface_downward_x_stress
    long_name:      surface u-momentum stress
    units:          newton meter-2                                   # Input:  [N/m2]
    field:          wind x-stress                                    # [m2/s2]
    time:           sms_time                                         # Output: [N/m2]
    index_code:     idUsms
    type:           u2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       svstr                                            # Input/Output
    standard_name:  surface_downward_y_stress
    long_name:      surface v-momentum stress
    units:          newton meter-2                                   # Input:  [N/m2]
    field:          wind y-stress                                    # [m2/s2]
    time:           sms_time                                         # Output: [N/m2]
    index_code:     idVsms
    type:           v2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       bustr                                            # Output
    standard_name:  sea_bottom_upward_x_stress
    long_name:      bottom u-momentum stress
    units:          newton meter-2                                   # [m2/s2]
    field:          bottom x-stress                                  # Output: [N/m2]
    time:           ocean_time
    index_code:     idUbms
    type:           u2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       bvstr                                            # Output
    standard_name:  sea_bottom_upward_y_stress
    long_name:      bottom v-momentum stress
    units:          newton meter-2                                   # [m2/s2]
    field:          bottom y-stress                                  # Output: [N/m2]
    time:           ocean_time
    index_code:     idVbms
    type:           v2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       bustrc                                           # Output
    standard_name:  sea_bottom_upward_x_stress_due_to_current
    long_name:      current-induced, bottom u-momentum stress
    units:          newton meter-2                                   # [m2/s2]
    field:          bottom current x-stress                          # Output: [N/m2]
    time:           ocean_time
    index_code:     idUbrs
    type:           r2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       bvstrc                                           # Output
    standard_name:  sea_bottom_upward_y_stress_due_to_current
    long_name:      current-induced, bottom v-momentum stress
    units:          newton meter-2                                   # [m2/s2]
    field:          bottom current y-stress                          # Output: [N/m2]
    time:           ocean_time
    index_code:     idVbrs
    type:           idVbrs
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       bustrw                                           # Output
    standard_name:  sea_bottom_upward_x_stress_due_to_waves
    long_name:      wind-induced, bottom u-momentum stress
    units:          newton meter-2                                   # [m2/s2]
    field:          bottom wave x-stress                             # Output: [N/m2]
    time:           ocean_time
    index_code:     idUbws
    type:           r2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       bvstrw                                           # Output
    standard_name:  sea_bottom_upward_y_stress_due_to_waves
    long_name:      wind-induced, bottom v-momentum stress
    units:          newton meter-2                                   # [m2/s2]
    field:          bottom wave y-stress                             # Output: [N/m2]
    time:           ocean_time                                       # Output: [N/m2]
    index_code:     idVbws
    type:           r2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       bustrcwmax                                       # Output
    standard_name:  maximum_sea_bottom_upward_x_stress_due_to_waves_and_current
    long_name:      maximum wind and current, bottom u-wave stress
    units:          newton meter-2                                   # [m2/s2]
    field:          max wind-current bottom wave x-stress            # Output: [N/m2]
    time:           ocean_time
    index_code:     idUbcs
    type:           u2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       bvstrcwmax                                       # Output
    standard_name:  maximum_sea_bottom_upward_y_stress_due_to_waves_and_current
    long_name:      maximum wind and current, bottom v-wave stress
    units:          newton meter-2                                   # [m2/s2]
    field:          max wind-current bottom wave y-stress            # Output: [N/m2]
    time:           ocean_time
    index_code:     idVbcs
    type:           v2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       Ubot                                             # Output
    standard_name:  sea_bed_orbital_x_velocity_due_to_waves
    long_name:      wind-induced, bed wave orbital u-velocity
    units:          meter second-1                                   # [m/s]
    field:          bed wave u-velocity
    time:           ocean_time
    index_code:     idUbot
    type:           r2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       Vbot                                             # Output
    standard_name:  sea_bed_orbital_y_velocity_due_to_waves
    long_name:      wind-induced, bed wave orbital v-velocity
    units:          meter second-1                                   # [m/s]
    field:          bed wave v-velocity
    time:           ocean_time
    index_code:     idVbot
    type:           r2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       Ur                                               # Output
    standard_name:  sea_water_above_bed_x_velocity
    long_name:      bottom u-momentum above bed
    units:          meter second-1                                   # [m/s]
    field:          bottom u-velocity
    time:           ocean_time
    index_code:     idUbur
    type:           r2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       Vr                                               # Output
    standard_name:  sea_water_above_bed_y_velocity
    long_name:      bottom v-momentum above bed
    units:          meter second-1                                   # [m/s]
    field:          bottom v-velocity
    time:           ocean_time
    index_code:     idVbvr
    type:           r2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  ###############################
  ###  Tracer Flux Variables  ###
  ###############################

  - variable:       shflux                                           # Input/Output
    standard_name:  surface_downward_heat_flux_in_sea_water
    long_name:      surface net heat flux
    units:          watt meter-2                                     # Input:  [Watt/m2]
    field:          surface heat flux                                # [Celsius m/s]
    time:           shf_time                                         # Output: [Watt/m2]
    index_code:     idTsur(itemp)
    type:           r2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       dQdSST                                           # Input
    standard_name:  derivative_of_surface_downward_heat_flux_wrt_sea_surface_temperature
    long_name:      surface net heat flux sensitivity to SST
    units:          watt meter-2 Celsius-1                           # Input:  [Watt/m2/Celsius]
    field:          d(Q)/d(SST)                                      # [Celsius m/s]
    time:           sst_time
    index_code:     iddQdT
    type:           r2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       ssflux                                           # Output
    standard_name:  salt_flux_into_sea_water
    long_name:      kinematic surface net salt flux, SALT (E-P)/rhow
    units:          meter second-1                                   # [PSS m/s]
    field:          surface net salt flux
    time:           ssf_time
    index_code:     idTsur(isalt)
    type:           r2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       swflux                                           # Input
    standard_name:  surface_upward_water_flux_from_file
    long_name:      data surface net freshwater flux, (E-P)/rhow
    units:          meter second-1                                   # Input:  [m/s]
    field:          surface net freshwater flux                      # [PSS m/s]
    time:           swf_time
    index_code:     idsfwf
    type:           r2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       EminusP                                          # Input/Output
    standard_name:  surface_upward_water_flux
    long_name:      modeled surface net freshwater flux, (E-P)/rhow
    units:          meter second-1                                   # computed by NLM ROMS
    field:          E-P                                              # bulk_flux.F or coupling
    time:           ocean_time
    index_code:     idEmPf
    type:           r2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       bhflux                                           # Input
    standard_name:  sea_bottom_upward_heat_flux
    long_name:      bottom net heat flux
    units:          watt meter-2                                     # Input:  [Watt/m2]
    field:          bottom heat flux                                 # [Celsius m/s]
    time:           bhf_time
    index_code:     idTbot(itemp)
    type:           r2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       bwflux                                           # Input
    standard_name:  sea_bottom_upward_water_flux
    long_name:      bottom net freshwater flux
    units:          meter second-1                                   # Input:  [m/s]
    field:          bottom water flux                                # [PSS m/s]
    time:           bwf_time
    index_code:     idTbot(isalt)
    type:           r2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  ####################################################
  ###  Vertical Mixing Parameterization Variables  ###
  ####################################################

  - variable:       tke                                              # Output
    standard_name:  turbulent_kinetic_energy_due_to_vertical_mixing_of_sea_water
    long_name:      turbulent kinetic energy
    units:          meter2 second-2                                  # [m2/s2]
    field:          TKE
    time:           ocean_time
    index_code:     idMtke
    type:           w3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       gls                                              # Output
    standard_name:  turbulent_mixing_generic_length_of_sea_water
    long_name:      turbulent generic length scale
    units:          meter3 second-2                                  # [m3/s2]
    field:          GLS
    time:           ocean_time
    index_code:     idMtls
    type:           w3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       Lscale                                           # Output
    standard_name:  turbulent_length_scale_due_to_vertical_mixing_of_sea_water
    long_name:      vertical mixing turbulent length scale
    units:          meter                                            # [m]
    field:          Lscale
    time:           ocean_time
    index_code:     idVmLS
    type:           w3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       AKv                                              # Input/Output
    standard_name:  vertical_viscosity_coefficient_of_sea_water
    long_name:      vertical viscosity coefficient
    units:          meter2 second-1                                  # [m2/s]
    field:          AKv
    time:           ocean_time
    index_code:     idVvis
    type:           w3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       AKt                                              # Input/Output
    standard_name:  vertical_diffusion_coefficient_of_temperature_in_sea_water
    long_name:      temperature vertical diffusion coefficient
    units:          meter2 second-1                                  # [m2/s]
    field:          AKt
    time:           ocean_time
    index_code:     idTdif
    type:           w3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       AKs                                              # Input/Output
    standard_name:  vertical_diffusion_coefficient_of_salinity_in_sea_water
    long_name:      salinity vertical diffusion coefficient
    units:          meter2 second-1                                  # [m2/s]
    field:          AKs
    time:           ocean_time
    index_code:     idSdif
    type:           w3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       AKk                                              # Input/Output
    standard_name:  vertical_diffusion_coefficient_of_turbulent_kinetic_energy_of_sea_water
    long_name:      Turbulent kinetic energy vertical diffusion coefficient
    units:          meter2 second-1                                  # [m2/s]
    field:          AKk
    time:           ocean_time
    index_code:     idVmKK
    type:           w3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       AKp                                              # Input/Output
    standard_name:  vertical_diffusion_coefficient_of_turbulent_length_scale_of_sea_water
    long_name:      Turbulent length scale vertical diffusion coefficient
    units:          meter2 second-1                                  # [m2/s]
    field:          AKp
    time:           ocean_time
    index_code:     idVmKP
    type:           w3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       ghat_temp                                        # Input/Output
    standard_name:  nonlocal_transport_of_temperature_in_sea_water
    long_name:      potential temperature nonlocal transport
    units:          nondimensional                                   # [nondimensional]
    field:          Ghat(temp)
    time:           ocean_time
    index_code:     idGhat(itemp)
    type:           w3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       ghat_salt                                        # Input/Output
    standard_name:  nonlocal_transport_of_salinity_in_sea_water
    long_name:      salinity nonlocal transport
    units:          nondimensional                                   # {nondimensional]
    field:          Ghat(salt)
    time:           ocean_time
    index_code:     idGhat(isalt)
    type:           w3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  ####################################
  ###  Lateral Boundary Variables  ###
  ####################################

  - variable:       zeta_west                                        # Input
    standard_name:  sea_surface_elevation_anomaly
    long_name:      free-surface western boundary condition
    units:          meter                                            # [m]
    field:          free-surface western-boundary
    time:           zeta_time
    index_code:     idZbry(iwest)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       zeta_east                                        # Input
    standard_name:  sea_surface_elevation_anomaly
    long_name:      free-surface eastern boundary condition
    units:          meter                                            # [m]
    field:          free-surface eastern-boundary
    time:           zeta_time
    index_code:     idZbry(ieast)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       zeta_south                                       # Input
    standard_name:  sea_surface_elevation_anomaly
    long_name:      free-surface southern boundary condition
    units:          meter                                            # [m]
    field:          free-surface southern-boundary
    time:           zeta_time
    index_code:     idZbry(isouth)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       zeta_north                                       # Input
    standard_name:  sea_surface_elevation_anomaly
    long_name:      free-surface northern boundary condition
    units:          meter                                            # [m]
    field:          free-surface northern-boundary
    time:           zeta_time
    index_code:     idZbry(inorth)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       ubar_west                                        # Input
    standard_name:  barotropic_sea_water_x_velocity
    long_name:      2D u-momentum western boundary condition
    units:          meter second-1                                   # [m/s]
    field:          u-barotropic western-boundary
    time:           v2d_time
    index_code:     idU2bc(iwest)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       ubar_east                                        # Input
    standard_name:  barotropic_sea_water_x_velocity
    long_name:      2D u-momentum eastern boundary condition
    units:          meter second-1                                   # [m/s]
    field:          u-barotropic eastern-boundary
    time:           v2d_time
    index_code:     idU2bc(ieast)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       ubar_south                                       # Input
    standard_name:  barotropic_sea_water_x_velocity
    long_name:      2D u-momentum southern boundary condition
    units:          meter second-1                                   # [m/s]
    field:          u-barotropic southern-boundary
    time:           v2d_time
    index_code:     idU2bc(isouth)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       ubar_north                                       # Input
    standard_name:  barotropic_sea_water_x_velocity
    long_name:      2D u-momentum northern boundary condition
    units:          meter second-1                                   # [m/s]
    field:          u-barotropic northern-boundary
    time:           v2d_time
    index_code:     idU2bc(inorth)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       vbar_west                                        # Input
    standard_name:  barotropic_sea_water_y_velocity
    long_name:      2D v-momentum western boundary condition
    units:          meter second-1                                   # [m/s]
    field:          v-barotropic western-boundary
    time:           v2d_time
    index_code:     idV2bc(iwest)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       vbar_east                                        # Input
    standard_name:  barotropic_sea_water_y_velocity
    long_name:      2D v-momentum eastern boundary condition
    units:          meter second-1                                   # [m/s]
    field:          v-barotropic eastern-boundary
    time:           v2d_time
    index_code:     idV2bc(ieast)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       vbar_south                                       # Input
    standard_name:  barotropic_sea_water_y_velocity
    long_name:      2D v-momentum southern boundary condition
    units:          meter second-1                                   # [m/s]
    field:          v-barotropic southern-boundary
    time:           v2d_time
    index_code:     idV2bc(isouth)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       vbar_north                                       # Input
    standard_name:  barotropic_sea_water_y_velocity
    long_name:      2D v-momentum northern boundary condition
    units:          meter second-1                                   # [m/s]
    field:          v-barotropic northern-boundary
    time:           v2d_time
    index_code:     idV2bc(inorth)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       u_west                                           # Input
    standard_name:  sea_water_x_velocity
    long_name:      3D u-momentum western boundary condition
    units:          meter second-1                                   # [m/s]
    field:          u-velocity western-boundary
    time:           v3d_time
    index_code:     idU3bc(iwest)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       u_east                                           # Input
    standard_name:  sea_water_x_velocity
    long_name:      3D u-momentum eastern boundary condition
    units:          meter second-1                                   # [m/s]
    field:          u-velocity eastern-boundary
    time:           v3d_time
    index_code:     idU3bc(ieast)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       u_south                                          # Input
    standard_name:  sea_water_x_velocity
    long_name:      3D u-momentum southern boundary condition
    units:          meter second-1                                   # [m/s]
    field:          u-velocity southern-boundary
    time:           v3d_time
    index_code:     idU3bc(isouth)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       u_north                                          # Input
    standard_name:  sea_water_x_velocity
    long_name:      3D u-momentum northern boundary condition
    units:          meter second-1                                   # [m/s]
    field:          u-velocity northern-boundary
    time:           v3d_time
    index_code:     idU3bc(inorth)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       v_west                                           # Input
    standard_name:  sea_water_y_velocity
    long_name:      3D v-momentum western boundary condition
    units:          meter second-1                                   # [m/s]
    field:          v-velocity western-boundary
    time:           v3d_time
    index_code:     idV3bc(iwest)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       v_east                                           # Input
    standard_name:  sea_water_y_velocity
    long_name:      3D v-momentum eastern boundary condition
    units:          meter second-1                                   # [m/s]
    field:          v-velocity eastern-boundary
    time:           v3d_time
    index_code:     idV3bc(ieast)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       v_south                                          # Input
    standard_name:  sea_water_y_velocity
    long_name:      3D v-momentum southern boundary condition
    units:          meter second-1                                   # [m/s]
    field:          v-velocity southern-boundary
    time:           v3d_time
    index_code:     idV3bc(isouth)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       v_north                                          # Input
    standard_name:  sea_water_y_velocity
    long_name:      3D v-momentum northern boundary condition
    units:          meter second-1                                   # [m/s]
    field:          v-velocity northern-boundary
    time:           v3d_time
    index_code:     idV3bc(inorth)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       temp_west                                        # Input
    standard_name:  sea_water_potential_temperature
    long_name:      temperature western boundary condition
    units:          Celsius                                          # [Celsius]
    field:          temperature western-boundary
    time:           temp_time
    index_code:     idTbry(iwest,itemp)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       temp_east                                        # Input
    standard_name:  sea_water_potential_temperature
    long_name:      temperature eastern boundary condition
    units:          Celsius                                          # [Celsius]
    field:          temperature eastern-boundary
    time:           temp_time
    index_code:     idTbry(ieast,itemp)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       temp_south                                       # Input
    standard_name:  sea_water_potential_temperature
    long_name:      temperature southern boundary condition
    units:          Celsius                                          # [Celsius]
    field:          temperature southern-boundary
    time:           temp_time
    index_code:     idTbry(isouth,itemp)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       temp_north                                       # Input
    standard_name:  sea_water_potential_temperature
    long_name:      temperature northern boundary condition
    units:          Celsius                                          # [Celsius]
    field:          temperature northern-boundary
    time:           temp_time
    index_code:     idTbry(inorth,itemp)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       salt_west                                        # Input
    standard_name:  sea_water_practical_salinity
    long_name:      salinity western boundary condition
    units:          nondimensional                                   # [PSS]
    field:          salinity western-boundary
    time:           salt_time
    index_code:     idTbry(iwest,isalt)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       salt_east                                        # Input
    standard_name:  sea_water_practical_salinity
    long_name:      salinity eastern boundary condition
    units:          nondimensional                                   # [PSS]
    field:          salinity eastern-boundary
    time:           salt_time
    index_code:     idTbry(ieast,isalt)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       salt_south                                       # Input
    standard_name:  sea_water_practical_salinity
    long_name:      salinity southern boundary condition
    units:          nondimensional                                   # [PSS]
    field:          salinity southern-boundary
    time:           salt_time
    index_code:     idTbry(isouth,isalt)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       salt_north                                       # Input
    standard_name:  sea_water_practical_salinity
    long_name:      salinity northern boundary condition
    units:          nondimensional                                   # [PSS]
    field:          salinity northern-boundary
    time:           salt_time
    index_code:     idTbry(inorth,isalt)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  #######################################
  ###  Atmospheric Forcing Variables  ###
  #######################################

  - variable:       Pair                                             # Input
    standard_name:  surface_air_pressure
    long_name:      surface air pressure
    units:          millibar                                         # [millibar]
    field:          surface air pressure
    time:           pair_time
    index_code:     idPair
    type:           r2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       PBLh                                             # Input
    standard_name:  atmosphere_boundary_layer_thickness
    long_name:      atmosphere boundary layer thickness
    units:          m                                                # [m]
    field:          planetary boundary layer height
    time:           pblh_time
    index_code:     idPBLh
    type:           r2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       Tair                                             # Input
    standard_name:  surface_air_temperature
    long_name:      surface air temperature
    units:          Celsius                                          # [Kelvin]
    field:          surface air temperature
    time:           tair_time
    index_code:     idTair
    type:           r2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       Qair                                             # Input
    standard_name:  surface_relative_humidity
    long_name:      surface air relative humidity                    #  relative    or  specific
    units:          percentage                                       # [percentage  or  g/kg    ]
    field:          surface relative humidity
    time:           qair_time
    index_code:     idQair
    type:           r2dvar                                           # relative        specific
    add_offset:     0.0d0
    scale:          0.01d0                                           # 1/100      or   1.0

  - variable:       cloud                                            # Input
    standard_name:  cloud_area_fraction
    long_name:      cloud fraction
    units:          nondimensional                                   # [nondimensional]
    field:          cloud fraction
    time:           cloud_time
    index_code:     idCfra
    type:           r2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       *SWRAD                                           # Input/Output
    standard_name:  net_downward_shortwave_flux_at_sea_water_surface
    long_name:      net solar shortwave radiation flux
    units:          watt meter-2                                     # Input:  [Watt/m2]
    field:          shortwave radiation                              # [Celsius m/s]
    time:           srf_time                                         # Output: [Watt/m2]
    index_code:     idSrad
    type:           r2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       lwrad_down                                       # Input
    standard_name:  surface_downward_longwave_flux
    long_name:      downward longwave radiation flux
    units:          watt meter-2                                     # Input:  [Watt/m2]
    field:          downwelling longwave radiation                   # [Celsius m/s]
    time:           lrf_time
    index_code:     idLdwn
    type:           r2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       lwrad                                            # Input/Output
    standard_name:  surface_net_downward_longwave_flux
    long_name:      net longwave radiation flux
    units:          watt meter-2                                     # Input:  [Watt/m2]
    field:          longwave radiation                               # [Celsius m/s]
    time:           lrf_time                                         # Output: [Watt/m2]
    index_code:     idLrad
    type:           r2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       latent                                           # Output
    standard_name:  surface_upward_latent_heat_flux
    long_name:      net latent heat flux
    units:          watt meter-2                                     # [Celsius m/s]
    field:          latent heat flux                                 # Output: [Watt/m2]
    time:           lhf_time
    index_code:     idLhea
    type:           r2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       sensible                                         # Output
    standard_name:  surface_upward_sensible_heat_flux
    long_name:      net sensible heat flux
    units:          watt meter-2                                     # [Celsius m/s]
    field:          sensible heat flux                               # Output: [Watt/m2]
    time:           shf_time
    index_code:     idShea
    type:           r2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       rain                                             # Input
    standard_name:  precipitation_flux
    long_name:      rain fall rate
    units:          kilogram meter-2 second-1                        # [kg m2/s]
    field:          rain fall
    time:           rain_time
    index_code:     idrain
    type:           r2dvar
    add_offset:     0.0d0
    scale:          1.0d0                                            # 1/rhow (0.001 m3/kg) if m/s

  - variable:       evaporation                                      # Input
    standard_name:  water_evaporation_flux_out_of_sea_water
    long_name:      evaporation rate
    units:          kilogram meter-2 second-1                        # [kg m2/s]
    field:          evaporation flux
    time:           evap_time
    index_code:     idevap
    type:           r2dvar
    add_offset:     0.0d0
    scale:          1.0d0                                            # 1/rhow (0.001 m3/kg) if m/s

  - variable:       Uwind                                            # Input
    standard_name:  surface_x_wind
    long_name:      surface u-wind component
    units:          meter second-1                                   # [m/s]
    field:          u-wind
    time:           wind_time
    index_code:     idUair
    type:           r2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       Vwind                                            # Input
    standard_name:  surface_y_wind
    long_name:      surface v-wind component
    units:          meter second-1                                   # [m/s]
    field:          v-wind
    time:           wind_time
    index_code:     idVair
    type:           r2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       Uwind_eastward                                   # Input
    standard_name:  surface_eastward_wind
    long_name:      surface eastward wind
    units:          meter second-1                                   # [m/s]
    field:          surface eastward wind
    time:           wind_time
    index_code:     idUaiE
    type:           r2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       Vwind_northward                                  # Input
    standard_name:  surface_northward_wind
    long_name:      surface northward wind
    units:          meter second-1                                   # [m/s]
    field:          surface northward wind
    time:           wind_time
    index_code:     idVaiN
    type:           r2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  ################################
  ###  Wave Forcing Variables  ###
  ################################

  - variable:       Dwave                                            # Input
    standard_name:  sea_surface_wind_wave_mean_to_direction
    long_name:      wind-induced mean wave direction
    units:          degrees                                          # [radians]
    field:          Dwave
    time:           wave_time
    index_code:     idWdir
    type:           r2dvar
    add_offset:     0.0d0
    scale:          0.017453292519943295                             # pi/180

  - variable:       Dwavep                                           # Input
    standard_name:  sea_surface_wind_wave_peak_to_direction
    long_name:      wind-induced peak wave direction
    units:          degrees                                          # [radians]
    field:          Dwavep
    time:           wave_time
    index_code:     idWdip
    type:           r2dvar
    add_offset:     0.0d0
    scale:          0.017453292519943295                             # pi/180

  - variable:       Hwave                                            # Input
    standard_name:  sea_surface_wind_wave_significant_height
    long_name:      wind-induced significant wave height
    units:          meter                                            # [m]
    field:          wave height
    time:           wave_time
    index_code:     idWamp
    type:           r2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       Hwave2                                           # Input
    standard_name:  sea_surface_wind_wave_significant_height_squared
    long_name:      wind-induced significant wave height squared
    units:          meter                                            # [m]
    field:          wave height squared
    time:           wave_time
    index_code:     idWam2
    type:           r2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       Lwave                                            # Input
    standard_name:  sea_surface_wind_wave_mean_wavelength
    long_name:      wind-induced wave mean wavelength
    units:          meter                                            # [m]
    field:          mean wavelength
    time:           wave_time
    index_code:     idWlen
    type:           r2dvar
    add_offset:     0.0d0
    scale:          1.0

  - variable:       Lwavep                                           # Input
    standard_name:  sea_surface_wind_wave_peak_wavelength
    long_name:      wind-induced wave peak wavelength
    units:          meter                                            # [m]
    field:          peak wavelength
    time:           wave_time
    index_code:     idWlep
    type:           r2dvar
    add_offset:     0.0d0
    scale:          1.0

  - variable:       Pwave_top                                        # Input
    standard_name:  sea_surface_wind_wave_peak_period
    long_name:      wind-induced peak surface wave period
    units:          second                                           # [s]
    field:          wave peak period
    time:           wave_time
    index_code:     idWptp
    type:           r2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       Pwave_bot                                        # Input
    standard_name:  sea_bottom_wind_wave_period
    long_name:      wind-induced bottom wave period
    units:          second                                           # [s]
    field:          bottom wave period
    time:           wave_time
    index_code:     idWpbt
    type:           r2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       Uwave_rms                                        # Input
    standard_name:  modeled_sea_bottom_wind_wave_orbital_velocity
    long_name:      wind-induced bottom orbital velocity
    units:          meter second-1                                   # [m/s]
    field:          wave orbital velocity
    time:           wave_time
    index_code:     idWorb
    type:           r2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       Dissip_fric                                      # Input
    standard_name:  sea_bottom_wave_dissipation_due_to_friction
    long_name:      wave dissipation
    units:          watts meter-2                                    # [W/m2]
    field:          wave dissipation
    time:           wave_time
    index_code:     idWdif
    type:           r2dvar
    add_offset:     0.0d0
    scale:          0.00097561                                       # 1/rho0

  - variable:       Dissip_break                                     # Input
    standard_name:  sea_surface_wave_dissipation_due_to_breaking
    long_name:      wave dissipation due to breaking
    units:          watts meter-2                                    # [W/2]
    field:          wave breaking percent
    time:           wave_time
    index_code:     idWdib
    type:           r2dvar
    add_offset:     0.0d0
    scale:          0.00097561                                       # 1/rho0

  - variable:       Dissip_wcap                                      # Input
    standard_name:  sea_surface_wave_dissipation_due_to_whitecapping
    long_name:      wave dissipation due to whitecapping
    units:          watts meter-2                                    # [W/m2]
    field:          wave whitecapping
    time:           wave_time
    index_code:     idWdiw
    type:           r2dvar
    add_offset:     0.0d0
    scale:          0.00097561                                       # 1/rho0

  - variable:       Dissip_roller                                    # Input
    standard_name:  sea_surface_wave_roller_dissipation
    long_name:      wave roller dissipation
    units:          watts meter-2                                    # [W/m2]
    field:          wave roller dissipation
    time:           wave_time
    index_code:     idWdis
    type:           r2dvar
    add_offset:     0.0d0
    scale:          0.00097561                                       # 1/rho0

  - variable:       roller_action                                    # Input
    standard_name:  sea_surface_wave_roller_action_density
    long_name:      wave roller action density
    units:          meter3 second-1                                  # [m3/s]
    field:          wave roller action density
    time:           wave_time
    index_code:     idWrol
    type:           r2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       Wave_break                                       # Input
    standard_name:  sea_surface_wave_breaking_percent_fraction
    long_name:      percent wave breaking
    units:          nondimensionsal                                  # []
    field:          wave breaking percent
    time:           wave_time
    index_code:     idWbrk
    type:           r2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       Wave_spread                                      # Input
    standard_name:  sea_surface_wave_directional_spread
    long_name:      wave directional spread
    units:          degrees                                          # [degrees]
    field:          wave directional spread
    time:           wave_time
    index_code:     idWvds
    type:           r2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       Wave_spectrum                                    # Input
    standard_name:  sea_surface_wave_spectrum_peakedness
    long_name:      wave spectrum peakedness
    units:          nondimensional                                   # []
    field:          wave spectrum peakedness
    time:           wave_time
    index_code:     idWvqp
    type:           r2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       uWave                                            # Input/Output
    standard_name:  barotropic_sea_water_wave_x_velocity_from_coupling
    long_name:      coupling vertically integrated u-wave component
    units:          meter second-1                                   # [m/s]
    field:          barotropic u-wave
    time:           ocean_time
    index_code:     idUwav
    type:           r2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       uWave                                            # Input/Output
    standard_name:  barotropic_sea_water_wave_x_velocity_from_coupling
    long_name:      coupling vertically integrated u-wave component
    units:          meter second-1                                   # [m/s]
    field:          barotropic u-wave
    time:           ocean_time
    index_code:     idUwav
    type:           r2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  ###################################################
  ###  Waves Effects on Currents (WEC) Variables  ###
  ###################################################

  - variable:       zetaw                                            # Input
    standard_name:  sea_water_waves_effect_on_currents_quasi_static_sea_level_adjustment
    long_name:      waves effects on currents quasi-static sea level adjustment
    units:          meter                                            # [m]
    field:          WEC quasi-static sea level adjustment
    time:           wave_time
    index_code:     idWztw
    type:           r2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       qsp                                              # Input
    standard_name:  sea_water_waves_effect_on_currents_quasi_static_sea_pressure
    long_name:      waves effect on currents quasi-static sea pressure
    units:          meter                                            # [m]
    field:          WEC quasi-static sea pressure
    time:           wave_time
    index_code:     idWqsp
    type:           r2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       bernoulli_head                                   # Input
    standard_name:  sea_water_waves_effect_on_currents_bernoulli_head_adjustment
    long_name:      waves effect on currents Bernoulli head adjustment
    units:          meter                                            # [m]
    field:          WEC Bernoulli head
    time:           wave_time
    index_code:     idWbeh
    type:           r2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       ubar_stokes                                      # Output
    standard_name:  sea_water_barotropic_stokes_x_velocity
    long_name:      vertically-integrated Stokes u-velocity
    units:          meter second-1                                   # [m/s]
    field:          barotropic Stokes u-velocity
    time:           ocean_time
    index_code:     idU2Sd
    type:           u2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       vbar_stokes                                      # Output
    standard_name:  sea_water_barotropic_stokes_y_velocity
    long_name:      vertically-integrated Stokes v-velocity
    units:          meter second-1                                   # [m/s]
    field:          barotropic Stokes v-velocity
    time:           ocean_time
    index_code:     idV2Sd
    type:           v2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       ubar_wec_stress                                  # Output
    standard_name:  sea_water_barotropic_waves_effect_on_currents_x_stress
    long_name:      vertically-integrated waves effect on currents u-stress
    units:          newton meter-2                                   # [m2/s2]
    field:          WEC barotropic u-stress
    time:           ocean_time
    index_code:     idU2rs
    type:           u2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       vbar_wec_stress                                  # Output
    standard_name:  sea_water_barotropic_waves_effect_on_currents_y_stress
    long_name:      vertically-integrated waves effect on currents v-stress
    units:          newton meter-2                                   # [m2/s2]
    field:          WEC barotropic v-stress
    time:           ocean_time
    index_code:     idV2rs
    type:           v2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       u_stokes                                         # Output
    standard_name:  sea_water_stokes_x_velocity
    long_name:      Stokes u-velocity
    units:          meter second-1                                   # [m/s]
    field:          Stokes u-velocity
    time:           ocean_time
    index_code:     idU3Sd
    type:           u3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       v_stokes                                         # Output
    standard_name:  sea_water_stokes_y_velocity
    long_name:      Stokes v-velocity
    units:          meter second-1                                   # [m/s]
    field:          Stokes v-velocity
    time:           ocean_time
    index_code:     idV3Sd
    type:           u3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       w_stokes                                         # Output
    standard_name:  upward_sea_water_stokes_velocity
    long_name:      Stokes vertical velocity
    units:          meter second-1                                   # [m/s]
    field:          Stokes vertical velocity
    time:           ocean_time
    index_code:     idW3St
    type:           w3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       omega_stokes                                     # Output
    standard_name:  upward_sea_water_stokes_omega_velocity
    long_name:      Stokes omega velocity
    units:          meter3 second-1                                  # [m3/s]
    field:          Stokes omega velocity
    time:           ocean_time
    index_code:     idW3Sd
    type:           w3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       u_wec_stress                                     # Output
    standard_name:  sea_water_waves_effect_on_currents_x_stress
    long_name:      waves effect on currents u-stress
    units:          newton meter-2                                   # [m2/s2]
    field:          WEC u-stress
    time:           ocean_time
    index_code:     idU3rs
    type:           u3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       v_wec_stress                                     # Output
    standard_name:  sea_water_waves_effect_on_currents_y_stress
    long_name:      waves effect on currents v-stress
    units:          newton meter-2                                   # [m2/s2]
    field:          WEC v-stress
    time:           ocean_time
    index_code:     idV3rs
    type:           v3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  #################################
  ###  Tidal Forcing Variables  ###
  #################################

  - variable:       zero_phase_date                                  # Input
    standard_name:  ocean_tidal_reference_date_for_zero_phase
    long_name:      tidal reference date for zero phase
    units:          days as %Y%m%d.%f                                # YYYYMMDD.dddd
    field:          zero phase date
    time:           nulvar
    index_code:     idTref
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       tide_period                                      # Input
    standard_name:  ocean_tidal_constituent_period
    long_name:      tidal period
    units:          hours                                            # [s]
    field:          tide period
    time:           tide_period
    index_code:     idTper
    type:           nulvar
    add_offset:     0.0d0
    scale:          3600.0d0                                         # 60*60

  - variable:       tide_Eamp                                        # Input
    standard_name:  ocean_tidal_constituent_elevation_amplitude
    long_name:      tidal elevation amplitude
    units:          meter                                            # [m]
    field:          tide elevation amplitude
    time:           tide_period
    index_code:     idTzam
    type:           r2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       tide_Ephase                                      # Input
    standard_name:  ocean_tidal_constituent_elevation_phase_angle
    long_name:      tidal elevation phase angle
    units:          degrees                                          # [radians]
    field:          tile elevation phase
    time:           tide_period
    index_code:     idTzph
    type:           r2dvar
    add_offset:     0.0d0
    scale:          0.017453292519943295d0                           # pi/180

  - variable:       tide_Cphase                                      # Input
    standard_name:  ocean_tidal_constituent_current_phase_angle
    long_name:      tidal current phase angle
    units:          degrees                                          # [radians]
    field:          tide current phase
    time:           tide_period
    index_code:     idTvph
    type:           r2dvar
    add_offset:     0.0d0
    scale:          0.017453292519943295d0                           # pi/180

  - variable:       tide_Cangle                                      # Input
    standard_name:  ocean_tidal_constituent_current_inclination_angle
    long_name:      tidal current inclination angle
    units:          degrees                                          # [radians]
    field:          tide current angle
    time:           tide_period
    index_code:     idTvan
    type:           r2dvar
    add_offset:     0.0d0
    scale:          0.017453292519943295                             # pi/180

  - variable:       tide_Cmax                                        # Input
    standard_name:  ocean_tidal_constituent_major_axis_maximum_current_velocity
    long_name:      maximum tidal current, ellipse major axis
    units:          meter second-1                                   # [m/s]
    field:          tide maximum major-axis current
    time:           tide_period
    index_code:     idTvma
    type:           r2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       tide_Cmin                                        # Input
    standard_name:  ocean_tidal_constituent_major_axis_minimum_current_velocity
    long_name:      minimum tidal current, ellipse minor axis
    units:          meter second-1                                   # [m/s]
    field:          tide minimum major-axis current
    time:           tide_period
    index_code:     idTvmi
    type:           r2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  #################################
  ###  River Forcing Variables  ###
  #################################

  - variable:       river_Xposition                                  # Input
    standard_name:  river_runoff_x_grid_cell_location
    long_name:      river runoff  XI-positions at RHO-points
    units:          nondimensional                                   # [nondimensional]
    field:          river x-location
    time:           river
    index_code:     idRxpo
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       river_Eposition                                  # Input
    standard_name:  river_runoff_y_grid_cell_location
    long_name:      river runoff ETA-positions at RHO-points
    units:          nondimensional                                   # [nondimensional]
    field:          river y-location
    time:           river
    index_code:     idRepo
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       river_direction                                  # Input
    standard_name:  direction_of_river_transport
    long_name:      river runoff direction
    units:          nondimensional                                   # [nondimensional]
    field:          river direction
    time:           river
    index_code:     idRdir
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       river_Vshape                                     # Input
    standard_name:  water_volume_vertical_transport_profile_into_sea_water_from_rivers
    long_name:      river runoff mass transport vertical profile
    units:          nondimensional                                   # [nondimensional]
    field:          river vertical shape
    time:           river
    index_code:     idRvsh
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       river_transport                                  # Input
    standard_name:  water_volume_transport_into_sea_water_from_rivers
    long_name:      river runoff mass transport
    units:          meter3 second-1                                  # [m3/s]
    field:          river transport
    time:           river_time
    index_code:     idRtra
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       river_flag                                       # Input
    standard_name:  river_status_flag
    long_name:      river runoff flag
    units:          nondimensional                                   # [nondimensional]
    field:          river flag
    time:           river
    index_code:     idRflg
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       river_temp                                       # Input
    standard_name:  sea_water_potential_temperature
    long_name:      river runoff potential temperature
    units:          Celsius                                          # [Celsius]
    field:          river temperature
    time:           river_time
    index_code:     idRtrc(itemp)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       river_salt                                       # Input
    standard_name:  sea_water_practical_salinity
    long_name:      river runoff salinity
    units:          nondimensional                                   # [PSS]
    field:          river salinity
    time:           river_time
    index_code:     idRtrc(isalt)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       river_dye_                                       # Input
    standard_name:  mass_concetration_of_dye_transport_into_sea_water_from_rivers
    long_name:      river runoff dye concentration
    units:          kilogram meter-3                                 # [kg/m3]
    field:          river dye_
    time:           river_time
    index_code:     idRtrc(inert(i))
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       river_mud_                                       # Input
    standard_name:  mass_concetration_of_mud_
    long_name:      river runoff suspended sediment concentration
    units:          kilogram meter-3                                 # [kg/m3]
    field:          river sediment mud_
    time:           river_time
    index_code:     idRtrc(idmud)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       river_sand_                                      # Input
    standard_name:  mass_concetration_of_sand_
    long_name:      river runoff suspended sediment concentration
    units:          kilogram meter-3                                 # [kg/m3]
    field:          river sediment sand_
    time:           river_time
    index_code:     idRtrc(isand)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       river_nutrient                                   # Input
    standard_name:  mole_concentration_of_nutrient_transport_expressed_as_nitrogen_into_sea_water_from_rivers
    long_name:      river runoff nutrient
    units:          millimole_nitrogen meter-3                       # [millimole/m3]
    field:          river nutrient
    time:           river_time
    index_code:     idRtrc(iNutr)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       river_NO3                                        # Input
    standard_name:  mole_concentration_of_nitrate_transport_expressed_as_nitrogen_into_sea_water_from_rivers
    long_name:      river runoff NO3
    units:          millimole_nitrogen meter-3                       # [millimole/m3]
    field:          river NO3
    time:           river_time
    index_code:     idRtrc(iNO3_)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       river_NH4                                        # Input
    standard_name:  mole_concentration_of_ammonium_transport_expressed_as_nitrogen_into_sea_water_from_rivers
    long_name:      river runoff NH4
    units:          millimole_nitrogen meter-3                       # [millimole/m3]
    field:          river NH4
    time:           river_time
    index_code:     idRtrc(iNH4_)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       river_PO4                                        # Input
    standard_name:  mole_concentration_of_phosphate_transport_into_sea_water_from_rivers
    long_name:      river runoff PO4
    units:          millimole_PO4 meter-3                            # [millimole/m3]
    field:          river PO4
    time:           river_time
    index_code:     idRtrc(iPO4_)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       river_DON                                        # Input
    standard_name:  mole_concentration_of_dissolved_organic_nitrogen_transport_into_sea_water_from_rivers
    long_name:      river runoff dissolved organic nitrogen
    units:          millimole_nitrogen meter-3                       # [millimole/m3]
    field:          river DON
    time:           river_time
    index_code:     idRtrc(iDON_)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       river_PON                                        # Input
    standard_name:  mole_concentration_of_particulate_organic_nitrogen_transport_into_sea_water_from_rivers
    long_name:      river runoff particulate organic nitrogen
    units:          millimole_nitrogen meter-3                       # [millimole/m3]
    field:          river PON
    time:           river_time
    index_code:     idRtrc(iPON_)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       river_Phyt                                       # Input
    standard_name:  mole_concentration_of_phytoplankton_transport_expressed_as_nitrogen_into_sea_water_from_rivers
    long_name:      river runoff phytoplankton
    units:          millimole_nitrogen meter-3                       # [millimole/m3]
    field:          river Phyt
    time:           river_time
    index_code:     idRtrc(iPhyt)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       river_Zoop                                       # Input
    standard_name:  mole_concentration_of_zooplankton_transport_expressed_as_nitrogen_into_sea_water_from_rivers
    long_name:      river runoff zooplankton
    units:          millimole_nitrogen meter-3                       # [millimole/m3]
    field:          river Zoop
    time:           river_time
    index_code:     idRtrc(iZoop)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       river_Chlo                                       # Input
    standard_name:  mole_concentration_of_chlorophyll_transport_into_sea_water_from_rivers
    long_name:      river runoff chlorophyll
    units:          milligrams_chlorophyll meter-3                   # [milligrams/m3]
    field:          river Chlo
    time:           river_time
    index_code:     idRtrc(iChlo)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       river_detritus                                   # Input
    standard_name:  mole_concentration_of_detritus_transport_expressed_as_nitrogen_into_sea_water_from_rivers
    long_name:      river runoff detritus
    units:          millimole_nitrogen meter-3                       # [millimole/m3]
    field:          river detritus
    time:           river_time
    index_code:     idRtrc(iSDet)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       river_SDeN                                       # Input
    standard_name:  mole_concentration_of_small_detritus_transport_expressed_as_nitrogen_into_sea_water_from_rivers
    long_name:      river runoff SDeN
    units:          millimole_nitrogen meter-3                       # [millimole/m3]
    field:          river SDeN
    time:           river_time
    index_code:     idRtrc(iSDeN)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       river_LDeN                                       # Input
    standard_name:  mole_concentration_of_large_detritus_transport_expressed_as_nitrogen_into_sea_water_from_rivers
    long_name:      river runoff LDeN
    units:          millimole_nitrogen meter-3                       # [millimole/m3]
    field:          river LDeN
    time:           river_time
    index_code:     idRtrc(iLDeN)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       river_RDeN                                       # Input
    standard_name:  mole_concentration_of_river_detritus_transport_expressed_as_nitrogen_into_sea_water_from_rivers
    long_name:      river runoff RDeN
    units:          millimole_nitrogen meter-3                       # [millimole/m3
    field:          river RDeN
    time:           river_time
    index_code:     idRtrc(iRDeN)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       river_SDeC                                       # Input
    standard_name:  mole_concentration_of_small_detritus_transport_expressed_as_carbon_into_sea_water_from_rivers
    long_name:      river runoff SDeC
    units:          millimole meter-3                                # [millimole/m3]
    field:          river SDeC
    time:           river_time
    index_code:     idRtrc(iSDeC)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       river_LDeC                                       # Input
    standard_name:  mole_concentration_of_large_detritus_transport__expressed_as_carbon_into_sea_water_from_rivers
    long_name:      river runoff LDeC
    units:          millimole meter-3                                # [millimole/m3]
    field:          river LDeC
    time:           river_time
    index_code:     idRtrc(iLDeC)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       river_RDeC                                       # Input
    standard_name:  mole_concentration_of_river_detritus_transport_expressed_as_carbon_into_sea_water_from_rivers
    long_name:      river runoff RDeC
    units:          millimole meter-3                                # [millimole/m3]
    field:          river RDeC
    time:           river_time
    index_code:     idRtrc(iRDeC)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       river_TIC                                        # Input
    standard_name:  mole_concentration_of_total_inorganic_transport_into_sea_water_from_rivers
    long_name:      river runoff TIC
    units:          millimole_carbon meter-3                         # [millimole/m3]
    field:          river TIC
    time:           river_time
    index_code:     idRtrc(iTIC_)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       river_TAlk                                       # Input
    standard_name:  alkalinity_transport_expressed_as_mole_equivalent_into_sea_water_from_rivers
    long_name:      river runoff alkalinity
    units:          milliequivalents meter-3                         # [milliequivalens/m3]
    field:          river alkalinity
    time:           river_time
    index_code:     idRtrc(iTAlk)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       river_Oxyg                                       # Input
    standard_name:  mole_concentration_of_dissolved_oxygen_transport_into_sea_water_from_rivers
    long_name:      river runoff oxygen
    units:          millimole_oxygen meter-3                         # [millimole/m3]
    field:          river oxygen
    time:           river_time
    index_code:     idRtrc(iOxyg)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  #################################################
  ###  Surface/Bottom Boundary Layer Variables  ###
  #################################################

  - variable:       Hsbl                                             # Input/Output
    standard_name:  ocean_surface_boundary_layer_thickness
    long_name:      depth of oceanic surface boundary layer
    units:          meter                                            # [m]
    field:          SBL thickness
    time:           ocean_time
    index_code:     idHsbl
    type:           r2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       Hbbl                                             # Input/Output
    standard_name:  ocean_bottom_boundary_layer_thickness
    long_name:      depth of oceanic bottom boundary layer
    units:          meter                                            # [m]
    field:          BBL thickness
    time:           ocean_time
    index_code:     idHbbl
    type:           r2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  ###############################
  ###  Climatotogy variables  ###
  ###############################

  - variable:       zeta                                             # Input
    standard_name:  sea_surface_elevation_anomaly
    long_name:      sea surface height climatology
    units:          meter                                            # [m]
    field:          free-surface
    time:           zeta_time
    index_code:     idSSHc
    type:           r2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       ubar                                             # Input
    standard_name:  barotropic_sea_water_x_velocity
    long_name:      vertically integrated u-momentum climatology
    units:          meter second-1                                   # [m/s]
    field:          u-barotropic
    time:           v2d_time
    index_code:     idUbcl
    type:           u2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       vbar                                             # Input
    standard_name:  barotropic_sea_water_y_velocity
    long_name:      vertically integrated v-momentum climatology
    units:          meter second-1                                   # [m/s]
    field:          v-barotropic
    time:           v2d_time
    index_code:     idVbcl
    type:           v2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       u                                                # Input
    standard_name:  sea_water_x_velocity
    long_name:      u-momentum component climatology
    units:          meter second-1                                   # [m/s]
    field:          u-velocity
    time:           v3d_time
    index_code:     idUclm
    type:           u3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       v                                                # Input
    standard_name:  sea_water_y_velocity
    long_name:      v-momentum component climatology
    units:          meter second-1                                   # [m/s]
    field:          v-velocity
    time:           v3d_time
    index_code:     idVclm
    type:           v3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       SST                                              # Input
    standard_name:  sea_surface_temperature
    long_name:      sea surface temperature climatology
    units:          Celsius                                          # [Celsius]
    field:          SST
    time:           sst_time
    index_code:     idSSTc
    type:           r2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       SSS                                              # Input
    standard_name:  sea_surface_salinity
    long_name:      sea surface salinity climatology
    units:          nondimensional                                   # [PSS]
    field:          SSS
    time:           sss_time
    index_code:     idSSSc
    type:           r2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  #########################################
  ###  Climatology Nusging Time Scales  ###
  #########################################

  - variable:       M2_NudgeCoef                                     # Input
    standard_name:  sea_surface_barotropic_current_inverse_nudging_coefficient
    long_name:      2D momentum inverse nudging coefficients
    units:          day-1                                            # [1/s]
    field:          barotropic momentum nudging scale
    time:           nulvar
    index_code:     idM2nc
    type:           r2dvar
    add_offset:     0.0d0
    scale:          1.157407d-5                                      # 1/86400

  - variable:       M3_NudgeCoef                                     # Input
    standard_name:  sea_water_current_inverse_nudging_coefficient
    long_name:      3D momentum inverse nudging coefficients
    units:          day-1                                            # [1/s]
    field:          momentum nudging scale
    time:           nulvar
    index_code:     idM3nc
    type:           r3dvar
    add_offset:     0.0d0
    scale:          1.157407d-5                                      # 1/86400

  - variable:       tracer_NudgeCoef                                 # Input
    standard_name:  sea_surface_tracer_inverse_nudging_coefficient
    long_name:      generic tracer inverse nudging coefficients
    units:          day-1                                            # [1/s]
    field:          tracer nudging scale
    time:           nulvar
    index_code:     idgTnc
    type:           r3dvar
    add_offset:     0.0d0
    scale:          1.157407d-5                                      # 1/86400

  #####################################
  ###  Adjoint Sensitivy Variables  ###
  #####################################

  - variable:       zeta                                             # Input
    standard_name:  sea_surface_elevation_anomaly
    long_name:      sea surface height functional
    units:          meter                                            # various units
    field:          adjoint free-surface                             # according to norm
    time:           zeta_time
    index_code:     idZads
    type:           r2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       ubar                                             # Input
    standard_name:  barotropic_sea_water_x_velocity
    long_name:      vertically integrated u-momentum functional
    units:          meter second-1                                   # various units
    field:          adjoint u-barotropic                             # according to norm
    time:           v2d_time
    index_code:     idUbas
    type:           u2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       vbar                                             # Input
    standard_name:  barotropic_sea_water_y_velocity
    long_name:      vertically integrated v-momentum functional
    units:          meter second-1                                   # various units
    field:          adjoint v-barotropic                             # according to norm
    time:           v2d_time
    index_code:     idVbas
    type:           v2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       u                                                # Input
    standard_name:  sea_water_x_velocity
    long_name:      u-momentum component functional
    units:          meter second-1                                   # various units
    field:          adjoint u-velocity                               # according to norm
    time:           v3d_time
    index_code:     idUads
    type:           u3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       v                                                # Input
    standard_name:  sea_water_y_velocity
    long_name:      v-momentum component functional
    units:          meter second-1                                   # various units
    field:          adjoint v-velocity                               # according to norm
    time:           v3d_time
    index_code:     idVads
    type:           v3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       w                                                # Input
    standard_name:  upward_sea_water_velocity
    long_name:      w-momentum component functional
    units:          meter second-1                                   # various units
    field:          adjoint w-velocity                               # according to norm
    time:           v3d_time
    index_code:     idWads
    type:           w3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       temp                                             # Input
    standard_name:  sea_water_potential_temperature
    long_name:      potential temperature functional
    units:          Celsius                                          # various units
    field:          adjoint temperature                              # according to norm
    time:           temp_time
    index_code:     idTads(itemp)
    type:           r3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       salt                                             # Input
    standard_name:  sea_water_practical_salinity
    long_name:      salinity functional
    units:          nondimensional                                   # various units
    field:          adjoint salinity                                 # according to norm
    time:           salt_time
    index_code:     idTads(isalt)
    type:           r3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       dye_                                             # Input/Output
    standard_name:  mass_concentration_of_dye_
    long_name:      dye concentration functional
    units:          kilogram meter-3                                 # [kg/m3]
    field:          adjoint dye_
    time:           ocean_time
    index_code:     idTads(inert(i))
    type:           r3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  ##################################################
  ###  Tangent Linear Impulse Forcing Variables  ###
  ##################################################

  - variable:       zeta                                             # Input
    standard_name:  sea_surface_elevation_anomaly_impulse
    long_name:      free-surface impulse forcing
    units:          meter                                            # [m]
    field:          tangent linear free-surface
    time:           zeta_time
    index_code:     idZtlf
    type:           r2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       ubar                                             # Input
    standard_name:  barotropic_sea_water_x_velocity_impulse
    long_name:      vertically integrated u-momentum impulse forcing
    units:          meter second-1                                   # [m/s]
    field:          tangent linear u-barotropic
    time:           v2d_time
    index_code:     idUbtf
    type:           u2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       vbar                                             # Input
    standard_name:  barotropic_sea_water_y_velocity_impulse
    long_name:      vertically integrated v-momentum impulse forcing
    units:          meter second-1                                   # [m/s]
    field:          tangent linear v-barotropic
    time:           v2d_time
    index_code:     idVbtf
    type:           v2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       u                                                # Input
    standard_name:  sea_water_x_velocity_impulse
    long_name:      u-momentum component impulse forcing
    units:          meter second-1                                   # [m/s]
    field:          tangent linear u-velocity
    time:           v3d_time
    index_code:     idUtlf
    type:           u3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       v                                                # Input
    standard_name:  sea_water_y_velocity_impulse
    long_name:      v-momentum component impulse forcing
    units:          meter second-1                                   # [m/s]
    field:          tangent linear v-velocity
    time:           v3d_time
    index_code:     idVtlf
    type:           v3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       temp                                             # Input
    standard_name:  sea_water_potential_temperature_impulse
    long_name:      potential temperature impulse forcing
    units:          Celsius                                          # [Celsius]
    field:          tangent linear temperature
    time:           temp_time
    index_code:     idTtlf(itemp)
    type:           r3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       salt                                             # Input
    standard_name:  sea_water_practical_salinity_impulse
    long_name:      salinity impulse forcing
    units:          nondimensional                                   # [PSS]
    field:          tangent linear salinity
    time:           salt_time
    index_code:     idTtlf(isalt)
    type:           r3dvar
    add_offset:     0.0d0
    scale:          1.0d0

   ########################################
   ###  Inert Passive Tracer Variables  ###
   ########################################

  - variable:       dye_                                             # Input/Output
    standard_name:  mass_concentration_of_dye_
    long_name:      dye concentration
    units:          kilogram meter-3                                 # [kg/m3]
    field:          dye_
    time:           ocean_time
    index_code:     idTvar(inert(i))
    type:           r3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       dye_west_                                        # Input
    standard_name:  mass_concentration_of_dye_
    long_name:      dye concentration western boundary condition
    units:          kilogram meter-3                                 # [kg/m3]
    field:          dye_ western-boundary
    time:           dye_time
    index_code:     idTbry(iwest,inert(i))
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       dye_east_                                        # Input
    standard_name:  mass_concentration_of_dye_
    long_name:      dye concentration eastern boundary condition
    units:          kilogram meter-3                                 # [kg/m3]
    field:          dye_ eastern-boundary
    time:           dye_time
    index_code:     idTbry(ieast,inert(i))
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       dye_south_                                       # Input
    standard_name:  mass_concentration_of_dye_
    long_name:      dye concentration southern boundary condition
    units:          kilogram meter-3                                 # [kg/m3]
    field:          dye_ southern-boundary
    time:           dye_time
    index_code:     idTbry(isouth,inert(i))
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       dye_north_                                       # Input
    standard_name:  mass_concentration_of_dye_
    long_name:      dye concentration northern boundary condition
    units:          kilogram meter-3                                 # [kg/m3]
    field:          dye_ northern-boundary
    time:           dye_time
    index_code:     idTbry(inorth,inert(i))
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  ############################
  ###  Sediment Variables  ###
  ############################

  - variable:       mud_                                             # Input/Output
    standard_name:  mass_concentration_of_suspended_mud_
    long_name:      suspended cohesive sediment
    units:          kilogram meter-3                                 # [kg/m3]
    field:          sediment mud_
    time:           ocean_time
    index_code:     idTvar(idmud(i))
    type:           r3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       mud_west_                                        # Input
    standard_name:  mass_concentration_of_suspended_mud_
    long_name:      suspended cohesive sediment western boundary condition
    units:          kilogram meter-3                                 # [kg/m3]
    field:          sediment mud_
    time:           mud_time
    index_code:     idTbry(iwest,idmud(i))
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       mud_east_                                        # Input
    standard_name:  mass_concentration_of_suspended_mud_
    long_name:      suspended cohesive sediment eastern boundary condition
    units:          kilogram meter-3                                 # [kg/m3]
    field:          sediment mud_
    time:           mud_time
    index_code:     idTbry(ieast,idmud(i))
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       mud_south_                                       # Input
    standard_name:  mass_concentration_of_suspended_mud_
    long_name:      suspended cohesive sediment southern boundary condition
    units:          kilogram meter-3                                 # [kg/m3]
    field:          sediment mud_
    time:           mud_time
    index_code:     idTbry(isouth,idmud(i))
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       mud_north_                                       # Input
    standard_name:  mass_concentration_of_suspended_mud_
    long_name:      suspended cohesive sediment northern boundary condition
    units:          kilogram meter-3                                 # [kg/m3]
    field:          sediment mud_
    time:           mud_time
    index_code:     idTbry(inorth,idmud(i))
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       sand_                                            # Input/Output
    standard_name:  mass_concentration_of_suspended_sand_
    long_name:      suspended noncohesive sediment
    units:          kilogram meter-3                                 # [kg/m3]
    field:          sediment sand_
    time:           ocean_time
    index_code:     idTvar(isand(i))
    type:           r3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       sand_west_                                       # Input
    standard_name:  mass_concentration_of_suspended_sand_
    long_name:      suspended noncohesive sediment western boundary condition
    units:          kilogram meter-3                                 # [kg/m3]
    field:          sediment sand_ western-boundary
    time:           sand_time
    index_code:     idTbry(iwest,isand(i))
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       sand_east_                                       # Input
    standard_name:  mass_concentration_of_suspended_sand_
    long_name:      suspended noncohesive sediment eastern boundary condition
    units:          kilogram meter-3                                 # [kg/m3]
    field:          sediment sand_ eastern-boundary
    time:           sand_time
    index_code:     idTbry(ieast,isand(i))
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       sand_south_                                      # Input
    standard_name:  mass_concentration_of_suspended_sand_
    long_name:      suspended noncohesive sediment southern boundary condition
    units:          kilogram meter-3                                 # [kg/m3]
    field:          sediment sand_ southern-boundary
    time:           sand_time
    index_code:     idTbry(isouth,isand(i))
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       sand_north_                                      # Input
    standard_name:  mass_concentration_of_suspended_sand_
    long_name:      suspended noncohesive sediment northern boundary condition
    units:          kilogram meter-3                                 # [kg/m3]
    field:          northern-boundary sediment sand_
    time:           sand_time
    index_code:     idTbry(inorth,isand(i))
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       mudfrac_                                         # Input/Output
    standard_name:  sea_bottom_cohesive_sediment_
    long_name:      cohesive sediment fraction
    units:          nondimensional                                   # [nondimensional]
    field:          sediment fraction, mud_
    time:           ocean_time
    index_code:     idfrac
    type:           b3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       sandfrac_                                        # Input/Output
    standard_name:  sea_bottom_noncohesive_sediment_
    long_name:      noncohesive sediment fraction
    units:          nondimensional                                   # [nondimensional]
    field:          sediment fraction, sand_
    time:           ocean_time
    index_code:     idfrac
    type:           b3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       mudmass_                                         # Input/Output
    standard_name:  sea_bottom_cohesive_sediment_
    long_name:      cohesive sediment mass
    units:          kilogram meter-2                                 # [kg/m2]
    field:          sediment mass, mud_
    time:           ocean_time
    index_code:     idBmas
    type:           b3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       sandmass_                                        # Input/Output
    standard_name:  sea_bottom_noncohesive_sediment_
    long_name:      noncohesive sediment mass
    units:          kilogram meter-2                                 # [kg/m2]
    field:          sediment mass, sand_
    time:           ocean_time
    index_code:     idBmas
    type:           b3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       bedload_Umud_                                    # Input/Output
    standard_name:  sea_bottom_bedload_x_flux_of_cohesive_sediment_
    long_name:      bedload flux of mud in U-direction
    units:          kilogram meter-1 s-1                             # [kg/m/s]
    field:          bedload x-flux, mud_
    time:           ocean_time
    index_code:     idUbld
    type:           u2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       bedload_Usand_                                   # Input/Output
    standard_name:  sea_bottom_bedload_x_flux_of_noncohesive_sediment_
    long_name:      bedload flux of sand in U-direction
    units:          kilogram meter-1 s-1                             # [kg/m/s]
    field:          bedload x-flux, sand_
    time:           ocean_time
    index_code:     idUbld
    type:           u2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       bedload_Vmud_                                    # Input/Output
    standard_name:  sea_bottom_bedload_y_flux_of_cohesive_sediment_
    long_name:      bedload flux of mud in V-direction
    units:          kilogram meter-1 s-1                             # [kg/m/s]
    field:          bedload y_flux, mud_
    time:           ocean_time
    index_code:     idVbld
    type:           v2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       bedload_Vsand_                                   # Input/Output
    standard_name:  sea_bottom_bedload_y_flux_of_noncohesive_sediment_
    long_name:      bedload flux of sand in V-direction
    units:          kilogram meter-1 s-1                             # [kg/m/s]
    field:          bedload y-flux, sand_
    time:           ocean_time
    index_code:     idVbld
    type:           v2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       ero_flux                                         # Output
    standard_name:  sea_bed_sediment_erosion_flux
    long_name:      erosion flux
    units:          kilogram meter-2                                 # [kg/m2]
    field:          erosion flux
    time:           ocean_time
    index_code:     idBott(idefx)
    type:           r2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       dep_net                                          # Output
    standard_name:  sea_bed_sediement_erosion_or_deposition_thickness
    long_name:      erosion or deposition
    units:          meter                                            # [m]
    field:          net deposition/erosion
    time:           ocean_time
    index_code:     idBott(idnet)
    type:           r2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       tau_crit_off                                     # Output
    standard_name:  sea_bed_sediment_critical_shear_stress_offset
    long_name:      Offset for critical shear stress equation
    units:          kg/Pa/s                                          # [kg/Pa/s]
    field:          critical shear stress offset
    time:           ocean_time
    index_code:     idBott(idoff)
    type:           r2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       tau_crit_slope                                   # Output
    standard_name:  sea_bed_sediment_critical_shear_stress_slope
    long_name:      Slope for critical shear stress equation
    units:          Pa/s                                             # [Pa/s]
    field:          critical shear stress slope
    time:           ocean_time
    index_code:     idBott(idslp)
    type:           r2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       tau_crit_time                                    # Output
    standard_name:  sea_bed_sediment_critical_shear_stress_nudging_time
    long_name:      Nudging time for critical shear stress equation
    units:          s-1                                              # [s-1]
    field:          critical shear stress time
    time:           ocean_time
    index_code:     idBott(idtim)
    type:           r2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       bed_thickness                                    # Input/Output
    standard_name:  sea_bed_sediment_layer_thickness
    long_name:      sediment bed layer thickness
    units:          meter                                            # [m]
    field:          bed layer thickness
    time:           ocean_time
    index_code:     idSbed(ithck)
    type:           b3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       bed_age                                          # Input/Output
    standard_name:  sea_bed_sediment_layer_age
    long_name:      sediment layer age
    units:          seconds                                          # [s]
    field:          bed layer age
    time:           ocean_time
    index_code:     idSbed(iaged)
    type:           b3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       bed_porosity                                     # Input/Output
    standard_name:  sea_bed_sediment_layer_porosity
    long_name:      sediment layer porosity
    units:          nondimensional                                   # [nondimensional]
    field:          bed layer porosity
    time:           ocean_time
    index_code:     idSbed(iporo)
    type:           b3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       bed_biodiff                                      # Input/Output
    standard_name:  sea_bottom_biodiffusivity_in_bed_layer
    long_name:      biodiffusivity at bottom of each layer
    units:          meter2 second-1                                  # [m2/s]
    field:          bed layer bio-diffusivity
    time:           ocean_time
    index_code:     idSbed(idiff)
    type:           b3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       bed_tau_crit                                     # Input/Output
    standard_name:  sea_bottom_critical_shields_stress_in_bed_layer
    long_name:      tau critical in each layer
    units:          Newtons meter-2                                  # [N/m2]
    field:          bed layer critical shields stress
    time:           ocean_time
    index_code:     idSbed(ibtcr)
    type:           b3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       grain_diameter                                   # Input/Output
    standard_name:  sea_water_sediment_grain_diameter_size
    long_name:      sediment median grain diameter size
    units:          meter                                            # [m]
    field:          sediment grain diameter
    time:           ocean_time
    index_code:     idBott(isd50)
    type:           r2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       grain_density                                    # Input/Output
    standard_name:  sea_water_sediment_grain_diameter_density
    long_name:      sediment median grain density
    units:          kilogram meter3                                  # [kg/m3]
    field:          sediment grain density
    time:           ocean_time
    index_code:     idBott(idens)
    type:           r2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       settling_vel                                     # Input/Output
    standard_name:  sea_water_sediment_median_grain_setting_velocity
    long_name:      sediment median grain settling velocity
    units:          meter second-1                                   # [m/s]
    field:          sediment settling velocity
    time:           ocean_time
    index_code:     idBott(iwsed)
    type:           r2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       erosion_stress                                   # Input/Output
    standard_name:  sea_bottom_sediment_median_critical_erosion_stress
    long_name:      sediment median critical erosion stress
    units:          newton meter-2                                   # [N/m2]
    field:          sediment critical erosion stress
    time:           ocean_time
    index_code:     idBott(itauc)
    type:           r2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       ripple_length                                    # Input/Output
    standard_name:  sea_bottom_sediment_ripple_length
    long_name:      bottom ripple length
    units:          meter                                            # [m]
    field:          bottom ripple length
    time:           ocean_time
    index_code:     idBott(irlen)
    type:           r2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       ripple_height                                    # Input/Output
    standard_name:  sea_bottom_sediment_ripple_height
    long_name:      bottom ripple height
    units:          meter                                            # [m]
    field:          bottom ripple height
    time:           ocean_time
    index_code:     idBott(irhgt)
    type:           r2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       bed_wave_amp                                     # Input/Output
    standard_name:  sea_bottom_wave_excursion_amplitude
    long_name:      bed wave excursion amplitude
    units:          meter                                            # [m]
    field:          bed wave excursion amplitude
    time:           ocean_time
    index_code:     idBott(ibwav)
    type:           r2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       rdrag                                            # Input/Output
    standard_name:  sea_bottom_linear_drag_coefficient
    long_name:      linear bottom drag coefficient
    units:          meter second-1                                   # [m/s]
    field:          bottom linear drag
    time:           ocean_time
    index_code:     idragL
    type:           r2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       rdrag2                                           # Input/Output
    standard_name:  sea_bottom_quadratic_drag_coefficient
    long_name:      quadratic bottom drag coefficient
    units:          nondimensional                                   # [nondimensional]
    field:          bottom quadratic drag
    time:           ocean_time
    index_code:     idragQ
    type:           r2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       ZoBot                                            # Input/Output
    standard_name:  sea_bottom_roughness_length_scale
    long_name:      time invariant, bottom roughness length
    units:          meter                                            # [m]
    field:          bottom roughness length
    time:           ocean_time
    index_code:     idZoBL
    type:           r2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       Zo_def                                           # Input/Output
    standard_name:  sea_bottom_default_roughness_length_scale
    long_name:      default bottom roughness length
    units:          meter                                            # [m]
    field:          default bottom roughness length
    time:           ocean_time
    index_code:     idBott(izdef)
    type:           r2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       Zo_app                                           # Input/Output
    standard_name:  sea_bottom_apparent_roughness_length_scale
    long_name:      apparent bottom roughness length
    units:          meter                                            # [m]
    field:          apparent bottom roughness length
    time:           ocean_time
    index_code:     idBott(izapp)
    type:           r2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       Zo_Nik                                           # Input/Output
    standard_name:  sea_bottom_nikaradse_roughness_length_scale
    long_name:      Nikaradse bottom roughness length
    units:          meter                                            # [m]
    field:          Nikaradse bottom roughness length
    time:           ocean_time
    index_code:     idBott(izNik)
    type:           r2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       Zo_bio                                           # Input/Output
    standard_name:  sea_bottom_biological_roughness_length_scale
    long_name:      biological bottom roughness length
    units:          meter                                            # [m]
    field:          biological bottom roughness length
    time:           ocean_time
    index_code:     idBott(izbio)
    type:           r2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       Zo_bedform                                       # Input/Output
    standard_name:  sea_bottom_bedform_roughness_length_scale
    long_name:      bedform bottom roughness length
    units:          meter                                            # [m]
    field:          bedform bottom roughness length
    time:           ocean_time
    index_code:     idBott(izbfm)
    type:           r2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       Zo_bedload                                       # Input/Output
    standard_name:  sea_bottom_bed_load_roughness_length_scale
    long_name:      bedload bottom roughness length
    units:          meter                                            # [m]
    field:          bedload bottom roughness length
    time:           ocean_time
    index_code:     idBott(izbld)
    type:           r2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       Zo_wbl                                           # Input/Output
    standard_name:  sea_bottom_wave_boundary_layer_roughness_length_scale
    long_name:      wave bottom boundary layer roughness length
    units:          meter                                            # [m]
    field:          wave BBL roughness length
    time:           ocean_time
    index_code:     idBott(izwbl)
    type:           r2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       active_layer_thickness                           # Input/Output
    standard_name:  sea_bed_active_layer_thickness
    long_name:      active layer thickness
    units:          meter                                            # [m]
    field:          active layer thickness
    time:           ocean_time
    index_code:     idBott(iactv)
    type:           r2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       cohesive_behavior                                # Output
    standard_name:  sea_bottom_cohesive_sediment_behavior
    long_name:      cohesive behavior
    units:          nondimensional
    field:          cohesive behavior
    time:           ocean_time
    index_code:     idBott(idprp)
    type:           r2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       saltation                                        # Input/Output
    standard_name:  sea_bottom_saltation_height
    long_name:      bottom saltation height
    units:          meter                                            # [m]
    field:          saltation
    time:           ocean_time
    index_code:     idBott(ishgt)
    type:           r2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       dmix_offset                                      # Input/Output
    standard_name:  sea_bottom_erodibility_profile_offset
    long_name:      dmix erodibility profile offset
    units:          meter                                            # [m]
    field:          bottom erodibility offset
    time:           ocean_time
    index_code:     idBott(idoff)
    type:           r2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       dmix_slope                                       # Input/Output
    standard_name:  sea_bottom_erodibility_profile_slope
    long_name:      dmix erodibility profile slope
    units:          nondimensional
    field:          bottom erodibility slope
    time:           ocean_time
    index_code:     idBott(idslp)
    type:           r2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       dmix_time                                        # Input/Output
    standard_name:  sea_bottom_erodibility_profile_time_scale
    long_name:      dmix erodibility profile time scale
    units:          seconds                                          # [s]
    field:          bottom erodibility time
    time:           ocean_time
    index_code:     idBott(idtim)
    type:           r2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       tau_crit_slope_c                                 # Input/Output
    standard_name:  sea_bottom_sediment_critical_shields_stress_slope
    long_name:      bottom sediment critical shields stress
    units:          N/m2                                             # [N/m2]
    field:          bottom sediment critical shields stress
    time:           ocean_time
    index_code:     idBott(itcsc)
    type:           r2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       tau_crit_offset_c                                # Input/Output
    standard_name:  sea_bottom_sediment_critical_shields_stress_offset
    long_name:      bottom sediment critical shields stress offset
    units:          N/m2                                             # [N/m2]
    field:          bottom sediment critical shields stress offset
    time:           ocean_time
    index_code:     idBott(itcoc)
    type:           r2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       tau_crit_rtime                                   # Input/Output
    standard_name:  sea_bottom_sediment_critical_shields_time_scale
    long_name:      bottom sediment critical shields stress time scale
    units:          second                                           # [s]
    field:          bottom sediment critical shields stress time
    time:           ocean_time
    index_code:     idBott(itcrt)
    type:           r2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       Db_max                                           # Input/Output
    standard_name:  nulvar
    long_name:      Db_max
    units:          unknown
    field:          Db_max
    time:           ocean_time
    index_code:     idBott(idbmx)
    type:           r2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       Db_mm                                            # Input/Output
    standard_name:  nulvar
    long_name:      Db_mm
    units:          unknown
    field:          Db_mm
    time:           ocean_time
    index_code:     idBott(idbmm)
    type:           r2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       Db_zs                                            # Input/Output
    standard_name:  nulvar
    long_name:      Db_zs
    units:          unknown
    field:          Db_zs
    time:           ocean_time
    index_code:     idBott(idbzs)
    type:           r2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       Db_zm                                            # Input/Output
    standard_name:  nulvar
    long_name:      Db_zm
    units:          unknown
    field:          Db_zm
    time:           ocean_time
    index_code:     idBott(idbzm)
    type:           r2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       Db_zphi                                          # Input/Output
    standard_name:  nulvar
    long_name:      Db_zphi
    units:          unknown
    field:          Db_zphi
    time:           ocean_time
    index_code:     idBott(idbzp)
    type:           r2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  ##################################################################
  ###  Ecosystem Variables: BIO_FENNEL, NEMURO, NPZD or HYPOXIA  ###
  ##################################################################

  - variable:       NO3                                              # Input/Output
    standard_name:  mole_concentration_of_nitrate_expressed_as_nitrogen_in_sea_water
    long_name:      nitrate concentration
    units:          millimole_nitrogen meter-3                       # [millimole/m3]
    field:          NO3
    time:           ocean_time
    index_code:     idTvar(iNO3_)
    type:           r3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       NO3                                              # Input
    standard_name:  mole_concentration_of_nitrate_expressed_as_nitrogen_in_sea_water
    long_name:      nitrate concentration functional
    units:          millimole_nitrogen meter-3                       # [millimole/m3]
    field:          NO3 functional
    time:           ocean_time
    index_code:     idTads(iNO3_)
    type:           r3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       NH4                                              # Input/Output
    standard_name:  mole_concentration_of_ammonium_expressed_as_nitrogen_in_sea_water
    long_name:      ammonium concentration
    units:          millimole_nitrogen meter-3                       # [millimole/m3]
    field:          NH4
    time:           ocean_time
    index_code:     idTvar(iNH4_)
    type:           r3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       NH4                                              # Input
    standard_name:  mole_concentration_of_ammonium_expressed_as_nitrogen_in_sea_water
    long_name:      ammonium concentration functional
    units:          millimole_nitrogen meter-3                       # [millimole/m3]
    field:          NH4 functional
    time:           ocean_time
    index_code:     idTads(iNH4_)
    type:           r3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       PO4                                              # Input/Output
    standard_name:  mole_concentration_of_phosphate_in_sea_water
    long_name:      phosphate concentration
    units:          millimole_PO4 meter-3                            # [millimole/m3]
    field:          PO4
    time:           ocean_time
    index_code:     idTvar(iPO4_)
    type:           r3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       PO4                                              # Input
    standard_name:  mole_concentration_of_phosphate_in_sea_water
    long_name:      phosphate concentration functional
    units:          millimole_PO4 meter-3                            # [millimole/m3]
    field:          PO4 functional
    time:           ocean_time
    index_code:     idTads(iPO4_)
    type:           r3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       PON                                              # Input/Output
    standard_name:  mole_concentration_of_particulate_organic_nitrogen_in_sea_water
    long_name:      particulate organic nitrogen concentration
    units:          millimole_nitrogen meter-3                       # [millimole/m3]
    field:          PON
    time:           ocean_time
    index_code:     idTvar(iPON_)
    type:           r3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       DON                                              # Input/Output
    standard_name:  mole_concentration_of_dissolved_organic_nitrogen_in_sea_water
    long_name:      dissolved organic nitrogen concentration
    units:          millimole_nitrogen meter-3                       # [millimole/m3]
    field:          DON
    time:           ocean_time
    index_code:     idTvar(iDON_)
    type:           r3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       SiOH4                                            # Input/Output
    standard_name:  mole_concentration_of_silicate_in_sea_water
    long_name:      silicate concentration
    units:          millimole_silica meter-3                         # [millimole/m3]
    field:          SiOH4
    time:           ocean_time
    index_code:     idTvar(iSiOH)
    type:           r3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       opal                                             # Input/Output
    standard_name:  mole_concentration_of_particulate_organic_silica_in_sea_water
    long_name:      particulate organic silica concentration
    units:          millimole_silica meter-3                         # [millimole/m3]
    field:          silica
    time:           ocean_time
    index_code:     idTvar(iopal)
    type:           r3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       iron                                             # Input/Output
    standard_name:  mole_concentration_of_dissolved_iron_in_sea_water
    long_name:      dissolved iron concentration
    units:          millimole_iron meter-3                           # [millimole/m3]
    field:          iron
    time:           ocean_time
    index_code:     idTvar(iFdis)
    type:           r3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       iron                                             # Input
    standard_name:  mole_concentration_of_dissolved_iron_in_sea_water
    long_name:      dissolved iron concentration functional
    units:          millimole_iron meter-3                           # [millimole/m3]
    field:          iron functional
    time:           ocean_time
    index_code:     idTads(iFdis)
    type:           r3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       phytoplankton                                    # Input/Output
    standard_name:  mole_concentration_of_phytoplankton_expressed_as_nitrogen_in_sea_water
    long_name:      phytoplankton concentration
    units:          millimole_nitrogen meter-3                       # [millimole/m3]
    field:          phytoplankton
    time:           ocean_time
    index_code:     idTvar(iPhyt)
    type:           r3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       phytoplankton                                    # Input
    standard_name:  mole_concentration_of_phytoplankton_expressed_as_nitrogen_in_sea_water
    long_name:      phytoplankton concentration functional
    units:          millimole_nitrogen meter-3                       # [millimole/m3]
    field:          phytoplankton functional
    time:           ocean_time
    index_code:     idTads(iPhyt)
    type:           r3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       phytoplanktonFe                                  # Input/Output
    standard_name:  mole_concentration_of_phytoplankton_in_expressed_as_iron_sea_water
    long_name:      phytoplankton, associated iron concentration
    units:          millimole_iron  meter-3                          # [millimole/m3]
    field:          Fe-phytoplankton
    time:           ocean_time
    index_code:     idTvar(iFphy)
    type:           r3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       phytoplanktonFe                                  # Input
    standard_name:  mole_concentration_of_phytoplankton_expressed_as_iron_in_sea_water
    long_name:      phytoplankton, associated iron concentration functional
    units:          millimole_iron meter-3                           # [millimole/m3]
    field:          Fe-phytoplankton functional
    time:           ocean_time
    index_code:     idTads(iFphy)
    type:           r3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       nanophytoplankton                                # Input/Output
    standard_name:  mole_concentration_of_nanophytoplankton_expressed_as_nitrogen_in_sea_water
    long_name:      nanophytoplankton biomass
    units:          millimole_nitrogen meter-3                       # [millimole/m3]
    field:          nanophytoplankton
    time:           ocean_time
    index_code:     idTvar(iSphy)
    type:           r3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       diatom                                           # Input/Output
    standard_name:  mole_concentration_of_diatoms_expressed_as_nitrogen_in_sea_water
    long_name:      diatom biomass
    units:          millimole_nitrogen meter-3                       # [millimole/m3]
    field:          diatom
    time:           ocean_time
    index_code:     idTvar(iLphy)
    type:           r3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       zooplankton                                      # Input/Output
    standard_name:  mole_concentration_of_zooplankton_expressed_as_nitrogen_in_sea_water
    long_name:      zooplankton concentration
    units:          millimole_nitrogen meter-3                       # [millimole/m3]
    field:          zooplankton
    time:           ocean_time
    index_code:     idTvar(iZoop)
    type:           r3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       zooplankton                                      # Input
    standard_name:  mole_concentration_of_zooplankton_expressed_as_nitrogen_in_sea_water
    long_name:      zooplankton concentration functional
    units:          millimole_nitrogen meter-3                       # [millimole/m3]
    field:          zooplankton functional
    time:           ocean_time
    index_code:     idTads(iZoop)
    type:           r3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       microzooplankton                                 # Input/Output
    standard_name:  mole_concentration_of_microzooplankton_expressed_as_nitrogen_in_sea_water
    long_name:      microzooplankton biomass
    units:          millimole_nitrogen meter-3                       # [millimole/m3]
    field:          microzooplankton
    time:           ocean_time
    index_code:     idTvar(iSzoo)
    type:           r3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       mesozooplankton                                  # Input/Output
    standard_name:  mole_concentration_of_mesozooplankton_expressed_as_nitrogen_in_sea_water
    long_name:      mesozooplankton biomass
    units:          millimole_nitrogen meter-3                       # [millimole/m3]
    field:          mesozooplankton
    time:           ocean_time
    index_code:     idTvar(iLzoo)
    type:           r3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       Pzooplankton                                     # Input/Output
    standard_name:  mole_concentration_of_predactor_zooplankton_expressed_as_nitrogen_in_sea_water
    long_name:      predator-zooplankton biomass
    units:          millimole_nitrogen meter-3                       # [millimole/m3]
    field:          predator zooplankton
    time:           ocean_time
    index_code:     idTvar(iPzoo)
    type:           r3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       chlorophyll                                      # Input/Output
    standard_name:  mole_concentration_of_chlorophyll_in_sea_water
    long_name:      chlorophyll concentration
    units:          milligrams_chlorophyll meter-3                   # [milligrams/m3]
    field:          chlorophyll
    time:           ocean_time
    index_code:     idTvar(iChlo)
    type:           r3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       chlorophyll                                      # Input
    standard_name:  mole_concentration_of_chlorophyll_in_sea_water
    long_name:      chlorophyll concentration functional
    units:          milligrams_chlorophyll meter-3                   # [milligrams/m3]
    field:          chlorophyll functional
    time:           ocean_time
    index_code:     idTads(iChlo)
    type:           r3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       detritus                                         # Input/Output
    standard_name:  mole_concentration_of_detritus_expressed_as_nitrogen_in_sea_water
    long_name:      detritus concentration
    units:          millimole_nitrogen meter-3                       # [millimole/m3]
    field:          detritus
    time:           ocean_time
    index_code:     idTvar(iSDet)
    type:           r3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       detritus                                         # Input
    standard_name:  mole_concentration_of_detritus_expressed_as_nitrogen_in_sea_water
    long_name:      detritus concentration functional
    units:          millimole_nitrogen meter-3                       # [millimole/m3]
    field:          detritus functional
    time:           ocean_time
    index_code:     idTads(iSDet)
    type:           r3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       LdetritusN                                       # Input/Output
    standard_name:  mole_concentration_of_large_detritus_expressed_as_nitrogen_in_sea_water
    long_name:      large nitrogen-detritus concentration
    units:          millimole_nitrogen meter-3                       # [millimole/m3]
    field:          large N-detritus
    time:           ocean_time
    index_code:     idTvar(iLDeN)
    type:           r3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       LdetritusN                                       # Input
    standard_name:  mole_concentration_of_large_detritus_expressed_as_nitrogen_in_sea_water
    long_name:      large nitrogen-detritus concentration functional
    units:          millimole_nitrogen meter-3                       # [millimole/m3]
    field:          large N-detritus functional
    time:           ocean_time
    index_code:     idTads(iLDeN)
    type:           r3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       SdetritusN                                       # Input/Output
    standard_name:  mole_concentration_of_small_detritus_expressed_as_nitrogen_in_sea_water
    long_name:      small nitrogen-detritus concentration
    units:          millimole_nitrogen meter-3                       # [millimole/m3]
    field:          small N-detritus
    time:           ocean_time
    index_code:     idTvar(iSDeN)
    type:           r3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       SdetritusN                                       # Input
    standard_name:  mole_concentration_of_small_detritus_expressed_as_nitrogen_in_sea_water
    long_name:      small nitrogen-detritus concentration functional
    units:          millimole_nitrogen meter-3                       # [millimole/m3]
    field:          small N-detritus functional
    time:           ocean_time
    index_code:     idTads(iSDeN)
    type:           r3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       RdetritusN                                       # Input/Output
    standard_name:  mole_concentration_of_river_detritus_expressed_as_nitrogen_in_sea_water
    long_name:      river nitrogen-detritus concentration
    units:          millimole_nitrogen meter-3                       # [millimole/m3]
    field:          river N-detritus
    time:           ocean_time
    index_code:     idTvar(iRDeN)
    type:           r3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       RdetritusN                                       # Input
    standard_name:  mole_concentration_of_river_detritus_expressed_as_nitrogen_in_sea_water
    long_name:      river nitrogen-detritus concentration functional
    units:          millimole_nitrogen meter-3                       # [millimole/m3]
    field:          river N-detritus functional
    time:           ocean_time
    index_code:     idTads(iRDeN)
    type:           r3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       RdetritusC                                       # Input/Output
    standard_name:  mole_concentration_of_river_detritus_expressed_as_carbon_in_sea_water
    long_name:      river carbon-detritus concentration
    units:          millimole_carbon meter-3                         # [millimole/m3]
    field:          river C-detritus
    time:           ocean_time
    index_code:     idTvar(iRDeC)
    type:           r3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       RdetritusC                                       # Input
    standard_name:  mole_concentration_of_river_detritus_expressed_as_carbon_in_sea_water
    long_name:      river carbon-detritus concentration functional
    units:          millimole_carbon meter-3                       # [millimole/m3]
    field:          river C-detritus functional
    time:           ocean_time
    index_code:     idTads(iRDeC)
    type:           r3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       TIC                                              # Input/Output
    standard_name:  mole_concentration_of_total_inorganic_carbon_in_sea_water
    long_name:      total inorganic carbon
    units:          millimole_carbon meter-3                         # [millimole/m3]
    field:          TIC
    time:           ocean_time
    index_code:     idTvar(iTIC_)
    type:           r3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       TIC                                              # Input
    standard_name:  mole_concentration_of_total_inorganic_carbon_in_sea_water
    long_name:      total inorganic carbon functional
    units:          millimole_carbon meter-3                         # [millimole/m3]
    field:          TIC functional
    time:           ocean_time
    index_code:     idTads(iTIC_)
    type:           r3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       alkalinity                                       # Input/Output
    standard_name:  sea_water_alkalinity_expressed_as_mole_equivalent
    long_name:      total alkalinity
    units:          milliequivalents meter-3                         # [milliequivalents/m3]
    field:          alkalinity
    time:           ocean_time
    index_code:     idTvar(iTAlk)
    type:           r3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       alkalinity                                       # Input
    standard_name:  sea_water_alkalinity_expressed_as_mole_equivalent
    long_name:      total alkalinity functional
    units:          milliequivalents meter-3                         # [milliequivalents/m3]
    field:          alkalinity functional
    time:           ocean_time
    index_code:     idTads(iTAlk)
    type:           r3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       LdetritusC                                       # Input/Output
    standard_name:  mole_concentration_of_large_detritus_expressed_as_carbon_in_sea_water
    long_name:      large carbon-detritus concentration
    units:          millimole_carbon meter-3                         # [millimole/m3]
    field:          large C-detritus
    time:           ocean_time
    index_code:     idTvar(iLDeC)
    type:           r3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       LdetritusC                                       # Input
    standard_name:  mole_concentration_of_large_detritus_expressed_as_carbon_in_sea_water
    long_name:      large carbon-detritus concentration functional
    units:          millimole_carbon meter-3                         # [millimole/m3]
    field:          large C-detritus functional
    time:           ocean_time
    index_code:     idTads(iLDeC)
    type:           r3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       SdetritusC                                       # Input/Output
    standard_name:  mole_concentration_of_small_detritus_expressed_as_carbon_in_sea_water
    long_name:      small carbon-detritus concentration
    units:          millimole_carbon meter-3                         # [millimole/m3]
    field:          small C-detritus
    time:           ocean_time
    index_code:     idTvar(iSDeC)
    type:           r3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       SdetritusC                                       # Input
    standard_name:  mole_concentration_of_small_detritus_expressed_as_carbon_in_sea_water
    long_name:      small carbon-detritus concentration functional
    units:          millimole_carbon meter-3                         # [millimole/m3]
    field:          small C-detritus functional
    time:           ocean_time
    index_code:     idTads(iSDeC)
    type:           r3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       oxygen                                           # Input/Output
    standard_name:  mole_concentration_of_dissolved_oxygen_in_sea_water
    long_name:      dissolved oxygen concentration
    units:          millimole_oxygen meter-3                         # [millimole/m3]
    field:          oxygen
    time:           ocean_time
    index_code:     idTvar(iOxyg)
    type:           r3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       oxygen                                           # Input
    standard_name:  mole_concentration_of_dissolved_oxygen_in_sea_water
    long_name:      dissolved oxygen concentration functional
    units:          millimole_oxygen meter-3                         # [millimole/m3]
    field:          oxygen functional
    time:           ocean_time
    index_code:     idTads(iOxyg)
    type:           r3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       respiration                                      # Input
    standard_name:  mole_concentration_flux_of_total_respiration_expressed_as_oxygen_in_sea_water
    long_name:      total respiration rate
    units:          millimole_oxygen meter-3 day-1                   # [millimoe/m3/day]
    field:          respiration
    time:           respiration_time
    index_code:     idResR
    type:           r3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  # Time-averaged Diagnostic Variables

  - variable:       CO2_airsea                                       # Input/Output
    standard_name:  suface_mole_concentration_flux_of_carbon_dioxide_between_air_and_sea_water
    long_name:      CO2 air-sea flux
    units:          millimole_carbon meter-2 day-1                   # [millimole/m2/day]
    field:          CO2 air-sea flux
    time:           ocean_time
    index_code:     iDbio2(iCOfx)
    type:           r2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       denitrification                                  # Input/Output
    standard_name:  mole_concentration_of_denitrification_flux_expressed_as_nitrogen_in_sea_water
    long_name:      denitrification
    units:          millimole_nitrogen meter-2 day-1                 # [millimole/m2/day]
    field:          denitrification
    time:           ocean_time
    index_code:     iDbio2(iDNIT)
    type:           r2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       pCO2                                             # Input/Output
    standard_name:  partial_pressure_of_carbon_dioxide_in_sea_water
    long_name:      partial pressure of CO2
    units:          microatmophere                                   # [microatmosphere]
    field:          pCO2
    time:           ocean_time
    index_code:     iDbio2(ipCO2)
    type:           r2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       O2_airsea                                        # Input/Output
    standard_name:  surface_downward_mole_flux_of_molecular_oxygen
    long_name:      O2 air-sea flux
    units:          millimole_oxygen meter-2 day-1                   # [millimole/m2/day]
    field:          O2 air-sea flux
    time:           ocean_time
    index_code:     iDbio2(iO2fx)
    type:           r2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       P_Production                                     # Input/Output
    standard_name:  sea_water_primary_production_of_biomass_expressed_as_nitrogen
    long_name:      primary production
    units:          millimole_nitrogen meter-3 day-1                 # [millimole/m3/day]
    field:          primary production
    time:           ocean_time
    index_code:     iDbio3(iPPro)
    type:           r3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       NO3_uptake                                       # Input/Output
    standard_name:  mole_concentration_of_nitrate_uptake_expressed_as_nitrogen_in_sea_water
    long_name:      NO3 uptake
    units:          millimole_nitrogen meter-3 day-1                 # [millimole/m3/day]
    field:          NO3 uptake
    time:           ocean_time
    index_code:     iDbio3(iNO3u)
    type:           r3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       Nitrif_flux                                      # Input/Output
    standard_name:  mole_concentration_of_denitrification_flux_expressed_as_nitrogen_at_sea_bottom
    long_name:      Nitrification flux
    units:          millimole_nitrogen meter-3 day-1                 # [millimole/m3/day]
    field:          denitrification flux
    time:           ocean_time
    index_code:     iDbio3(iNifx)
    type:           r3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  # Lateral Boundary Condition Variables

  - variable:       NO3_east                                         # Input
    standard_name:  mole_concentration_of_nitrate_expressed_as_nitrogen_in_sea_water
    long_name:      nitrate eastern boundary condition
    units:          millimole_nitrogen meter-3                       # [millimole/m3]
    field:          NO3 eastern-boundary
    time:           NO3_time
    index_code:     idTbry(ieast,iNO3_)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       NO3_west                                         # Input
    standard_name:  mole_concentration_of_nitrate_expressed_as_nitrogen_in_sea_water
    long_name:      nitrate western boundary condition
    units:          millimole_nitrogen meter-3                       # [millimole/m3]
    field:          NO3 western-boundary
    time:           NO3_time
    index_code:     idTbry(iwest,iNO3_)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       NO3_south                                        # Input
    standard_name:  mole_concentration_of_nitrate_expressed_as_nitrogen_in_sea_water
    long_name:      nitrate southern boundary condition
    units:          millimole_nitrogen meter-3                       # [millimole/m3]
    field:          NO3 southern-boundary
    time:           NO3_time
    index_code:     idTbry(isouth,iNO3_)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       NO3_north                                        # Input
    standard_name:  mole_concentration_of_nitrate_expressed_as_nitrogen_in_sea_water
    long_name:      nitrate northern boundary condition
    units:          millimole_nitrogen meter-3                       # [millimole/m3]
    field:          NO3 northern-boundary
    time:           NO3_time
    index_code:     idTbry(inorth,iNO3_)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       PO4_east                                         # Input
    standard_name:  mole_concentration_of_phosphate_in_sea_water
    long_name:      phosphate eastern boundary condition
    units:          millimole_PO4 meter-3                            # [millimole/m3]
    field:          PO4 eastern-boundary
    time:           PO4_time
    index_code:     idTbry(ieast,iPO4_)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       PO4_west                                         # Input
    standard_name:  mole_concentration_of_phosphate_in_sea_water
    long_name:      phosphate western boundary condition
    units:          millimole_PO4 meter-3                            # [millimole/m3]
    field:          PO4 western-boundary
    time:           PO4_time
    index_code:     idTbry(iwest,iPO4_)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       PO4_south                                        # Input
    standard_name:  mole_concentration_of_phosphate_in_sea_water
    long_name:      phosphate southern boundary condition
    units:          millimole_PO4 meter-3                            # [millimole/m3]
    field:          PO4 southern-boundary
    time:           PO4_time
    index_code:     idTbry(isouth,iPO4_)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       PO4_north                                        # Input
    standard_name:  mole_concentration_of_phosphate_in_sea_water
    long_name:      phosphate northern boundary condition
    units:          millimole_PO4 meter-3                            # [millimole/m3]
    field:          PO4 northern-boundary
    time:           PO4_time
    index_code:     idTbry(inorth,iPO4_)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       TIC_east                                         # Input
    standard_name:  mole_concentration_of_total_inorganic_carbon_in_sea_water
    long_name:      TIC eastern boundary condition
    units:          millimole_carbon meter-3                         # [millimole/m3]
    field:          TIC eastern-boundary
    time:           TIC_time
    index_code:     idTbry(ieast,iTIC_)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       TIC_west                                         # Input
    standard_name:  mole_concentration_of_total_inorganic_carbon_in_sea_water
    long_name:      TIC western boundary condition
    units:          millimole_carbon meter-3                         # [millimole/m3]
    field:          TIC western-boundary
    time:           TIC_time
    index_code:     idTbry(iwest,iTIC_)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       TIC_south                                        # Input
    standard_name:  mole_concentration_of_total_inorganic_carbon_in_sea_water
    long_name:      TIC southern boundary condition
    units:          millimole_carbon meter-3                         # [millimole/m3]
    field:          TIC southern-boundary
    time:           TIC_time
    index_code:     idTbry(isouth,iTIC_)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       TIC_north                                        # Input
    standard_name:  mole_concentration_of_total_inorganic_carbon_in_sea_water
    long_name:      TIC northern boundary condition
    units:          millimole_carbon meter-3                         # [millimole/m3]
    field:          TIC northern-boundary
    time:           TIC_time
    index_code:     idTbry(inorth,iTIC_)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       oxygen_east                                      # Input
    standard_name:  mole_concentration_of_dissolved_oxygen_in_sea_water
    long_name:      oxygen eastern boundary condition
    units:          millimole_oxygen meter-3                         # [millimole/m3]
    field:          oxygen eastern-boundary
    time:           oxygen_time
    index_code:     idTbry(ieast,iOxyg)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       oxygen_west                                      # Input
    standard_name:  mole_concentration_of_dissolved_oxygen_in_sea_water
    long_name:      oxygen western boundary condition
    units:          millimole_oxygen meter-3                         # [millimole/m3]
    field:          oxygen western-boundary
    time:           oxygen_time
    index_code:     idTbry(iwest,iOxyg)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       oxygen_south                                     # Input
    standard_name:  mole_concentration_of_dissolved_oxygen_in_sea_water
    long_name:      oxygen southern boundary condition
    units:          millimole_oxygen meter-3                         # [millimole/m3]
    field:          oxygen southern-boundary
    time:           oxygen_time
    index_code:     idTbry(isouth,iOxyg)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       oxygen_north                                     # Input
    standard_name:  mole_concentration_of_dissolved_oxygen_in_sea_water
    long_name:      oxygen northern boundary condition
    units:          millimole_oxygen meter-3                         # [millimole/m3]
    field:          oxygen northern-boundary
    time:           oxygen_time
    index_code:     idTbry(inorth,iOxyg)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       alkalinity_east                                  # Input
    standard_name:  sea_water_alkalinity_expressed_as_mole_equivalent
    long_name:      alkalinity eastern boundary condition
    units:          milliequivalents meter-3                         # [milliequivalents/m3]
    field:          alkalinity eastern-boundary
    time:           alkalinity_time
    index_code:     idTbry(ieast,iTAlk)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       alkalinity_west                                  # Input
    standard_name:  sea_water_alkalinity_expressed_as_mole_equivalent
    long_name:      alkalinity western boundary condition
    units:          milliequivalents meter-3                         # [milliequivalents/m3]
    field:          alkalinity western-boundary
    time:           alkalinity_time
    index_code:     idTbry(iwest,iTAlk)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       alkalinity_south                                 # Input
    standard_name:  sea_water_alkalinity_expressed_as_mole_equivalent
    long_name:      alkalinity southern boundary condition
    units:          milliequivalents meter-3                         # [milliequivalents/m3]
    field:          alkalinity southern-boundary
    time:           alkalinity_time
    index_code:     idTbry(isouth,iTAlk)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       alkalinity_north                                 # Input
    standard_name:  sea_water_alkalinity_expressed_as_mole_equivalent
    long_name:      alkalinity northern boundary condition
    units:          milliequivalents meter-3                         # [milliequivalents/m3]
    field:          alkalinity northern-boundary
    time:           alkalinity_time
    index_code:     idTbry(inorth,iTAlk)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       NH4_east                                         # Input
    standard_name:  mole_concentration_of_ammonium_expressed_as_nitrogen_in_sea_water
    long_name:      ammonium eastern boundary condition
    units:          millimole_nitrogen meter-3                       # [millimole/m3]
    field:          NH4 eastern-boundary
    time:           NH4_time
    index_code:     idTbry(ieast,iNH4_)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       NH4_west                                         # Input
    standard_name:  mole_concentration_of_ammonium_expressed_as_nitrogen_in_sea_water
    long_name:      ammonium western boundary condition
    units:          millimole_nitrogen meter-3                       # [millimole/m3]
    field:          NH4 western-boundary
    time:           NH4_time
    index_code:     idTbry(iwest,iNH4_)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       NH4_south                                        # Input
    standard_name:  mole_concentration_of_ammonium_expressed_as_nitrogen_in_sea_water
    long_name:      ammonium southern boundary condition
    units:          millimole_nitrogen meter-3                       # [millimole/m3]
    field:          NH4 southern-boundary
    time:           NH4_time
    index_code:     idTbry(isouth,iNH4_)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       NH4_north                                        # Input
    standard_name:  mole_concentration_of_ammonium_expressed_as_nitrogen_in_sea_water
    long_name:      ammonium northern boundary condition
    units:          millimole_nitrogen meter-3                       # [millimole/m3]
    field:          NH4 northern-boundary
    time:           NH4_time
    index_code:     idTbry(inorth,iNH4_)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       DON_east                                         # Input
    standard_name:  mole_concentration_of_dissolved_organic_nitrogen_in_sea_water
    long_name:      dissolved organic nitrogen eastern boundary condition
    units:          millimole_nitrogen meter-3                       # [millimole/m3]
    field:          DON eastern-boundary
    time:           DON_time
    index_code:     idTbry(ieast,iDON_)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       DON_west                                         # Input
    standard_name:  mole_concentration_of_dissolved_organic_nitrogen_in_sea_water
    long_name:      dissolved organic nitrogen western boundary condition
    units:          millimole_nitrogen meter-3                       # [millimole/m3]
    field:          DON western-boundary
    time:           DON_time
    index_code:     idTbry(iwest,iDON_)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       DON_south                                        # Input
    standard_name:  mole_concentration_of_dissolved_organic_nitrogen_in_sea_water
    long_name:      dissolved organic nitrogen southern boundary condition
    units:          millimole_nitrogen meter-3                       # [millimole/m3]
    field:          DON southern-boundary
    time:           DON_time
    index_code:     idTbry(isouth,iDON_)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       DON_north                                        # Input
    standard_name:  mole_concentration_of_dissolved_organic_nitrogen_in_sea_water
    long_name:      dissolved organic nitrogen northern boundary condition
    units:          millimole_nitrogen meter-3                       # [millimole/m3]
    field:          DON northern-boundary
    time:           DON_time
    index_code:     idTbry(inorth,iDON_)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       PON_east                                         # Input
    standard_name:  mole_concentration_of_particulate_organic_nitrogen_in_sea_water
    long_name:      particulate organic nitrogen eastern boundary condition
    units:          millimole_nitrogen meter-3                       # [millimole/m3]
    field:          PON eastern-boundary
    time:           PON_time
    index_code:     idTbry(ieast,iPON_)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       PON_west                                         # Input
    standard_name:  mole_concentration_of_particulate_organic_nitrogen_in_sea_water
    long_name:      particulate organic nitrogen western boundary condition
    units:          millimole_nitrogen meter-3                       # [millimole/m3]
    field:          PON western-boundary
    time:           PON_time
    index_code:     idTbry(iwest,iPON_)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       PON_south                                        # Input
    standard_name:  mole_concentration_of_particulate_organic_nitrogen_in_sea_water
    long_name:      particulate organic nitrogen southern boundary condition
    units:          millimole_nitrogen meter-3                       # [millimole/m3]
    field:          PON southern-boundary
    time:           PON_time
    index_code:     idTbry(isouth,iPON_)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       PON_north                                        # Input
    standard_name:  mole_concentration_of_particulate_organic_nitrogen_in_sea_water
    long_name:      particulate organic nitrogen northern boundary condition
    units:          millimole_nitrogen meter-3                       # [millimole/m3]
    field:          PON northern-boundary
    time:           PON_time
    index_code:     idTbry(inorth,iPON_)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       SiOH4_east                                       # Input
    standard_name:  mole_concentration_of_silicate_in_sea_water
    long_name:      silicate eastern boundary condition
    units:          millimole_silica meter-3                         # [millimole/m3]
    field:          SiOH4 eastern-boundary
    time:           SiOH4_time
    index_code:     idTbry(ieast,iSiOH)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       SiOH4_west                                       # Input
    standard_name:  mole_concentration_of_silicate_in_sea_water
    long_name:      silicate western boundary condition
    units:          millimole_silica meter-3                         # [millimole/m3]
    field:          SiOH4 western-boundary
    time:           SiOH4_time
    index_code:     idTbry(iwest,iSiOH)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       SiOH4_south                                      # Input
    standard_name:  mole_concentration_of_silicate_in_sea_water
    long_name:      silicate southern boundary condition
    units:          millimole_silica meter-3                         # [millimole/m3]
    field:          SiOH4 southern-boundary
    time:           SiOH4_time
    index_code:     idTbry(isouth,iSiOH)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       SiOH4_north                                      # Input
    standard_name:  mole_concentration_of_silicate_in_sea_water
    long_name:      silicate northern boundary condition
    units:          millimole_silica meter-3                         # [millimole/m3]
    field:          SiOH4 northern-boundary
    time:           SiOH4_time
    index_code:     idTbry(inorth,iSiOH)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       opal_east                                        # Input
    standard_name:  mole_concentration_of_particulate_organic_silica_in_sea_water
    long_name:      particulate organic silica eastern boundary condition
    units:          millimole_silica meter-3                         # [millimole/m3]
    field:          opal eastern-boundary
    time:           opal_time
    index_code:     idTbry(ieast,iopal)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       opal_west                                        # Input
    standard_name:  mole_concentration_of_particulate_organic_silica_in_sea_water
    long_name:      particulate organic silica western boundary condition
    units:          millimole_silica meter-3                         # [millimole/m3]
    field:          opal western-boundary
    time:           opal_time
    index_code:     idTbry(iwest,iopal)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       opal_south                                       # Input
    standard_name:  mole_concentration_of_particulate_organic_silica_in_sea_water
    long_name:      particulate organic silica southern boundary condition
    units:          millimole_silica meter-3                         # [millimole/m3]
    field:          opal southern-boundary
    time:           opal_time
    index_code:     idTbry(isouth,iopal)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       opal_north                                       # Input
    standard_name:  mole_concentration_of_particulate_organic_silica_in_sea_water
    long_name:      particulate organic silica northern boundary condition
    units:          millimole_silica meter-3                         # [millimole/m3]
    field:          opal northern-boundary
    time:           opal_time
    index_code:     idTbry(inorth,iopal)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       iron_east                                        # Input
    standard_name:  mole_concentration_of_dissolved_iron_in_sea_water
    long_name:      dissolved iron eastern boundary condition
    units:          millimole_iron meter-3                           # [millimole/m3]
    field:          iron eastern-boundary
    time:           iron_time
    index_code:     idTbry(ieast,iFdis)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       iron_west                                        # Input
    standard_name:  mole_concentration_of_dissolved_iron_in_sea_water
    long_name:      dissolved iron western boundary condition
    units:          millimole_iron meter-3                           # [millimole/m3]
    field:          iron western-boundary
    time:           iron_time
    index_code:     idTbry(iwest,iFdis)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       iron_south                                       # Input
    standard_name:  mole_concentration_of_dissolved_iron_in_sea_water
    long_name:      dissolved iron southern boundary condition
    units:          millimole_iron meter-3                           # [millimole/m3]
    field:          iron southern-boundary
    time:           iron_time
    index_code:     idTbry(isouth,iFdis)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       iron_north                                       # Input
    standard_name:  mole_concentration_of_dissolved_iron_in_sea_water
    long_name:      dissolved iron northern boundary condition
    units:          millimole_iron meter-3                           # [millimole/m3]
    field:          iron northern-boundary
    time:           iron_time
    index_code:     idTbry(inorth,iFdis)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       phyt_east                                        # Input
    standard_name:  mole_concentration_of_phytoplankton_expressed_as_nitrogen_in_sea_water
    long_name:      phytoplankton eastern boundary condition
    units:          millimole_nitrogen meter-3                       # [millimole/m3]
    field:          phytoplankton eastern-boundary
    time:           phyt_time
    index_code:     idTbry(ieast,iPhyt)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       phyt_west                                        # Input
    standard_name:  mole_concentration_of_phytoplankton_expressed_as_nitrogen_in_sea_water
    long_name:      phytoplankton western boundary condition
    units:          millimole_nitrogen meter-3                       # [millimole/m3]
    field:          phytoplankton western-boundary
    time:           phyt_time
    index_code:     idTbry(iwest,iPhyt)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       phyt_south                                       # Input
    standard_name:  mole_concentration_of_phytoplankton_expressed_as_nitrogen_in_sea_water
    long_name:      phytoplankton southern boundary condition
    units:          millimole_nitrogen meter-3                       # [millimole/m3]
    field:          phytoplankton southern-boundary
    time:           phyt_time
    index_code:     idTbry(isouth,iPhyt)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       phyt_north                                       # Input
    standard_name:  mole_concentration_of_phytoplankton_expressed_as_nitrogen_in_sea_water
    long_name:      phytoplankton northern boundary condition
    units:          millimole_nitrogen meter-3                       # [millimole/m3]
    field:          phytoplankton northern-boundary
    time:           phyt_time
    index_code:     idTbry(inorth,iPhyt)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       phytFe_east                                      # Input
    standard_name:  mole_concentration_of_phytoplankton_expressed_as_iron_in_sea_water
    long_name:      phytoplankton, iron concentration eastern boundary condition
    units:          millimole_iron meter-3                           # [millimole/m3]
    field:          Fe-phytoplankton eastern-boundary
    time:           phytFe_time
    index_code:     idTbry(ieast,iFdis)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       phytFe_west                                      # Input
    standard_name:  mole_concentration_of_phytoplankton_expressed_as_iron_in_sea_water
    long_name:      phytoplankton, iron concentration western boundary condition
    units:          millimole_iron meter-3                           # [millimole/m3]
    field:          Fe-phytoplankton western-boundary
    time:           phytFe_time
    index_code:     idTbry(iwest,iFphy)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       phytFe_south                                     # Input
    standard_name:  mole_concentration_of_phytoplankton_expressed_as_iron_in_sea_water
    long_name:      phytoplankton, iron concentration southern boundary condition
    units:          millimole_iron meter-3                           # [millimole/m3]
    field:          Fe-phytoplankton southern-boundary
    time:           phytFe_time
    index_code:     idTbry(isouth,iFphy)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       phytFe_north                                     # Input
    standard_name:  mole_concentration_of_phytoplankton_expressed_as_iron_in_sea_water
    long_name:      phytoplankton, iron concentration northern boundary condition
    units:          millimole_iron meter-3                           # [millimole/m3]
    field:          Fe-phytoplankton northern-boundary
    time:           phytFe_time
    index_code:     idTbry(inorth,iFphy)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       nanophy_east                                     # Input
    standard_name:  mole_concentration_of_nanophytoplankton_expressed_as_nitrogen_in_sea_water
    long_name:      nanophytoplankton eastern boundary condition
    units:          millimole_nitrogen meter-3                       # [millimole/m3]
    field:          nanophytoplankton eastern-boundary
    time:           nanophy_time
    index_code:     idTbry(ieast,iSphy)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       nanophy_west                                     # Input
    standard_name:  mole_concentration_of_nanophytoplankton_expressed_as_nitrogen_in_sea_water
    long_name:      nanophytoplankton western boundary condition
    units:          millimole_nitrogen meter-3                       # [millimole/m3]
    field:          nanophytoplankton western-boundary
    time:           nanophy_time
    index_code:     idTbry(iwest,iSphy)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       nanophy_south                                    # Input
    standard_name:  mole_concentration_of_nanophytoplankton_expressed_as_nitrogen_in_sea_water
    long_name:      nanophytoplankton southern boundary condition
    units:          millimole_nitrogen meter-3                       # [millimole/m3]
    field:          nanophytoplankton southern-boundary
    time:           nanophy_time
    index_code:     idTbry(isouth,iSphy)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       nanophy_north                                    # Input
    standard_name:  mole_concentration_of_nanophytoplankton_expressed_as_nitrogen_in_sea_water
    long_name:      nanophytoplankton northern boundary condition
    units:          millimole_nitrogen meter-3                       # [millimole/m3]
    field:          nanophytoplankton northern-boundary
    time:           nanophy_time
    index_code:     idTbry(inorth,iSphy)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       diatom_east                                      # Input
    standard_name:  mole_concentration_of_diatoms_expressed_as_nitrogen_in_sea_water
    long_name:      diatom eastern boundary condition
    units:          millimole_nitrogen meter-3                       # [millimole/m3]
    field:          diatom eastern-boundary
    time:           diatom_time
    index_code:     idTbry(ieast,iLphy)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       diatom_west                                      # Input
    standard_name:  mole_concentration_of_diatoms_expressed_as_nitrogen_in_sea_water
    long_name:      diatom western boundary condition
    units:          millimole_nitrogen meter-3                       # [millimole/m3]
    field:          diatom western-boundary
    time:           diatom_time
    index_code:     idTbry(iwest,iLphy)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       diatom_south                                     # Input
    standard_name:  mole_concentration_of_diatoms_expressed_as_nitrogen_in_sea_water
    long_name:      diatom southern boundary condition
    units:          millimole_nitrogen meter-3                       # [millimole/m3]
    field:          diatom southern-boundary
    time:           diatom_time
    index_code:     idTbry(isouth,iLphy)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       diatom_north                                     # Input
    standard_name:  mole_concentration_of_diatoms_expressed_as_nitrogen_in_sea_water
    long_name:      diatom northern boundary condition
    units:          millimole_nitrogen meter-3                       # [millimole/m3]
    field:          diatom northern-boundary
    time:           diatom_time
    index_code:     idTbry(inorth,iLphy)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       zoop_east                                        # Input
    standard_name:  mole_concentration_of_zooplankton_expressed_as_nitrogen_in_sea_water
    long_name:      zooplankton eastern boundary condition
    units:          millimole_nitrogen meter-3                       # [millimole/m3]
    field:          zooplankton eastern-boundary
    time:           zoop_time
    index_code:     idTbry(ieast,iZoop)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       zoop_west                                        # Input
    standard_name:  mole_concentration_of_zooplankton_expressed_as_nitrogen_in_sea_water
    long_name:      zooplankton western boundary condition
    units:          millimole_nitrogen meter-3                       # [millimole/m3]
    field:          zooplankton western-boundary
    time:           zoop_time
    index_code:     idTbry(iwest,iZoop)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       zoop_south                                       # Input
    standard_name:  mole_concentration_of_zooplankton_expressed_as_nitrogen_in_sea_water
    long_name:      zooplankton southern boundary condition
    units:          millimole_nitrogen meter-3                       # [millimole/m3]
    field:          zooplankton southern-boundary
    time:           zoop_time
    index_code:     idTbry(isouth,iZoop)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       zoop_north                                       # Input
    standard_name:  mole_concentration_of_zooplankton_expressed_as_nitrogen_in_sea_water
    long_name:      zooplankton northern boundary condition
    units:          millimole_nitrogen meter-3                       # [millimole/m3]
    field:          zooplankton northern-boundary
    time:           zoop_time
    index_code:     idTbry(inorth,iZoop)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       microzoo_east                                    # Input
    standard_name:  mole_concentration_of_microzooplankton_expressed_as_nitrogen_in_sea_water
    long_name:      microzooplankton eastern boundary condition
    units:          millimole_nitrogen meter-3                       # [millimole/m3]
    field:          microzooplankton eastern-boundary
    time:           microzoo_time
    index_code:     idTbry(ieast,iSzoo)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       microzoo_west                                    # Input
    standard_name:  mole_concentration_of_microzooplankton_expressed_as_nitrogen_in_sea_water
    long_name:      microzooplankton western boundary condition
    units:          millimole_nitrogen meter-3                       # [millimole/m3]
    field:          microzooplankton western-boundary
    time:           microzoo_time
    index_code:     idTbry(iwest,iSzoo)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       microzoo_south                                   # Input
    standard_name:  mole_concentration_of_microzooplankton_expressed_as_nitrogen_in_sea_water
    long_name:      microzooplankton southern boundary condition
    units:          millimole_nitrogen meter-3                       # [millimole/m3]
    field:          microzooplankton southern-boundary
    time:           microzoo_time
    index_code:     idTbry(isouth,iSzoo)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       microzoo_north                                   # Input
    standard_name:  mole_concentration_of_microzooplankton_expressed_as_nitrogen_in_sea_water
    long_name:      microzooplankton northern boundary condition
    units:          millimole_nitrogen meter-3                       # [millimole/m3]
    field:          microzooplankton northern-boundary
    time:           microzoo_time
    index_code:     idTbry(inorth,iSzoo)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       mesozoo_east                                     # Input
    standard_name:  mole_concentration_of_mesozooplankton_expressed_as_nitrogen_in_sea_water
    long_name:      mesozooplankton eastern boundary condition
    units:          millimole_nitrogen meter-3                       # [millimole/m3]
    field:          mesozooplankton eastern-boundary
    time:           mesozoo_time
    index_code:     idTbry(ieast,iLzoo)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       mesozoo_west                                     # Input
    standard_name:  mole_concentration_of_mesozooplankton_expressed_as_nitrogen_in_sea_water
    long_name:      mesozooplankton western boundary condition
    units:          millimole_nitrogen meter-3                       # [millimole/m3]
    field:          mesozooplankton western-boundary
    time:           mesozoo_time
    index_code:     idTbry(iwest,iLzoo)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       mesozoo_south                                    # Input
    standard_name:  mole_concentration_of_mesozooplankton_expressed_as_nitrogen_in_sea_water
    long_name:      mesozooplankton southern boundary condition
    units:          millimole_nitrogen meter-3                       # [millimole/m3]
    field:          mesozooplankton southern-boundary
    time:           mesozoo_time
    index_code:     idTbry(isouth,iLzoo)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       mesozoo_north                                    # Input
    standard_name:  mole_concentration_of_mesozooplankton_expressed_as_nitrogen_in_sea_water
    long_name:      mesozooplankton northern boundary condition
    units:          millimole_nitrogen meter-3                       # [millimole/m3]
    field:          mesozooplankton northern-boundary
    time:           mesozoo_time
    index_code:     idTbry(inorth,iLzoo)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       Pzoo_east                                        # Input
    standard_name:  mole_concentration_of_predator_zooplankton_expressed_as_nitrogen_in_sea_water
    long_name:      predator-zooplankton eastern boundary condition
    units:          millimole_nitrogen meter-3                       # [millimole/m3]
    field:          predator zooplanktopn eastern-boundary
    time:           Pzoo_time
    index_code:     idTbry(ieast,iPzoo)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       Pzoo_west                                        # Input
    standard_name:  mole_concentration_of_predator_zooplankton_expressed_as_nitrogen_in_sea_water
    long_name:      predator-zooplankton western boundary condition
    units:          millimole_nitrogen meter-3                       # [millimole/m3]
    field:          predator zooplankton western-boundary
    time:           Pzoo_time
    index_code:     idTbry(iwest,iPzoo)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       Pzoo_south                                       # Input
    standard_name:  mole_concentration_of_predator_zooplankton_expressed_as_nitrogen_in_sea_water
    long_name:      predator-zooplankton southern boundary condition
    units:          millimole_nitrogen meter-3                       # [millimole/m3]
    field:          predator zooplankton southern-boundary
    time:           Pzoo_time
    index_code:     idTbry(isouth,iPzoo)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       Pzoo_north                                       # Input
    standard_name:  mole_concentration_of_predator_zooplankton_expressed_as_nitrogen_in_sea_water
    long_name:      predator-zooplankton northern boundary condition
    units:          millimole_nitrogen meter-3                       # [millimole/m3]
    field:          predator zooplankton northern-boundary
    time:           Pzoo_time
    index_code:     idTbry(inorth,iPzoo)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       chlo_east                                        # Input
    standard_name:  mole_concentration_of_chlorophyll_in_sea_water
    long_name:      chlorophyll eastern boundary condition
    units:          milligram meter-3                                # [milligram/m3]
    field:          chlorophyll eastern-boundary
    time:           chlo_time
    index_code:     idTbry(ieast,iChlo)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       chlo_west                                        # Input
    standard_name:  mole_concentration_of_chlorophyll_in_sea_water
    long_name:      chlorophyll western boundary condition
    units:          milligram meter-3                                # [milligram/m3]
    field:          chlorophyll western-boundary
    time:           chlo_time
    index_code:     idTbry(iwest,iChlo)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       chlo_south                                       # Input
    standard_name:  mole_concentration_of_chlorophyll_in_sea_water
    long_name:      chlorophyll southern boundary condition
    units:          milligram meter-3                                # [milligram/m3]
    field:          chlorophyll southern-boundary
    time:           chlo_time
    index_code:     idTbry(isouth,iChlo)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       chlo_north                                       # Input
    standard_name:  mole_concentration_of_chlorophyll_in_sea_water
    long_name:      chlorophyll northern boundary condition
    units:          milligram meter-3                                # [milligram/m3]
    field:          chlorophyll northern-boundary
    time:           chlo_time
    index_code:     idTbry(inorth,iChlo)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       detritus_east                                    # Input
    standard_name:  mole_concentration_of_detritus_expressed_as_nitrogen_in_sea_water
    long_name:      detritus eastern boundary condition
    units:          millimole_nitrogen meter-3                       # [millimole/m3]
    field:          detritus eastern-boundary
    time:           detritus_time
    index_code:     idTbry(ieast,iSDet)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       detritus_west                                    # Input
    standard_name:  mole_concentration_of_detritus_expressed_as_nitrogen_in_sea_water
    long_name:      detritus western boundary condition
    units:          millimole_nitrogen meter-3                       # [millimole/m3]
    field:          detritus western-boundary
    time:           detritus_time
    index_code:     idTbry(iwest,iSDet)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       detritus_south                                   # Input
    standard_name:  mole_concentration_of_detritus_expressed_as_nitrogen_in_sea_water
    long_name:      detritus southern boundary condition
    units:          millimole_nitrogen meter-3                       # [millimole/m3]
    field:          detritus southern-boundary
    time:           detritus_time
    index_code:     idTbry(isouth,iSDet)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       detritus_north                                   # Input
    standard_name:  mole_concentration_of_detritus_expressed_as_nitrogen_in_sea_water
    long_name:      detritus northern boundary condition
    units:          millimole_nitrogen meter-3                       # [millimole/m3]
    field:          detritus northern-boundary
    time:           detritus_time
    index_code:     idTbry(inorth,iSDet)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       LDeN_east                                        # Input
    standard_name:  mole_concentration_of_large_detritus_expressed_as_nitrogen_in_sea_water
    long_name:      large nitrogen-detritus eastern boundary condition
    units:          millimole_nitrogen meter-3                       # [millimole/m3]
    field:          large N-detritus eastern-boundary
    time:           LDeN_time
    index_code:     idTbry(ieast,iLDeN)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       LDeN_west                                        # Input
    standard_name:  mole_concentration_of_large_detritus_expressed_as_nitrogen_in_sea_water
    long_name:      large nitrogen-detritus western boundary condition
    units:          millimole_nitrogen meter-3                       # [millimole/m3]
    field:          large N-detritus western-boundary
    time:           LDeN_time
    index_code:     idTbry(iwest,iLDeN)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       LDeN_south                                       # Input
    standard_name:  mole_concentration_of_large_detritus_expressed_as_nitrogen_in_sea_water
    long_name:      large nitrogen-detritus southern boundary condition
    units:          millimole_nitrogen meter-3                       # [millimole/m3]
    field:          large N-detritus southern-boundary
    time:           LDeN_time
    index_code:     idTbry(isouth,iLDeN)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       LDeN_north                                       # Input
    standard_name:  mole_concentration_of_large_detritus_expressed_as_nitrogen_in_sea_water
    long_name:      large nitrogen-detritus northern boundary condition
    units:          millimole_nitrogen meter-3                       # [millimole/m3]
    field:          large N-detritus northern-boundary
    time:           LDeN_time
    index_code:     idTbry(inorth,iLDeN)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       SDeN_east                                        # Input
    standard_name:  mole_concentration_of_small_detritus_expressed_as_nitrogen_in_sea_water
    long_name:      small nitrogen-detritus eastern boundary condition
    units:          millimole_nitrogen meter-3                       # [millimole/m3]
    field:          small N-detritus eastern-boundary
    time:           SDeN_time
    index_code:     idTbry(ieast,iSDeN)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       SDeN_west                                        # Input
    standard_name:  mole_concentration_of_small_detritus_expressed_as_nitrogen_in_sea_water
    long_name:      small nitrogen-detritus western boundary condition
    units:          millimole_nitrogen meter-3                       # [millimole/m3]
    field:          small N-detritus western-boundary
    time:           SDeN_time
    index_code:     idTbry(iwest,iSDeN)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       SDeN_south                                       # Input
    standard_name:  mole_concentration_of_small_detritus_expressed_as_nitrogen_in_sea_water
    long_name:      small nitrogen-detritus southern boundary condition
    units:          millimole_nitrogen meter-3                       # [millimole/m3]
    field:          small N-detritus southern-boundary
    time:           SDeN_time
    index_code:     idTbry(isouth,iSDeN)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       SDeN_north                                       # Input
    standard_name:  mole_concentration_of_small_detritus_expressed_as_nitrogen_in_sea_water
    long_name:      small nitrogen-detritus northern boundary condition
    units:          millimole_nitrogen meter-3                       # [millimole/m3]
    field:          small N-detritus northern-boundary
    time:           SDeN_time
    index_code:     idTbry(inorth,iSDeN)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       RDeN_east                                        # Input
    standard_name:  mole_concentration_of_river_detritus_expressed_as_nitrogen_in_sea_water
    long_name:      river nitrogen-detritus eastern boundary condition
    units:          millimole_nitrogen meter-3                       # [millimole/m3]
    field:          river N-detritus eastern-boundary
    time:           RDeN_time
    index_code:     idTbry(ieast,iRDeN)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       RDeN_west                                        # Input
    standard_name:  mole_concentration_of_river_detritus_expressed_as_nitrogen_in_sea_water
    long_name:      river nitrogen-detritus western boundary condition
    units:          millimole_nitrogen meter-3                       # [millimole/m3]
    field:          river N-detritus western-boundary
    time:           RDeN_time
    index_code:     idTbry(iwest,iRDeN)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       RDeN_south                                       # Input
    standard_name:  mole_concentration_of_river_detritus_expressed_as_nitrogen_in_sea_water
    long_name:      river nitrogen-detritus southern boundary condition
    units:          millimole_nitrogen meter-3                       # [millimole/m3]
    field:          river N-detritus southern-boundary
    time:           RDeN_time
    index_code:     idTbry(isouth,iRDeN)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       RDeN_north                                       # Input
    standard_name:  mole_concentration_of_river_detritus_expressed_as_nitrogen_in_sea_water
    long_name:      river nitrogen-detritus northern boundary condition
    units:          millimole_nitrogen meter-3                       # [millimole/m3]
    field:          river N-detritus northern-boundary
    time:           RDeN_time
    index_code:     idTbry(inorth,iRDeN)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       LdeC_east                                        # Input
    standard_name:  mole_concentration_of_large_detritus_expressed_as_carbon_in_sea_water
    long_name:      large carbon-detritus eastern boundary condition
    units:          millimole_carbon meter-3                         # [millimole/m3]
    field:          large C-detritus eastern-boundary
    time:           LdeC_time
    index_code:     idTbry(ieast,iLDeC)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       LdeC_west                                        # Input
    standard_name:  mole_concentration_of_large_detritus_expressed_as_carbon_in_sea_water
    long_name:      large carbon-detritus western boundary condition
    units:          millimole_carbon meter-3                         # [millimole/m3]
    field:          large C-detritus western-boundary
    time:           LdeC_time
    index_code:     idTbry(iwest,iLDeC)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       LdeC_south                                       # Input
    standard_name:  mole_concentration_of_large_detritus_expressed_as_carbon_in_sea_water
    long_name:      large carbon-detritus southern boundary condition
    units:          millimole_carbon meter-3                         # [millimole/m3]
    field:          large C-detritus southern-boundary
    time:           LdeC_time
    index_code:     idTbry(isouth,iLDeC)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       LdeC_north                                       # Input
    standard_name:  mole_concentration_of_large_detritus_expressed_as_carbon_in_sea_water
    long_name:      large carbon-detritus northern boundary condition
    units:          millimole_carbon meter-3                         # [millimole/m3]
    field:          large C-detritus northern-boundary
    time:           LdeC_time
    index_code:     idTbry(inorth,iLDeC)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       SdeC_east                                        # Input
    standard_name:  mole_concentration_of_small_detritus_expressed_as_carbon_in_sea_water
    long_name:      small carbon-detritus eastern boundary condition
    units:          millimole_carbon meter-3                         # [millimole/m3]
    field:          small C-detritus eastern-boundary
    time:           SdeC_time
    index_code:     idTbry(ieast,iSDeC)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       SdeC_west                                        # Input
    standard_name:  mole_concentration_of_small_detritus_expressed_as_carbon_in_sea_water
    long_name:      small carbon-detritus western boundary condition
    units:          millimole_carbon meter-3                         # [millimole/m3]
    field:          small C-detritus western-boundary
    time:           SdeC_time
    index_code:     idTbry(iwest,iSDeC)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       SdeC_south                                       # Input
    standard_name:  mole_concentration_of_small_detritus_expressed_as_carbon_in_sea_water
    long_name:      small carbon-detritus southern boundary condition
    units:          millimole_carbon meter-3                         # [millimole/m3]
    field:          small C-detritus southern-boundary
    time:           SdeC_time
    index_code:     idTbry(isouth,iSDeC)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       SdeC_north                                       # Input
    standard_name:  mole_concentration_of_small_detritus_expressed_as_carbon_in_sea_water
    long_name:      small carbon-detritus northern boundary condition
    units:          millimole_carbon meter-3                         # [millimole/m3]
    field:          small C-detritus northern-boundary
    time:           SdeC_time
    index_code:     idTbry(inorth,iSDeC)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       RDeC_east                                        # Input
    standard_name:  mole_concentration_of_river_detritus_expressed_as_carbon_in_sea_water
    long_name:      river carbon-detritus eastern boundary condition
    units:          millimole_carbon meter-3                         # [millimole/m3]
    field:          river C-detritus eastern-boundary
    time:           RDeC_time
    index_code:     idTbry(ieast,iRDeC)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       RDeC_west                                        # Input
    standard_name:  mole_concentration_of_river_detritus_expressed_as_carbon_in_sea_water
    long_name:      river carbon-detritus western boundary condition
    units:          millimole_carbon meter-3                         # [millimole/m3]
    field:          river C-detritus western-boundary
    time:           RDeC_time
    index_code:     idTbry(iwest,iRDeC)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       RDeC_south                                       # Input
    standard_name:  mole_concentration_of_river_detritus_expressed_as_carbon_in_sea_water
    long_name:      river carbon-detritus southern boundary condition
    units:          millimole_carbon meter-3                         # [millimole/m3]
    field:          river C-detritus southern-boundary
    time:           RDeC_time
    index_code:     idTbry(isouth,iRDeC)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       RDeC_north                                       # Input
    standard_name:  mole_concentration_of_river_detritus_expressed_as_carbon_in_sea_water
    long_name:      river carbon-detritus northern boundary condition
    units:          millimole_carbon meter-3                         # [millimole/m3]
    field:          river C-detritus northern-boundary
    time:           RDeC_time
    index_code:     idTbry(inorth,iRDeC)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  ########################
  ###  Red Tide Model  ###
  ########################

  - variable:       dinoflagellate                                   # Input/Output
    standard_name:  cell_concentration_of_dinoflagellate_in_sea_water
    long_name:      red tide dinoflagellate concentration
    units:          cell meter-3                                     # [cell/m3]
    field:          dinoflagellate
    time:           ocean_time
    index_code:     idTvar(iDino)
    type:           r3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       cyst_bottom                                      # Input
    standard_name:  cell_concentration_of_dinoflagellate_bottom_cyst_in_sea_water
    long_name:      red tide dinoflagellate bottom cyst concentration
    units:          cell meter-2                                     # [cell/m2]
    field:          bottom dinoflagellate cyst
    time:           cyst_time
    index_code:     idCyst
    type:           r2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       swrad_avg                                        # Input/Output
    standard_name:  time_averaged_net_downward_shortwave_flux_at_sea_water_surfacer
    long_name:      averaged solar shortwave radiation flux
    units:          watt meter-2                                     # Input:  [Watt/m2]
    field:          averaged shortwave radiation                     # [Celsius m/s]
    time:           srf_time                                         # Output: [Watt/m2]
    index_code:     idAsrf
    type:           r2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       DIN_obs                                          # Input
    standard_name:  mole_concentration_of_dissolved_inorganic_nutrient
    long_name:      observed dissolved inorganic nutrient
    units:          millimole meter-3                                # [millimole/m3]
    field:          DIN observations
    time:           DIN_time
    index_code:     idODIN
    type:           r3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  # Lateral Boundary Condition Variables

  - variable:       dinoflagellate_east                              # Input
    standard_name:  mole_concentration_of_dinoflagellate_in_sea_water
    long_name:      red tide dinoflagellate eastern boundary condition
    units:          cells meter-3                                    # [cell/m3]
    field:          dinoflagellate eastern-boundary
    time:           dinoflagellate_time
    index_code:     idTbry(ieast,iDino)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       dinoflagellate_west                              # Input
    standard_name:  mole_concentration_of_dinoflagellate_in_sea_water
    long_name:      red tide dinoflagellate western boundary condition
    units:          cells meter-3                                    # [cell/m3]
    field:          dinoflagellate western-boundary
    time:           dinoflagellate_time
    index_code:     idTbry(iwest,iDino)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       dinoflagellate_south                             # Input
    standard_name:  mole_concentration_of_dinoflagellate_in_sea_water
    long_name:      red tide dinoflagellate southern boundary condition
    units:          cells meter-3                                    # [cell/m3]
    field:          dinoflagellate southern-boundary
    time:           dinoflagellate_time
    index_code:     idTbry(isouth,iDino)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       dinoflagellate_north                             # Input
    standard_name:  mole_concentration_of_dinoflagellate_in_sea_water
    long_name:      red tide dinoflagellate northern boundary condition
    units:          cells meter-3                                    # [cell/m3]
    field:          dinoflagellate northern-boundary
    time:           dinoflagellate_time
    index_code:     idTbry(inorth,iDino)
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  ############################################
  ###  EcoSim bio-optical Model Variables  ###
  ###  NO3, NH4, and PO4 already defined   ###
  ############################################

  - variable:       FeO                                              # Input/Output
    standard_name:  mole_concentration_of_iron_oxide_in_sea_water
    long_name:      iron concentration
    units:          millimole_FeO meter-3                            # [millimole/m3]
    field:          FeO
    time:           ocean_time
    index_code:     idTvar(iFeO_)
    type:           r3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       SiO                                              # Input/Output
    standard_name:  mole_concentration_of_silica_in_sea_water
    long_name:      silica concentration
    units:          millimole_SiO meter-3                            # [millimole/m3]
    field:          SiO
    time:           ocean_time
    index_code:     idTvar(iSiO_)
    type:           r3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       DIC                                              # Input/Output
    standard_name:  mole_concentration_of_dissolved_inorganic_carbon_in_sea_water
    long_name:      DIC concentration
    units:          millimole_DIC meter-3                            # [millimole/m3]
    field:          DIC
    time:           ocean_time
    index_code:     idTvar(iDIC_)
    type:           r3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       Bac_C                                            # Input/Output
    standard_name:  mole_concentration_of_bateria_expressed_as_carbon_group_
    long_name:      bacteria, carbon group
    units:          millimole_C meter-3                              # [millimole/m3]
    field:          bacteria, carbon group
    time:           ocean_time
    index_code:     idTvar(iBacC)
    type:           r3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       Bac_F                                            # Input/Output
    standard_name:  mole_concentration_of_bateria_expressed_as_iron_group_
    long_name:      bacteria, iron Group
    units:          millimole_Fe meter-3                             # [millimole/m3]
    field:          bacteria, iron Group
    time:           ocean_time
    index_code:     idTvar(iBacF)
    type:           r3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       Bac_N                                            # Input/Output
    standard_name:  mole_concentration_of_bateria_expressed_as_nitrogen_group_
    long_name:      bacteria, nitrogen group
    units:          millimole_N meter-3                              # [millimole/m3]
    field:          bacteria, nitrogen group
    time:           ocean_time
    index_code:     idTvar(iBacN)
    type:           r3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       Bac_P                                            # Input/Output
    standard_name:  mole_concentration_of_bateria_expressed_as_phosphorus_group_
    long_name:      bacteria, phosphorus group
    units:          millimole_P meter-3                              # [millimole/m3]
    field:          bacteria, phosphorus group
    time:           ocean_time
    index_code:     idTvar(iBacP)
    type:           r3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       CDM_C                                            # Input/Output
    standard_name:  mole_concentration_of_color_degradational_matter_expressed_as_carbon_group_
    long_name:      color degradational matter
    units:          millimole_CDMC meter-3                           # [millimole/m3]
    field:          CDM, carbon group
    time:           ocean_time
    index_code:     idTvar(iCDMC)
    type:           r3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       DOM_C                                            # Input/Output
    standard_name:  mole_concentration_of_dissolved_organic_matter_expressed_as_carbon_group_
    long_name:      dissolved organic matter, carbon group
    units:          millimole_C meter-3                              # [millimole/m3]
    field:          DOM, carbon group
    time:           ocean_time
    index_code:     idTvar(iDOMC)
    type:           r3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       DOM_N                                            # Input/Output
    standard_name:  mole_concentration_of_dissolved_organic_matter_expressed_as_nitrogen_group_
    long_name:      dissolved organic matter, nitrogen group
    units:          millimole_N meter-3                              # [millimole/m3]
    field:          DOM, nitrogen group
    time:           ocean_time
    index_code:     idTvar(iDOMN)
    type:           r3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       DOM_P                                            # Input/Output
    standard_name:  mole_concentration_of_dissolved_organic_matter_expressed_as_phosphorus_group_
    long_name:      dissolved organic matter, phosphorus group
    units:          millimole_P meter-3                              # [millimole/m3]
    field:          DOM, phosphorous group
    time:           ocean_time
    index_code:     idTvar(iDOMP)
    type:           r3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       Fec_C                                            # Input/Output
    standard_name:  mole_concentration_of_fecal_matter_expressed_as_carbon_group_
    long_name:      fecal matter, carbon group
    units:          millimole_C meter-3                              # [millimole/m3]
    field:          fecal matter, carbon group
    time:           ocean_time
    index_code:     idTvar(iFecC)
    type:           r3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       Fec_F                                            # Input/Output
    standard_name:  mole_concentration_of_fecal_matter_expressed_as_iron_group_
    long_name:      fecal matter, iron group
    units:          millimole_Fe meter-3                             # [millimole/m3]
    field:          fecal matter, iron group
    time:           ocean_time
    index_code:     idTvar(iFecF)
    type:           r3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       Fec_N                                            # Input/Output
    standard_name:  mole_concentration_of_fecal_matter_expressed_as_nitrogen_group_
    long_name:      fecal matter, nitrogen group
    units:          millimole_N meter-3                              # [millimole/m3]
    field:          fecal matter, nitrogen group
    time:           ocean_time
    index_code:     idTvar(iFecN)
    type:           r3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       Fec_P                                            # Input/Output
    standard_name:  mole_concentration_of_fecal_matter_expressed_as_phosphorus_group_
    long_name:      fecal matter, phosphorus group
    units:          millimole_P meter-3                              # [millimole/m3]
    field:          fecal matter, phosphorous group
    time:           ocean_time
    index_code:     idTvar(iFecP)
    type:           r3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       Fec_S                                            # Input/Output
    standard_name:  mole_concentration_of_fecal_matter_expressed_as_silica_group_
    long_name:      fecal matter, silica group
    units:          millimole_SiO meter-3                            # [millimole/m3]
    field:          fecal matter, silica group
    time:           ocean_time
    index_code:     idTvar(iFecS)
    type:           r3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       Phy_C                                            # Input/Output
    standard_name:  mole_concentration_of_phytoplankton_expressed_as_carbon_group_
    long_name:      phytoplankton, carbon group
    units:          millimole_C meter-3                              # [millimole/m3]
    field:          phytoplankton, carbon group
    time:           ocean_time
    index_code:     idTvar(iPhyC)
    type:           r3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       Phy_F                                            # Input/Output
    standard_name:  mole_concentration_of_phytoplankton_expressed_as_iron_group_
    long_name:      phytoplankton, iron group
    units:          millimole_Fe meter-3                             # [millimole/m3]
    field:          phytoplankton, iron group
    time:           ocean_time
    index_code:     idTvar(iPhyF)
    type:           r3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       Phy_N                                            # Input/Output
    standard_name:  mole_concentration_of_phytoplankton_expressed_as_nitrogen_group_
    long_name:      phytoplankton, nitrogen group
    units:          millimole_N meter-3                              # [millimole/m3]
    field:          phytoplankton, nitrogen group
    time:           ocean_time
    index_code:     idTvar(iPhyN)
    type:           r3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       Phy_P                                            # Input/Output
    standard_name:  mole_concentration_of_phytoplankton_expressed_as_phosphorus_group_
    long_name:      phytoplankton, phosphorus group
    units:          millimole_P meter-3                              # [millimole/m3]
    field:          phytoplankton, phosphorus group
    time:           ocean_time
    index_code:     idTvar(iPhyP)
    type:           r3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       Phy_S                                            # Input/Output
    standard_name:  mole_concentration_of_phytoplankton_expressed_as_silica_group_
    long_name:      phytoplankton, silica group
    units:          millimole_SiO meter-3                            # [millimole/m3]
    field:          phytoplankton, silica group
    time:           ocean_time
    index_code:     idTvar(iPhyS)
    type:           r3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       Pigs_                                            # Input/Output
    standard_name:  mass_concentration_of_
    long_name:      phytoplankton X, pigment Y
    units:          milligrams meter-3                               # [milligrams/m3]
    field:          phytoplankton X, pigment Y
    time:           ocean_time
    index_code:     idTvar(iPigs)
    type:           r3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  #  EcoSim Diagnostic Variables

  - variable:       surface_irradiance                               # Output
    standard_name:  mole_concentration_of_spectral_light_irradiance_in_surface_sea_water
    long_name:      surface spectral light irradiance
    units:          micromole meter-2 s-1 nm-1                       # [micromole/m2/s/nm]
    field:          spectral irradiance
    time:           ocean_time
    index_code:     iDbio3(idSpIr)
    type:           l3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       downward_irradiance                              # Output
    standard_name:  mole_concentration_of_downward_spectral_light_irradiance_in_sea_water
    long_name:      spectral downward light irradiance
    units:          micromole meter-2 s-1 nm-1                       # [micromole/m2/s/nm]
    field:          downward spectralirradiance
    time:           ocean_time
    index_code:     iDbio4(iddIrr)
    type:           l4dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       scalar_irradiance                                # Output
    standard_name:  mole_concentration_of_scalar_spectral_light_irradiance_in_sea_water
    long_name:      scalar spectral light irradiance
    units:          micromole meter-2 s-1 nm-1                       # [micromole/m2/s/nm]
    field:          scalar irradiance
    time:           ocean_time
    index_code:     iDbio4(idsIrr)
    type:           l4dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       light_cosine                                     # Output
    standard_name:  light_spectral_average_cosine_of_zenith_angle_below_sea_surface
    long_name:      underwater light spectral average cosine of zenith angle
    units:          nondimensional                                   # [nondimensional]
    field:          light cosine
    time:           ocean_time
    index_code:     iDbio4(idAcos)
    type:           l4dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       light_attenuation                                # Output
    standard_name:  diffuse_light_attenuation_below_sea_surface
    long_name:      diffuse light attenuation
    units:          meter-1                                          # [1/m]
    field:          light attenuation
    time:           ocean_time
    index_code:     iDbio4(idLatt)
    type:           l4dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       Phy_absorption                                   # Output
    standard_name:  sea_water_phytoplankton_light_optical_absorption
    long_name:      phytoplankton optical absorption
    units:          meter-1                                          # [1/m]
    field:          phytoplankton absorption
    time:           ocean_time
    index_code:     iDbio4(idaPHY)
    type:           l4dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       detrital_absorption                              # Output
    standard_name:  sea_water_detrital_light_optical_absorption
    long_name:      detrital optical absorption
    units:          meter-1                                          # [1/m]
    field:          detrital absorption
    time:           ocean_time
    index_code:     iDbio4(idaDET)
    type:           l4dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       CDC_absorption                                   # Output
    standard_name:  sea_water_color_degradational_matter_light_optical_absorption
    long_name:      color degradational matter optical absorption
    units:          meter-1                                          # [1/m]
    field:          CDC absorption
    time:           ocean_time
    index_code:     iDbio4(idaCDC)
    type:           l4dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       Phy_scattering                                   # Output
    standard_name:  sea_water_phytoplankton_light_optical_scattering
    long_name:      phytoplankton optical scattering
    units:          meter-1                                          # [1/m]
    field:          phytoplankton scattering
    time:           ocean_time
    index_code:     iDbio4(idsPHY)
    type:           l4dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       Phy_backscattering                               # Output
    standard_name:  sea_water_phytoplankton_light_optical_backscattering
    long_name:      phytoplankton optical backscattering
    units:          meter-1                                          # [1/m]
    field:          phytoplankton backscattering
    time:           ocean_time
    index_code:     iDbio4(idbPHY)
    type:           l4dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       total_scattering                                 # Output
    standard_name:  sea_water_total_light_optical_scattering
    long_name:      total optical scattering
    units:          meter-1                                          # [1/m]
    field:          total scattering
    time:           ocean_time
    index_code:     iDbio4(idsTOT)
    type:           l4dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       total_backscattering                             # Output
    standard_name:  sea_water_total_light_optical_backscattering
    long_name:      total optical backscattering
    units:          meter-1                                          # [1/m]
    field:          total backscattering
    time:           ocean_time
    index_code:     iDbio4(idbTOT)
    type:           l4dvar
    add_offset:     0.0d0
    scale:          1.0d0

  #################################
  ###  Sea-ice State Variables  ###
  #################################

  - variable:       Aice                                             # Input/Output
    standard_name:  sea_ice_area_fraction
    long_name:      fraction of cell covered by ice
    units:          nondimensional
    field:          ice concentration
    time:           ocean_time
    index_code:     idAice
    type:           r2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       ice_thickness                                    # Input/Output
    standard_name:  sea_ice_thickness
    long_name:      average ice thickness in cell
    units:          meter                                            # [m]
    field:          ice thickness
    time:           ocean_time
    index_code:     idHice
    type:           r2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       meltpond_thickness                               # Input/Output
    standard_name:  melt_pond_water_thickness_on_sea_ice
    long_name:      surface melt water thickness on ice
    units:          meter                                            # [m]
    field:          sea ice melt water thickness
    time:           ocean_time
    index_code:     idHmel
    type:           r2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       ice_age                                          # Input/Output
    standard_name:  age_of_sea_ice
    long_name:      age of sea ice
    units:          second                                           # [s]
    field:          ice age
    time:           ocean_time
    index_code:     idIage
    type:           r2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       snow_thickness                                   # Input/Output
    standard_name:  snowfall_thickness_above_sea_ice
    long_name:      thickness of snow cover
    units:          meter                                            # [m]
    field:          snow thickness
    time:           ocean_time
    index_code:     idHsno
    type:           r2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       Tice                                             # Input/Output
    standard_name:  sea_ice_temperature
    long_name:      interior ice temperature
    units:          Celcius                                          # [C]
    field:          sea ice interior temperature
    time:           ocean_time
    index_code:     idTice
    type:           r2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       under_ice_temp                                   # Input/Output
    standard_name:  temperature_of_molecular_sub_layer_under_sea_ice
    long_name:      temperature of molecular sub-layer under ice
    units:          Celsius                                          # [C]
    field:          under sea ice temperature
    time:           ocean_time
    index_code:     idT0mk
    type:           r2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       under_ice_salt                                   # Input/Output
    standard_name:  salinity_of_molecular_sub_layer_under_sea_ice
    long_name:      salinity of molecular sub-layer under ice
    units:          nondimensional                                   # [PSS]
    field:          under sea ice salinity
    time:           ocean_time
    index_code:     idS0mk
    type:           r2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       ice_sst                                          # Input/Output
    standard_name:  sea_ice_surface_temperature
    long_name:      temperature of ice/snow surface
    units:          Celcius                                          # [C]
    field:          sea ice surface temperature
    time:           ocean_time
    index_code:     idIsst
    type:           r2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       Uice                                             # Input/Output
    standard_name:  sea_ice_x_velocity
    long_name:      u-component of ice velocity
    units:          meter second-1                                   # [m/s]
    field:          sea ice x-velocity
    time:           ocean_time
    index_code:     idUice
    type:           u2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       Vice                                             # Input/Output
    standard_name:  sea_ice_y_velocity
    long_name:      v-component of ice velocity
    units:          meter second-1                                   # [m/s]
    field:          sea ice y-velocity
    time:           ocean_time
    index_code:     idVice
    type:           v2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       Uice_eastward                                    # Input/Output
    standard_name:  eastward_sea_ice_velocity
    long_name:      eastward sea ice velocity at RHO-points
    units:          meter second-1                                   # [m/s]
    field:          sea ice x-velocity
    time:           ocean_time
    index_code:     idUiER
    type:           r2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       Vice_northward                                   # Input/Output
    standard_name:  northward_sea_ice_velocity
    long_name:      northward sea ice velocity at RHO-points
    units:          meter second-1                                   # [m/s]
    field:          sea ice y-velocity
    time:           ocean_time
    index_code:     idViNR
    type:           r2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       ice_Sxx                                          # Input/Output
    standard_name:  sea_ice_internal_xx_stress
    long_name:      internal ice stress xx-component
    units:          Newton meter-1                                   # [N/m]
    field:          sea ice xx-stress
    time:           ocean_time
    index_code:     idISxx
    type:           r2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       ice_Sxy                                          # Input/Output
    standard_name:  sea_ice_internal_xy_stress
    long_name:      internal ice stress xy-component
    units:          Newton meter-1                                   # [N/m]
    field:          sea ice xy-stress
    time:           ocean_time
    index_code:     idISxy
    type:           r2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       ice_Syy                                          # Input/Output
    standard_name:  sea_ice_internal_yy_stress
    long_name:      internal ice stress yy-component
    units:          Newton meter-1                                   # [N/m]
    field:          sea ice yy-stress
    time:           ocean_time
    index_code:     idISyy
    type:           r2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       io_massflux                                      # Output
    standard_name:  water_flux_out_of_sea_ice_and_sea_water
    long_name:      ice-ocean mass flux
    units:          meter second-1                                   # [m/s]
    field:          ice-ocean mass flux
    time:           ocean_time
    index_code:     idIOmf
    type:           r2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       io_friction_vel                                  # Output
    standard_name:  sea_ice_and_sea_water_friction_velocity
    long_name:      ice-ocean friction velocity                      # [m/s]
    units:          meter second-1
    field:          sea ice friction velocity
    time:           ocean_time
    index_code:     idIOfv
    type:           r2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       io_transfer_coef                                 # Output
    standard_name:  sea_ice_and_sea_water_transfer_coefficient
    long_name:      ice-ocean momentum transfer coefficient
    units:          meter second-1                                   # [m/s]
    field:          sea ice transfer coefficient
    time:           ocean_time
    index_code:     idIOmt
    type:           r2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       ice_divergence                                   # Output
    standard_name:  sea_ice_divergence_rate
    long_name:      sea ice divergence rate
    units:          meter3 second-1                                  # [m3/s]
    field:          sea ice divergence rate
    time:           ocean_time
    index_code:     idWdiv
    type:           r2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       ai_melt_freeze                                   # Output
    standard_name:  rate_of_melting_or_freezing_at_atmosphere_sea_ice_interface
    long_name:      rate of melt/freeze at the atmosphere-ice interface
    units:          meter second-1                                   # [m/s]
    field:          air-ice melt/freeze rate
    time:           ocean_time
    index_code:     idW_ai
    type:           r2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       ao_melt_freeze                                   # Output
    standard_name:  rate_of_melting_or_freezing_at_atmosphere_ocean_interface
    long_name:      rate of melt/freeze at the atmosphere-ocean interface
    units:          meter second-1                                   # [m/s]
    field:          air-ocean melt/freeze rate
    time:           ocean_time
    index_code:     idW_ao
    type:           r2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       frazil_freeze                                    # Output
    standard_name:  rate_of_frazil_ice_growth
    long_name:      rate of frazil ice growth in full water column
    units:          meter second-1                                   # [m/s]
    field:          frazil ice growth rate
    time:           ocean_time
    index_code:     idW_fr
    type:           r2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       io_melt_freeze                                   # Output
    standard_name:  rate_of_melting_or_freezing_at_sea_ice_ocean_interface
    long_name:      rate of melt/freeze at the ice-ocean interface
    units:          meter second-1                                   # [m/s]
    field:          ice-ocean melt/freeze rate
    time:           ocean_time
    index_code:     idW_io
    type:           r2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       melt_freeze_runoff                               # Output
    standard_name:  rate_of_melting_or_freezing_runoff_into_ocean
    long_name:      rate of melt/freeze runoff into ocean
    units:          meter second-1                                   # [m/s]
    field:          melt/freeze runoff rate
    time:           ocean_time
    index_code:     idW_ro
    type:           r2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  #######################################
  ###  Time-averaged Quadratic Terms  ###
  #######################################

  - variable:       zeta2                                            # Output
    standard_name:  square_of_sea_surface_elevation_anomaly
    long_name:      squared free-surface
    units:          meter2                                           # [m2]
    field:          free-surface square
    time:           ocean_time
    index_code:     idZZav
    type:           r2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       ubar2                                            # Output
    standard_name:  square_of_barotropic_sea_water_x_velocity
    long_name:      squared vertically integrated u-momentum
    units:          meter2 second-2                                  # [m2/s2]
    field:          u-barotropic square
    time:           ocean_time
    index_code:     idU2av
    type:           u2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       vbar2                                            # Output
    standard_name:  square_of_barotropic_sea_water_y_velocity
    long_name:      squared vertically integrated v-momentum
    units:          meter2 second-2                                  # [m2/s2]
    field:          v-barotropic square
    time:           ocean_time
    index_code:     idV2av
    type:           v2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       Huon                                             # Output
    standard_name:  ocean_volume_x_transport
    long_name:      u-volume flux
    units:          meter3 second-1                                  # [m3/s]
    field:          volume x-transport
    time:           ocean_time
    index_code:     idHUav
    type:           u3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       Hvom                                             # Output
    standard_name:  ocean_volume_y_transport
    long_name:      v-volume flux
    units:          meter3 second-1                                  # [m3/s]
    field:          volume y-transport
    time:           ocean_time
    index_code:     idHVav
    type:           v3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       uu                                               # Output
    standard_name:  square_of_sea_water_x_velocity
    long_name:      squared u-momentum
    units:          meter2 second-2                                  # [m2/s2]
    field:          u-velocity square
    time:           ocean_time
    index_code:     idUUav
    type:           u3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       uv                                               # Output
    standard_name:  product_of_x_velocity_and_y_velocity_in_sea_water
    long_name:      u-momentum times v-momentum
    units:          meter2 second-2                                  # [m2/s2]
    field:          u- and v-velocity product
    time:           ocean_time
    index_code:     idUVav
    type:           r3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       vv                                               # Output
    standard_name:  square_of_sea_water_y_velocity
    long_name:      squared v-momentum
    units:          meter2 second-2                                  # [m2/s2]
    field:          v-velocity square
    time:           ocean_time
    index_code:     idVVav
    type:           v3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       tracer2                                          # Output
    standard_name:  square_of_
    long_name:      squared tracer
    units:          tracer2                                          # [tracer2]
    field:          square
    time:           ocean_time
    index_code:     idTTav(itrc)
    type:           r3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       Huontracer                                       # Output
    standard_name:  ocean_volume_x_transport_of_
    long_name:      tracer u-volume flux
    units:          meter3 second-1 tracer                           # [m3/s tracer]
    field:          x-transport
    time:           ocean_time
    index_code:     iHUTav(itrc)
    type:           u3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       Hvomtracer                                       # Output
    standard_name:  ocean_volume_y_transport_of_
    long_name:      tracer v-volume flux
    units:          meter3 second-1 tracer                           # [m3/s tracer]
    field:          y-transport
    time:           ocean_time
    index_code:     iHVTav(itrc)
    type:           v3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       utracer                                          # Output
    standard_name:  product_of_x_velocity_and_
    long_name:      u-momentum times tracer
    units:          meter second-1 tracer                            # [m/s tracer]
    field:          u-velocty times
    time:           ocean_time
    index_code:     idUTav(itrc)
    type:           u3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       vtracer                                          # Output
    standard_name:  product_of_y_velocity_and_
    long_name:      v-momentum times tracer
    units:          meter second-1 tracer                            # [m/s tracer]
    field:          v-velocity times
    time:           ocean_time
    index_code:     idVTav(itrc)
    type:           v3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  ############################################
  ###  Time-averaged Diagnostic Variables  ###
  ############################################

  # 2D Momentum Terms

  - variable:       pvorticity_bar                                   # Input/Output
    standard_name:  sea_water_barotropic_potential_vorticity
    long_name:      2D potential vorticity
    units:          meter-1 second-1                                 # [1/m/s]
    field:          barotropic potential vorticity
    time:           ocean_time
    index_code:     id2dPV
    type:           p2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       rvorticity_bar                                   # Input/Output
    standard_name:  sea_water_barotropic_relative_vorticity
    long_name:      2D relative vorticity
    units:          second-1                                         # [1/s]
    field:          barotropic relative vorticity
    time:           ocean_time
    index_code:     id2dRV
    type:           p2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       ubar_accel                                       # Input/Output
    standard_name:  barotropic_sea_water_x_velocity_tendency
    long_name:      2D u-momentum, acceleration term
    units:          meter second-2                                   # [m/s2]
    field:          u-barotropic acceleration
    time:           ocean_time
    index_code:     idDu2d(M2rate)
    type:           u2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       vbar_accel                                       # Input/Output
    standard_name:  barotropic_sea_water_y_velocity_tendency
    long_name:      2D v-momentum, acceleration term
    units:          meter second-2                                   # [m/s2]
    field:          v-barotropic acceleration
    time:           ocean_time
    index_code:     idDv2d(M2rate)
    type:           v2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       ubar_prsgrd                                      # Input/Output
    standard_name:  barotropic_sea_water_x_velocity_tendency_due_to_pressure_gradient
    long_name:      2D u-momentum, pressure gradient term
    units:          meter second-2                                   # [m/s2]
    field:          u-barotropic pressure gradient
    time:           ocean_time
    index_code:     idDu2d(M2pgrd)
    type:           u2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       vbar_prsgrd                                      # Input/Output
    standard_name:  barotropic_sea_water_y_velocity_tendency_due_to_pressure_gradient
    long_name:      2D v-momentum, pressure gradient term
    units:          meter second-2                                   # [m/s2]
    field:          v-barotropic pressure gradient
    time:           ocean_time
    index_code:     idDv2d(M2pgrd)
    type:           v2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       ubar_cor                                         # Input/Output
    standard_name:  barotropic_sea_water_x_velocity_tendency_due_to_coriolis
    long_name:      2D u-momentum, Coriolis term
    units:          meter second-2                                   # [m/s2]
    field:          u-barotropic coriolis
    time:           ocean_time
    index_code:     idDu2d(M2fcor)
    type:           u2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       vbar_cor                                         # Input/Output
    standard_name:  barotropic_sea_water_y_velocity_tendency_due_to_coriolis
    long_name:      2D v-momentum, Coriolis term
    units:          meter second-2                                   # [m/s2]
    field:          v-barotropic coriolis
    time:           ocean_time
    index_code:     idDv2d(M2fcor)
    type:           v2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       ubar_hadv                                        # Input/Output
    standard_name:  barotropic_sea_water_x_velocity_tendency_due_to_horizontal_advection
    long_name:      2D u-momentum, horizontal advection term
    units:          meter second-2                                   # [m/s2]
    field:          u-barotropic horizontal advection
    time:           ocean_time
    index_code:     idDu2d(M2hadv)
    type:           u2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       ubar_xadv                                        # Input/Output
    standard_name:  barotropic_sea_water_x_velocity_tendency_due_to_horizontal_x_advection
    long_name:      2D u-momentum, horizontal XI-advection term
    units:          meter second-2                                   # [m/s2]
    field:          u-barotropic x-advection
    time:           ocean_time
    index_code:     idDu2d(M2xadv)
    type:           u2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       ubar_yadv                                        # Input/Output
    standard_name:  barotropic_sea_water_x_velocity_tendency_due_to_horizontal_y_advection
    long_name:      2D u-momentum, horizontal ETA-advection term
    units:          meter second-2                                   # [m/s2]
    field:          u-barotropic y-advection
    time:           ocean_time
    index_code:     idDu2d(M2yadv)
    type:           u2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       vbar_hadv                                        # Input/Output
    standard_name:  barotropic_sea_water_y_velocity_tendency_due_to_horizontal_advection
    long_name:      2D v-momentum, horizontal advection term
    units:          meter second-2                                   # [m/s2]
    field:          v-barotropic horizontal advection
    time:           ocean_time
    index_code:     idDv2d(M2hadv)
    type:           v2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       vbar_xadv                                        # Input/Output
    standard_name:  barotropic_sea_water_y_velocity_tendency_due_to_horizontal_x_advection
    long_name:      2D v-momentum, horizontal XI-advection term
    units:          meter second-2                                   # [m/s2]
    field:          v-barotropic x-advection
    time:           ocean_time
    index_code:     idDv2d(M2xadv)
    type:           v2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       vbar_yadv                                        # Input/Output
    standard_name:  barotropic_sea_water_y_velocity_tendency_due_to_horizontal_y_advection
    long_name:      2D v-momentum, horizontal ETA-advection term
    units:          meter second-2                                   # [m/s2]
    field:          v-barotropic y-advection
    time:           ocean_time
    index_code:     idDv2d(M2yadv)
    type:           v2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       ubar_hrad                                        # Input/Output
    standard_name:  barotropic_sea_water_x_velocity_tendency_due_to_horizontal_radiation_stress
    long_name:      2D u-momentum, horizontal radiation stress term
    units:          meter second-2                                   # [m/s2]
    field:          u-barotropic horizontal radiation stress
    time:           ocean_time
    index_code:     idDu2d(M2hrad)
    type:           u2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       vbar_hrad                                        # Input/Output
    standard_name:  barotropic_sea_water_y_velocity_tendency_due_to_horizontal_radiation_stress
    long_name:      2D v-momentum, horizontal radiation stress term
    units:          meter second-2                                   # [m/s2]
    field:          v-barotropic horizontal radiation stress
    time:           ocean_time
    index_code:     idDv2d(M2hrad)
    type:           v2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       ubar_hvisc                                       # Input/Output
    standard_name:  barotropic_sea_water_x_velocity_tendency_due_to_horizontal_viscosity
    long_name:      2D u-momentum, horizontal viscosity term
    units:          meter second-2                                   # [m/s2]
    field:          u-barotropic horizontal viscosity
    time:           ocean_time
    index_code:     idDu2d(M2hvis)
    type:           u2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       ubar_xvisc                                       # Input/Output
    standard_name:  barotropic_sea_water_x_velocity_tendency_due_to_horizontal_x_viscosity
    long_name:      2D u-momentum, horizontal XI-viscosity term
    units:          meter second-2                                   # [m/s2]
    field:          u-barotropic x-viscosity
    time:           ocean_time
    index_code:     idDu2d(M2xvis)
    type:           u2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       ubar_yvisc                                       # Input/Output
    standard_name:  barotropic_sea_water_x_velocity_tendency_due_to_horizontal_y_viscosity
    long_name:      2D u-momentum, horizontal ETA-viscosity term
    units:          meter second-2                                   # [m/s2]
    field:          u-barotropic y-viscosity
    time:           ocean_time
    index_code:     idDu2d(M2yvis)
    type:           u2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       vbar_hvisc                                       # Input/Output
    standard_name:  barotropic_sea_water_y_velocity_tendency_due_to_horizontal_viscosity
    long_name:      2D v-momentum, horizontal viscosity term
    units:          meter second-2                                   # [m/s2]
    field:          v-barotropic horizontal viscosity
    time:           ocean_time
    index_code:     idDv2d(M2hvis)
    type:           v2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       vbar_xvisc                                       # Input/Output
    standard_name:  barotropic_sea_water_y_velocity_tendency_due_to_horizontal_x_viscosity
    long_name:      2D v-momentum, horizontal XI-viscosity term
    units:          meter second-2                                   # [m/s2]
    field:          v-barotropic x-viscosity
    time:           ocean_time
    index_code:     idDv2d(M2xvis)
    type:           v2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       vbar_yvisc                                       # Input/Output
    standard_name:  barotropic_sea_water_y_velocity_tendency_due_to_horizontal_y_viscosity
    long_name:      2D v-momentum, horizontal ETA-viscosity term
    units:          meter second-2                                   # [m/s2]
    field:          v-barotropic y-viscosity
    time:           ocean_time
    index_code:     idDv2d(M2yvis)
    type:           v2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       ubar_sstr                                        # Input/Output
    standard_name:  barotropic_sea_water_x_velocity_tendency_due_to_surface_stress
    long_name:      2D u-momentum, surface stress term
    units:          meter second-2                                   # [m/s2]
    field:          u-barotropic surface stress
    time:           ocean_time
    index_code:     idDu2d(M2sstr)
    type:           u2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       ubar_bstr                                        # Input/Output
    standard_name:  barotropic_sea_water_x_velocity_tendency_due_to_bottom_stress
    long_name:      2D u-momentum, bottom stress term
    units:          meter second-2                                   # [m/s2]
    field:          u-barotropic bottom stress
    time:           ocean_time
    index_code:     idDu2d(M2bstr)
    type:           u2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       vbar_sstr                                        # Input/Output
    standard_name:  barotropic_sea_water_y_velocity_tendency_due_to_surface_stress
    long_name:      2D v-momentum, surface stress term
    units:          meter second-2                                   # [m/s2]
    field:          v-barotropic surface stress
    time:           ocean_time
    index_code:     idDv2d(M2sstr)
    type:           v2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       vbar_bstr                                        # Input/Output
    standard_name:  barotropic_sea_water_y_velocity_tendency_due_to_bottom_stress
    long_name:      2D v-momentum, bottom stress term
    units:          meter second-2                                   # [m/s2]
    field:          v-barotropic bottom stress
    time:           ocean_time
    index_code:     idDv2d(M2bstr)
    type:           v2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  # 3D Momentum Terms

  - variable:       pvorticity                                       # Output
    standard_name:  sea_water_potential_vorticity
    long_name:      potential vorticity
    units:          meter-1 second-1                                 # [1/m/s]
    field:          potential vorticity
    time:           ocean_time
    index_code:     id3dPV
    type:           p3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       pvorticity_slice                                 # Output
    standard_name:  sea_water_potential_vorticity
    long_name:      potential vorticity
    units:          meter-1 second-1                                 # [1/m/s]
    field:          potential vorticity constant depth slice
    time:           ocean_time
    index_code:     idPVzs
    type:           p3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       rvorticity                                       # Output
    standard_name:  sea_water_relative_vorticity
    long_name:      relative vorticity, vertical component
    units:          second-1                                         # [1/s]
    field:          relative vorticity
    time:           ocean_time
    index_code:     id3dRV
    type:           p3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       rvorticity_slice                                 # Output
    standard_name:  sea_water_relative_vorticity
    long_name:      surface relative vorticity
    units:          second-1                                         # [1/s]
    field:          relative vorticity constant depth slice
    time:           ocean_time
    index_code:     idRVzs
    type:           p3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       u_accel                                          # Input/Output
    standard_name:  sea_water_x_velocity_tendency
    long_name:      3D u-momentum, acceleration term
    units:          meter second-2                                   # [m/s2]
    field:          u-velocity acceleration
    time:           ocean_time
    index_code:     idDu3d(M3rate)
    type:           u3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       v_accel                                          # Input/Output
    standard_name:  sea_water_y_velocity_tendency
    long_name:      3D v-momentum, acceleration term
    units:          meter second-2                                   # [m/s2]
    field:          v-velocity acceleration
    time:           ocean_time
    index_code:     idDv3d(M3rate)
    type:           v3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       u_prsgrd                                         # Input/Output
    standard_name:  sea_water_x_velocity_tendency_due_to_pressure_gradient
    long_name:      3D u-momentum, pressure gradient term
    units:          meter second-2                                   # [m/s2]
    field:          u-velocity pressure gradient
    time:           ocean_time
    index_code:     idDu3d(M3pgrd)
    type:           u3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       v_prsgrd                                         # Input/Output
    standard_name:  sea_water_y_velocity_tendency_due_to_pressure_gradient
    long_name:      3D v-momentum, pressure gradient term
    units:          meter second-2                                   # [m/s2]
    field:          v-velocity pressure gradient
    time:           ocean_time
    index_code:     idDv3d(M3pgrd)
    type:           v3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       u_cor                                            # Input/Output
    standard_name:  sea_water_x_velocity_tendency_due_to_coriolis
    long_name:      3D u-momentum, Coriolis term
    units:          meter second-2                                   # [m/s2]
    field:          u-velocity coriolis
    time:           ocean_time
    index_code:     idDu3d(M3fcor)
    type:           u3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       v_cor                                            # Input/Output
    standard_name:  sea_water_y_velocity_tendency_due_to_coriolis
    long_name:      3D v-momentum, Coriolis term
    units:          meter second-2                                   # [m/s2]
    field:          v-velocity coriolis
    time:           ocean_time
    index_code:     idDv3d(M3fcor)
    type:           v3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       u_hadv                                           # Input/Output
    standard_name:  sea_water_x_velocity_tendency_due_to_horizontal_advection
    long_name:      3D u-momentum, horizontal advection term
    units:          meter second-2                                   # [m/s2]
    field:          u-velocity horizontal advection
    time:           ocean_time
    index_code:     idDu3d(M3hadv)
    type:           u3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       u_xadv                                           # Input/Output
    standard_name:  sea_water_x_velocity_tendency_due_to_horizontal_x_advection
    long_name:      3D u-momentum, horizontal XI-advection term
    units:          meter second-2                                   # [m/s2]
    field:          u-velocity x-advection
    time:           ocean_time
    index_code:     idDu3d(M3xadv)
    type:           u3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       u_yadv                                           # Input/Output
    standard_name:  sea_water_x_velocity_tendency_due_to_horizontal_y_advection
    long_name:      3D u-momentum, horizontal ETA-advection term
    units:          meter second-2                                   # [m/s2]
    field:          u-velocity y-advection
    time:           ocean_time
    index_code:     idDu3d(M3yadv)
    type:           u3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       v_hadv                                           # Input/Output
    standard_name:  sea_water_y_velocity_tendency_due_to_horizontal_advection
    long_name:      3D v-momentum, horizontal advection term
    units:          meter second-2                                   # [m/s2]
    field:          v-velocity horizontal advection
    time:           ocean_time
    index_code:     idDv3d(M3hadv)
    type:           v3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       v_xadv                                           # Input/Output
    standard_name:  sea_water_y_velocity_tendency_due_to_horizontal_x_advection
    long_name:      3D v-momentum, horizontal XI-advection term
    units:          meter second-2                                   # [m/s2]
    field:          v-velocity x-advection
    time:           ocean_time
    index_code:     idDv3d(M3xadv)
    type:           v3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       v_yadv                                           # Input/Output
    standard_name:  sea_water_y_velocity_tendency_due_to_horizontal_y_advection
    long_name:      3D v-momentum, horizontal ETA-advection term
    units:          meter second-2                                   # [m/s2]
    field:          v-velocity y-advection
    time:           ocean_time
    index_code:     idDv3d(M3yadv)
    type:           v3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       u_vadv                                           # Input/Output
    standard_name:  sea_water_x_velocity_tendency_due_to_vertical_advection
    long_name:      3D u-momentum, vertical advection term
    units:          meter second-2                                   # [m/s2]
    field:          u-velocity vertical advection
    time:           ocean_time
    index_code:     idDu3d(M3vadv)
    type:           u3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       v_vadv                                           # Input/Output
    standard_name:  sea_water_y_velocity_tendency_due_to_vertical_advection
    long_name:      3D v-momentum, vertical advection term
    units:          meter second-2                                   # [m/2]
    field:          v-velocity vertical advection
    time:           ocean_time
    index_code:     idDv3d(M3vadv)
    type:           v3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       u_hrad                                           # Input/Output
    standard_name:  sea_water_x_velocity_tendency_due_to_horizontal_radiation_stress
    long_name:      3D u-momentum, horizontal radiation stress term
    units:          meter second-2                                   # [m/s2]
    field:          u-velocity horizontal radiation stress
    time:           ocean_time
    index_code:     idDu3d(M3hrad)
    type:           u3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       v_hrad                                           # Input/Output
    standard_name:  sea_water_y_velocity_tendency_due_to_horizontal_radiation_stress
    long_name:      3D v-momentum, horizontal radiation stress term
    units:          meter second-2                                   # [m/s2]
    field:          v-velocity horizontal radiation stress
    time:           ocean_time
    index_code:     idDv3d(M3hrad)
    type:           v3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       u_hvisc                                          # Input/Output
    standard_name:  sea_water_x_velocity_tendency_due_to_horizontal_viscosity
    long_name:      3D u-momentum, horizontal viscosity term
    units:          meter second-2                                   # [m/s2]
    field:          u-velocity horizontal viscosity
    time:           ocean_time
    index_code:     idDu3d(M3hvis)
    type:           u3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       u_xvisc                                          # Input/Output
    standard_name:  sea_water_x_velocity_tendency_due_to_horizontal_x_viscosity
    long_name:      3D u-momentum, horizontal XI-viscosity term
    units:          meter second-2                                   # [m/s2]
    field:          u-velocity x-viscosity
    time:           ocean_time
    index_code:     idDu3d(M3xvis)
    type:           u3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       u_yvisc                                          # Input/Output
    standard_name:  sea_water_x_velocity_tendency_due_to_horizontal_y_viscosity
    long_name:      3D u-momentum, horizontal ETA-viscosity term
    units:          meter second-2                                   # [m/s2]
    field:          u-velocity y-viscosity
    time:           ocean_time
    index_code:     idDu3d(M3yvis)
    type:           u3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       v_hvisc                                          # Input/Output
    standard_name:  sea_water_y_velocity_tendency_due_to_horizontal_viscosity
    long_name:      3D v-momentum, horizontal viscosity term
    units:          meter second-2                                   # [m/s2]
    field:          v-velocity horizontal viscosity
    time:           ocean_time
    index_code:     idDv3d(M3hvis)
    type:           v3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       v_xvisc                                          # Input/Output
    standard_name:  sea_water_y_velocity_tendency_due_to_horizontal_x_viscosity
    long_name:      3D v-momentum, horizontal XI-viscosity term
    units:          meter second-2                                   # [m/s2]
    field:          v-velocity x-viscosity
    time:           ocean_time
    index_code:     idDv3d(M3xvis)
    type:           v3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       v_yvisc                                          # Input/Output
    standard_name:  sea_water_y_velocity_tendency_due_to_horizontal_y_viscosity
    long_name:      3D v-momentum, horizontal ETA-viscosity term
    units:          meter second-2                                   # [m/s2]
    field:          v-velocity y-viscosity
    time:           ocean_time
    index_code:     idDv3d(M3yvis)
    type:           v3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       u_vvisc                                          # Input/Output
    standard_name:  sea_water_x_velocity_tendency_due_to_vertical_viscosity
    long_name:      3D u-momentum, vertical viscosity term
    units:          meter second-2                                   # [m/s2]
    field:          u-velocity vertical-viscosity
    time:           ocean_time
    index_code:     idDu3d(M3vvis)
    type:           u3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       v_vvisc                                          # Input/Output
    standard_name:  sea_water_y_velocity_tendency_due_to_vertical_viscosity
    long_name:      3D v-momentum, vertical viscosity term
    units:          meter second-2                                 # [m/s2]
    field:          v-velocity vertical viscosity
    time:           ocean_time
    index_code:     idDv3d(M3vvis)
    type:           v3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  # Waves Effect on Currents (WEC) 2D Diagnostic Terms.

  - variable:       ubar_hjvf                                        # Input/Output
    standard_name:  barotropic_sea_water_x_velocity_tendency_due_to_horizontal_vortex_force
    long_name:      2D u-momentum, horizontal J-vortex force term
    units:          meter second-2                                   # [m/s2]
    field:          u-barotropic horizontal J-vortex force
    time:           ocean_time
    index_code:     idDu2d(M2hjvf)
    type:           u2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       vbar_hjvf                                        # Input/Output
    standard_name:  barotropic_sea_water_y_velocity_tendency_due_to_horizontal_vortex_force
    long_name:      2D v-momentum, horizontal J-vortex force term
    units:          meter second-2                                   # [m/s2]
    field:          v-barotropic J-vortex force
    time:           ocean_time
    index_code:     idDv2d(M2hjvf)
    type:           v2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       ubar_kvrf                                        # Input/Output
    standard_name:  barotropic_sea_water_x_velocity_tendency_due_to_K_vortex_force
    long_name:      2D u-momentum, K-vortex force term
    units:          meter second-2                                   # [m/s2]
    field:          u-barotropic K-vortex force
    time:           ocean_time
    index_code:     idDu2d(M2kvrf)
    type:           u2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       vbar_kvrf                                        # Input/Output
    standard_name:  barotropic_sea_water_y_velocity_tendency_due_to_K_vortex_force
    long_name:      2D v-momentum, K-vortex force term
    units:          meter second-2                                   # [m/s2]
    field:          v-barotropic K-vortex force
    time:           ocean_time
    index_code:     idDv2d(M2kvrf)
    type:           v2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       ubar_fsco                                        # Input/Output
    standard_name:  barotropic_sea_water_x_velocity_tendency_due_to_stokes_coriolis
    long_name:      2D u-momentum, Stokes Coriolis term
    units:          meter second-2                                   # [m/s2]
    field:          u-barotropic Stokes Coriolis
    time:           ocean_time
    index_code:     idDu2d(M2fsco)
    type:           u2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       vbar_fsco                                        # Input/Output
    standard_name:  barotropic_sea_water_y_velocity_tendency_due_to_stokes_coriolis
    long_name:      2D v-momentum, Stokes Coriolis term
    units:          meter second-2                                   # [m/s2]
    field:          v-barotropic Stokes Coriolis
    time:           ocean_time
    index_code:     idDv2d(M2fsco)
    type:           v2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       ubar_sstm                                        # Input/Output
    standard_name:  barotropic_sea_water_x_velocity_tendency_due_to_surface_streaming
    long_name:      2D u-momentum, surface streaming
    units:          meter second-2                                   # [m/s2]
    field:          u-barotropic surface streaming
    time:           ocean_time
    index_code:     idDu2d(M2sstm)
    type:           u2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       vbar_sstm                                        # Input/Output
    standard_name:  barotropic_sea_water_y_velocity_tendency_due_to_surface_streaming
    long_name:      2D v-momentum, surface streaming
    units:          meter second-2                                   # [m/s2]
    field:          v-barotropic surface streaming
    time:           ocean_time
    index_code:     idDv2d(M2sstm)
    type:           v2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       ubar_bstm                                        # Input/Output
    standard_name:  barotropic_sea_water_x_velocity_tendency_due_to_bottom_streaming
    long_name:      2D u-momentum, bottom streaming term
    units:          meter second-2                                   # [m/s2]
    field:          u-barotropic bottom streaming
    time:           ocean_time
    index_code:     idDu2d(M2bstm)
    type:           u2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       vbar_bstm                                        # Input/Output
    standard_name:  barotropic_sea_water_y_velocity_tendency_due_to_bottom_streaming
    long_name:      2D v-momentum, bottom streaming term
    units:          meter second-2                                   # [m/s2]
    field:          v-barotropic bottom streaming
    time:           ocean_time
    index_code:     idDv2d(M2bstm)
    type:           v2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       ubar_wrol                                        # Input/Output
    standard_name:  barotropic_sea_water_x_velocity_tendency_due_to_wave_roller_acceleration
    long_name:      2D u-momentum, wave roller acceleration term
    units:          meter second-2                                   # [m/s2]
    field:          u-barotropic wave roller acceleration
    time:           ocean_time
    index_code:     idDu2d(M2wrol)
    type:           u2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       vbar_wrol                                        # Input/Output
    standard_name:  barotropic_sea_water_y_velocity_tendency_due_to_wave_roller_acceleration
    long_name:      2D v-momentum, wave roller acceleration
    units:          meter second-2                                   # [m/s2]
    field:          v-barotropic wave roller acceleration
    time:           ocean_time
    index_code:     idDv2d(M2wrol)
    type:           v2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       ubar_wbrk                                        # Input/Output
    standard_name:  barotropic_sea_water_x_velocity_tendency_due_to_wave_breaking
    long_name:      2D u-momentum, wave breaking term
    units:          meter second-2                                   # [m/s2]
    field:          u-barotropic wave breaking
    time:           ocean_time
    index_code:     idDu2d(M2wbrk)
    type:           u2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       vbar_wbrk                                        # Input/Output
    standard_name:  barotropic_sea_water_y_velocity_tendency_due_to_wave_breaking
    long_name:      2D v-momentum, wave breaking term
    units:          meter second-2                                   # [m/s2]
    field:          v-barotropic wave breaking
    time:           ocean_time
    index_code:     idDv2d(M2wbrk)
    type:           v2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       ubar_zeta                                        # Input/Output
    standard_name:  barotropic_sea_water_x_velocity_tendency_due_to_eulerian_sea_level_adjustment
    long_name:      2D u-momentum, Eulerian sea level adjustment term
    units:          meter second-2                                   # [m/s2]
    field:          u-barotropic Eulerian sea level adjustment
    time:           ocean_time
    index_code:     idDu2d(M2zeta)
    type:           u2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       vbar_zeta                                        # Input/Output
    standard_name:  barotropic_sea_water_y_velocity_tendency_due_to_eulerian_sea_level_adjustment
    long_name:      2D v-momentum, Eulerian sea level adjustment term
    units:          meter second-2                                   # [m/s2]
    field:          v-barotropic Eulerian sea level adjustment
    time:           ocean_time
    index_code:     idDv2d(M2zeta)
    type:           v2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       ubar_zetaw                                        # Input/Output
    standard_name:  barotropic_sea_water_x_velocity_tendency_due_to_quasi_static_sea_level_adjustment
    long_name:      2D u-momentum, quasi-static sea level adjustment term
    units:          meter second-2                                   # [m/s2]
    field:          u-barotropic quasi-static sea level adjustment
    time:           ocean_time
    index_code:     idDu2d(M2zetw)
    type:           u2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       vbar_zetaw                                        # Input/Output
    standard_name:  barotropic_sea_water_y_velocity_tendency_due_to_quasi_static_ sea_level_adjustment
    long_name:      2D v-momentum, quasi-static sea level adjustment term
    units:          meter second-2                                   # [m/s2]
    field:          v-barotropic quasi-static sea level adjustment
    time:           ocean_time
    index_code:     idDv2d(M2zetw)
    type:           v2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       ubar_zqsp                                        # Input/Output
    standard_name:  barotropic_sea_water_x_velocity_tendency_due_to_quasi_static_pressure_adjustment
    long_name:      2D u-momentum, quasi-static pressure adjustment term
    units:          meter second-2                                   # [m/s2]
    field:          u-barotropic quasi-static pressure adjustment
    time:           ocean_time
    index_code:     idDu2d(M2zqsp)
    type:           u2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       vbar_zqsp                                        # Input/Output
    standard_name:  barotropic_sea_water_y_velocity_tendency_due_to_quasi_static_pressure_adjustment
    long_name:      2D v-momentum, quasi-static sea pressure adjustment
    units:          meter second-2                                   # [m/s2]
    field:          v-barotropic quasi-static pressure adjustment
    time:           ocean_time
    index_code:     idDv2d(M2zqsp)
    type:           v2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       ubar_zbeh                                        # Input/Output
    standard_name:  barotropic_sea_water_x_velocity_tendency_due_to_bernoulli_head_adjustment
    long_name:      2D u-momentum, Bernoulli head adjustment term
    units:          meter second-2                                   # [m/s2]
    field:          u-barotropic Bernoulli head adjustment
    time:           ocean_time
    index_code:     idDu2d(M2zbeh)
    type:           u2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       vbar_zbeh                                        # Input/Output
    standard_name:  barotropic_sea_water_y_velocity_tendency_due_to_bernoulli_head_adjustment
    long_name:      2D v-momentum, Bernoulli head adjustment term
    units:          meter second-2                                   # [m/s2]
    field:          v-barotropic Bernoulli head adjustment
    time:           ocean_time
    index_code:     idDv2d(M2zbeh)
    type:           v2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       ubar_fsgr                                        # Input/Output
    standard_name:  barotropic_sea_water_x_velocity_tendency_due_to_seagrass_drag_force
    long_name:      2D u-momentum, seagrass drag force term
    units:          meter second-2                                   # [m/s2]
    field:          u-barotropic seagrass drag force
    time:           ocean_time
    index_code:     idDu2d(M2fsgr)
    type:           u2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       vbar_fsgr                                        # Input/Output
    standard_name:  barotropic_sea_water_y_velocity_tendency_due_to_seagrass_drag_force
    long_name:      2D v-momentum, seagrass drag force term
    units:          meter second-2                                   # [m/s2]
    field:          v-barotropic seagrass drag force
    time:           ocean_time
    index_code:     idDv2d(M2fsgr)
    type:           v2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  # Waves Effect on Currents (WEC) 3D Diagnostic Terms.

  - variable:       u_hjvf                                           # Input/Output
    standard_name:  sea_water_x_velocity_tendency_due_to_horizontal_vortex_force
    long_name:      3D u-momentum, horizontal J-vortex force term
    units:          meter second-2                                   # [m/s2]
    field:          u-velocity horizontal J-vortex force
    time:           ocean_time
    index_code:     idDu3d(M3hjvf)
    type:           u3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       v_hjvf                                           # Input/Output
    standard_name:  sea_water_y_velocity_tendency_due_to_horizontal_vortex_force
    long_name:      3D v-momentum, horizontal J-vortex force term
    units:          meter second-2                                   # [m/s2]
    field:          v-velocity horizontal J-vortex force
    time:           ocean_time
    index_code:     idDv3d(M3hjvf)
    type:           v3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       u_vjvf                                           # Input/Output
    standard_name:  sea_water_x_velocity_tendency_due_to_vertical_vortex_force
    long_name:      3D u-momentum, vertical J-vortex force term
    units:          meter second-2                                   # [m/s2]
    field:          u-velocity vertical J-vortex force
    time:           ocean_time
    index_code:     idDu3d(M3vjvf)
    type:           u3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       v_vjvf                                           # Input/Output
    standard_name:  sea_water_y_velocity_tendency_due_to_vertical_vortex_force
    long_name:      3D v-momentum, vertical J-vortex force term
    units:          meter second-2                                   # [m/s2]
    field:          v-velocity vertical J-vortex force
    time:           ocean_time
    index_code:     idDv3d(M3vjvf)
    type:           v3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       u_kvrf                                           # Input/Output
    standard_name:  sea_water_x_velocity_tendency_due_to_K_vortex_force
    long_name:      3D u-momentum, K-vortex force term
    units:          meter second-2                                   # [m/s2]
    field:          u-velocity K-vortex force
    time:           ocean_time
    index_code:     idDu3d(M3kvrf)
    type:           u3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       v_kvrf                                           # Input/Output
    standard_name:  sea_water_y_velocity_tendency_due_to_K_vortex_force
    long_name:      3D v-momentum, K-vortex force term
    units:          meter second-2                                   # [m/s2]
    field:          v-velocity K-vortex force
    time:           ocean_time
    index_code:     idDv3d(M3kvrf)
    type:           v3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       u_fsco                                           # Input/Output
    standard_name:  sea_water_x_velocity_tendency_due_to_stokes_coriolis
    long_name:      3D u-momentum, Stokes Coriolis term
    units:          meter second-2                                   # [m/s2]
    field:          u-velocity Stokes Coriolis
    time:           ocean_time
    index_code:     idDu3d(M3fsco)
    type:           u3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       v_fsco                                           # Input/Output
    standard_name:  sea_water_y_velocity_tendency_due_to_stokes_coriolis
    long_name:      3D v-momentum, Stokes Coriolis term
    units:          meter second-2                                   # [m/s2]
    field:          v-velocity Stokes Coriolis
    time:           ocean_time
    index_code:     idDv3d(M3fsco)
    type:           v3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       u_sstm                                           # Input/Output
    standard_name:  sea_water_x_velocity_tendency_due_to_surface_streaming
    long_name:      3D u-momentum, surface streaming
    units:          meter second-2                                   # [m/s2]
    field:          u-velocity surface streaming
    time:           ocean_time
    index_code:     idDu3d(M3sstm)
    type:           u3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       v_sstm                                           # Input/Output
    standard_name:  sea_water_y_velocity_tendency_due_to_surface_streaming
    long_name:      3D v-momentum, surface streaming
    units:          meter second-2                                   # [m/s2]
    field:          v-velocity surface streaming
    time:           ocean_time
    index_code:     idDv3d(M3sstm)
    type:           v3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       u_bstm                                           # Input/Output
    standard_name:  sea_water_x_velocity_tendency_due_to_bottom_streaming
    long_name:      3D u-momentum, bottom streaming term
    units:          meter second-2                                   # [m/s2]
    field:          u-velocity bottom streaming
    time:           ocean_time
    index_code:     idDu3d(M3bstm)
    type:           u3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       v_bstm                                           # Input/Output
    standard_name:  sea_water_y_velocity_tendency_due_to_bottom_streaming
    long_name:      3D v-momentum, bottom streaming term
    units:          meter second-2                                   # [m/s2]
    field:          v-velocity bottom streaming
    time:           ocean_time
    index_code:     idDv3d(M3bstm)
    type:           v3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       u_wrol                                           # Input/Output
    standard_name:  sea_water_x_velocity_tendency_due_to_wave_roller_acceleration
    long_name:      3D u-momentum, wave roller acceleration term
    units:          meter second-2                                   # [m/s2]
    field:          u-velocity wave roller acceleration
    time:           ocean_time
    index_code:     idDu3d(M3wrol)
    type:           u3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       v_wrol                                           # Input/Output
    standard_name:  sea_water_y_velocity_tendency_due_to_wave_roller_acceleration
    long_name:      3D v-momentum, wave roller acceleration
    units:          meter second-2                                   # [m/s2]
    field:          v-velocity wave roller acceleration
    time:           ocean_time
    index_code:     idDv3d(M3wrol)
    type:           v3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       u_wbrk                                           # Input/Output
    standard_name:  sea_water_x_velocity_tendency_due_to_wave_breaking
    long_name:      3D u-momentum, wave breaking term
    units:          meter second-2                                   # [m/s2]
    field:          u-velocity wave breaking
    time:           ocean_time
    index_code:     idDu3d(M3wbrk)
    type:           u3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       v_wbrk                                           # Input/Output
    standard_name:  sea_water_y_velocity_tendency_due_to_wave_breaking
    long_name:      3D v-momentum, wave breaking term
    units:          meter second-2                                   # [m/s2]
    field:          v-velocity wave breaking
    time:           ocean_time
    index_code:     idDv3d(M3wbrk)
    type:           v3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       u_fsgr                                           # Input/Output
    standard_name:  sea_water_x_velocity_tendency_due_to_seagrass_drag_force
    long_name:      3D u-momentum, seagrass drag force term
    units:          meter second-2                                   # [m/s2]
    field:          u-velocity seagrass drag force
    time:           ocean_time
    index_code:     idDu3d(M3fsgr)
    type:           u3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       v_fsgr                                           # Input/Output
    standard_name:  sea_water_y_velocity_tendency_due_to_seagrass_drag_force
    long_name:      3D v-momentum, seagrass drag force term
    units:          meter second-2                                   # [m/s2]
    field:          v-velocity seagrass drag force
    time:           ocean_time
    index_code:     idDv3d(M3fsgr)
    type:           v3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  # Tracer Diagnostic Terms (must be at the bottom of this dictionary)

  - variable:       _rate                                            # Input/Output
    standard_name:  _tendency
    long_name:      time rate of change
    units:          second-1                                         # [1/s T]
    field:          acceleration
    time:           ocean_time
    index_code:     idDtrc(iTrate)
    type:           r3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       _hadv                                            # Input/Output
    standard_name:  _tendency_due_to_horizontal_advection
    long_name:      horizontal advection term
    units:          second-1                                         # [1/s T]
    field:          horizontal advection
    time:           ocean_time
    index_code:     idDtrc(iThadv)
    type:           r3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       _xadv                                            # Input/Output
    standard_name:  _tendency_due_to_horizontal_x_advection
    long_name:      horizontal XI-advection term
    units:          second-1                                         # [1/s T]
    field:          x-advection
    time:           ocean_time
    index_code:     idDtrc(iTxadv)
    type:           r3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       _yadv                                            # Input/Output
    standard_name:  _tendency_due_to_horizontal_y_advection
    long_name:      horizontal ETA-advection term
    units:          second-1                                         # [1/s T]
    field:          y-advection
    time:           ocean_time
    index_code:     idDtrc(iTyadv)
    type:           r3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       _vadv                                            # Input/Output
    standard_name:  _tendency_due_to_vertical_advection
    long_name:      vertical advection term
    units:          second-1                                         # [1/s T]
    field:          vertical advection
    time:           ocean_time
    index_code:     idDtrc(iTvadv)
    type:           r3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       _hdiff                                           # Input/Output
    standard_name:  _tendency_due_to_horizontal_diffusion
    long_name:      horizontal diffusion term
    units:          second-1                                         # [1/s T]
    field:          horizontal diffusion
    time:           ocean_time
    index_code:     idDtrc(iThdif)
    type:           r3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       _xdiff                                           # Input/Output
    standard_name:  _tendency_due_to_horizontal_x_diffusion
    long_name:      horizontal XI-diffusion term
    units:          second-1                                         # [1/s T]
    field:          x-diffusion
    time:           ocean_time
    index_code:     idDtrc(iTxdif)
    type:           r3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       _ydiff                                           # Input/Output
    standard_name:  _tendency_due_to_horizontal_y_diffusion
    long_name:      horizontal ETA-diffusion term
    units:          second-1                                         # [1/s T]
    field:          y-difusion
    time:           ocean_time
    index_code:     idDtrc(iTydif)
    type:           r3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       _sdiff                                           # Input/Output
    standard_name:  _tendency_due_to_horizontal_s_diffusion
    long_name:      horizontal S-diffusion rotated tensor term
    units:          second-1                                         # [1/s T]
    field:          s-diffusion
    time:           ocean_time
    index_code:     idDtrc(iTsdif)
    type:           r3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       _vdiff                                           # Input/Output
    standard_name:  _tendency_due_to_vertical_diffusion
    long_name:      vertical diffusion term
    units:          second-1
    field:          vertical diffusion
    time:           ocean_time
    index_code:     idDtrc(iTvdif)
    type:           r3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  #################################################################
  ###  Tangent Linear and Adjoint Forward Trajectory Variables  ###
  #################################################################

  - variable:       rzeta                                            # Input/Output
    standard_name:  sea_surface_elevation_anomaly_right_hand_side
    long_name:      RHS of free-surface equation
    units:          meter3 second-1                                  # [m3/s]
    field:          free-surface RHS
    time:           ocean_time
    index_code:     idRzet
    type:           r2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       rubar                                            # Input/Output
    standard_name:  barotropic_sea_water_x_velocity_right_hand_side
    long_name:      RHS of vertically integrated u-momentum
    units:          meter4 second-2                                  # [m4/s2]
    field:          u-barotripic RHS
    time:           ocean_time
    index_code:     idRu2d
    type:           u2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       rvbar                                            # Input/Output
    standard_name:  barotropic_sea_water_y_velocity_right_hand_side
    long_name:      RHS of vertically integrated v-momentum
    units:          meter4 second-2                                  # [m4/s2]
    field:          v-barotropic RHS
    time:           ocean_time
    index_code:     idRv2d
    type:           v2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       rufrc                                            # Input/Output
    standard_name:  integral_of_sea_water_x_velocity_right_hand_side
    long_name:      RHS of vertically integrated u-coupling terms
    units:          meter4 second-2                                  # [m4/s2]
    field:          u-barotropic RHS forcing
    time:           ocean_time
    index_code:     idRuct
    type:           u2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       rvfrc                                            # Input/Output
    standard_name:  integral_of_sea_water_y_velocity_right_hand_side
    long_name:      RHS of vertically integrated v-coupling terms
    units:          meter4 second-2                                  # [m4/s2]
    field:          v-barotropic RHS forcing
    time:           ocean_time
    index_code:     idRvct
    type:           v2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       DU_avg1                                          # Input/Output
    standard_name:  sea_water_time_average_of_barotropic_x_velocity_flux
    long_name:      time averaged u-flux for 2D equations
    units:          meter3 second-1                                  # [m3/s]
    field:          time-averaged u-barotropic flux
    time:           ocean_time
    index_code:     idUfx1
    type:           u2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       DV_avg1                                          # Input/Output
    standard_name:  sea_water_time_average_of_barotropic_y_velocity_flux
    long_name:      time averaged v-flux for 2D equations
    units:          meter3 second-1                                  # [m3/s]
    field:          time-averaged v-barotropic flux
    time:           ocean_time
    index_code:     idVfx1
    type:           v2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       DU_avg2                                          # Input/Output
    standard_name:  sea_water_correct_barotropic_x_velocity_flux_for_coupling
    long_name:      time averaged u-flux for 3D equations coupling
    units:          meter3 second-1                                  # [m3/s]
    field:          time-averaged coupling u-barotropic flux
    time:           ocean_time
    index_code:     idUfx2
    type:           u2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       DV_avg2                                          # Input/Output
    standard_name:  sea_water_correct_barotropic_y_velocity_flux_for_coupling
    long_name:      time averaged v-flux for 3D equations coupling
    units:          meter3 second-1                                  # [m3/s]
    field:          time-averaged coupling v-barotropic flux
    time:           ocean_time
    index_code:     idVfx2
    type:           v2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       ru                                               # Input/Output
    standard_name:  sea_water_x_velocity_right_hand_side
    long_name:      RHS of total u-momentum
    units:          meter4 second-2                                  # [m4/s2]
    field:          u-velocity RHS
    time:           ocean_time
    index_code:     idRu3d
    type:           u3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       rv                                               # Input/Output
    standard_name:  sea_water_y_velocity_right_hand_side
    long_name:      RHS of total v-momentum
    units:          meter4 second-2                                  # [m4/s2]
    field:          v-velocity RHS
    time:           ocean_time
    index_code:     idRv3d
    type:           v3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  ################################################
  ###  Varational Data Assimilation Variables  ###
  ################################################

  - variable:       Nobs                                             # Input
    standard_name:  number_of_observations_per_survey_time
    long_name:      number of observations per survey time
    units:          nondimensional                                   # [nondimensional]
    field:          Nobs
    time:           nulvar
    index_code:     idNobs
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       survey_time                                      # Input
    standard_name:  observation_survey_time
    long_name:      observation survey time
    units:          day                                              # [day]
    field:          survey time
    time:           nulvar
    index_code:     idOday
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       obs_type                                         # Input
    standard_name:  observation_type_indentifier_according_to_state_variable
    long_name:      model state variable associated with observation
    units:          nondimensional                                   # [nondimensional]
    field:          observation type
    time:           datum
    index_code:     idOtyp
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       obs_provenance                                   # Input
    standard_name:  observation_provenance
    long_name:      observation origin
    units:          nondimensional                                   # [nondimensional]
    field:          observation provenance
    time:           datum
    index_code:     idOpro
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       obs_time                                         # Input
    standard_name:  observation_time
    long_name:      time of observation
    units:          day                                              # [day]
    field:          observation time
    time:           datum
    index_code:     idObsT
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       obs_lon                                         # Input
    standard_name:  observation_longitude
    long_name:      observation longitude
    units:          degrees_east                                    # [degrees_east]
    field:          observation longitude
    time:           datum
    index_code:     idOlon
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       obs_lat                                         # Input
    standard_name:  observation_latitude
    long_name:      observation latitude
    units:          degrees_north                                   # [degrees_north]
    field:          observation latitude
    time:           datum
    index_code:     idOlat
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       obs_depth                                        # Input/Output
    standard_name:  depth_of_observation_below_sea_surface
    long_name:      depth of observation
    units:          meter                                            # [m]
    field:          observation depth
    time:           datum
    index_code:     idObsD
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       obs_Xgrid                                        # Input
    standard_name:  observation_grid_cell_fractional_x_location
    long_name:      x-grid observation location
    units:          nondimensional                                   # [nondimensional]
    field:          observation x-location
    time:           datum
    index_code:     idObsX
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       obs_Ygrid                                        # Input
    standard_name:  observation_grid_cell_fractional_y_location
    long_name:      y-grid observation location
    units:          nondimensional                                   # [nondimensional]
    field:          observation y-location
    time:           datum
    index_code:     idObsY
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       obs_Zgrid                                        # Input/Output
    standard_name:  observation_grid_cell_fractional_z_location
    long_name:      z-grid observation location
    units:          nondimensional                                   # [nondimensional]
    field:          observation z-location
    time:           datum
    index_code:     idObsZ
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       obs_value                                        # Input
    standard_name:  observation_value
    long_name:      observation value
    units:          state variable units                             # [state units]
    field:          observation value
    time:           datum
    index_code:     idOval
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       obs_meta                                         # Input
    standard_name:  observation_meta_value
    long_name:      observation meta value
    units:          nondimensional                                   # [Meta units]
    field:          observation meta-value
    time:           datum
    index_code:     idOmet
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       obs_error                                        # Input
    standard_name:  observation_error_covariance
    long_name:      observation error covariance
    units:          squared state variable units                     # [squared state units]
    field:          observation error
    time:           datum
    index_code:     idOerr
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       obs_scale                                        # Output
    standard_name:  observation_quality_control_flag
    long_name:      observation screening and quality control scale
    units:          nondimensional
    field:          observation quality control
    time:           datum
    index_code:     idObsS
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       Kh                                               # Input
    standard_name:  error_covariance_horizontal_convolution_coefficient
    long_name:      convolution horizontal diffusion coefficient
    units:          meter2 second-1                                  # [m2/s]
    field:          Kh
    time:           ocean_time
    index_code:     idKhor
    type:           r2dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       Kv                                               # Input
    standard_name:  error_covariance_vertical_convolution_coefficient
    long_name:      convolution vertical diffusion coefficient
    units:          meter2 second-1                                  # [m2/s]
    field:          Kv
    time:           ocean_time
    index_code:     idKver
    type:           w3dvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       NLmodel_unvetted                                  # Output
    standard_name:  unvetted_nonlinear_model_value_at_observation_location
    long_name:      initial nonlinear model at observation locations unvetted by quality control
    units:          state variable units
    field:          initial NLM unvetted H(x)
    time:           datum
    index_code:     idNLmp
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       NLmodel_initial                                  # Output
    standard_name:  initial_nonlinear_model_value_at_observation_location
    long_name:      initial nonlinear model at observation locations
    units:          state variable units
    field:          initial NLM H(x)
    time:           datum
    index_code:     idNLmi
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       NLmodel_final                                    # Output
    standard_name:  final_nonlinear_model_value_at_observation_location
    long_name:      final nonlinear model at observation locations
    units:          state variable units
    field:          final NLM H(x)
    time:           datum
    index_code:     idNLmf
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       NLmodel_value_unvetted                           # Output
    standard_name:  unvetted_nonlinear_model_value_at_observation_location_per_outter_loop
    long_name:      nonlinear model at observation locations unvetted by quality control per outer-loop
    units:          state variable units
    field:          NLM unvetted H(x) per outer loop
    time:           datum
    index_code:     idNLmu
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       NLmodel_value                                    # Output
    standard_name:  nonlinear_model_value_at_observation_location_per_outer_loop
    long_name:      nonlinear model at observation locations per outer-loop
    units:          state variable units
    field:          NLM H(x) per outer loop
    time:           datum
    index_code:     idNLmo
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       TLmodel_value                                    # Output
    standard_name:  tangent_linear_model_value_at_observation_location
    long_name:      tangent linear model at observation locations
    units:          nulvar
    field:          TLM H(x)
    time:           datum
    index_code:     idTLmo
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       increment                                        # Output
    standard_name:  data_assimilation_increment
    long_name:      4D-Var increment, analysis minus background, dx_a = H(x_a) - H(x_b)
    units:          state variable units                             # [state units]
    field:          4D-Var increment
    time:           datum
    index_code:     idIncr
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       innovation                                       # Output
    standard_name:  data_assimilation_innovation
    long_name:      4D-Var innovation, observation minus background, d_b = y - H(x_b)
    units:          state variable units                             # [state units]
    field:          4D-Var innovation
    time:           datum
    index_code:     idInno
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       misfit_initial                                   # Output
    standard_name:  initial_model-observation_misfit
    long_name:      initial model-observation misfit
    units:          nondimensional
    field:          4D-Var initial misfit
    time:           datum
    index_code:     idMOMi
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       misfit_final                                     # Output
    standard_name:  final_model-observation_misfit
    long_name:      final model-observation misfit
    units:          nondimensional
    field:          4D-Var final misfit
    time:           datum
    index_code:     idMOMf
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       residual                                         # Output
    standard_name:  data_assimilation_residual
    long_name:      4D-Var residual, observation minus analysis, d_a = y - H(x_b + dx_a)
    units:          state variable units                             # [state units]
    field:          4D-Var residual
    time:           datum
    index_code:     idResi
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       BgError_value                                    # Output
    standard_name:  background_error_standard_deviation_at_observation_locations
    long_name:      Background error standard deviation at observation locations
    units:          state variable units                             # [state units]
    field:          background error H(x)
    time:           datum
    index_code:     idBgEr
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

  - variable:       BgThresh_value                                   # Output
    standard_name:  number_of_standard_deviation_threshold_for_background_quality_control
    long_name:      Threshold number of standard deviations for background quality control of observations
    units:          nondimensional
    field:          background threshold
    time:           datum
    index_code:     idBgTh
    type:           nulvar
    add_offset:     0.0d0
    scale:          1.0d0

#=============================================================================#
# NOTES:                                                                      #
#=============================================================================#
#
#  * The "time" key/value pair is used to name the unlimited dimension in all
#    output NetCDF files.  By default it is set to 'time'.  Alternatively, you
#    can use 'ocean_time' as dimension name so both variable and dimension
#    names are the same.  This facilitates processing in some NetCDF packages.
#    Notice that we use the prefix "ocean" in the variable name to contrast
#    between oceanic and atmospheric time clocks in coupled applications.
#
#  * Notice that salinity does not have physical units. Currently, ROMS uses
#    practical salinity.  A commented [PSS] can be found above to indicate that
#    the practical salinity scale was used to determine conductivity. See,
#
#    https://www.myroms.org/forum/viewtopic.php?t=294
#
#  * The inert passive tracer requires a single entry "dye_".  It contain all
#    the information necessary to process all NPT fields.  The variable name
#    is arbitrary and you may choose any unique variable name that is not
#    already defined. The "index_code" must always be "idTvar(inert(i))".
#
#  * The nudging time scales can have a generic variable name for all tracer
#    or individual variable names for each active and passive tracer. The
#     metadata for the individual variables is set internally in "mod_ncparam".
#
#  * The actual variable name for some of the sediment tracers are set-up
#    internally in "mod_ncparam.F". It depends on the mumber of cohesive and
#    noncohesive sediment tracers for a particular application. For example if
#    you have one cohesive and two noncohesive sediment classes, the variable
#    names are:
#
#      "mud_"          becomes   "mud_01"
#      "mud_west_"     becomes   "mud_west_01"
#      "mud_east_"     becomes   "mud_east_01"
#      "mud_south_"    becomes   "mud_south_01"
#      "mud_north_"    becomes   "mud_north_01"
#
#      "sand_"         becomes   "sand_01",       "sand_02"
#      "sand_west"     becomes   "sand_west_01",  "sand_west_02"
#      "sand_east"     becomes   "sand_east_01",  "sand_east_02"
#      "sand_south"    becomes   "sand_south_01", "sand_south_02"
#      "sand_north"    becomes   "sand_north_01", "sand_north_02"
#
#  * The variable names for the tracer diagnostics are generic.  To allow
#    string concatenation in "mod_ncparam.F" with the actual tracer name,
#    the METADATA entries in this dictionary for diagnostic variables MUST be
#    entered after all the active and passive tracers variables.
