/[MITgcm]/MITgcm/model/src/calc_gw.F
ViewVC logotype

Diff of /MITgcm/model/src/calc_gw.F

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph | View Patch Patch

revision 1.37 by jmc, Fri Oct 19 14:41:39 2007 UTC revision 1.38 by jmc, Mon Mar 24 00:32:53 2008 UTC
# Line 1  Line 1 
1  C $Header$  C $Header$
2  C $Name$  C $Name$
3    
4    #include "PACKAGES_CONFIG.h"
5  #include "CPP_OPTIONS.h"  #include "CPP_OPTIONS.h"
6  #define CALC_GW_NEW_THICK  #define CALC_GW_NEW_THICK
7    
# Line 315  C Viscous Flux on Western face Line 316  C Viscous Flux on Western face
316       &       - (viscAh_W(i,j,k,bi,bj)+viscAh_W(i-1,j,k,bi,bj))*halfRL       &       - (viscAh_W(i,j,k,bi,bj)+viscAh_W(i-1,j,k,bi,bj))*halfRL
317       &              *(wVel(i,j,k,bi,bj)-wVel(i-1,j,k,bi,bj))       &              *(wVel(i,j,k,bi,bj)-wVel(i-1,j,k,bi,bj))
318       &              *_recip_dxC(i,j,bi,bj)*xA(i,j)       &              *_recip_dxC(i,j,bi,bj)*xA(i,j)
 cOld &              *_recip_dxC(i,j,bi,bj)*rThickC_W(i,j)  
319       &              *cosFacU(j,bi,bj)       &              *cosFacU(j,bi,bj)
320       &       + (viscA4_W(i,j,k,bi,bj)+viscA4_W(i-1,j,k,bi,bj))*halfRL       &       + (viscA4_W(i,j,k,bi,bj)+viscA4_W(i-1,j,k,bi,bj))*halfRL
321       &              *(del2w(i,j)-del2w(i-1,j))       &              *(del2w(i,j)-del2w(i-1,j))
322       &              *_recip_dxC(i,j,bi,bj)*xA(i,j)       &              *_recip_dxC(i,j,bi,bj)*xA(i,j)
 cOld &              *_recip_dxC(i,j,bi,bj)*drC(k)  
323  #ifdef COSINEMETH_III  #ifdef COSINEMETH_III
324       &              *sqCosFacU(j,bi,bj)       &              *sqCosFacU(j,bi,bj)
325  #else  #else
# Line 335  C Viscous Flux on Southern face Line 334  C Viscous Flux on Southern face
334       &       - (viscAh_W(i,j,k,bi,bj)+viscAh_W(i,j-1,k,bi,bj))*halfRL       &       - (viscAh_W(i,j,k,bi,bj)+viscAh_W(i,j-1,k,bi,bj))*halfRL
335       &              *(wVel(i,j,k,bi,bj)-wVel(i,j-1,k,bi,bj))       &              *(wVel(i,j,k,bi,bj)-wVel(i,j-1,k,bi,bj))
336       &              *_recip_dyC(i,j,bi,bj)*yA(i,j)       &              *_recip_dyC(i,j,bi,bj)*yA(i,j)
 cOld &              *_recip_dyC(i,j,bi,bj)*rThickC_S(i,j)  
337  #ifdef ISOTROPIC_COS_SCALING  #ifdef ISOTROPIC_COS_SCALING
338       &              *cosFacV(j,bi,bj)       &              *cosFacV(j,bi,bj)
339  #endif  #endif
340       &       + (viscA4_W(i,j,k,bi,bj)+viscA4_W(i,j-1,k,bi,bj))*halfRL       &       + (viscA4_W(i,j,k,bi,bj)+viscA4_W(i,j-1,k,bi,bj))*halfRL
341       &              *(del2w(i,j)-del2w(i,j-1))       &              *(del2w(i,j)-del2w(i,j-1))
342       &              *_recip_dyC(i,j,bi,bj)*yA(i,j)       &              *_recip_dyC(i,j,bi,bj)*yA(i,j)
 cOld &              *_recip_dyC(i,j,bi,bj)*drC(k)  
343  #ifdef ISOTROPIC_COS_SCALING  #ifdef ISOTROPIC_COS_SCALING
344  #ifdef COSINEMETH_III  #ifdef COSINEMETH_III
345       &              *sqCosFacV(j,bi,bj)       &              *sqCosFacV(j,bi,bj)
# Line 366  C     Interpolate vert viscosity to cent Line 363  C     Interpolate vert viscosity to cent
363       &                     -wVel(i,j, k ,bi,bj) )*rkSign       &                     -wVel(i,j, k ,bi,bj) )*rkSign
364       &                   *recip_drF(k)*rA(i,j,bi,bj)       &                   *recip_drF(k)*rA(i,j,bi,bj)
365       &                   *deepFac2C(k)*rhoFacC(k)       &                   *deepFac2C(k)*rhoFacC(k)
 cOld &                   *recip_drF(k)  
366             ENDDO             ENDDO
367            ENDDO            ENDDO
368  C     Tendency is minus divergence of viscous fluxes:  C     Tendency is minus divergence of viscous fluxes:
# Line 380  C     anelastic: vert.visc.flx is scaled Line 376  C     anelastic: vert.visc.flx is scaled
376       &                                          *recip_rhoFacF(k)       &                                          *recip_rhoFacF(k)
377       &         )*recip_rA(i,j,bi,bj)*recip_rThickC(i,j)       &         )*recip_rA(i,j,bi,bj)*recip_rThickC(i,j)
378       &          *recip_deepFac2F(k)       &          *recip_deepFac2F(k)
 cOld         gwDiss(i,j) =  
 cOld &        -(  
 cOld &          +_recip_dxF(i,j,bi,bj)*( flx_EW(i+1,j)-flx_EW(i,j) )  
 cOld &          +_recip_dyF(i,j,bi,bj)*( flx_NS(i,j+1)-flx_NS(i,j) )  
 cOld &          +                      ( flxDisUp(i,j)-flx_Dn(i,j) )  
 c    &         )*recip_rThickC(i,j)  
 cOld &         )*recip_drC(k)  
