how to add sediment to the river?

Sediment modeling collaborators: issues, applications, information exchange

Moderators: arango, robertson, rsignell

Post Reply
Message
Author
leon
Posts: 78
Joined: Mon Mar 03, 2008 4:14 am

how to add sediment to the river?

#1 Unread post by leon »

Dear all,
I want to add sediment to a river mouth. But I am not sure about the cpp defines.
Is it ok if I set 'UV_PSOURCE TS_PSOURCE Q_PSOURCE'? I find there are 'river_mud_. river_sand_' in the file varinfo.dat. So is it ok? Or what should I set in the cpp defines if I want to add sediment to the river mouth?
Any suggestion is ok.
Thank you very much~

leon
Posts: 78
Joined: Mon Mar 03, 2008 4:14 am

Re: how to add sediment to the river?

#2 Unread post by leon »

I understand, I should add 'river_sediment' to the cpp*.h. But I'm not sure that if I must give the wave condition after I define the bottom boundary layer closure.
Any body?
Any suggestion?
Thank you~

abever
Posts: 23
Joined: Tue Feb 17, 2004 6:15 pm
Location: Anchor QEA, LLC

Re: how to add sediment to the river?

#3 Unread post by abever »

Search the forum and the wiki for the correct cpp options to specify a point source (river) discharge for your application (you are right you should specify RIVER_SEDIMENT). The CDL file for creating the ROMS forcing file contained in the svn source code has some of the needed variables in it for an example. For river sediment, however, you need to set the river_flag to 4, temperatue, salinity, and sediment.

leon
Posts: 78
Joined: Mon Mar 03, 2008 4:14 am

Re: how to add sediment to the river?

#4 Unread post by leon »

Fist, thank you very much. I still have a question. Is the river sediment defined as the river runoff river_transport or the river_salt? For example, if as the river_salt, it should be N layers, but not for the river_transport. Which one is right? Thank you~

abever
Posts: 23
Joined: Tue Feb 17, 2004 6:15 pm
Location: Anchor QEA, LLC

Re: how to add sediment to the river?

#5 Unread post by abever »

It is like salt. Specify the suspended sediment concentration at each time-step, for each vertical layer, in each river. So, it should be a three dimensional matrix, although if only using one river one dimension will be length one. I copied my .cdl file below for reference.

Code: Select all

netcdf waipaoa_river.nc {
dimensions:
	river_time = UNLIMITED ; // (0 currently)
	river = 1 ;
	s_rho = 20 ;

variables:

	double river(river) ;
		river:long_name = "river runoff identification number" ;
		river:units = "nondimensional" ;
		river:field = "river, scalar" ;

	double river_Xposition(river) ;
		river_Xposition:long_name = "river XI-position at RHO-points" ;
		river_Xposition:units = "nondimensional" ;
		river_Xposition:valid_min = 1. ;
		river_Xposition:valid_max = 135. ;
		river_Xposition:field = "river_Xposition, scalar" ;

	double river_Eposition(river) ;
		river_Eposition:long_name = "river ETA-position at RHO-points" ;
		river_Eposition:units = "nondimensional" ;
		river_Eposition:valid_min = 1. ;
		river_Eposition:valid_max = 375. ;
		river_Eposition:field = "river_Eposition, scalar" ;

	double river_direction(river) ;
		river_direction:long_name = "river runoff direction" ;
		river_direction:units = "nondimensional" ;
		river_direction:field = "river_direction, scalar" ;

	double river_flag(river) ;
		river_flag:long_name = "river runoff tracer flag" ;
		river_flag:units = "nondimensional" ;
		river_flag:option_0 = "all tracers are off" ;
		river_flag:option_1 = "only temperature is on" ;
		river_flag:option_4 = "Temp Sal and Sediment" ;
		river_flag:field = "river_flag, scalar" ;

	double river_Vshape(s_rho, river) ;
		river_Vshape:long_name = "river runoff mass transport vertical profile" ;
		river_Vshape:units = "nondimensional" ;
		river_Vshape:field = "river_Vshape, scalar" ;

	double river_time(river_time) ;
		river_time:long_name = "river runoff time" ;
		river_time:units = "Days since 23 May 1968" ;
		river_time:add_offset = 0.0 ;
		river_time:field = "river_time, scalar, series" ;

	double river_transport(river_time, river) ;
		river_transport:long_name = "river runoff vertically integrated mass transport" ;
		river_transport:units = "meter3 second-1" ;
		river_transport:field = "river_transport, scalar, series" ;

	double river_temp(river_time, s_rho, river) ;
		river_temp:long_name = "river runoff potential temperature" ;
		river_temp:units = "Celsius" ;
		river_temp:field = "river_temp, scalar, series" ;

	double river_salt(river_time, s_rho, river) ;
		river_salt:long_name = "river runoff salinity" ;
		river_salt:units = "PSU" ;
		river_salt:field = "river_salt, scalar, series" ;

	double river_mud_01(river_time, s_rho, river) ;
		river_mud_01:long-name = "river runoff suspended sediment concentration" ;
		river_mud_01:units = "kg/m^3" ;
		river_mud_01:field = "river_mud, scalar, series" ;

	double river_mud_02(river_time, s_rho, river) ;
		river_mud_02:long-name = "river runoff suspended sediment concentration" ;
		river_mud_02:units = "kg/m^3" ;
		river_mud_02:field = "river_mud, scalar, series" ;

	double river_mud_03(river_time, s_rho, river) ;
		river_mud_03:long-name = "river runoff suspended sediment concentration" ;
		river_mud_03:units = "kg/m^3" ;
		river_mud_03:field = "river_mud, scalar, series" ;

	double river_mud_04(river_time, s_rho, river) ; 
		river_mud_04:long-name = "river runoff suspended sediment concentration" ; 
		river_mud_04:units = "kg/m^3" ; 
		river_mud_04:field = "river_mud, scalar, series" ; 

	double river_mud_05(river_time, s_rho, river) ; 
		river_mud_05:long-name = "river runoff suspended sediment concentration" ; 
		river_mud_05:units = "kg/m^3" ; 
		river_mud_05:field = "river_mud, scalar, series" ;

	double river_mud_06(river_time, s_rho, river) ; 
		river_mud_06:long-name = "river runoff suspended sediment concentration" ; 
		river_mud_06:units = "kg/m^3" ; 
		river_mud_06:field = "river_mud, scalar, series" ;

// global attributes:
		:title = "Poverty Bay forcing file" ;
		:type = "River FORCING file" ;
		:author = "Aaron J. Bever";
		:date = "23-JUNE-2009" ;
		:rivers = "Waipaoa";}

leon
Posts: 78
Joined: Mon Mar 03, 2008 4:14 am

Re: how to add sediment to the river?

#6 Unread post by leon »

Cool~ You are totally right. I have tried to define the river sediment as river transport, then I got such errors:

Code: Select all

 NETCDF_GET_FVAR_1D - error while reading variable:  river_sand_01
                      in input file:  /dcfs2/users/leon/Documents/roms_examples/sediment/sediment-forc.nc
                      call from:  get_cycle.F

GET_NGFLD   - error while reading variable: river_sand_01   at TIME index =    1

Code: Select all

ERROR: Abnormal termination: NetCDF INPUT.
REASON: NetCDF: Start+count exceeds dimension bound   
Then I checked the mod_netcdf.f and redefined river sediment as the salt. It's OK now~

You are really kindhearted~

Thank you very much~

Post Reply