/[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.2 - (show annotations) (download)
Fri Feb 2 21:36:29 2001 UTC (23 years, 4 months ago) by adcroft
Branch: MAIN
Changes since 1.1: +106 -0 lines
Merged changes from branch "branch-atmos-merge" into MAIN (checkpoint34)
 - substantial modifications to algorithm sequence (dynamics.F)
 - packaged OBCS, Shapiro filter, Zonal filter, Atmospheric Physics

1 C $Header: /u/gcmpack/models/MITgcmUV/pkg/aim/Attic/aim_write_diags.F,v 1.1.2.2 2001/01/26 00:39:11 cnh Exp $
2 C $Name: branch-atmos-merge-freeze $
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,'RL',1,USTRtave, 1,myIter,myThid)
69 CALL MDSWRITEFIELD(fn,precFloat32,gf,'RL',1,VSTRtave, 2,myIter,myThid)
70 CALL MDSWRITEFIELD(fn,precFloat32,gf,'RL',1,TSRtave , 3,myIter,myThid)
71 CALL MDSWRITEFIELD(fn,precFloat32,gf,'RL',1,OLRtave , 4,myIter,myThid)
72 CALL MDSWRITEFIELD(fn,precFloat32,gf,'RL',1,SSRtave , 5,myIter,myThid)
73 CALL MDSWRITEFIELD(fn,precFloat32,gf,'RL',1,SLRtave , 6,myIter,myThid)
74 CALL MDSWRITEFIELD(fn,precFloat32,gf,'RL',1,SHFtave , 7,myIter,myThid)
75 CALL MDSWRITEFIELD(fn,precFloat32,gf,'RL',1,EVAPtave, 8,myIter,myThid)
76 CALL MDSWRITEFIELD(fn,precFloat32,gf,'RL',1,PRECNVtave, 9,myIter,myThid)
77 CALL MDSWRITEFIELD(fn,precFloat32,gf,'RL',1,PRECLStave,10,myIter,myThid)
78 CALL MDSWRITEFIELD(fn,precFloat32,gf,'RL',1,CLOUDCtave,11,myIter,myThid)
79 _END_MASTER( myThid )
80 _BARRIER
81
82 C Reset averages to zero
83 DO bj = myByLo(myThid), myByHi(myThid)
84 DO bi = myBxLo(myThid), myBxHi(myThid)
85 CALL TIMEAVER_INI_XY(USTRtave, bi,bj,myThid)
86 CALL TIMEAVER_INI_XY(VSTRtave, bi,bj,myThid)
87 CALL TIMEAVER_INI_XY(TSRtave, bi,bj,myThid)
88 CALL TIMEAVER_INI_XY(OLRtave, bi,bj,myThid)
89 CALL TIMEAVER_INI_XY(SSRtave, bi,bj,myThid)
90 CALL TIMEAVER_INI_XY(SLRtave, bi,bj,myThid)
91 CALL TIMEAVER_INI_XY(SHFtave, bi,bj,myThid)
92 CALL TIMEAVER_INI_XY(EVAPtave, bi,bj,myThid)
93 CALL TIMEAVER_INI_XY(PRECNVtave, bi,bj,myThid)
94 CALL TIMEAVER_INI_XY(PRECLStave, bi,bj,myThid)
95 CALL TIMEAVER_INI_XY(CLOUDCtave, bi,bj,myThid)
96 ENDDO
97 ENDDO
98
99 ENDIF
100
101 #endif /* INCLUDE_DIAGNOSTICS_INTERFACE_CODE */
102
103 #endif /* ALLOW_AIM */
104
105 RETURN
106 END

  ViewVC Help
Powered by ViewVC 1.1.22