379  C--        prepare for next level (k+1)  C--        prepare for next level (k+1)
380               flxDisUp(i,j)=flx_Dn(i,j)               flxDisUp(i,j)=flx_Dn(i,j)
381             ENDDO             ENDDO
# Line 422  C     transport through Western face are Line 411  C     transport through Western face are
411       &        + drF( k )*_hFacW(i,j, k ,bi,bj)*uVel(i,j, k ,bi,bj)       &        + drF( k )*_hFacW(i,j, k ,bi,bj)*uVel(i,j, k ,bi,bj)
412       &                  *rhoFacC(k)       &                  *rhoFacC(k)
413       &                )*halfRL*_dyG(i,j,bi,bj)*deepFacF(k)       &                )*halfRL*_dyG(i,j,bi,bj)*deepFacF(k)
 cOld &                )*halfRL  
414               flx_EW(i,j)=               flx_EW(i,j)=
415       &         uTrans*(wVel(i,j,k,bi,bj)+wVel(i-1,j,k,bi,bj))*halfRL       &         uTrans*(wVel(i,j,k,bi,bj)+wVel(i-1,j,k,bi,bj))*halfRL
416             ENDDO             ENDDO
# Line 437  C     transport through Southern face ar Line 425  C     transport through Southern face ar
425       &         +drF( k )*_hFacS(i,j, k ,bi,bj)*vVel(i,j, k ,bi,bj)       &         +drF( k )*_hFacS(i,j, k ,bi,bj)*vVel(i,j, k ,bi,bj)
426       &                  *rhoFacC(k)       &                  *rhoFacC(k)
427       &                )*halfRL*_dxG(i,j,bi,bj)*deepFacF(k)       &                )*halfRL*_dxG(i,j,bi,bj)*deepFacF(k)
 cOld &                )*halfRL  
428               flx_NS(i,j)=               flx_NS(i,j)=
429       &         vTrans*(wVel(i,j,k,bi,bj)+wVel(i,j-1,k,bi,bj))*halfRL       &         vTrans*(wVel(i,j,k,bi,bj)+wVel(i,j-1,k,bi,bj))*halfRL
430             ENDDO             ENDDO
# Line 456  C     transport through Lower face area: Line 443  C     transport through Lower face area:
443       &                                   *wOverRide       &                                   *wOverRide
444       &              )*rA(i,j,bi,bj)       &              )*rA(i,j,bi,bj)
445               flx_Dn(i,j) = rTrans*tmp_WbarZ               flx_Dn(i,j) = rTrans*tmp_WbarZ
 cOld         flx_Dn(i,j) = tmp_WbarZ*tmp_WbarZ  
446             ENDDO             ENDDO
447            ENDDO            ENDDO
448  C     Tendency is minus divergence of advective fluxes:  C     Tendency is minus divergence of advective fluxes:
# Line 469  C     anelastic: all transports & advect Line 455  C     anelastic: all transports & advect
455       &           + ( flx_Dn(i,j)-flxAdvUp(i,j) )*rkSign*wUnit2rVel(k)       &           + ( flx_Dn(i,j)-flxAdvUp(i,j) )*rkSign*wUnit2rVel(k)
456       &         )*recip_rA(i,j,bi,bj)*recip_rThickC(i,j)       &         )*recip_rA(i,j,bi,bj)*recip_rThickC(i,j)
457       &          *recip_deepFac2F(k)*recip_rhoFacF(k)       &          *recip_deepFac2F(k)*recip_rhoFacF(k)
 cOld         gW(i,j,k,bi,bj) =  
 cOld &        -(  
 cOld &          +_recip_dxF(i,j,bi,bj)*( flx_EW(i+1,j)-flx_EW(i,j) )  
 cOld &          +_recip_dyF(i,j,bi,bj)*( flx_NS(i,j+1)-flx_NS(i,j) )  
 cOld &          +                      ( flxAdvUp(i,j)-flx_Dn(i,j) )  
 c    &         )*recip_rThickC(i,j)  
 cOld &         )*recip_drC(k)  
458  C--          prepare for next level (k+1)  C--          prepare for next level (k+1)
459               flxAdvUp(i,j)=flx_Dn(i,j)               flxAdvUp(i,j)=flx_Dn(i,j)
460             ENDDO             ENDDO
# Line 544  C--   Dissipation term outside the Adams Line 523  C--   Dissipation term outside the Adams
523  C-    end of the k loop  C-    end of the k loop
524        ENDDO        ENDDO
525    
526    #ifdef ALLOW_DIAGNOSTICS
527          IF (useDiagnostics) THEN
528            CALL DIAGNOSTICS_FILL(viscAh_W,'VISCAHW ',0,Nr,1,bi,bj,myThid)
529            CALL DIAGNOSTICS_FILL(viscA4_W,'VISCA4W ',0,Nr,1,bi,bj,myThid)
530          ENDIF
531    #endif /* ALLOW_DIAGNOSTICS */
532    
533  #endif /* ALLOW_NONHYDROSTATIC */  #endif /* ALLOW_NONHYDROSTATIC */
534    
535        RETURN        RETURN

Legend:
Removed from v.1.37  
changed lines
  Added in v.1.38

  ViewVC Help
Powered by ViewVC 1.1.22