/[MITgcm]/MITgcm/pkg/bulk_force/bulkf_diags.F
ViewVC logotype

Annotation of /MITgcm/pkg/bulk_force/bulkf_diags.F

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


Revision 1.3 - (hide annotations) (download)
Thu Dec 5 16:15:58 2002 UTC (21 years, 5 months ago) by cheisey
Branch: MAIN
Changes since 1.2: +10 -5 lines
Adding additional diagnostic output in order to clarify longwave term.

1 cheisey 1.3 C $Header: /u/u0/gcmpack/MITgcm/pkg/bulk_force/bulkf_diags.F,v 1.2 2002/12/04 14:53:39 cheisey Exp $
2 cheisey 1.1 C $Name: $
3     cswdblk modified for bulk formula -- Dec 01
4    
5     #include "CPP_OPTIONS.h"
6    
7     CStartOfInterface
8     SUBROUTINE BULKF_DIAGS( myTime, myIter, myThid )
9     C /==========================================================\
10     C | SUBROUTINE BULKF_DIAGS |
11     C | o Do BULKF diagnostic output |
12     C |==========================================================|
13     C \==========================================================/
14     IMPLICIT NONE
15    
16     C === Global variables ===
17     #include "SIZE.h"
18     #include "EEPARAMS.h"
19     #include "PARAMS.h"
20     cswdblk --- add --
21     #ifdef ALLOW_BULK_FORCE
22     #include "BULKF.h"
23     #include "BULKF_DIAG.h"
24     #endif
25     cswdblk -- end add ---
26     C == Routine arguments ==
27     C myTime - Current time of simulation ( s )
28     C myIter - Iteration number
29     C myThid - Number of this instance
30     _RL myTime
31     INTEGER myIter
32     INTEGER myThid
33 cheisey 1.2
34 cheisey 1.1 CEndOfInterface
35    
36    
37     C == Local variables ==
38     LOGICAL DIFFERENT_MULTIPLE
39     EXTERNAL DIFFERENT_MULTIPLE
40     INTEGER bi, bj
41     CHARACTER*(MAX_LEN_MBUF) suff
42    
43     #ifdef ALLOW_BULK_FORCE
44    
45    
46     #ifdef ALLOW_TIMEAVE
47    
48    
49     C Dump files and restart average computation if needed
50     IF ( DIFFERENT_MULTIPLE(taveFreq,myTime,myTime-deltaTClock)
51     & ) THEN
52    
53    
54    
55     C Normalize by integrated time
56     DO bj = myByLo(myThid), myByHi(myThid)
57     DO bi = myBxLo(myThid), myBxHi(myThid)
58     CALL TIMEAVE_NORMALIZ(BULK_Qnet_AVE,BULKF_timeave, 1 ,
59     & bi,bj,myThid)
60     CALL TIMEAVE_NORMALIZ(BULK_EmPmR_AVE,BULKF_timeave, 1 ,
61     & bi,bj,myThid)
62     CALL TIMEAVE_NORMALIZ(BULK_fu_AVE,BULKF_timeave, 1 ,
63     & bi,bj,myThid)
64     CALL TIMEAVE_NORMALIZ(BULK_fv_AVE,BULKF_timeave, 1 ,
65     & bi,bj,myThid)
66     CALL TIMEAVE_NORMALIZ(BULK_latent_AVE,BULKF_timeave, 1 ,
67     & bi,bj,myThid)
68     CALL TIMEAVE_NORMALIZ(BULK_sensible_AVE,BULKF_timeave, 1 ,
69     & bi,bj,myThid)
70     CALL TIMEAVE_NORMALIZ(BULK_evap_AVE,BULKF_timeave, 1 ,
71     & bi,bj,myThid)
72 cheisey 1.3 CALL TIMEAVE_NORMALIZ(BULK_flwup_AVE,BULKF_timeave, 1 ,
73     & bi,bj,myThid)
74     CALL TIMEAVE_NORMALIZ(BULK_flwupnet_AVE,BULKF_timeave, 1 ,
75 cheisey 1.1 & bi,bj,myThid)
76     CALL TIMEAVE_NORMALIZ(BULK_solar_AVE,BULKF_timeave, 1 ,
77     & bi,bj,myThid)
78     CALL TIMEAVE_NORMALIZ(BULK_ssq_AVE,BULKF_timeave, 1 ,
79     & bi,bj,myThid)
80    
81     ENDDO
82     ENDDO
83    
84 cheisey 1.2
85     _BEGIN_MASTER(myThid)
86 cheisey 1.1 WRITE(suff,'(I10.10)') myIter
87    
88     CALL WRITE_FLD_XY_RL('BULK_Qnet.',suff,BULK_Qnet_AVE,
89     & myIter,myThid)
90     CALL WRITE_FLD_XY_RL('BULK_EmPmR.',suff,
91     & BULK_EmPmR_AVE,myIter,myThid)
92     CALL WRITE_FLD_XY_RL('BULK_fu.',suff,
93     & BULK_fu_AVE,myIter,myThid)
94     CALL WRITE_FLD_XY_RL('BULK_fv.',suff,
95     & BULK_fv_AVE,myIter,myThid)
96     CALL WRITE_FLD_XY_RL('BULK_latent.',suff,
97     & BULK_latent_AVE,myIter,myThid)
98     CALL WRITE_FLD_XY_RL('BULK_sensible.',suff,
99     & BULK_sensible_AVE,myIter,myThid)
100     CALL WRITE_FLD_XY_RL('BULK_evap.',suff,
101     & BULK_evap_AVE,myIter,myThid)
102 cheisey 1.3 CALL WRITE_FLD_XY_RL('BULK_flwup.',suff,
103     & BULK_flwup_AVE,myIter,myThid)
104     CALL WRITE_FLD_XY_RL('BULK_flwupnet.',suff,
105     & BULK_flwupnet_AVE,myIter,myThid)
106 cheisey 1.1 CALL WRITE_FLD_XY_RL('BULK_solar.',suff,
107     & BULK_solar_AVE,myIter,myThid)
108     CALL WRITE_FLD_XY_RL('BULK_ssq.',suff,
109     & BULK_ssq_AVE,myIter,myThid)
110 cheisey 1.2 _END_MASTER(myThid)
111 cheisey 1.1
112    
113     C Reset averages to zero
114     DO bj = myByLo(myThid), myByHi(myThid)
115     DO bi = myBxLo(myThid), myBxHi(myThid)
116     CALL TIMEAVE_RESET(BULK_Qnet_AVE,1,bi,bj,myThid)
117     CALL TIMEAVE_RESET(BULK_EmPmR_AVE,1,bi,bj,myThid)
118     CALL TIMEAVE_RESET(BULK_fu_AVE,1,bi,bj,myThid)
119     CALL TIMEAVE_RESET(BULK_fv_AVE,1,bi,bj,myThid)
120     CALL TIMEAVE_RESET(BULK_latent_AVE,1,bi,bj,myThid)
121     CALL TIMEAVE_RESET(BULK_sensible_AVE,1,bi,bj,myThid)
122     CALL TIMEAVE_RESET(BULK_evap_AVE,1,bi,bj,myThid)
123 cheisey 1.3 CALL TIMEAVE_RESET(BULK_flwup_AVE,1,bi,bj,myThid)
124     CALL TIMEAVE_RESET(BULK_flwupnet_AVE,1,bi,bj,myThid)
125 cheisey 1.1 CALL TIMEAVE_RESET(BULK_solar_AVE,1,bi,bj,myThid)
126     CALL TIMEAVE_RESET(BULK_ssq_AVE,1,bi,bj,myThid)
127 cheisey 1.2 BULKF_TimeAve(1,bi,bj)=0.
128 cheisey 1.1 ENDDO
129     ENDDO
130    
131    
132    
133     ENDIF
134    
135     #endif /* ALLOW_TIMEAVE */
136    
137     #endif /* ALLOW_BULKF */
138    
139     RETURN
140     END

  ViewVC Help
Powered by ViewVC 1.1.22