[MITgcm-support] using the pressure solver on open boundaries

Matthew Mazloff mmazloff at MIT.EDU
Mon Aug 15 22:04:15 EDT 2005


Hello,

I let the model calculate pressure (Eta) on my northern open boundary by 
commenting out:

in ini_cg2d.F:
c          IF (OB_Jn(I,bi,bj).NE.0) aS2d(I,OB_Jn(I,bi,bj),bi,bj)=0.
c          IF (OB_Jn(I,bi,bj).NE.0) aS2d(I,OB_Jn(I,bi,bj)+1,bi,bj)=0.

in solve_for_pressure.F:
c           cg2d_b(I,OB_Jn(I,bi,bj),bi,bj)=0.
c           cg2d_x(I,OB_Jn(I,bi,bj),bi,bj)=0.

in update_cg2d.F
c          IF (OB_Jn(I,bi,bj).NE.0) aS2d(I,OB_Jn(I,bi,bj),bi,bj)=0.
c          IF (OB_Jn(I,bi,bj).NE.0) aS2d(I,OB_Jn(I,bi,bj)+1,bi,bj)=0.

The new solution fields are different from the previous solution by up 
to 10% near the boundary....but look equally physical.
What I like about the new code is that before (not solving for pressure 
on the open boundary) if I prescribed V on the open boundary, the cg2d 
residual would not converge to the target (even if I used 
obcs_balance=TRUE).  With the new code the target residual is reached.

So is what I have done OK? 

Thanks,
Matt


PS> I still would like to set useRealFreshWaterFlux=TRUE but this causes 
a significant increase in the cg2d residual.  Any ideas?




More information about the MITgcm-support mailing list