Why the gradient of temperature/salt is too large

Report or discuss software problems and other woes

Moderators: arango, robertson

Post Reply
Message
Author
rcxy
Posts: 31
Joined: Fri Jul 02, 2010 1:28 pm
Location: Guangdong Ocean University

Why the gradient of temperature/salt is too large

#1 Post by rcxy » Mon Dec 24, 2012 9:36 am

Hi,in my model, there is a region where the gradient of temperature/salt is too large. I have checked the bathy and initial. They are no problem. Compared with the measured, the zeta is also good match.Why the gradient of temperature/salt is too large? Thank you!
The modle result(the problem in the green rectangle):
Model SST
Model SST
The initial :
initial sst
initial sst
The part of log file:

Code: Select all

 86400  ntimes          Number of timesteps for 3-D equations.
     60.000  dt              Timestep size (s) for 3-D equations.
         60  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.
         60  nRST            Number of timesteps between the writing of data
                               into restart fields.
          1  ninfo           Number of timesteps between print of information
                               to standard output.
         60  nSTA            Number of timesteps between the writing of data
                               the stations file.
          T  ldefout         Switch to create a new output NetCDF file(s).
         60  nHIS            Number of timesteps between the writing fields
                               into history file.
       1440  ndefHIS         Number of timesteps between creation of new
                               history files.
          1  ntsDIA          Starting timestep for the accumulation of output
                               time-averaged diagnostics data.
         60  nDIA            Number of timesteps between the writing of
                               time-averaged data into diagnostics file.
       1440  ndefDIA         Number of timesteps between creation of new
                               diagnostic file.
 2.0000E+01  nl_tnu2(01)     NLM Horizontal, harmonic mixing coefficient
                               (m2/s) for tracer 01: temp
 2.0000E+01  nl_tnu2(02)     NLM Horizontal, harmonic mixing coefficient
                               (m2/s) for tracer 02: salt
 2.0000E+01  nl_visc2        NLM Horizontal, harmonic mixing coefficient
                               (m2/s) for momentum.
 5.0000E-06  Akt_bak(01)     Background vertical mixing coefficient (m2/s)
                               for tracer 01: temp
 5.0000E-06  Akt_bak(02)     Background vertical mixing coefficient (m2/s)
                               for tracer 02: salt
 5.0000E-05  Akv_bak         Background vertical mixing coefficient (m2/s)
                               for momentum.
 5.0000E-06  Akk_bak         Background vertical mixing coefficient (m2/s)
                               for turbulent energy.
 5.0000E-06  Akp_bak         Background vertical mixing coefficient (m2/s)
                               for turbulent generic statistical field.
 3.0000E-03  rdrg            Linear bottom drag coefficient (m/s).
 0.0000E+00  rdrg2           Quadratic bottom drag coefficient.
 0.0000E+00  Zob             Bottom roughness (m).
          1  Vtransform      S-coordinate transformation equation.
          1  Vstretching     S-coordinate stretching function.
 5.0000E+00  theta_s         S-coordinate surface control parameter.
 4.0000E-01  theta_b         S-coordinate bottom  control parameter.
      1.000  Tcline          S-coordinate surface/bottom layer width (m) used
                               in vertical coordinate stretching.
   1028.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).
