Minus values of sediment next to sediment point sources

Bug reports, work arounds and fixes

Moderators: arango, robertson

Post Reply
Message
Author
dhson
Posts: 32
Joined: Wed Apr 09, 2003 10:40 am
Location: Institute of Meteorology and hydrology

Minus values of sediment next to sediment point sources

#1 Post by dhson » Mon Jul 02, 2007 5:10 am

Dear all,
Using ROMS 3.0 to simulate transportation of sediment dumped from the ship (point source). There's always minus value of sediment next to the point source.
In ANA_PSOURCE.H, I have modified Qshape, Qbar, etc. and:
......................................................
DO is=1,Nsrc
Dsrc(is)=1.0_r8
Lsrc(is,itemp)=.TRUE.
Lsrc(is,isalt)=.TRUE.
DO ised=1,NST
Lsrc(is,NAT+ised)=.TRUE.
end do
END DO
.......................................................
DO ised=1,NST
Tsrc(is,k,ised+NAT)=1325.0_r8
END DO
......................................................
The simulations were run with:

#define UV_ADV
#define UV_COR
#define UV_QDRAG
#define UV_VIS2
#define MIX_S_UV
#undef VISC_GRID
#define UV_PSOURCE

#define TS_U3HADVECTION
#define TS_C4VADVECTION
#undef TS_A4HADVECTION
#undef TS_A4VADVECTION
#define TS_DIF2
#define MIX_S_TS
#undef DIFF_GRID
#define TS_PSOURCE
#define ANA_PSOURCE

#define NONLIN_EOS
#define SALINITY
#define DJ_GRADPS
#define TS_MPDATA
#define CURVGRID
#define MASKING
#define SPLINES
#define SOLVE3D
#define AVERAGES

#undef WET_DRY
#undef NEARSHORE_MELLOR

#define RADIATION_2D

#define STATIONS
#define FLOATS

#define WESTERN_WALL

#define RAMP_TIDES
#define SSH_TIDES
#ifdef SSH_TIDES
# define ADD_FSOBC
# define EAST_FSCHAPMAN
# define NORTH_FSCHAPMAN
# define SOUTH_FSCHAPMAN
#else
# define EAST_FSGRADIENT
# define NORTH_FSGRADIENT
# define SOUTH_FSGRADIENT
#endif

#define UV_TIDES
#ifdef UV_TIDES
# define ADD_M2OBC
# define EAST_M2FLATHER
# define NORTH_M2FLATHER
# define SOUTH_M2FLATHER
#else
# define EAST_M2RADIATION
# define NORTH_M2RADIATION
# define SOUTH_M2RADIATION
#endif

#define EAST_M3RADIATION
#define EAST_TRADIATION
#define SOUTH_M3RADIATION
#define SOUTH_TRADIATION
#define NORTH_M3RADIATION
#define NORTH_TRADIATION

#define SEDIMENT
#ifdef SEDIMENT
# define BEDLOAD_MPM
# undef BEDLOAD_SOULSBY
# define RIVER_SEDIMENT /* Process river sediment point-sources */
# define SED_DENS /* Activate sediment to affect equation of state */
# define SED_MORPH /* allow bottom model elevation to evolve */
# define SUSPLOAD /* Activate suspended load transport */
# define ANA_SEDIMENT
#endif

#define MY25_MIXING
#ifdef MY25_MIXING
# define N2S2_HORAVG
# define KANTHA_CLAYSON
#endif
#undef GLS_MIXING
#ifdef GLS_MIXING
# define N2S2_HORAVG
# undef KANTHA_CLAYSON
#endif
#undef LMD_MIXING
#ifdef LMD_MIXING
# define LMD_RIMIX
# define LMD_CONVEC
# define LMD_SKPP
# undef LMD_BKPP
# define LMD_NONLOCAL
#endif
#undef BULK_FLUXES
#ifdef BULK_FLUXES
# define LONGWAVE
# undef ANA_CLOUD
# define ANA_HUMIDITY
# undef ANA_PAIR
# undef ANA_TAIR
# define ANA_RAIN
# undef ANA_WINDS
#endif

#define SOLAR_SOURCE
#define DIURNAL_SRFLUX

#define ANA_BPFLUX
#define ANA_BSFLUX
#define ANA_BTFLUX
#define ANA_SPFLUX
#define ANA_SSFLUX

Any suggestion?
Thanks in advance,

jcwarner
Posts: 857
Joined: Wed Dec 31, 2003 6:16 pm
Location: USGS, USA

#2 Post by jcwarner » Mon Jul 02, 2007 6:09 pm

quick look:

1) do you have an "is" and "k" loop around:

DO ised=1,NST
Tsrc(is,k,ised+NAT)=1325.0_r8
END DO

2) what do you mean "there's always a minus sign.." do the values of 1325 show up ???

-j

dhson
Posts: 32
Joined: Wed Apr 09, 2003 10:40 am
Location: Institute of Meteorology and hydrology

#3 Post by dhson » Tue Jul 03, 2007 2:04 am

