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

Contents of /MITgcm/pkg/bulk_force/bulkf_output.F

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


Revision 1.3 - (show annotations) (download)
Sat Jan 2 22:46:29 2010 UTC (14 years, 4 months ago) by jmc
Branch: MAIN
CVS Tags: checkpoint64y, checkpoint64x, checkpoint64z, checkpoint64q, checkpoint64p, checkpoint64s, checkpoint64r, checkpoint64u, checkpoint64t, checkpoint64w, checkpoint64v, checkpoint64i, checkpoint64h, checkpoint64k, checkpoint64j, checkpoint64m, checkpoint64l, checkpoint64o, checkpoint64n, checkpoint64a, checkpoint64c, checkpoint64b, checkpoint64e, checkpoint64d, checkpoint64g, checkpoint64f, checkpoint63p, checkpoint63q, checkpoint63r, checkpoint63s, checkpoint63l, checkpoint63m, checkpoint63n, checkpoint63o, checkpoint63h, checkpoint63i, checkpoint63j, checkpoint63k, checkpoint63d, checkpoint63e, checkpoint63f, checkpoint63g, checkpoint63a, checkpoint63b, checkpoint63c, checkpoint64, checkpoint65, checkpoint63, checkpoint66e, checkpoint66d, checkpoint66c, checkpoint66b, checkpoint66a, checkpoint65z, checkpoint65x, checkpoint65y, checkpoint65r, checkpoint65s, checkpoint65p, checkpoint65q, checkpoint65v, checkpoint65w, checkpoint65t, checkpoint65u, checkpoint65j, checkpoint65k, checkpoint65h, checkpoint65i, checkpoint65n, checkpoint65o, checkpoint65l, checkpoint65m, checkpoint65b, checkpoint65c, checkpoint65a, checkpoint65f, checkpoint65g, checkpoint65d, checkpoint65e, checkpoint62c, checkpoint62b, checkpoint62a, checkpoint62g, checkpoint62f, checkpoint62e, checkpoint62d, checkpoint62k, checkpoint62j, checkpoint62i, checkpoint62h, checkpoint62o, checkpoint62n, checkpoint62m, checkpoint62l, checkpoint62s, checkpoint62r, checkpoint62q, checkpoint62p, checkpoint62w, checkpoint62v, checkpoint62u, checkpoint62t, checkpoint62z, checkpoint62y, checkpoint62x
Changes since 1.2: +58 -67 lines
time-ave: use simpler (no level index) cumulative-time counter

