[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