Thank for the response
1) Yes, I have "is" and "k" loop
2) I mean the negative value next to (Isrc,Jsrc) and the 1325 value shows the sediment concentration as kg/m3 of Qbar (~5m3/s)

In fact, in this simulation I've tried to figure out how the sea bottom is elevated by sediment dumping.

jcwarner wrote:quick look:

1) do you have an "is" and "k" loop around:

DO ised=1,NST
Tsrc(is,k,ised+NAT)=1325.0_r8
END DO

2) what do you mean "there's always a minus sign.." do the values of 1325 show up ???

-j

jcwarner
Posts: 857
Joined: Wed Dec 31, 2003 6:16 pm
Location: USGS, USA

#4 Post by jcwarner » Tue Jul 03, 2007 3:13 am

"2) I mean the negative value next to (Isrc,Jsrc) and the 1325 value shows the sediment concentration as kg/m3 of Qbar (~5m3/s) "

I have absolutley no idea what you are trying to say to me.

dhson
Posts: 32
Joined: Wed Apr 09, 2003 10:40 am
Location: Institute of Meteorology and hydrology

#5 Post by dhson » Tue Jul 03, 2007 7:40 am

Sorry for the bad explanation, What I' tried to say are:
2) 1325 value shows the sediment concentration as kg/m3 of Qbar (~5m3/s) at the point source.
3) if I put point source at (i=7, j=5) then i've received the horizontal distribution of sediment concentration as the below matrix:

i= .....4 5 6 7 8 9
..........................
j=3 ...0 0 0 0 0 0...
j=4 ...0 0 4 4 4 0...
j=5 ...0 0 4 5 4 0...
j=6 ...0 0 2-5 2 0...
j=7 ...0 0 1 1 1 0...
j=8 ...0 0 0 0 0 0...
j=9 ...0 0 0 0 0 0...

rsignell
Posts: 123
Joined: Fri Apr 25, 2003 9:22 pm
Location: USGS

#6 Post by rsignell » Tue Jul 03, 2007 8:38 am

Are you defining TS_MPDATA so that you use the MPDATA scheme for advection of tracer? If not, it's not surprising that you would get negative concentrations 1 grid cell upstream from a point source.

dhson
Posts: 32
Joined: Wed Apr 09, 2003 10:40 am
Location: Institute of Meteorology and hydrology

#7 Post by dhson » Tue Jul 03, 2007 10:00 am

I've defined it as:
#define TS_MPDATA
(details in the beginingmessage)

Do you have any suggestion?

rsignell
Posts: 123
Joined: Fri Apr 25, 2003 9:22 pm
Location: USGS

#8 Post by rsignell » Tue Jul 03, 2007 10:41 am

Oops. Okay, I missed that setting of TS_MPDATA -- I guess the "find" on my browser doesn't work on these discussion pages.

Are you specifying a point source in a cell surrounded by ocean? I don't think it's designed to work that way -- the flux needs to come in through a wall between land and sea, doesn't it?

csherwood
Posts: 38
Joined: Fri Apr 02, 2004 4:46 pm
Location: USGS, Woods Hole, USA

Check advection scheme, disable sediment density

#9 Post by csherwood » Tue Jul 03, 2007 1:22 pm

It looks like you have more than one TS advection scheme enabled...undefine all except for

Also, try it without sediment density effects turned on first...and do a sanity check to make sure your water + sediment density is not ridiculous...you might have to ramp it more gently over several time steps.
Chris Sherwood, USGS
1 508 457 2269

dhson
Posts: 32
Joined: Wed Apr 09, 2003 10:40 am
Location: Institute of Meteorology and hydrology

#10 Post by dhson » Wed Jul 04, 2007 1:37 am

Daer all,
Before running wit SEDIMENT, I've deactivated SEDIMENT: ROMS worked fine!
It seemed to be fine also with T & S (at least, no ridiculous values).

You might notice that variable Dsrc, direction of point source discharge, was set to 1 in my case (which was not quite appropriate for sediment dumping).

Probably, the negative value appeared in the upstream of the point source (in the middle of the sea) probably because "It's not designed to work that way".

If so, T & S were also the case but they're not.

User avatar
jivica
Posts: 136
Joined: Mon May 05, 2003 2:41 pm
Location: The University of Western Australia, Perth, Australia

#11 Post by jivica » Wed Jul 04, 2007 7:56 am

Well, I had the same situation when I played with sand storms applying sediment flux at the surface in the middle of the basin :D .... Point is that I (and think you) want to have VERTICAL flux downward like rainfall and not horizontal like is implemented in the ROMS code... If using horizontal flux then with continuity you have to take something from the surrounding cells which is giving you negative values... If you put land as your ship position which is releasing sediment then things should be oky..
Just a thought..
MP_DATA is only for temp and salinity??? or it is as well for sediment
Nice thing would be to have VERTICAL FLUX as boundary condition for sediment to play with sand storms, or waste water disposal sediments at the bottom as well...
Ivica

jcwarner
Posts: 857
Joined: Wed Dec 31, 2003 6:16 pm
Location: USGS, USA

