[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