[MITgcm-support] Asymmetric surface temperature under symmetric forcing when rbcs package is used

Martin Losch Martin.Losch at awi.de
Mon Oct 16 11:41:57 EDT 2023


Just a guess:

The MITgcm uses a C-grid, so that the velocities are staggered, i.e. the vVel-points are 1/2 grid cell “south” of the theta points. If you want to preserve symmetry, you could try to average the theat first to velocity points before evaluating your criterion, e.g.

        IF (0.5*(theta(i,j,k,bi,bj)+theta(i,j-1,k,bi,bj)) .LE. 1700.) THEN
          gTendency(i,j) = gTendency(i,j)
     &       - RBC_maskV(i,j,k,bi,bj)*rec_tauRlx
     &        *( vVel(i,j,k,bi,bj)- RBCvVel(i,j,k,bi,bj) )
        ENDIF

Martin

> On 16. Oct 2023, at 08:05, 赖燕红 <yhlai at pku.edu.cn> wrote:
> 
> Hello everyone! 
> 
> I'm trying to simulate the ocean circulation under a zonally-symmetric surface temperature forcing in a 2D domain (x-z). 
> Surface temperature is relaxed to a prescribed distribution with a timescale of 20000 s, and Ts ranges from 50 K at the east/west boundaries (±120°) to 3000 K at the substellar point (0°). 
> But not sure why, the snapshot temperature and other fields (u, SSH, w) always show asymmetric pattern around the substellar point (Figure 1 attached). 
> I checked the codes and results, and find that the asymmetric results occur after the rbcs package is included and a condition is added in the rbcs_add_tendency.F,this condition is added to reduce the velocity to zero when T<1700 K. 
>       IF ( tracerNum.EQ.-2 .AND. useRBCvVel ) THEN
>         rec_tauRlx = rbcsVanishingFac/tauRelaxV
>         DO j=0,sNy+1
>          DO i=0,sNx+1
>         IF (theta(i,j,k,bi,bj) .LE. 1700) THEN
>           gTendency(i,j) = gTendency(i,j)
>      &       - RBC_maskV(i,j,k,bi,bj)*rec_tauRlx
>      &        *( vVel(i,j,k,bi,bj)- RBCvVel(i,j,k,bi,bj) )
>         ENDIF
>          ENDDO
>         ENDDO
>       ENDIF
> And there is no asymmetry when rbcs is Off or rbcs is On and the condition is not included under the same thermal forcing. 
> 
> Actually I can't understand the asymmetry in surface temperature, because it should be the same to the prescribed surface forcing, which should not be affected even by the rbcs package? 
> 
> Do you know how to solve this problem? Any suggestions are welcomed! 
> By the way, there are large negative vertical velocity in the west and east boundaries (top right panel; w; Figure 1), I guess it might be induced by numerical problem.If you know the reason please tell me. 
> Thanks very much in advance! 
> And the data.rbcs and data files I used are listed as below: 
> 
> %%%%%%%%%%%%%%%%%%%% data.rbcs # RBCS package parameters:
>  &RBCS_PARM01
>  useRBCuVel=.TRUE.,
>  useRBCvVel=.TRUE.,
>  tauRelaxU=4000.,
>  tauRelaxV=4000.,
>  relaxMaskUFile='U_relax_mask.bin'
>  relaxMaskVFile='V_relax_mask.bin'
>  relaxUFile='U_relax.bin',
>  relaxVFile='V_relax.bin' 
> 
> # Note that U/V_relax_mask = 1.0 everywhere, and U/V_relax = 0.0 everywhere. 
> 
> %%%%%%%%%%%%%%%% some codes in data  &PARM01
>  tRef=43*50.,
>  sRef= 43*34.7,
>  cosPower=1.,
>  viscAr=1.E-3,
>  viscAh=12.E5,
>  no_slip_sides=.TRUE.,
>  no_slip_bottom=.TRUE.,
>  bottomDragLinear=1.E-3,
>  diffKhT=1.E3,
>  diffKrNrT=43*1.E-3,
>  ivdc_kappa=100.,
>  implicitDiffusion=.TRUE., 
>  &PARM04
>  usingSphericalPolarGrid=.TRUE.,
>  delRc = 40, 40, 40, 40, 40, 40, 40, 50, 50, 50, 50, 50, 50, 50, 50, 50, 60, 60, 60, 80, 80, 80, 100, 100,
>     100, 100, 100, 100, 100, 100, 150, 150, 150, 200, 200, 200, 200, 200, 300, 300, 300, 300, 400, 400,
>  rSphere=9E6,
>  xgOrigin=-120.,
>  delY=1*2.5,
>  delX=96*2.5,
>  &
> 
> # Input datasets
>  &PARM05
>  bathyFile='topo_nx96ny1_5km.bin',
>  thetaClimFile='sst_Tm3000K.bin',
>  & 
> 
> 
> Best regards, Yanhong  
> 
> 
> <Figure 1.png>_______________________________________________
> MITgcm-support mailing list
> MITgcm-support at mitgcm.org
> http://mailman.mitgcm.org/mailman/listinfo/mitgcm-support



More information about the MITgcm-support mailing list