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

Contents of /MITgcm/model/src/convect.F

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


Revision 1.26 - (show annotations) (download)
Thu Mar 16 00:33:17 2006 UTC (18 years, 3 months ago) by jmc
Branch: MAIN
CVS Tags: HEAD
Changes since 1.25: +1 -1 lines
FILE REMOVED
no longer used (since Feb 27, 2002) ; removed.

1 C $Header: /u/gcmpack/MITgcm/model/src/convect.F,v 1.25 2005/06/22 00:25:32 jmc Exp $
2 C $Name: $
3
4 #include "PACKAGES_CONFIG.h"
5 #include "CPP_OPTIONS.h"
6
7 CBOP
8 C !ROUTINE: CONVECT
9 C !INTERFACE:
10 SUBROUTINE CONVECT( bi, bj, iMin, iMax, jMin, jMax, K,
11 & rhoKm1, rhoKp1, ConvectCount,
12 & myTime,myIter, myThid )
13 C !DESCRIPTION: \bv
14 C *==========================================================*
15 C | SUBROUTINE CONVECT
16 C | o Does vertical mixing of unstable water columns
17 C *==========================================================*
18 C | Uses simple homgenisation scheme between unstable
19 C | layers.
20 C *==========================================================*
21 C \ev
22 C !USES:
23 IMPLICIT NONE
24 C == Global data ==
25 #include "SIZE.h"
26 #include "EEPARAMS.h"
27 #include "PARAMS.h"
28 #include "DYNVARS.h"
29 #include "GRID.h"
30
31 EXTERNAL DIFFERENT_MULTIPLE
32 LOGICAL DIFFERENT_MULTIPLE
33
34 C !INPUT/OUTPUT PARAMETERS:
35 C == Routine arguments ==
36 C bi,bj,iMin,iMax,jMin,jMax,K - Loop counters
37 C rhoKm1 - rho in layer above
38 C rhoKp1 - rho in layer below
39 C myTime - Current time in simulation
40 C myIter - Current iteration in simulation
41 C myThid - Thread number of this instance of S/R CONVECT
42 INTEGER bi,bj,iMin,iMax,jMin,jMax,K
43 _RL rhoKm1(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
44 _RL rhoKp1(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
45 _RL ConvectCount(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr)
46 _RL myTime
47 INTEGER myIter
48 INTEGER myThid
49
50 C !LOCAL VARIABLES:
51 C == Local variables ==
52 C i,j :: Loop counter
53 C tMix :: Temp. for calculation of mixed theta.
54 C sMix :: Temp. for calculation of mixed salt.
55 C dSum :: Temp. for layer thicknesses
56 INTEGER i,j
57 _RL tMix(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
58 _RL sMix(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
59 _RL dSum(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
60 CEOP
61
62 C-- Check to see if should convect now
63 IF ( DIFFERENT_MULTIPLE(cAdjFreq,myTime,deltaTClock)
64 & ) THEN
65
66 C-- Calculate heat content of two level column
67 DO j=jMin,jmax
68 DO i=iMin,imax
69 tMix(i,j) = theta(i,j,k-1,bi,bj)
70 & *_hFacC(i,j,k-1,bi,bj)*drF(k-1)
71 & +theta(i,j,k,bi,bj)
72 & *_hFacC(i,j,k,bi,bj)*drF(k)
73 sMix(i,j) = salt (i,j,k-1,bi,bj)
74 & *_hFacC(i,j,k-1,bi,bj)*drF(k-1)
75 & +salt (i,j,k,bi,bj)
76 & *_hFacC(i,j,k,bi,bj)*drF(k)
77 dSum(i,j) = _hFacC(i,j,k-1,bi,bj)*drF(k-1)
78 & +_hFacC(i,j,k,bi,bj)*drF(k)
79 ENDDO
80 ENDDO
81
82 C-- Where statically unstable, mix the heat and salt
83 DO j=jMin,jmax
84 DO i=iMin,imax
85 IF ( _hFacC(i,j,k,bi,bj) .GT. 0. .AND.
86 & (rhokm1(i,j)-rhokp1(i,j))*rkSign*gravitySign .GT. 0.
87 & ) THEN
88 theta(i,j,k-1,bi,bj) = tMix(i,j)/dSum(i,j)
89 theta(i,j,k ,bi,bj) = tMix(i,j)/dSum(i,j)
90 salt(i,j,k-1,bi,bj) = sMix(i,j)/dSum(i,j)
91 salt(i,j,k ,bi,bj) = sMix(i,j)/dSum(i,j)
92 ConvectCount(i,j,k) = ConvectCount(i,j,k) + 1.
93 ENDIF
94 ENDDO
95 ENDDO
96
97 ENDIF
98
99 RETURN
100 END

  ViewVC Help
Powered by ViewVC 1.1.22