Problem with rivers
-
- Posts: 19
- Joined: Mon Nov 05, 2012 2:39 pm
- Location: National and Kapodistrian University of Athens
Problem with rivers
Dear all,
I tried to add rives in my configuration but for some reason salinity remains too high.
So I did several tests trying to understand why ROMS doesn't seem to read my river data.
I prepared the river.nc input file according to: /MYROMS/trunk/Data/ROMS/CDL/frc_rivers.cdl and I used map_rivers.m script in order to find the appropriate river position.
I tested also different values for river_Vshape. First I used only river runoff data (#define UV_PSOURSE) but since salinity wasn't decreasing,
I used also typical values for Temp&Salt and I turned on the TS_PSOURCE cpp option. That didn't seem to work either so I did some changes to my cpp options:
Old set up:
#define TS_U3HADVECTION
#define TS_C4VADVECTION
#define MY25_MIXING
#define KANTHA_CLAYSON
#define N2S2_HORAVG
#define K_C4ADVECTION
New set up:
#define TS_A4HADVECTION
#define TS_A4VADVECTION
#define LMD_MIXING
#define LMD_SKPP
#define LMD_SHAPIRO
and I compared all the outputs with POM model also.
With the new set up salinity drops close to rivers but now the main circulation patterns
are less intense compared with the old one or POM.
So I have two questions:
1. Why my old set up can't simulate the river outflow?
2. Can different mixing or advection schemes affect river run off so much ?
And if they can, how do I know which one to choose?
Thanks in advance,
Eurydice
I tried to add rives in my configuration but for some reason salinity remains too high.
So I did several tests trying to understand why ROMS doesn't seem to read my river data.
I prepared the river.nc input file according to: /MYROMS/trunk/Data/ROMS/CDL/frc_rivers.cdl and I used map_rivers.m script in order to find the appropriate river position.
I tested also different values for river_Vshape. First I used only river runoff data (#define UV_PSOURSE) but since salinity wasn't decreasing,
I used also typical values for Temp&Salt and I turned on the TS_PSOURCE cpp option. That didn't seem to work either so I did some changes to my cpp options:
Old set up:
#define TS_U3HADVECTION
#define TS_C4VADVECTION
#define MY25_MIXING
#define KANTHA_CLAYSON
#define N2S2_HORAVG
#define K_C4ADVECTION
New set up:
#define TS_A4HADVECTION
#define TS_A4VADVECTION
#define LMD_MIXING
#define LMD_SKPP
#define LMD_SHAPIRO
and I compared all the outputs with POM model also.
With the new set up salinity drops close to rivers but now the main circulation patterns
are less intense compared with the old one or POM.
So I have two questions:
1. Why my old set up can't simulate the river outflow?
2. Can different mixing or advection schemes affect river run off so much ?
And if they can, how do I know which one to choose?
Thanks in advance,
Eurydice
Re: Problem with rivers
Which version are you using? The latest version has logicals in the ocean.in file rather than these cpp options.TS_PSOURCE
-
- Posts: 19
- Joined: Mon Nov 05, 2012 2:39 pm
- Location: National and Kapodistrian University of Athens
Re: Problem with rivers
Dear Kate,
My ROMS version is 3.7.
I know that *_PSOURSE cpp options have been replaced with LuvSrc, LwSrc, and LtracerSrc
but I haven't update recently because I will have to change a lot of things in my configuration.
Where do you think the problem is?
Any suggestions?
Thanks for your time,
E.
My ROMS version is 3.7.
I know that *_PSOURSE cpp options have been replaced with LuvSrc, LwSrc, and LtracerSrc
but I haven't update recently because I will have to change a lot of things in my configuration.
Where do you think the problem is?
Any suggestions?
Thanks for your time,
E.
Re: Problem with rivers
My version is also 3.7 and it has the changes to sources I mentioned.
For the rest, perhaps someone else can chime in.
For the rest, perhaps someone else can chime in.
Re: Problem with rivers
I recently updated the Wiki ROMS entry for rivers:
https://www.myroms.org/wiki/index.php/River_Runoff
It is easy to activate the logical flags to turn on rivers (instead of the old CPP options). Your advection scheme etc should make no difference.
https://www.myroms.org/wiki/index.php/River_Runoff
It is easy to activate the logical flags to turn on rivers (instead of the old CPP options). Your advection scheme etc should make no difference.
John Wilkin: DMCS Rutgers University
71 Dudley Rd, New Brunswick, NJ 08901-8521, USA. ph: 609-630-0559 jwilkin@rutgers.edu
71 Dudley Rd, New Brunswick, NJ 08901-8521, USA. ph: 609-630-0559 jwilkin@rutgers.edu
-
- Posts: 79
- Joined: Sun Dec 30, 2012 2:58 pm
- Location: inio:Iranian National Institute for Oceanography
Re: Problem with rivers
Do you turn on
in ocean.in file?
Code: Select all
! Logical switches (TRUE/FALSE) to specify which variables to consider on
! tracers point Sources/Sinks (like river runoff): [1:NAT+NPT,Ngrids].
! See glossary below for details.
LtracerSrc == T T ! temperature, salinity, inert
Re: Problem with rivers
Yes, that's for the tracers. You also need to turn on:
for momentum sources.
Code: Select all
LuvSrc == T
-
- Posts: 19
- Joined: Mon Nov 05, 2012 2:39 pm
- Location: National and Kapodistrian University of Athens
Re: Problem with rivers
If I understand correctly, in my version of ROMS (prior to 11/25/2013)
rivers can be activated with UV_PSOURSE cpp option for river transport only.
If I want tracers also, I have to define TS_PSOURSE and set to true LtracerSrc in the ocean.in file
and/or set river_flag=3 (both temperature and salinity are on) in the river input netcdf file.
The logical switches LuvSrc and LwSrc were added after 11/25/2013 so I don't have them.
I did all the above and I also believe that my nc file is correct, so that's not the case.
My problem is that ROMS CAN read rivers ONLY if I activate LMD_MIXING
(and all the other cpp options as I mentioned above) instead of MY25_MIXING option.
With LMD_MIXING salinity drops to 12 close to rivers (which is correct)but
with MY25_MIXING I'm getting salinity values of 32 PSU in the neighborhood of the river mouth
and I just don't understand why. It doesn't make sense.......
I have two more questions:
1. I read somewhere that ROMS needs both UV_PSOURSE (river discharge) and TS_PSOURSE (river Temp,salt)
for stability in 3D applications. What happens If someone doesn't have Temperature data?
2. In roms_lattec_river.nc (LATTE test) temperature values are the same in all levels and they change
only with time. Why is that?
I mean if river_Vshape (in river.nc input file)is set in order to have all the inflow into the top layer
(N=1 on surface and N=0 on all the other levels) I suppose that ROMS doesn't care having constant values of
temperature in all the other levels. But If the outflow is distributed over the water column temperature
values must be different in every level. Right?
Thank you all for your answers and sorry for the long post
rivers can be activated with UV_PSOURSE cpp option for river transport only.
If I want tracers also, I have to define TS_PSOURSE and set to true LtracerSrc in the ocean.in file
and/or set river_flag=3 (both temperature and salinity are on) in the river input netcdf file.
The logical switches LuvSrc and LwSrc were added after 11/25/2013 so I don't have them.
I did all the above and I also believe that my nc file is correct, so that's not the case.
My problem is that ROMS CAN read rivers ONLY if I activate LMD_MIXING
(and all the other cpp options as I mentioned above) instead of MY25_MIXING option.
With LMD_MIXING salinity drops to 12 close to rivers (which is correct)but
with MY25_MIXING I'm getting salinity values of 32 PSU in the neighborhood of the river mouth
and I just don't understand why. It doesn't make sense.......
I have two more questions:
1. I read somewhere that ROMS needs both UV_PSOURSE (river discharge) and TS_PSOURSE (river Temp,salt)
for stability in 3D applications. What happens If someone doesn't have Temperature data?
2. In roms_lattec_river.nc (LATTE test) temperature values are the same in all levels and they change
only with time. Why is that?
I mean if river_Vshape (in river.nc input file)is set in order to have all the inflow into the top layer
(N=1 on surface and N=0 on all the other levels) I suppose that ROMS doesn't care having constant values of
temperature in all the other levels. But If the outflow is distributed over the water column temperature
values must be different in every level. Right?
Thank you all for your answers and sorry for the long post
Re: Problem with rivers
In your post to the forum you consistently misspell UV_PSOURSE and TS_PSOURSE. If you do that in your .h file there will be no river input no matter what else you do. The correct spelling is UV_PSOURCE and TS_PSOURCE. You will know these are working if they are echoed in the CPP list output to the logfile, and the logfile should also show the data being read from the rivers netcdf file. Is the file being read?
You say you get river sources when you use LMD_MIXING, but not other options. That makes me suspect LMD_MIXING (a local parameterization) is mixing the initial stratification near the source location to bring up lower salinity to the surface, with there still being actually no river inflow present.
MY25_MIXING depends on TKE generation to spur mixing, so this will be weak right at the source and you may be seeing the persistence of initial stratification there, which compared to more well mized LMD_MIXING may be fooling you into thinking there is added fresh water. With LMD_MIXING can you see a decrease in the vertically integrated salinity at the river source consistent with dilution from the inflow of fresh water?
You are working with a very old version of the source code, and I encourage you to update. There really aren't that many changes you should have to make, and svn is very clever about preserving code customizations and/or revealing conflicts when they arise.
The LATTE example files have not been updated in a long long time, so my apologies there. Perhaps I should delete them until someone fully updates that example case. But to answer your question, the temperature is uniform because in a 4-m deep river turbulence acting over several 100 km is usually sufficient to vertically mix the water column. So the homogeneous temperature assumption is reasonable. A vertically sheared velocity does require a density stratified flow.
You say you get river sources when you use LMD_MIXING, but not other options. That makes me suspect LMD_MIXING (a local parameterization) is mixing the initial stratification near the source location to bring up lower salinity to the surface, with there still being actually no river inflow present.
MY25_MIXING depends on TKE generation to spur mixing, so this will be weak right at the source and you may be seeing the persistence of initial stratification there, which compared to more well mized LMD_MIXING may be fooling you into thinking there is added fresh water. With LMD_MIXING can you see a decrease in the vertically integrated salinity at the river source consistent with dilution from the inflow of fresh water?
You are working with a very old version of the source code, and I encourage you to update. There really aren't that many changes you should have to make, and svn is very clever about preserving code customizations and/or revealing conflicts when they arise.
The LATTE example files have not been updated in a long long time, so my apologies there. Perhaps I should delete them until someone fully updates that example case. But to answer your question, the temperature is uniform because in a 4-m deep river turbulence acting over several 100 km is usually sufficient to vertically mix the water column. So the homogeneous temperature assumption is reasonable. A vertically sheared velocity does require a density stratified flow.
John Wilkin: DMCS Rutgers University
71 Dudley Rd, New Brunswick, NJ 08901-8521, USA. ph: 609-630-0559 jwilkin@rutgers.edu
71 Dudley Rd, New Brunswick, NJ 08901-8521, USA. ph: 609-630-0559 jwilkin@rutgers.edu
-
- Posts: 19
- Joined: Mon Nov 05, 2012 2:39 pm
- Location: National and Kapodistrian University of Athens
Re: Problem with rivers
Dear professor Wilkin,
Sorry for the late reply but I wanted to test some things before answering.
The problem was that I was checking the salinity only at the first levels
and not the vertically integrated salinity (as you suggest).
I can see now the river inflow in both cases even though the mixing is different close to rivers.
So, now I'm trying to find out the differences-similarities between the several mixing schemes and how
they can affect my results, in order understand which one to use.
Except from:
-Vertical mixing schemes in the coastal ocean: Comparison of the level 2.5 Mellor-Yamada scheme
with an enhanced version of the K profile parameterization (Scott Durski et all, 2004)
- Ocean Modeling and Parameterization, E. P. Chassignet and J. Verron
could you suggest me any other papers for mixing schemes comparison?
Thanks a lot for your answer,
Eurydice
Sorry for the late reply but I wanted to test some things before answering.
The problem was that I was checking the salinity only at the first levels
and not the vertically integrated salinity (as you suggest).
I can see now the river inflow in both cases even though the mixing is different close to rivers.
So, now I'm trying to find out the differences-similarities between the several mixing schemes and how
they can affect my results, in order understand which one to use.
Except from:
-Vertical mixing schemes in the coastal ocean: Comparison of the level 2.5 Mellor-Yamada scheme
with an enhanced version of the K profile parameterization (Scott Durski et all, 2004)
- Ocean Modeling and Parameterization, E. P. Chassignet and J. Verron
could you suggest me any other papers for mixing schemes comparison?
Thanks a lot for your answer,
Eurydice