Scheduled Downtime
On Tuesday 24 October 2023 @ 5pm MT the forums will be in read only mode in preparation for the downtime. On Wednesday 25 October 2023 @ 5am MT, this website will be down for maintenance and expected to return online later in the morning.
Normal Operations
The forums are back online with normal operations. If you notice any issues or errors related to the forums, please reach out to help@ucar.edu

Problem with OBC FLATHER type

nlaureanti

Nicole C. Laureanti
New Member
Hello everybody,

I'm running MOM6 over the South American Ocean using SODA as input for OBCs. I've tried to use different OBC types but whenever I try FLATHER I have the following message

FATAL from PE 1: Values needed for OBC segment 3

For this segment, the obc is as written:

netcdf obc_u_east {
dimensions:
time = UNLIMITED ; // (146 currently)
lev = 50 ;
lat = 80 ;
lon = 1 ;
variables:
float time(time) ;
time:_FillValue = 1.e+20f ;
time:units = "days since 1900-01-01" ;
time:calendar = "365_day" ;
time:missing_value = 1.e+20f ;
float lev(lev) ;
lev:_FillValue = 1.e+20f ;
lev:axis = "Z" ;
lev:cartesian_axis = "Z" ;
lev:positive = "down" ;
lev:units = "meters" ;
lev:long_name = "zstar depth" ;
lev:missing_value = 1.e+20f ;
float lat(lat) ;
lat:_FillValue = 1.e+20f ;
lat:standard_name = "latitude" ;
lat:long_name = "geographic_latitude" ;
lat:axis = "Y" ;
lat:cartesian_axis = "Y" ;
lat:units = "degrees_north" ;
lat:missing_value = 1.e+20f ;
float lon(lon) ;
lon:_FillValue = 1.e+20f ;
lon:standard_name = "longitude" ;
lon:long_name = "geographic_longitude" ;
lon:axis = "X" ;
lon:cartesian_axis = "X" ;
lon:units = "degrees_east" ;
lon:missing_value = 1.e+20f ;
float dz_u_segment_003(time, lev, lat, lon) ;
dz_u_segment_003:_FillValue = 1.e+20f ;
dz_u_segment_003:missing_value = 1.e+20f ;
float u_segment_003(time, lev, lat, lon) ;
u_segment_003:_FillValue = 1.e+20f ;
u_segment_003:missing_value = 1.e+20f ;
float dudy_segment_003(time, lev, lat, lon) ;
dudy_segment_003:_FillValue = 1.e+20f ;
dudy_segment_003:long_name = "Part of vorticity" ;
dudy_segment_003:units = "1/s" ;
dudy_segment_003:missing_value = 1.e+20f ;
float dz_dudy_segment_003(time, lev, lat) ;
dz_dudy_segment_003:_FillValue = 1.e+20f ;
dz_dudy_segment_003:long_name = "Layer thicknesses" ;
dz_dudy_segment_003:units = "m" ;
dz_dudy_segment_003:missing_value = 1.e+20f ;

I've tried in other configurations but am receiving the same message... Hope someone here can help me fix it

The MOM_input file and the domain are attached bellow

Many thanks,
Nicole
 

Attachments

  • MOM_input.txt
    53.3 KB · Views: 6
  • OBC_u_C-Gridbilinearinterp.png
    OBC_u_C-Gridbilinearinterp.png
    53.2 KB · Views: 7

nlaureanti

Nicole C. Laureanti
New Member
The Flather condition needs the normal velocity at the boundary and also the sea surface height at the boundary. I don't see SSH in your file.

Hi Kate,

The ssh is in a different file, but the path is described in the MOM_input file

east.nc
netcdf obc_ssh_east {
dimensions:
time = UNLIMITED ; // (146 currently)
lat = 80 ;
lon = 1 ;
variables:
float time(time) ;
time:_FillValue = 1.e+20f ;
time:standard_name = "time" ;
time:long_name = "time" ;
time:axis = "T" ;
time:units = "days since 1900-01-01" ;
time:calendar = "365_day" ;
time:missing_value = 1.e+20f ;
float lat(lat) ;
lat:_FillValue = 1.e+20f ;
lat:standard_name = "latitude" ;
lat:long_name = "geographic_latitude" ;
lat:axis = "Y" ;
lat:cartesian_axis = "Y" ;
lat:units = "degrees_north" ;
lat:missing_value = 1.e+20f ;
float lon(lon) ;
lon:_FillValue = 1.e+20f ;
lon:standard_name = "longitude" ;
lon:long_name = "geographic_longitude" ;
lon:axis = "X" ;
lon:cartesian_axis = "X" ;
lon:units = "degrees_east" ;
lon:missing_value = 1.e+20f ;
float lev ;
lev:_FillValue = 1.e+20f ;
lev:missing_value = 1.e+20f ;
float dz_ssh_segment_003(time, lat, lon) ;
dz_ssh_segment_003:_FillValue = 1.e+20f ;
dz_ssh_segment_003:coordinates = "lev" ;
dz_ssh_segment_003:missing_value = 1.e+20f ;
float ssh_segment_003(time, lat, lon) ;
ssh_segment_003:_FillValue = 1.e+20f ;
ssh_segment_003:coordinates = "lev" ;
ssh_segment_003:missing_value = 1.e+20f ;
 
It would be nice to know which values it thought it needed. I would look using a debugger, but one could also change the write statement on line 1006 of MOM_open_boundary.F90 to add more information.

The boundary options you are using only provide information for the normal component of the velocity. You are however asking it to compute the vorticity and strain at the boundary from the tangential component of the velocity. It could be looking for those values, which you could provide by adding SIMPLE_TAN to your specifications.
 

nlaureanti

Nicole C. Laureanti
New Member
Thanks for the hint. I've discovered that the problem is with SSH, but I still don't know how to pass this error. I'm using ssh from SODA, interpolated to the model grid in h-points. I've compared the settings with the dumbbell example, but can't find what is wrong with mine's. I'm sending my grid in ocean_geometry, the obcs for my case and for dumbbell's example. In my view, they are the same
 

Attachments

  • dumbbell_obc_west.txt
    4.6 KB · Views: 1
  • ocean_geometry.txt
    2.6 KB · Views: 1
  • east_obc.txt
    4.9 KB · Views: 2

andrew-c-ross

Andrew Ross
New Member
In your MOM_input, there is a space between the comma and SSH ("salt=file:obc_salt_south.nc(salt), SSH=file:obc_ssh_south.nc(ssh)"). Could you try deleting this space ("salt=file:obc_salt_south.nc(salt),SSH=file:obc_ssh_south.nc(ssh)")? I think the parser will fail to recognize the variable when there is a space.
 
Top