[MITgcm-support] obcs with non linear free surface

Martin Losch martin.losch at awi.de
Fri Nov 18 11:28:48 EST 2016


Hi Alexey,

see comments below, hope that helps,

Martin

> On 18 Nov 2016, at 16:01, Alexey <isaev at rshu.ru> wrote:
> 
> 
> 
> Dear sirs,
> 
> I am trying to set MITgcm for the Baltic sea. 
> For boundary conditions there are temperature, salinity and sea level available only.
You can interpret sea level as a stream function and prescribe a barotropic flow together with the Steven (1990) boundary condition (see documentation of OBCS).
> I guess that with that data for the open boundary (the northern boundary) only NONLIN_FRSURF built is possible. 
Not necessarily, a linear free surface should also be possible, see above (but nonlinear free surface is possible, too).
> In this case the sea level is overestimated for multi-year runs. From the code I figured that the velocities at the boundaries are set to zero,
> which, probably, leads to the significant underestimation of the mass transport off the basin.
> Is that so?
I guess your sea level produces too much inflow. You should “massage” your input fields (input velocities derived from your sea level) to have net-zero flux (over your intergration period); that’s a bit tricky because you need to take the exact geometry into account. Alternatively you can use the balancing options to enforce no net flow at each time step; not very physical, but very effective (and you have it turned on already, see also the documentation.
> Besides, the simulation presents an steep step-like structure near the boundary between the boundary and the inner simulation domain.
That’s because you use " useSeaiceSponge = .TRUE.,”, turn it off, then there will be a jump at the boundary itself. With the Stevens bc this discontinuity is much smaller in my experience.
> Could you please advice me on the code alteration to obtain the velocities from the level values?
> Which subroutines are to be modified? 
> data - namelist
> rhonil=1027.5,
>  rhoConstFresh=999.8,
>  eosType='JMD95Z',
>  hFacMinDr=50.,
>  hFacMin=0.3,
>  hFacInf=0.1,
>  hFacSup=5.,
>  implicitDiffusion=.TRUE.,
>  implicitViscosity=.TRUE.,
>  viscC4Leith=1.5,
>  viscC4Leithd=1.5,
>  viscA4GridMax=0.5,
>  useAreaViscLength=.TRUE.,
>  sideDragFactor=0.,
>  highOrderVorticity  = .TRUE.,
>  bottomDragQuadratic = 0.0021,
>  tempAdvScheme=7,
>  saltAdvScheme=7,
>  StaggerTimeStep=.TRUE.,
>  multiDimAdvection=.TRUE.,
>  vectorInvariantMomentum=.TRUE.,
>  rigidLid=.FALSE.,
>  implicitFreeSurface=.TRUE.,
>  exactConserv=.TRUE.,
>  debuglevel=-1,
>  convertFW2Salt=-1
>  useSingleCpuIO=.TRUE.,
>  globalFiles=.FALSE.,
>  useRealFreshWaterFlux=.TRUE.,
>  implicSurfPress = 1.0,
>  implicDiv2Dflow = 1.0,
>  select_rStar =2,
>  nonlinFreeSurf=4,
> 
> data.obcs - namelist
>  &OBCS_PARM01
This could be shorter:
 OB_Jnorth(15:31) = 16*-250,
>  OB_Jnorth(15)=-250,
>  OB_Jnorth(16)=-250,
>  OB_Jnorth(17)=-250,
>  OB_Jnorth(18)=-250,
>  OB_Jnorth(19)=-250,
>  OB_Jnorth(20)=-250,
>  OB_Jnorth(21)=-250,
>  OB_Jnorth(22)=-250,
>  OB_Jnorth(23)=-250,
>  OB_Jnorth(24)=-250,
>  OB_Jnorth(25)=-250,
>  OB_Jnorth(26)=-250,
>  OB_Jnorth(27)=-250,
>  OB_Jnorth(28)=-250,
>  OB_Jnorth(29)=-250,
>  OB_Jnorth(30)=-250,
>  OB_Jnorth(31)=-250,
> #
>  useOBCSprescribe=.TRUE.,
>  useOBCSbalance=.TRUE.,
>  OBCS_balanceFacN = 2.,
>  OBCSfixTopo = .TRUE.,
> #
>  useOBCSsponge   = .TRUE.,
>  useSeaiceSponge = .TRUE.,
> 
>  &OBCS_PARM03
>  spongeThickness = 5,
>  Urelaxobcsinner=108000.0,
>  Urelaxobcsbound=10800.0,
>  Vrelaxobcsinner=108000.0,
>  Vrelaxobcsbound=10800.0,
>  &
> 
> 
> 
> Sincerely,
> Alexey
> Russian State Hydrometeorological University
> 
> _______________________________________________
> MITgcm-support mailing list
> MITgcm-support at mitgcm.org
> http://mitgcm.org/mailman/listinfo/mitgcm-support




More information about the MITgcm-support mailing list