ROMS boundary radiation problem

General scientific issues regarding ROMS

Moderators: arango, robertson

Post Reply
Message
Author
moritz.wandres
Posts: 21
Joined: Fri Mar 15, 2013 1:30 pm
Location: UWA Oceans Institute

ROMS boundary radiation problem

#1 Unread post by moritz.wandres »

Hi everyone,

I am still fairly new to ROMS and I have been struggling with my model of the Western Australian SW coast for quite some time now. Currents do not seem to radiate through the boundaries properly, I get unrealistic current velocities in deep areas along the boundaries, and eddies get trapped in the domain.

Current velocities at 500m


Surface temperatures

When comparing the salinity and temperatures in the western boundary (and the other boundaries) to the model output there is a pretty big drift after only 1 1/2 months, this drift gets larger with time.

Comparison between salinity and temperature boundary forcing and model output at the western boundary

The barotropic current also seems to be running along the boundary and eddies get trapped.

UVbar

I set my cppdefs.h as follows

Code: Select all

#define UV_ADV
#define UV_COR
#define UV_QDRAG
#define ATM_PRESS
#define DJ_GRADPS
#define TS_U3HADVECTION
#define TS_C4VADVECTION
#define NONLIN_EOS
#define SALINITY
#define SSH_TIDES
#define UV_TIDES
#define SOLVE3D
#define MASKING
#define SPLINES
#define QCORRECTION
#define SRELAXATION
#define  CURVGRID
#define AVERAGES
#define LMD_MIXING
#ifdef LMD_MIXING
# define LMD_RIMIX
# define LMD_CONVEC
# define LMD_SKPP
# define LMD_NONLOCAL
#endif
#define TCLM_NUDGING
#define ANA_BSFLUX
#define ANA_BTFLUX
My boundaries are set like this:

Code: Select all

 LBC(isFsur) ==   Cha     Cha     Cha     Cha         ! free-surface
   LBC(isUbar) ==   Fla     Fla     Fla     Fla         ! 2D U-momentum
   LBC(isVbar) ==   Fla     Fla     Fla     Fla         ! 2D V-momentum
   LBC(isUvel) ==   RadNud  RadNud  RadNud  RadNud      ! 3D U-momentum
   LBC(isVvel) ==   RadNud  RadNud  RadNud  RadNud      ! 3D V-momentum
   LBC(isMtke) ==   Gra     Gra     Gra     Gra         ! mixing TKE

   LBC(isTvar) ==   RadNud  RadNud  RadNud  RadNud \    ! temperature
                    RadNud  RadNud  RadNud  RadNud      ! salinity

! Adjoint-based algorithms can have different lateral boundary
! conditions keywords.

ad_LBC(isFsur) ==   Cha     Cha     Cha     Cha         ! free-surface
ad_LBC(isUbar) ==   Fla     Fla     Fla     Fla         ! 2D U-momentum
ad_LBC(isVbar) ==   Fla     Flar    Fla     Fla         ! 2D U-momentum
ad_LBC(isUvel) ==   RadNud  RadNud  RadNud  RadNud      ! 3D U-momentum
ad_LBC(isVvel) ==   RadNud  RadNud  RadNud  RadNud      ! 3D V-momentum
ad_LBC(isMtke) ==   Gra     Gra     Gra     Gra         ! mixing TKE

ad_LBC(isTvar) ==   RadNud  RadNud  RadNud  RadNud \    ! temperature
                    RadNud  RadNud  RadNud  RadNud      ! salinity
and my nudging/relaxation parameters are set to

Code: Select all

       TNUDG == 360.0d0  360.0d0               ! days
       ZNUDG == 360.0d0                      ! days
      M2NUDG == 360.0d0                      ! days
      M3NUDG == 360.0d0                      ! days

      OBCFAC == 120.0d0                      ! nondimensional
I tried to play around with the nudging parameters a little but that does not really seem to help (OBCFAC=180 and 360 for stronger incoming nudging).
My bathymetry is smoothed so there shouldn't be any effects really

Code: Select all

Maximum grid stiffness ratios:  rx0 =   1.270116E-01 (Beckmann and Haidvogel)
                                 rx1 =   6.171234E+00 (Haney)
I force the model with daily Hycom boundary data, TPXO tides, SST, and SSS from HYCOM and SLP, heat flux, shortwave radiation flux, and wind stress from ECMWF global reanalysis data. The initial conditions are also taken from HYCOM.

Any suggestions are welcome!
Thanks in advance,

Moritz
Attachments
Comparison between salinity and temperature forcing and model output
Comparison between salinity and temperature forcing and model output
Screen Shot 2014-09-18 at 8.15.50 pm.png (31.42 KiB) Viewed 4242 times
UV velocities - current runs along boundary
UV velocities - current runs along boundary
Screen Shot 2014-09-18 at 8.13.53 pm.png (266.48 KiB) Viewed 4242 times
UVbar - current runs along the boundary rather than radiating through it
UVbar - current runs along the boundary rather than radiating through it
Screen Shot 2014-09-18 at 8.10.45 pm.png (147.64 KiB) Viewed 4242 times
SST after 48 days - temperature seems to be trapped
SST after 48 days - temperature seems to be trapped
Screen Shot 2014-09-18 at 8.14.26 pm.png (163.08 KiB) Viewed 4242 times

