roms river LwSrc problem

General scientific issues regarding ROMS

Moderators: arango, robertson

Post Reply
Message
Author
colberg
Posts: 13
Joined: Mon Feb 16, 2004 4:54 pm
Location: CSIRO

roms river LwSrc problem

#1 Unread post by colberg »

Hi all,
I am currently experiencing some model behavior associated with LwScr which I dont understand. I am using LwSrc option to include a point river source. This works fine in terms of inflating the cell (as set in step2d_LF_AM3.h).

However, the associated vertical tracer flux does drive the temperature and salinity towards zero regardless of what variables river_temp, and river_salt are set to. Values for Tsrc and Qsrc are read in correctly in step2d_LF_AM3.h and step3d_t and vertical temp and salt transport are calculated and added to the vertical flux. It seems as if the inflation of the cell drives the temperature and salinity changes to a large extent.

I should say this all works fine when using LuvSrc. However, here I am generally experiencing model blowups due to large horizontal momentum associated with the river transport as some stage.

Has anyone experienced similar behavior ?
Thanks
Frank

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

Re: roms river LwSrc problem

#2 Unread post by kate »

I haven't used LwSrc, but do use LuvSrc. Is the model truly blowing up or are you violating the ROMS "speed limit" with your river inputs? For something like the Copper River, I had to split it over three cells and impose the flow as being uniform in depth. I might even have had to dredge out those cells where it is coming in, increasing the depth. Plus I increased the speed limit for that domain.

colberg
Posts: 13
Joined: Mon Feb 16, 2004 4:54 pm
Location: CSIRO

Re: roms river LwSrc problem

#3 Unread post by colberg »

Hi Kate
thanks for your reply - for the LuvSrc case: I would have thought the model blew up due to violating the speed limit which is caused by large river runoff (btw does roms has a hard-coded speed limit ?).

I was able to handle this by increasing river depth (and methods similar as you describe). However, I was looking for a more robust method of applying river sources as we are dealing with a large number of rivers and potentially different model resolutions. For this reason I started playing around with LwSrc which works well as it inflates the rho cell according to the volume transport and hence reduces horizontal momentum compared to LuvSrc which makes this methods very stable. Unfortunately I was then dealing with typical overshooting in the advection scheme which results in negative salt and temp values. Hence I increased salinity in river_salt but then realized this didnt change the resulting salinity at all (hence my first post).

i am aware I could use MPDATA to alleviate negative tracer values but would like to understand why salt and temp values for river source using LwSrc are trending towards zero.
cheers
Frank

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

Re: roms river LwSrc problem

#4 Unread post by kate »

Yes, the speed limit is in mod_scalars.F:

Code: Select all

#ifdef NWGOA
        real(r8) :: max_speed = 80.0_r8         ! m/s
#else
        real(r8) :: max_speed = 20.0_r8         ! m/s
#endif
I can't answer your other question.

colberg
Posts: 13
Joined: Mon Feb 16, 2004 4:54 pm
Location: CSIRO

Re: roms river LwSrc problem

#5 Unread post by colberg »

thanks - this is very helpful! My simulations using LuvSrc are now very stable. What is the reason of default max_speed set to 20m/s?

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

Re: roms river LwSrc problem

#6 Unread post by kate »

The goal is to pick a value that's not likely to happen in normal running, yet is smaller than the infinity/NaN of blowing up. This way, you can save a restart record as things are going bad to see if you can make sense of the troubles - before the NaN has filled your entire domain.

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

Re: roms river LwSrc problem

#7 Unread post by wilkin »

Frank,

Hernan and I have looked in to this a bit further, and this has raised concerns that the LwSrc option is not implemented correctly. In the LwSrc option a modification should be made to the vertical advective flux in such a way that the subsequent flux divergence introduces the corresponding tracer flux.

ROMS predictor/corrector algorithm for advection requires steps in both pre_step3d.F and step3d_t.F to implement advection. While there is code in both these routines for the LuvSrc option, pre_step3d.F lacks code for the LwSrc option.

On first glance this would appear to be a serious bug, and we need to make some time in our schedule to look at this more closely and carefully. Until we (or someone else in the user community) resolves this, I would strongly caution against using the LwSrc option for river sources.

John.
John Wilkin: DMCS Rutgers University
71 Dudley Rd, New Brunswick, NJ 08901-8521, USA. ph: 609-630-0559 jwilkin@rutgers.edu

scenty
Posts: 7
Joined: Wed Mar 16, 2011 2:38 pm
Location: Xiamen, China

Re: roms river LwSrc problem

#8 Unread post by scenty »

This is from May 2020.

I am testing river with both LuvSrc and LwSrc. I found this issue persists.

LuvSrc -> max speed blowup, but tracers can be correctly imposed as point sources.
LwSrc -> more stable but tracers (T/S) cannot be correctly imposed. No matter what values I set for T and S, the value they input to the river is ~0.

Can anyone answer this?

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

Re: roms river LwSrc problem

#9 Unread post by wilkin »

I have corrected code that passes my simple tests for all tracer advection schemes. Contact me if you want to test it in advance or its addition to the public code.
John Wilkin: DMCS Rutgers University
71 Dudley Rd, New Brunswick, NJ 08901-8521, USA. ph: 609-630-0559 jwilkin@rutgers.edu

Post Reply