20010701.00  time_ref        Reference time for units attribute (yyyymmdd.dd)
 1.2500E-01  Tnudg(01)       Nudging/relaxation time scale (days)
                               for tracer 01: temp
 1.2500E-01  Tnudg(02)       Nudging/relaxation time scale (days)
                               for tracer 02: salt
 1.0000E-03  Znudg           Nudging/relaxation time scale (days)
                               for free-surface.
 1.0000E-03  M2nudg          Nudging/relaxation time scale (days)
                               for 2D momentum.
 1.0000E-03  M3nudg          Nudging/relaxation time scale (days)
                               for 3D momentum.
 1.0000E+00  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  LtracerSrc(01)  Processing point sources/Sink on tracer 01: temp
          T  LtracerSrc(02)  Processing point sources/Sink on tracer 02: salt
          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(idWvel)    Write out W-momentum component.
          T  Hout(idOvel)    Write out omega vertical velocity.
          T  Hout(idTvar)    Write out tracer 01: temp
          T  Hout(idTvar)    Write out tracer 02: salt
          T  Hout(idDano)    Write out density anomaly.
          T  Hout(idVvis)    Write out vertical viscosity: AKv.
          T  Hout(idTdif)    Write out vertical diffusion: AKt(itemp).
          T  Hout(idSdif)    Write out vertical diffusion: AKt(isalt).
          T  Hout(idMtke)    Write out turbulent kinetic energy.
          T  Hout(idMtls)    Write out turbulent generic length-scale.

          T  Dout(M2rate)    Write out 2D momentun acceleration.
          T  Dout(M2pgrd)    Write out 2D momentum pressure gradient.
          T  Dout(M2fcor)    Write out 2D momentum Coriolis force.
          T  Dout(M2hadv)    Write out 2D momentum horizontal advection.
          T  Dout(M2xadv)    Write out 2D momentum horizontal X-advection.
          T  Dout(M2yadv)    Write out 2D momentum horizontal Y-advection.
          T  Dout(M2hvis)    Write out 2D momentum horizontal viscosity.
          T  Dout(M2xvis)    Write out 2D momentum horizontal X-viscosity.
          T  Dout(M2yvis)    Write out 2D momentum horizontal Y-viscosity.
          T  Dout(M2sstr)    Write out 2D momentum surface stress.
          T  Dout(M2bstr)    Write out 2D momentum bottom stress.

          T  Dout(M3rate)    Write out 3D momentun acceleration.
          T  Dout(M3pgrd)    Write out 3D momentum pressure gradient.
          T  Dout(M3fcor)    Write out 3D momentum Coriolis force.
          T  Dout(M3hadv)    Write out 3D momentum horizontal advection.
          T  Dout(M3xadv)    Write out 3D momentum horizontal X-advection.
          T  Dout(M3yadv)    Write out 3D momentum horizontal Y-advection.
          T  Dout(M3vadv)    Write out 3D momentum vertical advection.
          T  Dout(M3hvis)    Write out 3D momentum horizontal viscosity.
          T  Dout(M3xvis)    Write out 3D momentum horizontal X-viscosity.
          T  Dout(M3yvis)    Write out 3D momentum horizontal Y-viscosity.
          T  Dout(M3vvis)    Write out 3D momentum vertical viscosity.