User avatar
kate
Posts: 4088
Joined: Wed Jul 02, 2003 5:29 pm
Location: CFOS/UAF, USA

Re: ROMS boundary radiation problem

#2 Unread post by kate »

It does indeed look pretty terrible. Your boundary choices look something like mine, but you don't have ADD_FSOBC or ADD_M2OBC. Also, have you tried RADIATION_2D? It might help.
#define TCLM_NUDGING
You have this without the corresponding #define TCLIMATOLOGY. What are you nudging to and what do your nudging coefficients look like? There was a version in which setting this overrode your boundary nudging timescales (Tobc_in and Tobc_out) from what you thought you should get via TNUDG. By using TCLM_NUDGING, I assume you don't have the very latest ROMS?

moritz.wandres
Posts: 21
Joined: Fri Mar 15, 2013 1:30 pm
Location: UWA Oceans Institute

Re: ROMS boundary radiation problem

#3 Unread post by moritz.wandres »

Thank you for you quick reply Kate,

I should've mentioned, I am using ROMS 3.6.
Your boundary choices look something like mine, but you don't have ADD_FSOBC or ADD_M2OBC. Also, have you tried RADIATION_2D? It might help.
I will try adding ADD_FSOBC, ADD_M2OBC and RADIATION_2D and see if that fixes it.
You have this without the corresponding #define TCLIMATOLOGY. What are you nudging to and what do your nudging coefficients look like?
Interesting point, I don't nudge to a climatology but to UV, UVbar, Temp, Sal, zeta from the boundaries and surface forcing. Does this mean I do not need to need #define TClimatology and #define TCLM_NUDGING?

My nudging coefficients are

Code: Select all

Tobc_in =

   1.0e-05 *

    0.3858    0.3858    0.3858    0.3858
    0.3858    0.3858    0.3858    0.3858

Tobc_out =

   1.0e-07 *

    0.3215    0.3215    0.3215    0.3215
    0.3215    0.3215    0.3215    0.3215
Here is part of my log file.

Code: Select all

Operating system : Linux
 CPU/hardware     : x86_64
 Compiler system  : gfortran
 Compiler command : /usr/local/bin/mpif90
 Compiler flags   : -frepack-arrays -O3 -ffast-math -ffree-form -ffree-line-length-none -ffree-form -ffree-line-length-none -ffree-form -ffree-line-length-none

 Input Script  : ocean_shelf_test.in

 SVN Root URL  : https://www.myroms.org/svn/src/trunk
 SVN Revision  : 655M

 Local Root    : /home/mwandres/ROMS/trunk
 Header Dir    : /home/mwandres/ROMS/Projects/sixsixty/ROMS/Run_01
 Header file   : shelf_test.h
 Analytical Dir: /home/mwandres/ROMS/Projects/sixsixty/ROMS/Run_01

 Resolution, Grid 01: 0658x0658x030,  Parallel Nodes:  24,  Tiling: 012x002


 Physical Parameters, Grid: 01
 =============================

    1036800  ntimes          Number of timesteps for 3-D equations.
     30.000  dt              Timestep size (s) for 3-D equations.
         80  ndtfast         Number of timesteps for 2-D equations between
                               each 3D timestep.
          1  ERstr           Starting ensemble/perturbation run number.
          1  ERend           Ending ensemble/perturbation run number.
          0  nrrec           Number of restart records to read from disk.
          T  LcycleRST       Switch to recycle time-records in restart file.
        720  nRST            Number of timesteps between the writing of data
                               into restart fields.
          1  ninfo           Number of timesteps between print of information
                               to standard output.
          T  ldefout         Switch to create a new output NetCDF file(s).
          0  nHIS            Number of timesteps between the writing fields
                               into history file.
          1  ntsAVG          Starting timestep for the accumulation of output
                               time-averaged data.
       2880  nAVG            Number of timesteps between the writing of
                               time-averaged data into averages file.
 1.0000E-06  Akt_bak(01)     Background vertical mixing coefficient (m2/s)
                               for tracer 01: temp
 1.0000E-06  Akt_bak(02)     Background vertical mixing coefficient (m2/s)
                               for tracer 02: salt
 1.0000E-05  Akv_bak         Background vertical mixing coefficient (m2/s)
                               for momentum.
 3.0000E-04  rdrg            Linear bottom drag coefficient (m/s).
 2.5000E-02  rdrg2           Quadratic bottom drag coefficient.
 1.5000E-02  Zob             Bottom roughness (m).
          1  lmd_Jwt         Jerlov water type.
          2  Vtransform      S-coordinate transformation equation.
          2  Vstretching     S-coordinate stretching function.
 5.0000E+00  theta_s         S-coordinate surface control parameter.
 3.0000E-01  theta_b         S-coordinate bottom  control parameter.
      8.000  Tcline          S-coordinate surface/bottom layer width (m) used
                               in vertical coordinate stretching.
   1025.000  rho0            Mean density (kg/m3) for Boussinesq approximation.
      0.000  dstart          Time-stamp assigned to model initialization (days).
      0.000  tide_start      Reference time origin for tidal forcing (days).
