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

Contents of /MITgcm/pkg/aim/aim_write_diags.F

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


Revision 1.3 - (show annotations) (download)
Mon Feb 5 15:42:01 2001 UTC (23 years, 4 months ago) by adcroft
Branch: MAIN
CVS Tags: checkpoint35, checkpoint36
Changes since 1.2: +24 -13 lines
Line length changed.

1 C $Header: /u/gcmpack/models/MITgcmUV/pkg/aim/aim_write_diags.F,v 1.2 2001/02/02 21:36:29 adcroft Exp $
2 C $Name: $
3
4 #include "AIM_OPTIONS.h"
5
6 CStartOfInterFace
7 SUBROUTINE AIM_WRITE_DIAGS( myTime, myIter, myThid )
8 C /==========================================================\
9 C | SUBROUTINE AIM_WRITE_DIAGS |
10 C | o Write out AIM diagnostic output |
11 C \==========================================================/
12 IMPLICIT NONE
13
14 C === Global variables ===
15 #include "SIZE.h"
16 #include "EEPARAMS.h"
17 #include "PARAMS.h"
18 #include "AIM_DIAGS.h"
19 LOGICAL DIFFERENT_MULTIPLE
20 EXTERNAL DIFFERENT_MULTIPLE
21
22 C == Routine arguments ==
23 C myTime - Current time of simulation ( s )
24 C myIter - Iteration number
25 C myThid - Number of this instance of the routine
26 _RL myTime
27 INTEGER myIter
28 INTEGER myThid
29 CEndOfInterface
30
31 #ifdef ALLOW_AIM
32
33 C == Local variables ==
34 INTEGER bi, bj, K
35 CHARACTER*(MAX_LEN_MBUF) fn
36 LOGICAL gf
37 gf = .TRUE.
38
39 #ifdef INCLUDE_DIAGNOSTICS_INTERFACE_CODE
40
41 C Dump files and restart average computation if needed
42 IF ( myIter.NE.nIter0 .AND.
43 & DIFFERENT_MULTIPLE(taveFreq,myTime,
44 & myTime-deltaTClock)
45 & ) THEN
46
47 C Normalize by integrated time
48 DO bj = myByLo(myThid), myByHi(myThid)
49 DO bi = myBxLo(myThid), myBxHi(myThid)
50 CALL TIMEAVER_FINAL_XY(USTRtave,AIM_timeave,bi,bj,myThid)
51 CALL TIMEAVER_FINAL_XY(VSTRtave,AIM_timeave,bi,bj,myThid)
52 CALL TIMEAVER_FINAL_XY(TSRtave,AIM_timeave,bi,bj,myThid)
53 CALL TIMEAVER_FINAL_XY(OLRtave,AIM_timeave,bi,bj,myThid)
54 CALL TIMEAVER_FINAL_XY(SSRtave,AIM_timeave,bi,bj,myThid)
55 CALL TIMEAVER_FINAL_XY(SLRtave,AIM_timeave,bi,bj,myThid)
56 CALL TIMEAVER_FINAL_XY(SHFtave,AIM_timeave,bi,bj,myThid)
57 CALL TIMEAVER_FINAL_XY(EVAPtave,AIM_timeave,bi,bj,myThid)
58 CALL TIMEAVER_FINAL_XY(PRECNVtave,AIM_timeave,bi,bj,myThid)
59 CALL TIMEAVER_FINAL_XY(PRECLStave,AIM_timeave,bi,bj,myThid)
60 CALL TIMEAVER_FINAL_XY(CLOUDCtave,AIM_timeave,bi,bj,myThid)
61 ENDDO
62 ENDDO
63
64
65 _BARRIER
66 _BEGIN_MASTER( myThid )
67 WRITE(fn,'(A,I10.10)') 'aimphyvars.',myIter
68 CALL MDSWRITEFIELD(fn,precFloat32,gf,
69 & 'RL',1,USTRtave, 1,myIter,myThid)
70 CALL MDSWRITEFIELD(fn,precFloat32,gf,
71 & 'RL',1,VSTRtave, 2,myIter,myThid)
72 CALL MDSWRITEFIELD(fn,precFloat32,gf,
73 & 'RL',1,TSRtave , 3,myIter,myThid)
74 CALL MDSWRITEFIELD(fn,precFloat32,gf,
75 & 'RL',1,OLRtave , 4,myIter,myThid)
76 CALL MDSWRITEFIELD(fn,precFloat32,gf,
77 & 'RL',1,SSRtave , 5,myIter,myThid)
78 CALL MDSWRITEFIELD(fn,precFloat32,gf,
79 & 'RL',1,SLRtave , 6,myIter,myThid)
80 CALL MDSWRITEFIELD(fn,precFloat32,gf,
81 & 'RL',1,SHFtave , 7,myIter,myThid)
82 CALL MDSWRITEFIELD(fn,precFloat32,gf,
83 & 'RL',1,EVAPtave, 8,myIter,myThid)
84 CALL MDSWRITEFIELD(fn,precFloat32,gf,
85 & 'RL',1,PRECNVtave, 9,myIter,myThid)
86 CALL MDSWRITEFIELD(fn,precFloat32,gf,
87 & 'RL',1,PRECLStave,10,myIter,myThid)
88 CALL MDSWRITEFIELD(fn,precFloat32,gf,
89 & 'RL',1,CLOUDCtave,11,myIter,myThid)
90 _END_MASTER( myThid )
91 _BARRIER
92
93 C Reset averages to zero
94 DO bj = myByLo(myThid), myByHi(myThid)
95 DO bi = myBxLo(myThid), myBxHi(myThid)
96 CALL TIMEAVER_INI_XY(USTRtave, bi,bj,myThid)
97 CALL TIMEAVER_INI_XY(VSTRtave, bi,bj,myThid)
98 CALL TIMEAVER_INI_XY(TSRtave, bi,bj,myThid)
99 CALL TIMEAVER_INI_XY(OLRtave, bi,bj,myThid)
100 CALL TIMEAVER_INI_XY(SSRtave, bi,bj,myThid)
101 CALL TIMEAVER_INI_XY(SLRtave, bi,bj,myThid)
102 CALL TIMEAVER_INI_XY(SHFtave, bi,bj,myThid)
103 CALL TIMEAVER_INI_XY(EVAPtave, bi,bj,myThid)
104 CALL TIMEAVER_INI_XY(PRECNVtave, bi,bj,myThid)
105 CALL TIMEAVER_INI_XY(PRECLStave, bi,bj,myThid)
106 CALL TIMEAVER_INI_XY(CLOUDCtave, bi,bj,myThid)
107 ENDDO
108 ENDDO
109
110 ENDIF
111
112 #endif /* INCLUDE_DIAGNOSTICS_INTERFACE_CODE */
113
114 #endif /* ALLOW_AIM */
115
116 RETURN
117 END

  ViewVC Help
Powered by ViewVC 1.1.22