.....
 Lateral Boundary Conditions: NLM
 ============================

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

 zeta                     1     Chapman     Chapman     Chapman     Closed

 ubar                     1     Flather     Flather     Flather     Closed

 vbar                     1     Flather     Flather     Flather     Closed

 u                        1     Radiation   Radiation   Radiation   Closed

 v                        1     Radiation   Radiation   Radiation   Closed

 temp                     1     Radiation   Radiation   Radiation   Closed

 salt                     1     Radiation   Radiation   Radiation   Closed

 tke                      1     Gradient    Gradient    Gradient    Closed

 Activated C-preprocessing Options:

 NSCS_1201           NSCS MODEL
 ADD_FSOBC           Adding tidal elevation to processed OBC data.
 ADD_M2OBC           Adding tidal currents to processed OBC data.
 ANA_BSFLUX          Analytical kinematic bottom salinity flux.
 ANA_BTFLUX          Analytical kinematic bottom temperature flux.
 ANA_FSOBC           Analytical free-surface boundary conditions.
 ANA_M2OBC           Analytical 2D momentum boundary conditions.
 ANA_SMFLUX          Analytical kinematic surface momentum flux.
 ANA_SSFLUX          Analytical kinematic surface salinity flux.
 ANA_STFLUX          Analytical kinematic surface temperature flux.
 ASSUMED_SHAPE       Using assumed-shape arrays.
 CURVGRID            Orthogonal curvilinear grid.
 DIAGNOSTICS_UV      Computing and writing momentum diagnostic terms.
 DJ_GRADPS           Parabolic Splines density Jacobian (Shchepetkin, 2002).
 DOUBLE_PRECISION    Double precision arithmetic.
 KANTHA_CLAYSON      Kantha and Clayson stability function formulation.
 MASKING             Land/Sea masking.
 MIX_GEO_TS          Mixing of tracers along geopotential surfaces.
 MIX_S_UV            Mixing of momentum along constant S-surfaces.
 MPI                 MPI distributed-memory configuration.
 MY25_MIXING         Mellor/Yamada Level-2.5 mixing closure.
 NONLINEAR           Nonlinear Model.
 NONLIN_EOS          Nonlinear Equation of State for seawater.
 N2S2_HORAVG         Horizontal smoothing of buoyancy and shear.
 OUT_DOUBLE          Double precision output fields in NetCDF files.
 POWER_LAW           Power-law shape time-averaging barotropic filter.
 PROFILE             Time profiling activated .
 K_GSCHEME           Third-order upstream advection of TKE fields.
 RAMP_TIDES          Ramping tidal forcing for one day.
 !RST_SINGLE         Double precision fields in restart NetCDF file.
 SALINITY            Using salinity.
 SOLVE3D             Solving 3D Primitive Equations.
 SPLINES             Conservative parabolic spline reconstruction.
 SPHERICAL           Spherical grid configuration.
 SSH_TIDES           Add tidal elevation to SSH climatology.
 STATIONS            Writing out station data.
 TS_MPDATA           Recursive flux corrected MPDATA 3D advection of tracers.
 TS_DIF2             Harmonic mixing of tracers.
 TS_PSOURCE          Tracers point sources and sinks.
 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_LDRAG            Linear bottom stress.
 UV_PSOURCE          Mass point sources and sinks.
 UV_TIDES            Add tidal currents to 2D momentum climatologies.
 UV_VIS2             Harmonic mixing of momentum.
 VAR_RHO_2D          Variable density barotropic mode.

LiuZHQ
Posts: 45
Joined: Mon Apr 06, 2009 5:12 pm
Location: The Hong Kong University of Sci&Tech

Re: Why the gradient of temperature/salt is too large

#2 Post by LiuZHQ » Tue Dec 25, 2012 3:25 am

It looks like an OBC-related problem. Two suggestions:
1 (most likely). I noticed that you included the plume from PRE, and it looks like during the winter time. Frehser and colder plume arrives the open boundary and since you adapt M3RADIATION without nudging. Disturbances are reflected back into your domain and creats that strang things. That is the typical problem of passive OBC. You may want to try the nudging algorithm included in ROMS.

2. Since you're adapting Flather OBC to treat the tidal currents and waves related to the onset of PRE river plume, you may want to double check your boundary files. That ANA_FSOBC and ANA_M2OBC just simply set the elevation and velocity as zero in the Flather expression, however, in this case, external forcing may be required.

rcxy
Posts: 31
Joined: Fri Jul 02, 2010 1:28 pm
Location: Guangdong Ocean University

Re: Why the gradient of temperature/salt is too large

#3 Post by rcxy » Tue Dec 25, 2012 4:14 am

ZQ,Thank you very much!
1.I will have try to add the nudging.
2 I have added the forcings(river and tide) in my model.The result includes the forings.
Thanks a lot!

often

Re: Why the gradient of temperature/salt is too large

#4 Post by often » Tue Dec 25, 2012 7:13 am

The Model_SST and initial_sst are not scaled within the same color limit, the gradient may look worse than it should be...

Maybe try replacing Radiation with RadNud boundary condition for 3D momentum and T/S.

rcxy
Posts: 31
Joined: Fri Jul 02, 2010 1:28 pm
Location: Guangdong Ocean University

Re: Why the gradient of temperature/salt is too large