20110101.00  time_ref        Reference time for units attribute (yyyymmdd.dd)
 3.6000E+02  Tnudg(01)       Nudging/relaxation time scale (days)
                               for tracer 01: temp
 3.6000E+02  Tnudg(02)       Nudging/relaxation time scale (days)
                               for tracer 02: salt
 3.6000E+02  Znudg           Nudging/relaxation time scale (days)
                               for free-surface.
 3.6000E+02  M2nudg          Nudging/relaxation time scale (days)
                               for 2D momentum.
 3.6000E+02  M3nudg          Nudging/relaxation time scale (days)
                               for 3D momentum.
 1.2000E+02  obcfac          Factor between passive and active
                               open boundary conditions.
          F  VolCons(1)      NLM western  edge boundary volume conservation.
          F  VolCons(2)      NLM southern edge boundary volume conservation.
          F  VolCons(3)      NLM eastern  edge boundary volume conservation.
          F  VolCons(4)      NLM northern edge boundary volume conservation.
     10.000  T0              Background potential temperature (C) constant.
     30.000  S0              Background salinity (PSU) constant.
      1.000  gamma2          Slipperiness variable: free-slip (1.0) or 
                                                    no-slip (-1.0).
          T  Hout(idFsur)    Write out free-surface.
          T  Hout(idu2dE)    Write out 2D U-eastward  at RHO-points.
          T  Hout(idv2dN)    Write out 2D V-northward at RHO-points.
          T  Hout(idu3dE)    Write out 3D U-wastward  component at RHO-points.
          T  Hout(idv3dN)    Write out 3D V-northward component at RHO-points.
          T  Hout(idDano)    Write out density anomaly.

          T  Aout(idFsur)    Write out averaged free-surface.
          T  Aout(idUbar)    Write out averaged 2D U-momentum component.
          T  Aout(idVbar)    Write out averaged 2D V-momentum component.
          T  Aout(idu2dE)    Write out averaged 2D U-eastward  at RHO-points.
          T  Aout(idv2dN)    Write out averaged 2D V-northward at RHO-points.
          T  Aout(idu3dE)    Write out averaged 3D U-eastward  at RHO-points.
          T  Aout(idv3dN)    Write out averaged 3D V-northward at RHO-points.
          T  Aout(idWvel)    Write out averaged W-momentum component.
          T  Aout(idTvar)    Write out averaged tracer 01: temp
          T  Aout(idTvar)    Write out averaged tracer 02: salt

 Output/Input Files:

             Output Restart File:  ocean_rst.nc
            Output Averages File:  ocean_avg.nc
                 Input Grid File:  /home/mwandres/ROMS/Projects/sixsixty/ROMS/forcing/grid_660.nc
    Input Nonlinear Initial File:  /home/mwandres/ROMS/Projects/sixsixty/ROMS/forcing/ini_660_1.nc
           Input Forcing File 01:  /home/mwandres/ROMS/Projects/sixsixty/ROMS/forcing/wind_660_1.nc
                                   /home/mwandres/ROMS/Projects/sixsixty/ROMS/forcing/wind_660_2.nc
                                   /home/mwandres/ROMS/Projects/sixsixty/ROMS/forcing/wind_660_3.nc
                                   /home/mwandres/ROMS/Projects/sixsixty/ROMS/forcing/wind_660_4.nc
                                   /home/mwandres/ROMS/Projects/sixsixty/ROMS/forcing/wind_660_5.nc
                                   /home/mwandres/ROMS/Projects/sixsixty/ROMS/forcing/wind_660_6.nc
           Input Forcing File 02:  /home/mwandres/ROMS/Projects/sixsixty/ROMS/forcing/heatflux_660.nc
           Input Forcing File 03:  /home/mwandres/ROMS/Projects/sixsixty/ROMS/forcing/slp_660_1.nc
                                   /home/mwandres/ROMS/Projects/sixsixty/ROMS/forcing/slp_660_2.nc
                                   /home/mwandres/ROMS/Projects/sixsixty/ROMS/forcing/slp_660_3.nc
           Input Forcing File 04:  /home/mwandres/ROMS/Projects/sixsixty/ROMS/forcing/shortwaveflux_660.nc
           Input Forcing File 05:  /home/mwandres/ROMS/Projects/sixsixty/ROMS/forcing/SSS_660.nc
           Input Forcing File 06:  /home/mwandres/ROMS/Projects/sixsixty/ROMS/forcing/SST_660.nc
           Input Forcing File 07:  /home/mwandres/ROMS/Projects/sixsixty/ROMS/forcing/tide_660.nc
           Input Forcing File 08:  /home/mwandres/ROMS/Projects/sixsixty/ROMS/forcing/zeta_660.nc
             Input Boundary File:  /home/mwandres/ROMS/Projects/sixsixty/ROMS/forcing/bry_660_1.nc
                                   /home/mwandres/ROMS/Projects/sixsixty/ROMS/forcing/bry_660_2.nc
                                   /home/mwandres/ROMS/Projects/sixsixty/ROMS/forcing/bry_660_3.nc

 Tile partition information for Grid 01:  0658x0658x0030  tiling: 012x002

     tile     Istr     Iend     Jstr     Jend     Npts

        0        1       54        1      329   532980
        1       55      109        1      329   542850
        2      110      164        1      329   542850
        3      165      219        1      329   542850
        4      220      274        1      329   542850
        5      275      329        1      329   542850
        6      330      384        1      329   542850
        7      385      439        1      329   542850
        8      440      494        1      329   542850
        9      495      549        1      329   542850
       10      550      604        1      329   542850
       11      605      658        1      329   532980
       12        1       54      330      658   532980
       13       55      109      330      658   542850
       14      110      164      330      658   542850
       15      165      219      330      658   542850
       16      220      274      330      658   542850
       17      275      329      330      658   542850
       18      330      384      330      658   542850
       19      385      439      330      658   542850
       20      440      494      330      658   542850
       21      495      549      330      658   542850
       22      550      604      330      658   542850
       23      605      658      330      658   532980

 Tile minimum and maximum fractional grid coordinates:
   (interior points only)

     tile     Xmin     Xmax     Ymin     Ymax     grid

        0     0.50    54.50     0.50   329.50  RHO-points
        1    54.50   109.50     0.50   329.50  RHO-points
        2   109.50   164.50     0.50   329.50  RHO-points
        3   164.50   219.50     0.50   329.50  RHO-points
        4   219.50   274.50     0.50   329.50  RHO-points
        5   274.50   329.50     0.50   329.50  RHO-points
        6   329.50   384.50     0.50   329.50  RHO-points
        7   384.50   439.50     0.50   329.50  RHO-points
        8   439.50   494.50     0.50   329.50  RHO-points
        9   494.50   549.50     0.50   329.50  RHO-points
       10   549.50   604.50     0.50   329.50  RHO-points
       11   604.50   658.50     0.50   329.50  RHO-points
       12     0.50    54.50   329.50   658.50  RHO-points
       13    54.50   109.50   329.50   658.50  RHO-points
       14   109.50   164.50   329.50   658.50  RHO-points
       15   164.50   219.50   329.50   658.50  RHO-points
       16   219.50   274.50   329.50   658.50  RHO-points
       17   274.50   329.50   329.50   658.50  RHO-points
       18   329.50   384.50   329.50   658.50  RHO-points
       19   384.50   439.50   329.50   658.50  RHO-points
       20   439.50   494.50   329.50   658.50  RHO-points
       21   494.50   549.50   329.50   658.50  RHO-points
       22   549.50   604.50   329.50   658.50  RHO-points
       23   604.50   658.50   329.50   658.50  RHO-points

        0     1.00    54.50     0.50   329.50    U-points
        1    54.50   109.50     0.50   329.50    U-points
        2   109.50   164.50     0.50   329.50    U-points
        3   164.50   219.50     0.50   329.50    U-points
        4   219.50   274.50     0.50   329.50    U-points
        5   274.50   329.50     0.50   329.50    U-points
        6   329.50   384.50     0.50   329.50    U-points
        7   384.50   439.50     0.50   329.50    U-points
        8   439.50   494.50     0.50   329.50    U-points
        9   494.50   549.50     0.50   329.50    U-points
       10   549.50   604.50     0.50   329.50    U-points
       11   604.50   658.00     0.50   329.50    U-points
       12     1.00    54.50   329.50   658.50    U-points
       13    54.50   109.50   329.50   658.50    U-points
       14   109.50   164.50   329.50   658.50    U-points
       15   164.50   219.50   329.50   658.50    U-points
       16   219.50   274.50   329.50   658.50    U-points
       17   274.50   329.50   329.50   658.50    U-points
       18   329.50   384.50   329.50   658.50    U-points
       19   384.50   439.50   329.50   658.50    U-points
       20   439.50   494.50   329.50   658.50    U-points
       21   494.50   549.50   329.50   658.50    U-points
       22   549.50   604.50   329.50   658.50    U-points
       23   604.50   658.00   329.50   658.50    U-points

        0     0.50    54.50     1.00   329.50    V-points
        1    54.50   109.50     1.00   329.50    V-points
        2   109.50   164.50     1.00   329.50    V-points
        3   164.50   219.50     1.00   329.50    V-points
        4   219.50   274.50     1.00   329.50    V-points
        5   274.50   329.50     1.00   329.50    V-points
        6   329.50   384.50     1.00   329.50    V-points
        7   384.50   439.50     1.00   329.50    V-points
        8   439.50   494.50     1.00   329.50    V-points
        9   494.50   549.50     1.00   329.50    V-points
       10   549.50   604.50     1.00   329.50    V-points
       11   604.50   658.50     1.00   329.50    V-points
       12     0.50    54.50   329.50   658.00    V-points
       13    54.50   109.50   329.50   658.00    V-points
       14   109.50   164.50   329.50   658.00    V-points
       15   164.50   219.50   329.50   658.00    V-points
       16   219.50   274.50   329.50   658.00    V-points
       17   274.50   329.50   329.50   658.00    V-points
       18   329.50   384.50   329.50   658.00    V-points
       19   384.50   439.50   329.50   658.00    V-points
       20   439.50   494.50   329.50   658.00    V-points
       21   494.50   549.50   329.50   658.00    V-points
       22   549.50   604.50   329.50   658.00    V-points
       23   604.50   658.50   329.50   658.00    V-points

 Maximum halo size in XI and ETA directions:

               HaloSizeI(1) =     134
               HaloSizeJ(1) =     682
                TileSide(1) =     335
                TileSize(1) =   20435


 Lateral Boundary Conditions: NLM
 ============================

 Variable               Grid    West Edge   South Edge  East Edge   North Edge
 ---------              ----    ----------  ----------  ----------  ----------

 zeta                     1     Chapman     Chapman     Chapman     Chapman

 ubar                     1     Flather     Flather     Flather     Flather

 vbar                     1     Flather     Flather     Flather     Flather

 u                        1     Rad + Nud   Rad + Nud   Rad + Nud   Rad + Nud

 v                        1     Rad + Nud   Rad + Nud   Rad + Nud   Rad + Nud

 temp                     1     Rad + Nud   Rad + Nud   Rad + Nud   Rad + Nud

 salt                     1     Rad + Nud   Rad + Nud   Rad + Nud   Rad + Nud

 Activated C-preprocessing Options:

 SHELF_TEST          Shelf Test Case
 ATM_PRESS           Impose atmospheric pressure onto sea surface.
 ANA_BSFLUX          Analytical kinematic bottom salinity flux.
 ANA_BTFLUX          Analytical kinematic bottom temperature flux.
 ASSUMED_SHAPE       Using assumed-shape arrays.
 AVERAGES            Writing out time-averaged nonlinear model fields.
 CURVGRID            Orthogonal curvilinear grid.
 DJ_GRADPS           Parabolic Splines density Jacobian (Shchepetkin, 2002).
 DOUBLE_PRECISION    Double precision arithmetic.
 LMD_CONVEC          LMD convective mixing due to shear instability.
 LMD_MIXING          Large/McWilliams/Doney interior mixing.
 LMD_NONLOCAL        LMD convective nonlocal transport.
 LMD_RIMIX           LMD diffusivity due to shear instability.
 LMD_SKPP            KPP surface boundary layer mixing.
 MASKING             Land/Sea masking.
 MPI                 MPI distributed-memory configuration.
 NONLINEAR           Nonlinear Model.
 NONLIN_EOS          Nonlinear Equation of State for seawater.
 POWER_LAW           Power-law shape time-averaging barotropic filter.
 PROFILE             Time profiling activated .
 QCORRECTION         Surface net heat flux correction.
 !RST_SINGLE         Double precision fields in restart NetCDF file.
 SALINITY            Using salinity.
 SRELAXATION         Surface salinity relaxation as surface flux.
 SOLVE3D             Solving 3D Primitive Equations.
 SPLINES             Conservative parabolic spline reconstruction.
 SSH_TIDES           Add tidal elevation to SSH climatology.
 TCLM_NUDGING        Nudging toward tracer climatology.
 TS_U3HADVECTION     Third-order upstream horizontal advection of tracers.
 TS_C4VADVECTION     Fourth-order centered vertical advection of tracers.
 UV_ADV              Advection of momentum.
 UV_COR              Coriolis term.
 UV_U3HADVECTION     Third-order upstream horizontal advection of 3D momentum.
 UV_C4VADVECTION     Fourth-order centered vertical advection of momentum.
 UV_QDRAG            Quadratic bottom stress.
 UV_TIDES            Add tidal currents to 2D momentum climatologies.
 VAR_RHO_2D          Variable density barotropic mode.