#12 Post by jcwarner » Wed Jul 04, 2007 1:12 pm

There is a *not*well*tested capability of:
#undef UV_PSOURCE
#define Q_PSOURCE
that allows a vertical flux tracer instead of a horizontal flux. One needs to provide the same information as for uv_psource, but for q_psource the flow is in the vertical direction. The i j indices would then be at rho points.

If #defined TS_MPDATA is activated, this is a 3D tracer advection (all tracers, including sediment). Right now we do not allow different advection algorithms for different tracers.

User avatar
jivica
Posts: 136
Joined: Mon May 05, 2003 2:41 pm
Location: The University of Western Australia, Perth, Australia

#13 Post by jivica » Wed Jul 04, 2007 3:29 pm

It is exactly what I needed ...
John please if you can provide little bit of info about Q_PSOURCE option ....
Like what direction notation is used (1 -1 downward or upward), and if it is specified at the surface like sand storm (just for testing how it works) at some rho points,
than it actually acts like surface boundary condition,
should I change as well _SPFLUX because I mess with surface boundary conditions.....
Have you some hints about the problem? ;)
Would you set source part like:
#undef UV_PSOURCE
#undef TS_PSOURCE
#define Q_PSOURCE


Thanks in advance,
Ivica

dhson
Posts: 32
Joined: Wed Apr 09, 2003 10:40 am
Location: Institute of Meteorology and hydrology

#14 Post by dhson » Thu Jul 05, 2007 1:41 am

By the way, did "# define SED_MORPH" was well tested by someone?
I've tried to use it for the river but ROMS 3.0 blows up after long enough time.
It's mostly seemed that at some corner nodes, the bottom layer was over eroded or sedimented.

jcwarner
Posts: 857
Joined: Wed Dec 31, 2003 6:16 pm
Location: USGS, USA

#15 Post by jcwarner » Thu Jul 05, 2007 2:34 am

The sed_morph option has been tested by several different modelers, including myself, on different applications. However, every one's application is different and there is no way to test all the possibilities for everything.

There are recent posts asking about BC's for salinity. These BCs have been well tested, yet the posts show instabilities. So different applications can create complications even for *well*tested* options. It all depends on how the user applies the options. A lot of it really depends on the grid.

As far as sed morph is concerned, there have been several years of testing with that option, yet i am sure that some applications can develop issues. One needs to realize the significance of the bathymentry and the grid during any simulation. As the bathymetry changes, the hydrodynamics can change significantly. So certainly instabilities can develop, especailly near corners where there are large changes in the bathy.

jcwarner
Posts: 857
Joined: Wed Dec 31, 2003 6:16 pm
Location: USGS, USA

Q_PSOURCE

#16 Post by jcwarner » Sun Jul 08, 2007 9:45 pm

Gang:
We fixed a few small issues with Q_SPOURCE. I ran a simple test case and it seems to be doing the correct thing. So go ahead and give that option a try. Essentially, you provide all the same info for Q_PSOURCE as you do for UV_PSOURCE, the differences are that:
Q_SPURCE is at rho poiints and the flux is in the vertical direction (positive upwards)
whereas
UV_PSOURCE is at a u or v point and flux is in the horizontal direction.
-j

User avatar
jivica
Posts: 136
Joined: Mon May 05, 2003 2:41 pm
Location: The University of Western Australia, Perth, Australia

#17 Post by jivica » Mon Jul 09, 2007 8:00 am

In which version is that? official roms with svn or SED_CODE?
and BTW what is policy of that now, is there merging of SED stuff done occasionally as before, and we should look for the last SEC CODE or is it done in no time & we can find it in the last official roms version?
Thanks for the info!
Ivica

rsignell
Posts: 123
Joined: Fri Apr 25, 2003 9:22 pm
Location: USGS

#18 Post by rsignell » Tue Jul 10, 2007 11:59 am

Ivica,

Whenever you want to see what's changed recently with the ROMS code, go to:

https://www.myroms.org/projects/src/browser

then click on "Last Change" (in the upper right area of your window).

At this revision (Changeset 81) you can see that Ticket 59 was resolved, and see exactly what the code changes were.

What was Ticket 59, you ask?

To find out, you can go directly to a specific Ticket by forming a URL like this:

https://www.myroms.org/projects/src/ticket/59

-Rich

User avatar
jivica
Posts: 136
Joined: Mon May 05, 2003 2:41 pm
Location: The University of Western Australia, Perth, Australia

#19 Post by jivica » Tue Jul 10, 2007 1:09 pm

Thnks Rich,
I have found it and test it as well.
It is working the way I wanted :D this bug is fixed.
(we were talking about that at the GRC; in old way with Q_PSOURCE
I got negative sand_01 and/or mud_01 (it used UV_PSOURCE) and because I put it on the top of the column and in the middle of domain....
but now with fixed *vertical flux* and Q_PSOURCE it is working oky.

I was wondering about sediment branch of ROMS code, if you or any of sediment developers change something in the branch, is it part of official distribution that I get via svn immediately, or like in old days have to be merge at some later time?
Ivica

Post Reply