/[MITgcm]/MITgcm/pkg/aim_v23/aim_aim2dyn.F
ViewVC logotype

Diff of /MITgcm/pkg/aim_v23/aim_aim2dyn.F

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

revision 1.5 by jmc, Thu Jul 8 15:51:19 2004 UTC revision 1.6 by jmc, Tue Mar 28 04:26:21 2006 UTC
# Line 27  C------- Line 27  C-------
27    
28  C     == Global data ==  C     == Global data ==
29  C-- size for MITgcm & Physics package :  C-- size for MITgcm & Physics package :
30  #include "AIM_SIZE.h"  #include "AIM_SIZE.h"
31    
32  #include "EEPARAMS.h"  #include "EEPARAMS.h"
33  #include "PARAMS.h"  #include "PARAMS.h"
34  #include "GRID.h"  #include "GRID.h"
35  #include "SURFACE.h"  #include "SURFACE.h"
 #include "DYNVARS.h"  
36    
37  #include "AIM2DYN.h"  #include "AIM2DYN.h"
38  #include "com_physvar.h"  #include "com_physvar.h"
# Line 55  C     conv_T2theta :: conversion factor Line 54  C     conv_T2theta :: conversion factor
54        _RL conv_T2theta        _RL conv_T2theta
55        INTEGER i,j,k        INTEGER i,j,k
56        INTEGER I2, Katm        INTEGER I2, Katm
57    #ifdef ALLOW_DIAGNOSTICS
58          LOGICAL  physTendDiag
59          LOGICAL  DIAGNOSTICS_IS_ON
60          EXTERNAL DIAGNOSTICS_IS_ON
61    #endif
62    
63  C--   Physics tendency term  C--   Physics tendency term
64    
65    #ifdef ALLOW_DIAGNOSTICS
66          physTendDiag = .FALSE.
67          IF (useDiagnostics) THEN
68            physTendDiag = DIAGNOSTICS_IS_ON( 'DIABT   ', myThid )
69         &            .OR. DIAGNOSTICS_IS_ON( 'DIABQ   ', myThid )
70          ENDIF
71    #endif
72    
73  C-    Planetary boundary layer drag coeff.  C-    Planetary boundary layer drag coeff.
74        DO j=1,sNy        DO j=1,sNy
75          DO i=1,sNx          DO i=1,sNx
# Line 70  C-    Planetary boundary layer drag coef Line 82  C-    Planetary boundary layer drag coef
82         Katm = _KD2KA( k )         Katm = _KD2KA( k )
83         conv_T2theta = (atm_po/rC(k))**atm_kappa         conv_T2theta = (atm_po/rC(k))**atm_kappa
84    
85  C-     temp. & water vap. tendencies (ignoring partial cell factor)  C-     Add all tendencies (ignoring partial cell factor) for T & Q
86    C          and convert Temp. tendency to Pot.Temp. tendency
87         DO j=1,sNy         DO j=1,sNy
88          DO i=1,sNx          DO i=1,sNx
89           I2 = i+(j-1)*sNx           I2 = i+(j-1)*sNx
90  C        temperature tendency (except LSC, added later)  C        temperature tendency
91           aim_dTdt(i,j,k,bi,bj) =   TT_CNV(I2,Katm,myThid)           aim_dTdt(i,j,k,bi,bj) = ( TT_CNV(I2,Katm,myThid)
92       &                            +TT_PBL(I2,Katm,myThid)       &                            +TT_PBL(I2,Katm,myThid)
93       &                            +TT_RSW(I2,Katm,myThid)       &                            +TT_RSW(I2,Katm,myThid)
94       &                            +TT_RLW(I2,Katm,myThid)       &                            +TT_RLW(I2,Katm,myThid)
95  C        water vapor tendency (except LSC, added later)       &                            +TT_LSC(I2,Katm,myThid)
96         &                           )*conv_T2theta
97    C        water vapor tendency
98           aim_dSdt(i,j,k,bi,bj) =   QT_CNV(I2,Katm,myThid)           aim_dSdt(i,j,k,bi,bj) =   QT_CNV(I2,Katm,myThid)
99       &                            +QT_PBL(I2,Katm,myThid)       &                            +QT_PBL(I2,Katm,myThid)
100         &                            +QT_LSC(I2,Katm,myThid)
101          ENDDO          ENDDO
102         ENDDO         ENDDO
103    
104    #ifdef ALLOW_DIAGNOSTICS
105           IF ( physTendDiag ) THEN
106             CALL DIAGNOSTICS_FILL( aim_dTdt, 'DIABT   ',
107         &                          k, Nr, 1,bi,bj, myThid )
108             CALL DIAGNOSTICS_FILL( aim_dSdt, 'DIABQ   ',
109         &                          k, Nr, 1,bi,bj, myThid )
110           ENDIF
111    #endif /* ALLOW_DIAGNOSTICS */
112    
113  C-     Account for partial cell filling:  C-     Account for partial cell filling:
114  #ifdef NONLIN_FRSURF  #ifdef NONLIN_FRSURF
115         IF ( staggerTimeStep .AND. nonlinFreeSurf.GT.0 ) THEN         IF ( staggerTimeStep .AND. nonlinFreeSurf.GT.0 ) THEN
# Line 130  C-     Account for partial cell filling: Line 155  C-     Account for partial cell filling:
155          ENDDO          ENDDO
156         ENDIF         ENDIF
157    
 C-     Net tendencies : Add LSC term & comvert to Pot.Temp.:  
        DO j=1,sNy  
         DO i=1,sNx  
          I2 = i+(j-1)*sNx  
          aim_dTdt(i,j,k,bi,bj) = ( aim_dTdt(i,j,k,bi,bj)  
      &                            +TT_LSC(I2,Katm,myThid)  
      &                           )*conv_T2theta  
          aim_dSdt(i,j,k,bi,bj) =   aim_dSdt(i,j,k,bi,bj)  
      &                            +QT_LSC(I2,Katm,myThid)  
         ENDDO  
        ENDDO  
   
158  C--- end of k loop.  C--- end of k loop.
159        ENDDO        ENDDO
160    

Legend:
Removed from v.1.5  
changed lines
  Added in v.1.6

  ViewVC Help
Powered by ViewVC 1.1.22