[...]


 NLM: GET_STATE - Read state initial conditions,             t =     0 00:00:00
                   (File: ini_660_1.nc, Rec=0001, Index=1)
                - free-surface
                   (Min = -1.96265428E-01 Max =  6.32038935E-01)
                - vertically integrated u-momentum component
                   (Min =  0.00000000E+00 Max =  0.00000000E+00)
                - vertically integrated v-momentum component
                   (Min =  0.00000000E+00 Max =  0.00000000E+00)
                - u-momentum component
                   (Min = -9.47561681E-01 Max =  9.99606292E-01)
                - v-momentum component
                   (Min = -9.98502088E-01 Max =  1.00000000E+00)
                - potential temperature
                   (Min =  2.26056961E+00 Max =  3.19748223E+01)
                - salinity
                   (Min =  3.42490976E+01 Max =  3.94003752E+01)
    GET_NGFLD   - tidal period
                   (Min =  2.19720214E+04 Max =  2.38071314E+06)
    GET_2DFLD   - tidal elevation amplitude
                   (Min =  0.00000000E+00 Max =  1.76025754E-01)
    GET_2DFLD   - tidal elevation phase angle
                   (Min =  0.00000000E+00 Max =  6.28318504E+00)
    GET_2DFLD   - tidal current inclination angle
                   (Min =  0.00000000E+00 Max =  6.28318450E+00)
    GET_2DFLD   - tidal current phase angle
                   (Min =  0.00000000E+00 Max =  6.28318508E+00)
    GET_2DFLD   - maximum tidal current, ellipse major axis
                   (Min =  0.00000000E+00 Max =  1.47537251E-01)
    GET_2DFLD   - minimum tidal current, ellipse minor axis
                   (Min = -1.52269089E-02 Max =  2.78817677E-02)
    GET_2DFLD   - surface u-momentum stress,                 t =     0 00:00:00
                   (Rec=0000001, Index=1, File: wind_660_1.nc)
                   (Tmin=          0.0000 Tmax=         60.0000)
                   (Min = -1.31188948E-04 Max = -3.81409985E-05)
    GET_2DFLD   - surface v-momentum stress,                 t =     0 00:00:00
                   (Rec=0000001, Index=1, File: wind_660_1.nc)
                   (Tmin=          0.0000 Tmax=         60.0000)
                   (Min =  1.21957822E-05 Max =  1.49019982E-04)
    GET_2DFLD   - surface air pressure,                      t =     0 00:00:00
                   (Rec=0000001, Index=1, File: slp_660_1.nc)
                   (Tmin=          0.0000 Tmax=        120.0000)
                   (Min =  1.00708039E+03 Max =  1.02067391E+03)
    GET_2DFLD   - solar shortwave radiation flux,            t =     0 00:00:00
                   (Rec=0000001, Index=1, File: shortwaveflux_660.nc)
                   (Tmin=          0.0000 Tmax=        364.0000)
                   (Min = -9.41877188E-06 Max = -4.61518713E-06)
    GET_2DFLD   - surface net heat flux,                     t =     0 00:00:00
                   (Rec=0000001, Index=1, File: heatflux_660.nc)
                   (Tmin=          0.0000 Tmax=        364.0000)
                   (Min = -1.28562668E-06 Max =  1.79086748E-05)
    GET_2DFLD   - sea surface temperature climatology,       t =     0 00:00:00
                   (Rec=0000001, Index=1, File: SST_660.nc)
                   (Tmin=          0.0000 Tmax=        359.0000)
                   (Min =  1.73455747E+01 Max =  3.19748223E+01)
    GET_2DFLD   - surface net heat flux sensitivity to SST,  t =     0 00:00:00
                   (Rec=0000001, Index=1, File: SST_660.nc)
                   (Tmin=          0.0000 Tmax=        359.0000)
                   (Min = -7.34461548E-06 Max = -7.34461548E-06)
    GET_2DFLD   - sea surface salinity climatology,          t =     0 00:00:00
                   (Rec=0000001, Index=1, File: SSS_660.nc)
                   (Tmin=          0.0000 Tmax=        359.0000)
                   (Min =  3.53488108E+01 Max =  3.68430748E+01)
    GET_NGFLD   - free-surface western boundary condition,   t =     0 00:00:00
                   (Rec=0000001, Index=2, File: bry_660_1.nc)
                   (Tmin=          0.0000 Tmax=        120.0000)
                   (Min = -2.68286541E-02 Max =  3.63557369E-01)
    GET_NGFLD   - free-surface eastern boundary condition,   t =     0 00:00:00
                   (Rec=0000001, Index=2, File: bry_660_1.nc)
                   (Tmin=          0.0000 Tmax=        120.0000)
                   (Min = -1.11554898E-01 Max =  4.62492943E-01)
    GET_NGFLD   - free-surface southern boundary condition,  t =     0 00:00:00
                   (Rec=0000001, Index=2, File: bry_660_1.nc)
                   (Tmin=          0.0000 Tmax=        120.0000)
                   (Min =  7.69634396E-02 Max =  2.80776292E-01)
    GET_NGFLD   - free-surface northern boundary condition,  t =     0 00:00:00
                   (Rec=0000001, Index=2, File: bry_660_1.nc)
                   (Tmin=          0.0000 Tmax=        120.0000)
                   (Min =  2.11504012E-01 Max =  5.73245764E-01)
    GET_NGFLD   - 2D u-momentum western boundary condition,  t =     0 00:00:00
                   (Rec=0000001, Index=2, File: bry_660_1.nc)
                   (Tmin=          0.0000 Tmax=        120.0000)
                   (Min = -2.93725342E-01 Max =  2.52968282E-01)
    GET_NGFLD   - 2D v-momentum western boundary condition,  t =     0 00:00:00
                   (Rec=0000001, Index=2, File: bry_660_1.nc)
                   (Tmin=          0.0000 Tmax=        120.0000)
                   (Min = -1.68677941E-01 Max =  1.25670090E-01)
    GET_NGFLD   - 2D u-momentum eastern boundary condition,  t =     0 00:00:00
                   (Rec=0000001, Index=2, File: bry_660_1.nc)
                   (Tmin=          0.0000 Tmax=        120.0000)
                   (Min = -2.77398109E-01 Max =  4.00000006E-01)
    GET_NGFLD   - 2D v-momentum eastern boundary condition,  t =     0 00:00:00
                   (Rec=0000001, Index=2, File: bry_660_1.nc)
                   (Tmin=          0.0000 Tmax=        120.0000)
                   (Min = -4.00000006E-01 Max =  4.00000006E-01)
    GET_NGFLD   - 2D u-momentum southern boundary condition, t =     0 00:00:00
                   (Rec=0000001, Index=2, File: bry_660_1.nc)
                   (Tmin=          0.0000 Tmax=        120.0000)
                   (Min = -1.67988181E-01 Max =  6.02816744E-03)
    GET_NGFLD   - 2D v-momentum southern boundary condition, t =     0 00:00:00
                   (Rec=0000001, Index=2, File: bry_660_1.nc)
                   (Tmin=          0.0000 Tmax=        120.0000)
                   (Min = -2.02667415E-01 Max =  1.54075414E-01)
    GET_NGFLD   - 2D u-momentum northern boundary condition, t =     0 00:00:00
                   (Rec=0000001, Index=2, File: bry_660_1.nc)
                   (Tmin=          0.0000 Tmax=        120.0000)
                   (Min = -5.05632520E-01 Max =  6.99999988E-01)
    GET_NGFLD   - 2D v-momentum northern boundary condition, t =     0 00:00:00
                   (Rec=0000001, Index=2, File: bry_660_1.nc)
                   (Tmin=          0.0000 Tmax=        120.0000)
                   (Min = -5.21209240E-01 Max =  6.99999988E-01)
    GET_NGFLD   - 3D u-momentum western boundary condition,  t =     0 00:00:00
                   (Rec=0000001, Index=2, File: bry_660_1.nc)
                   (Tmin=          0.0000 Tmax=        120.0000)
                   (Min = -5.71522355E-01 Max =  5.41206121E-01)
    GET_NGFLD   - 3D v-momentum western boundary condition,  t =     0 00:00:00
                   (Rec=0000001, Index=2, File: bry_660_1.nc)
                   (Tmin=          0.0000 Tmax=        120.0000)
                   (Min = -3.35103512E-01 Max =  3.10270458E-01)
    GET_NGFLD   - 3D u-momentum eastern boundary condition,  t =     0 00:00:00
                   (Rec=0000001, Index=2, File: bry_660_1.nc)
                   (Tmin=          0.0000 Tmax=        120.0000)
                   (Min = -3.76317829E-01 Max =  9.99251425E-01)
    GET_NGFLD   - 3D v-momentum eastern boundary condition,  t =     0 00:00:00
                   (Rec=0000001, Index=2, File: bry_660_1.nc)
                   (Tmin=          0.0000 Tmax=        120.0000)
                   (Min = -9.98502076E-01 Max =  1.00000000E+00)
    GET_NGFLD   - 3D u-momentum southern boundary condition, t =     0 00:00:00
                   (Rec=0000001, Index=2, File: bry_660_1.nc)
                   (Tmin=          0.0000 Tmax=        120.0000)
                   (Min = -3.22112888E-01 Max =  1.17385507E-01)
    GET_NGFLD   - 3D v-momentum southern boundary condition, t =     0 00:00:00
                   (Rec=0000001, Index=2, File: bry_660_1.nc)
                   (Tmin=          0.0000 Tmax=        120.0000)
                   (Min = -3.69306833E-01 Max =  2.42896244E-01)
    GET_NGFLD   - 3D u-momentum northern boundary condition, t =     0 00:00:00
                   (Rec=0000001, Index=2, File: bry_660_1.nc)
                   (Tmin=          0.0000 Tmax=        120.0000)
                   (Min = -5.50519884E-01 Max =  9.98086214E-01)
    GET_NGFLD   - 3D v-momentum northern boundary condition, t =     0 00:00:00
                   (Rec=0000001, Index=2, File: bry_660_1.nc)
                   (Tmin=          0.0000 Tmax=        120.0000)
                   (Min = -6.25146568E-01 Max =  1.00000000E+00)
    GET_NGFLD   - temperature western boundary condition,    t =     0 00:00:00
                   (Rec=0000001, Index=2, File: bry_660_1.nc)
                   (Tmin=          0.0000 Tmax=        120.0000)
                   (Min =  3.00000000E+00 Max =  2.29179497E+01)
    GET_NGFLD   - salinity western boundary condition,       t =     0 00:00:00
                   (Rec=0000001, Index=2, File: bry_660_1.nc)
                   (Tmin=          0.0000 Tmax=        120.0000)
                   (Min =  3.42742348E+01 Max =  3.58297844E+01)
    GET_NGFLD   - temperature eastern boundary condition,    t =     0 00:00:00
                   (Rec=0000001, Index=2, File: bry_660_1.nc)
                   (Tmin=          0.0000 Tmax=        120.0000)
                   (Min =  3.00000000E+00 Max =  3.19701729E+01)
    GET_NGFLD   - salinity eastern boundary condition,       t =     0 00:00:00
                   (Rec=0000001, Index=2, File: bry_660_1.nc)
                   (Tmin=          0.0000 Tmax=        120.0000)
                   (Min =  3.43542099E+01 Max =  3.65569687E+01)
    GET_NGFLD   - temperature southern boundary condition,   t =     0 00:00:00
                   (Rec=0000001, Index=2, File: bry_660_1.nc)
                   (Tmin=          0.0000 Tmax=        120.0000)
                   (Min =  3.00000000E+00 Max =  2.03821774E+01)
    GET_NGFLD   - salinity southern boundary condition,      t =     0 00:00:00
                   (Rec=0000001, Index=2, File: bry_660_1.nc)
                   (Tmin=          0.0000 Tmax=        120.0000)
                   (Min =  3.43581314E+01 Max =  3.57456169E+01)
    GET_NGFLD   - temperature northern boundary condition,   t =     0 00:00:00
                   (Rec=0000001, Index=2, File: bry_660_1.nc)
                   (Tmin=          0.0000 Tmax=        120.0000)
                   (Min =  3.00000000E+00 Max =  2.99303379E+01)
    GET_NGFLD   - salinity northern boundary condition,      t =     0 00:00:00
                   (Rec=0000001, Index=2, File: bry_660_1.nc)
                   (Tmin=          0.0000 Tmax=        120.0000)
                   (Min =  3.43521729E+01 Max =  3.66028709E+01)

 Maximum grid stiffness ratios:  rx0 =   7.823069E-02 (Beckmann and Haidvogel)
                                 rx1 =   3.796133E+00 (Haney)


 Initial basin volumes: TotVolume =  7.1267875055E+14 m3
                        MinVolume =  1.5060905275E+05 m3
                        MaxVolume =  1.5055673124E+08 m3
                          Max/Min =  9.9965260049E+02