#5 Post by rcxy » Thu Dec 27, 2012 9:07 am

Thanks all!
If i add the nudging, the model need the temp/salt boundary file. I made a boundary file from the WOA monthly data, because of lacking observed data. It only one data per month.It can't meet my needs.
Have any other data or methods?
Thank you!

LiuZHQ
Posts: 45
Joined: Mon Apr 06, 2009 5:12 pm
Location: The Hong Kong University of Sci&Tech

Re: Why the gradient of temperature/salt is too large

#6 Post by LiuZHQ » Thu Dec 27, 2012 12:55 pm

Well, it's tricky to get the proper boundary solution. You can not use WOA as boundary forcing since it can definitely not resolve the find structure of the plume. Even worse, it is affected by many factors, not only the forcing you're considering here. Looks like you want to do some generalized study, it is possibly useful if you can prepare a large model domain with lower resolution. And then...

tony1230
Posts: 87
Joined: Wed Mar 31, 2010 3:29 pm
Location: SKLEC,ECNU,Shanghai,China

Re: Why the gradient of temperature/salt is too large

#7 Post by tony1230 » Fri Dec 28, 2012 3:11 am

Have you got 2D velocities, i.e. ubar and vbar, for you open boundaries? If yes, you used right option with Flather, otherwise you may want to employ Reduced which is more appropriate for the situation without currents.

Regards

- Shou

rcxy
Posts: 31
Joined: Fri Jul 02, 2010 1:28 pm
Location: Guangdong Ocean University

Re: Why the gradient of temperature/salt is too large

#8 Post by rcxy » Wed Jan 16, 2013 1:59 am

Thanks a lot!
I found in my ocean_his the temp of the first step(5 min) is abnormal in an area.Why ? And the depth no problem.
The temp in ini:
temp_ini
temp_ini
The first step temp in ocean_his:
temp_001
temp_001
The first step zeta in ocean_his:
zeta_001
zeta_001

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

Re: Why the gradient of temperature/salt is too large

#9 Post by kate » Wed Jan 16, 2013 5:28 pm

This is surface temperature? How about deeper layers? I would look at the surface heat flux terms.

rcxy
Posts: 31
Joined: Fri Jul 02, 2010 1:28 pm
Location: Guangdong Ocean University

Re: Why the gradient of temperature/salt is too large

#10 Post by rcxy » Thu Jan 17, 2013 9:21 am

This is surface temperature? How about deeper layers? I would look at the surface heat flux terms.
Thanks, this is surface temperature. The deeper layers is the same with the sst except the last layer. I did not open any surface heat flux terms.
The deeper layer temperature:
last 5
last 5
The last layer:
last layer
last layer

User avatar
arango
Site Admin
Posts: 1108
Joined: Wed Feb 26, 2003 4:41 pm
Location: IMCS, Rutgers University
Contact:

Re: Why the gradient of temperature/salt is too large

#11 Post by arango » Fri Jan 18, 2013 8:11 pm

What you are getting makes a lot of sense to me. You are using radiations conditions for momentum and tracers. This is what you get from an ill posed open boundary conditions application. I talked about this at the last ROMS Workshop. It gets worse when you use BULK_FLUXES. My presentation is on the ROMS site. You need to use active/passive open boundary conditions. We usually use radiation+nudging (RadNug) in such cases. You need to think more about what radiation does! It is fine for outflow, but what do you do for inflow? We need large scale solutions or some type of climatology in the inflow case at every time-step. That's what passive/active boundary conditions are for.

Read Marchesiello et al. (2001) or similar literature.



often

Re: Why the gradient of temperature/salt is too large

#12 Post by often » Sat Jan 19, 2013 1:43 am

1)Maybe something wrong about the air-sea boundary condition? Output all surface property(like heat flux and radiation flux) in history file to see if something match the patch in your SST.

2)Or about the initial condition? is the temp_ini at middle or bottom layer OK?

Post Reply