/[MITgcm]/MITgcm/pkg/aim/aim_calc_diags.F
ViewVC logotype

Annotation of /MITgcm/pkg/aim/aim_calc_diags.F

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


Revision 1.5 - (hide annotations) (download)
Tue May 29 19:28:53 2001 UTC (23 years, 1 month ago) by cnh
Branch: MAIN
CVS Tags: checkpoint40pre1, checkpoint40pre2, checkpoint40pre5, checkpoint40pre6, checkpoint40pre8, checkpoint40pre4, checkpoint40pre3, checkpoint40pre9, checkpoint40pre7, checkpoint40, checkpoint41
Changes since 1.4: +13 -12 lines
Updates for multi-threaded AIM with support for both latlon
and CS.
Needs compatible changes to verfication/

1 adcroft 1.4 C $Header: /u/gcmpack/models/MITgcmUV/pkg/aim/aim_calc_diags.F,v 1.3.2.1 2001/04/05 14:58:41 jamous Exp $
2 jmc 1.3 C $Name: $
3 adcroft 1.2
4     #include "AIM_OPTIONS.h"
5    
6     CStartOfInterFace
7     SUBROUTINE AIM_CALC_DIAGS( bi, bj, myTime, myThid )
8     C /==========================================================\
9     C | SUBROUTINE AIM_CALC_DIAGS |
10     C | o Calculate AIM diagnostics |
11     C \==========================================================/
12 cnh 1.5 IMPLICIT rEAL*8 (A-H,O-Z)
13 adcroft 1.2
14     C === Global variables ===
15     #include "SIZE.h"
16     #include "EEPARAMS.h"
17     #include "PARAMS.h"
18     #include "AIM_DIAGS.h"
19    
20     #ifdef ALLOW_AIM
21     #include "atparam0.h"
22     #include "atparam1.h"
23     INTEGER NGP
24     INTEGER NLON
25     INTEGER NLAT
26     INTEGER NLEV
27     PARAMETER ( NLON=IX, NLAT=IL, NLEV=KX, NGP=NLON*NLAT )
28     #include "com_physvar.h"
29     #endif /* ALLOW_AIM */
30    
31     LOGICAL DIFFERENT_MULTIPLE
32     EXTERNAL DIFFERENT_MULTIPLE
33    
34     C == Routine arguments ==
35     C myTime - Current time of simulation ( s )
36     C myThid - Number of this instance of the routine
37     C bi,bj - Tile index
38     _RL myTime
39     INTEGER myThid
40     INTEGER bi, bj
41     CEndOfInterface
42    
43     #ifdef ALLOW_AIM
44    
45     C == Local variables ==
46 cnh 1.5 INTEGER I,J,I2,K
47 adcroft 1.2 _RL DDTT
48    
49 jmc 1.3 #ifdef ALLOW_TIMEAVE
50 adcroft 1.2
51     DDTT = deltaTclock
52    
53     DO J=1,sNy
54     DO I=1,sNx
55     I2 = sNx*(J-1)+I
56 cnh 1.5 USTRtave(i,j,bi,bj) = USTRtave(i,j,bi,bj) + USTR(I2,3,myThid)*DDTT
57     VSTRtave(i,j,bi,bj) = VSTRtave(i,j,bi,bj) + VSTR(I2,3,myThid)*DDTT
58     TSRtave(i,j,bi,bj) = TSRtave(i,j,bi,bj) + TSR(I2,myThid)*DDTT
59     OLRtave(i,j,bi,bj) = OLRtave(i,j,bi,bj) + OLR(I2,myThid)*DDTT
60     SSRtave(i,j,bi,bj) = SSRtave(i,j,bi,bj) + SSR(I2,myThid)*DDTT
61     SLRtave(i,j,bi,bj) = SLRtave(i,j,bi,bj) + SLR(I2,myThid)*DDTT
62     SHFtave(i,j,bi,bj) = SHFtave(i,j,bi,bj) + SHF(I2,3,myThid)*DDTT
63     EVAPtave(i,j,bi,bj) = EVAPtave(i,j,bi,bj) + EVAP(I2,3,myThid)*DDTT
64     PRECNVtave(i,j,bi,bj) = PRECNVtave(i,j,bi,bj) + PRECNV(I2,myThid)*DDTT
65     PRECLStave(i,j,bi,bj) = PRECLStave(i,j,bi,bj) + PRECLS(I2,myThid)*DDTT
66     CLOUDCtave(i,j,bi,bj) = CLOUDCtave(i,j,bi,bj) + CLOUDC(I2,myThid)*DDTT
67 adcroft 1.2 ENDDO
68     ENDDO
69 adcroft 1.4
70     C- Keep record of how much time has been integrated over
71     DO K=1,Nr
72     AIM_TimeAve(k,bi,bj)=AIM_TimeAve(k,bi,bj)+DDTT
73     ENDDO
74 adcroft 1.2
75    
76 jmc 1.3 #endif /* ALLOW_TIMEAVE */
77 adcroft 1.2
78     #endif /* ALLOW_AIM */
79    
80     RETURN
81     END

  ViewVC Help
Powered by ViewVC 1.1.22