User avatar
kate
Posts: 4088
Joined: Wed Jul 02, 2003 5:29 pm
Location: CFOS/UAF, USA

Re: ROMS boundary radiation problem

#4 Unread post by kate »

Interesting point, I don't nudge to a climatology but to UV, UVbar, Temp, Sal, zeta from the boundaries and surface forcing. Does this mean I do not need to need #define TClimatology and #define TCLM_NUDGING?
If you only want the boundary condition nudging and the SSS nudging, you do not need TCLM_NUDGING. TCLM_NUDGING is for nudging to a 3-D field with possibly spatially varying coefficients. I'm surprised it let you have TCLM_NUDGING without TCLIMATOLOGY, but whatever, I'm not checking out an old ROMS 3.6 to see what it has in checkdefs.F.

User avatar
wilkin
Posts: 883
Joined: Mon Apr 28, 2003 5:44 pm
Location: Rutgers University
Contact:

Re: ROMS boundary radiation problem

#5 Unread post by wilkin »

A couple of things I notice are that your initial conditions for ubar and vbar are zero, whereas your initial 3-D velocity is not. In principle, the adjustment to this unbalanced state should be swift but it's something to be aware of.

Secondly, if you have not modified the Functional that sets analytical nudging time scales, or provided those in the separate nudging file, then the nudging at the boundary defaults to your Tnudg values of 360 days which is very weak. To impose this exterior ocean information at the boundary you want a much shorter time scale. Also read about input parameter OBCFAC which controls how that nudging timescale is modified depending on whether the radiation condition detects outflow versus inflow.