1 C $Header: /u/gcmpack/MITgcm/pkg/bulk_force/bulkf_output.F,v 1.2 2008/09/09 19:58:26 jmc Exp $
2 C $Name: $
3
4 #include "BULK_FORCE_OPTIONS.h"
5
6 CBOP
7 C !ROUTINE: BULKF_OUTPUT
8 C !INTERFACE:
9 SUBROUTINE BULKF_OUTPUT( myTime, myIter, myThid )
10
11 C !DESCRIPTION: \bv
12 C *==========================================================*
13 C | SUBROUTINE BULKF_OUTPUT
14 C | o Do BULKF time-average output
15 C *==========================================================*
16 C \ev
17
18 C !USES:
19 IMPLICIT NONE
20
21 C === Global variables ===
22 #include "SIZE.h"
23 #include "EEPARAMS.h"
24 #include "PARAMS.h"
25 #include "BULKF.h"
26 #include "BULKF_PARAMS.h"
27 #include "BULKF_TAVE.h"
28
29 C !INPUT/OUTPUT PARAMETERS:
30 C == Routine arguments ==
31 C myTime :: Current time of simulation ( s )
32 C myIter :: Iteration number
33 C myThid :: Number of this instance
34 _RL myTime
35 INTEGER myIter
36 INTEGER myThid
37 CEOP
38
39 #ifdef ALLOW_BULK_FORCE
40 #ifdef ALLOW_TIMEAVE
41
42 C == Function
43 LOGICAL DIFFERENT_MULTIPLE
44 EXTERNAL DIFFERENT_MULTIPLE
45
46 C == Local variables ==
47 INTEGER bi, bj
48 CHARACTER*(MAX_LEN_MBUF) suff
49
50 C Dump files and restart average computation if needed
51 IF ( DIFFERENT_MULTIPLE(blk_taveFreq,myTime,deltaTClock)
52 & ) THEN
53
54 C Normalize by integrated time
55 DO bj = myByLo(myThid), myByHi(myThid)
56 DO bi = myBxLo(myThid), myBxHi(myThid)
57 CALL TIMEAVE_NORMALIZE( BULK_Qnet_Ave,
58 & BULK_timeAve, 1 , bi, bj, myThid )
59 CALL TIMEAVE_NORMALIZE( BULK_EmPmR_Ave,
60 & BULK_timeAve, 1 , bi, bj, myThid )
61 CALL TIMEAVE_NORMALIZE( BULK_fu_Ave,
62 & BULK_timeAve, 1 , bi, bj, myThid )
63 CALL TIMEAVE_NORMALIZE( BULK_fv_Ave,
64 & BULK_timeAve, 1 , bi, bj, myThid )
65 CALL TIMEAVE_NORMALIZE( BULK_latent_Ave,
66 & BULK_timeAve, 1 , bi, bj, myThid )
67 CALL TIMEAVE_NORMALIZE( BULK_sensible_Ave,
68 & BULK_timeAve, 1 , bi, bj, myThid )
69 CALL TIMEAVE_NORMALIZE( BULK_evap_Ave,
70 & BULK_timeAve, 1 , bi, bj, myThid )
71 CALL TIMEAVE_NORMALIZE( BULK_flwup_Ave,
72 & BULK_timeAve, 1 , bi, bj, myThid )
73 CALL TIMEAVE_NORMALIZE( BULK_flwupnet_Ave,
74 & BULK_timeAve, 1 , bi, bj, myThid )
75 CALL TIMEAVE_NORMALIZE( BULK_solar_Ave,
76 & BULK_timeAve, 1 , bi, bj, myThid )
77 CALL TIMEAVE_NORMALIZE( BULK_ssq_Ave,
78 & BULK_timeAve, 1 , bi, bj, myThid )
79
80 ENDDO
81 ENDDO
82
83 WRITE(suff,'(I10.10)') myIter
84 CALL WRITE_FLD_XY_RL( 'BULK_Qnet.', suff,
85 & BULK_Qnet_Ave, myIter, myThid )
86 CALL WRITE_FLD_XY_RL( 'BULK_EmPmR.', suff,
87 & BULK_EmPmR_Ave, myIter, myThid )
88 CALL WRITE_FLD_XY_RL( 'BULK_fu.', suff,
89 & BULK_fu_Ave, myIter, myThid )
90 CALL WRITE_FLD_XY_RL( 'BULK_fv.', suff,
91 & BULK_fv_Ave, myIter, myThid )
92 CALL WRITE_FLD_XY_RL( 'BULK_latent.', suff,
93 & BULK_latent_Ave, myIter, myThid )
94 CALL WRITE_FLD_XY_RL( 'BULK_sensible.', suff,
95 & BULK_sensible_Ave, myIter, myThid )
96 CALL WRITE_FLD_XY_RL( 'BULK_evap.', suff,
97 & BULK_evap_Ave, myIter, myThid )
98 CALL WRITE_FLD_XY_RL( 'BULK_flwup.', suff,
99 & BULK_flwup_Ave, myIter, myThid )
100 CALL WRITE_FLD_XY_RL( 'BULK_flwupnet.', suff,
101 & BULK_flwupnet_Ave, myIter, myThid )
102 CALL WRITE_FLD_XY_RL( 'BULK_solar.', suff,
103 & BULK_solar_Ave, myIter, myThid )
104 CALL WRITE_FLD_XY_RL( 'BULK_ssq.', suff,
105 & BULK_ssq_Ave, myIter, myThid )
106
107 C Reset averages to zero
108 DO bj = myByLo(myThid), myByHi(myThid)
109 DO bi = myBxLo(myThid), myBxHi(myThid)
110 CALL TIMEAVE_RESET( BULK_Qnet_Ave, 1, bi, bj, myThid )
111 CALL TIMEAVE_RESET( BULK_EmPmR_Ave, 1, bi, bj, myThid )
112 CALL TIMEAVE_RESET( BULK_fu_Ave, 1, bi, bj, myThid )
113 CALL TIMEAVE_RESET( BULK_fv_Ave, 1, bi, bj, myThid )
114 CALL TIMEAVE_RESET( BULK_latent_Ave, 1, bi, bj, myThid )
115 CALL TIMEAVE_RESET( BULK_sensible_Ave, 1, bi, bj, myThid )
116 CALL TIMEAVE_RESET( BULK_evap_Ave, 1, bi, bj, myThid )
117 CALL TIMEAVE_RESET( BULK_flwup_Ave, 1, bi, bj, myThid )
118 CALL TIMEAVE_RESET( BULK_flwupnet_Ave, 1, bi, bj, myThid )
119 CALL TIMEAVE_RESET( BULK_solar_Ave, 1, bi, bj, myThid )
120 CALL TIMEAVE_RESET( BULK_ssq_Ave, 1, bi, bj, myThid )
121 BULK_timeAve(bi,bj) = 0.
122 ENDDO
123 ENDDO
124
125 ENDIF
126
127 #endif /* ALLOW_TIMEAVE */
128 #endif /* ALLOW_BULKF */
129
130 RETURN
131 END

  ViewVC Help
Powered by ViewVC 1.1.22