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.
clamped boundary condition examples
-
- Posts: 43
- Joined: Wed Nov 30, 2016 11:18 pm
- Location: University of Massachusetts Dartmouth
Re: clamped boundary condition examples
I use this for the RadNud boundary condition, but it's the same as clamped:
Even better would be if I had "temp_west:time = "ocean_time" as an attribute.
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 = ....
-
- Posts: 43
- Joined: Wed Nov 30, 2016 11:18 pm
- Location: University of Massachusetts Dartmouth
Re: clamped boundary condition examples
Thanks very much. This seems to be what I needed.