Third, it does not appear you have set these:
** ADD_FSOBC use to add tidal elevation to processed OBC data **
** ADD_M2OBC use to add tidal currents to processed OBC data **
so I suspect your tides may not be added.

Tides can have a dramatic and positive effect because they virtually guarantee that the radiation conditions sweep external water into the domain half the time, even if the radiation conditions want to do something stupid. So this helps impose the far field ocean conditions.
John Wilkin: DMCS Rutgers University
71 Dudley Rd, New Brunswick, NJ 08901-8521, USA. ph: 609-630-0559 jwilkin@rutgers.edu

moritz.wandres
Posts: 21
Joined: Fri Mar 15, 2013 1:30 pm
Location: UWA Oceans Institute

Re: ROMS boundary radiation problem

#6 Unread post by moritz.wandres »

Thank you Kate and John,
If you only want the boundary condition nudging and the SSS nudging, you do not need TCLM_NUDGING.
Okay, I turned off TCLM_NUDGING.
your initial conditions for ubar and vbar are zero
Good point, however, do you think that would effect the model after it runs for a month or two? Easy to fix anyway.
Secondly, if you have not modified the Functional that sets analytical nudging time scales, or provided those in the separate nudging file, then the nudging at the boundary defaults to your Tnudg values of 360 days which is very weak. To impose this exterior ocean information at the boundary you want a much shorter time scale.
This is something I am having trouble with. How do I determine the ideal nudging parameters? Is it simply trial and error? I have seen everything from Tnudg = 1 with OBCFAC = 10 to Tnudg = 360 with OBCFAC = 120. Would Tnudg = 1 and OBCFAC = 10 be too strong? What are typical signs that show that my nudging is too strong? I assume signs that it is too weak would include a large drift from the boundary conditions after a short time?

I added ADD_FSOBC and ADD_M2OBC to my model now. From what I can see (so far) there is a big change to before, I can't tell yet if the model is actually improved.

Post Reply