clamped boundary condition examples

General scientific issues regarding ROMS

Moderators: arango, robertson

Post Reply
Message
Author
sonaljit.m
Posts: 43
Joined: Wed Nov 30, 2016 11:18 pm
Location: University of Massachusetts Dartmouth

clamped boundary condition examples

#1 Unread post by sonaljit.m »

Hi everyone,
Is there any example setup of a 'clamped (Dirichlet) boundary condition' in ROMS? I am trying to impose a Dirichlet condition for temperature, salinity and velocities on the 4 vertical walls of my domain. I have the vertical transects for the properties, but I need to understand in what format they can be provided to ROMS as a clamped condition.

From what I understand, the clamped condition can be set by prescribing 'Cla' in the input (ocean.in) file, on the four walls (1:4) for the temperature, salinity etc. But I don't know in what format the temperature, salinity has to be prescribed on the walls (should it be in the form of a 2D array for each wall?).

Thanks,
Sonaljit.

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

Re: clamped boundary condition examples

#2 Unread post by kate »

I use this for the RadNud boundary condition, but it's the same as clamped:

Code: Select all

chinook03 237% ncdump -h NGOA_SODA3.3.1_bdry_1997.nc
netcdf NGOA_SODA3.3.1_bdry_1997 {
dimensions:
	s_rho = 50 ;
	s_w = 51 ;
	eta_rho = 282 ;
	xi_rho = 326 ;
	ocean_time = UNLIMITED ; // (73 currently)
	eta_psi = 281 ;
	xi_psi = 325 ;
	eta_u = 282 ;
	xi_u = 325 ;
	eta_v = 281 ;
	xi_v = 326 ;
variables:
	double theta_s ;
		theta_s:long_name = "S-coordinate surface control parameter" ;
    :
    stuff
    :
	double ocean_time(ocean_time) ;
		ocean_time:long_name = "time" ;
		ocean_time:units = "days since 1900-01-01 00:00:00" ;
		ocean_time:field = " " ;
	double zeta_north(ocean_time, xi_rho) ;
		zeta_north:_FillValue = -1.00000002004088e+20 ;
		zeta_north:long_name = "free-surface north boundary condition" ;
		zeta_north:units = "meter" ;
		zeta_north:field = "zeta_north, scalar, series" ;
      :
      other sides
      :
	double temp_north(ocean_time, s_rho, xi_rho) ;
		temp_north:_FillValue = -1.00000002004088e+20 ;
		temp_north:long_name = "potential temperature north boundary condition" ;
		temp_north:units = "Celsius" ;
		temp_north:field = "temp_north, scalar, series" ;
	double temp_south(ocean_time, s_rho, xi_rho) ;
		temp_south:_FillValue = -1.00000002004088e+20 ;
		temp_south:long_name = "potential temperature south boundary condition" ;
		temp_south:units = "Celsius" ;
		temp_south:field = "temp_south, scalar, series" ;
	double temp_west(ocean_time, s_rho, eta_rho) ;
		temp_west:_FillValue = -1.00000002004088e+20 ;
		temp_west:long_name = "potential temperature west boundary condition" ;
		temp_west:units = "Celsius" ;
		temp_west:field = "temp_west, scalar, series" ;
       :
        other vars
        :
// global attributes:
		:Description = "ROMS file" ;
		:Author = "pyroms_toolbox.nc_create_roms_file" ;
		:Created = "2017-01-24 17:05:11" ;
		:title = "ROMS file" ;
		:history = ....
Even better would be if I had "temp_west:time = "ocean_time" as an attribute.

sonaljit.m
Posts: 43
Joined: Wed Nov 30, 2016 11:18 pm
Location: University of Massachusetts Dartmouth

Re: clamped boundary condition examples

#3 Unread post by sonaljit.m »

Thanks very much. This seems to be what I needed.

Post Reply