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

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

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


Revision 1.1 - (show annotations) (download)
Tue Feb 15 21:00:09 2005 UTC (19 years, 3 months ago) by jmc
Branch: MAIN
CVS Tags: checkpoint57t_post, checkpoint57o_post, checkpoint57m_post, checkpoint57s_post, checkpoint57k_post, checkpoint57g_post, checkpoint57i_post, checkpoint57e_post, checkpoint57g_pre, checkpoint57f_pre, checkpoint57v_post, checkpoint57r_post, eckpoint57e_pre, checkpoint57h_done, checkpoint57n_post, checkpoint57w_post, checkpoint57p_post, checkpint57u_post, checkpoint57f_post, checkpoint57q_post, checkpoint57j_post, checkpoint57h_pre, checkpoint57l_post, checkpoint57h_post
add buoyancy (rho) flux diagnostics

1 C $Header: $
2 C $Name: $
3
4 #include "PACKAGES_CONFIG.h"
5 #include "CPP_OPTIONS.h"
6
7 CBOP
8 C !ROUTINE: DIAGS_RHO
9 C !INTERFACE:
10 SUBROUTINE DIAGS_RHO(
11 I k, bi, bj,
12 I rhoK, rhoKm1,
13 I myTime, myIter, myThid)
14 C !DESCRIPTION: \bv
15 C *==========================================================*
16 C | S/R DIAGS_RHO
17 C | o Buoyancy Flux diagnostics
18 C *==========================================================*
19 C *==========================================================*
20 C \ev
21
22 C !USES:
23 IMPLICIT NONE
24 C == Global variables ==
25 #include "SIZE.h"
26 #include "EEPARAMS.h"
27 #include "PARAMS.h"
28 #include "GRID.h"
29 c #include "SURFACE.h"
30 #include "DYNVARS.h"
31
32 C !INPUT/OUTPUT PARAMETERS:
33 C == Routine Arguments ==
34 C k, bi,bj :: level & tile indices
35 C phiHydC :: hydrostatic potential anomaly at cell center
36 C (atmos: =Geopotential ; ocean-z: =Pressure/rho)
37 C myTime :: Current time
38 C myIter :: Current iteration number
39 C myThid :: Instance number for this call of the routine.
40 INTEGER k, bi,bj
41 _RL rhoK (1-OLx:sNx+OLx,1-OLy:sNy+OLy)
42 _RL rhoKm1(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
43 _RL tmpFld(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
44 _RL myTime
45 INTEGER myIter, myThid
46 CEOP
47
48 #ifdef ALLOW_DIAGNOSTICS
49
50 C !LOCAL VARIABLES:
51 C == Local variables ==
52 C i,j :: Loop counters
53 INTEGER i,j
54 LOGICAL DIAGNOSTICS_IS_ON
55 EXTERNAL DIAGNOSTICS_IS_ON
56
57 IF ( DIAGNOSTICS_IS_ON('RHOANOSQ',myThid) ) THEN
58 DO j=1,sNy
59 DO i=1,sNx
60 tmpFld(i,j) = rhoK(i,j)*rhoK(i,j)
61 ENDDO
62 ENDDO
63 CALL DIAGNOSTICS_FILL(tmpFld,'RHOANOSQ',k,1,2,bi,bj,myThid)
64 ENDIF
65
66 IF ( DIAGNOSTICS_IS_ON('URHOMASS',myThid) ) THEN
67 DO j=1,sNy
68 DO i=1,sNx+1
69 tmpFld(i,j) = uVel(i,j,k,bi,bj)*hFacW(i,j,k,bi,bj)
70 & *(rhoK(i-1,j)+rhoK(i,j))*0.5 _d 0
71 ENDDO
72 ENDDO
73 CALL DIAGNOSTICS_FILL(tmpFld,'URHOMASS',k,1,2,bi,bj,myThid)
74 ENDIF
75
76 IF ( DIAGNOSTICS_IS_ON('VRHOMASS',myThid) ) THEN
77 DO j=1,sNy+1
78 DO i=1,sNx
79 tmpFld(i,j) = vVel(i,j,k,bi,bj)*hFacS(i,j,k,bi,bj)
80 & *(rhoK(i,j-1)+rhoK(i,j))*0.5 _d 0
81 ENDDO
82 ENDDO
83 CALL DIAGNOSTICS_FILL(tmpFld,'VRHOMASS',k,1,2,bi,bj,myThid)
84 ENDIF
85
86 IF ( DIAGNOSTICS_IS_ON('WRHOMASS',myThid) ) THEN
87 IF ( k.EQ.1 ) THEN
88 DO j=1,sNy
89 DO i=1,sNx
90 tmpFld(i,j) = wVel(i,j,k,bi,bj)*rhoK(i,j)
91 ENDDO
92 ENDDO
93 ELSE
94 DO j=1,sNy
95 DO i=1,sNx
96 tmpFld(i,j) = wVel(i,j,k,bi,bj)
97 & *(rhoKm1(i,j)+rhoK(i,j))*0.5 _d 0
98 ENDDO
99 ENDDO
100 ENDIF
101 CALL DIAGNOSTICS_FILL(tmpFld,'WRHOMASS',k,1,2,bi,bj,myThid)
102 ENDIF
103
104 #endif /* ALLOW_DIAGNOSTICS */
105
106 RETURN
107 END

  ViewVC Help
Powered by ViewVC 1.1.22