[MITgcm-support] Coriolis terms in non-hydrostatic rotated model

Jean-Michel Campin jmc at ocean.mit.edu
Mon Jun 12 13:09:14 EDT 2006


Hi Andrea,

The pieces of code you need are already there, to deal with
curvilinear grid, but are not "turned on" when using
spherical polar grid:

e.g., in mom_fluxform.F , you find:
>        IF ( usingCurvilinearGrid ) THEN
> C-     presently, non zero angleSinC array only supported with Curvilinear-Grid
>         CALL MOM_V_CORIOLIS_NH(bi,bj,k,wVel,cf,myThid)

What I would recommend is:
1) define fCoriC, fCoriG & fCoriCos correctly
 there is a possibility to load those fields from files, see ini_cori.F:
        IF     ( useConstantF ) THEN
          ...
        ELSEIF ( useBetaPlaneF ) THEN
          ...
        ELSEIF ( useSphereF ) THEN
          ...
        ELSE
C       Special custom form
        CALL READ_REC_XY_RS( 'fCoriC.bin', fCori,   1, 0, myThid )
        CALL READ_REC_XY_RS( 'fCoriG.bin', fCoriG,  1, 0, myThid )
        CALL READ_REC_XY_RS( 'fCorCs.bin', fCoriCos,1, 0, myThid )
 but again, not directly available with out a small modification
 in the code (e.g., by setting thoses 3 flags to F).
2) load into angleCosC & angleSinC arrays the cos & sin of the angle 
 between the W-E direction and the X direction of the grid.
 (this is done if usingCurvilinearGrid, but not with spherical polar grid)
 or compute them if you know the analytic expression.
3) comment out the "IF ( usingCurvilinearGrid )" in few places, for example
 where MOM_V_CORIOLIS_NH is called.

Jean-Michel

On Mon, Jun 12, 2006 at 04:48:39PM +0200, Andrea Cimatoribus wrote:
> Does anybody have an idea about this?
> Thanks
> 
> Hi, I'm trying to set up a non-hydrostatic model of an elongated basin
> (Adriatic sea), using rotated bathymetry and full Coriolis (on a
> spherical polar grid).
> Since I use non-hydrostatic equations and rotated bathymetry, I must
> calculate the hor/vert terms of Coriolis acceleration using both x and
> y components of omega (in the rotated coordinates both horizontal
> components of omega are different form zero).
> I found out that the model calculates the Coriolis acceleration in the
> routines mom_u_coriolis, mom_u_coriolis_nh, mom_v_coriolis and
> quasihydrostaticterms. Can I just modify these routines, adding the
> missing terms, or do you think I am missing something?
> Thanks,
> Andrea Cimatoribus
> _______________________________________________
> MITgcm-support mailing list
> MITgcm-support at mitgcm.org
> http://mitgcm.org/mailman/listinfo/mitgcm-support



More information about the MITgcm-support mailing list