/[MITgcm]/MITgcm/pkg/land/land_write_tave.F
ViewVC logotype

Contents of /MITgcm/pkg/land/land_write_tave.F

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


Revision 1.1 - (show annotations) (download)
Thu Jun 12 17:54:22 2003 UTC (20 years, 11 months ago) by jmc
Branch: MAIN
CVS Tags: checkpoint51f_post, checkpoint51l_post, checkpoint51k_post, checkpoint51o_post, branchpoint-genmake2, checkpoint51j_post, checkpoint51q_post, checkpoint52a_pre, branch-netcdf, checkpoint52e_pre, checkpoint51d_post, checkpoint51, checkpoint51r_post, checkpoint52, checkpoint52b_pre, checkpoint52d_post, ecco_c52_e35, checkpoint51o_pre, checkpoint51t_post, checkpoint51b_pre, checkpoint52a_post, checkpoint51i_post, checkpoint52e_post, checkpoint52b_post, checkpoint51a_post, checkpoint51n_pre, checkpoint52f_post, checkpoint51c_post, checkpoint52c_post, checkpoint51p_post, checkpoint51n_post, checkpoint52d_pre, checkpoint51e_post, checkpoint51b_post, checkpoint51h_pre, checkpoint51i_pre, checkpoint51l_pre, checkpoint50h_post, checkpoint51u_post, checkpoint51g_post, checkpoint52f_pre, hrcube_1, checkpoint51f_pre, checkpoint51m_post, checkpoint51s_post
Branch point for: checkpoint51n_branch, netcdf-sm0, branch-nonh, tg2-branch, branch-genmake2
A simple land model implemented for AIM (_v23) atmospheric physics

1 C $Header: $
2 C $Name: $
3
4 #include "LAND_OPTIONS.h"
5
6 CBOP
7 C !ROUTINE: LAND_WRITE_TAVE`
8 C !INTERFACE:
9 SUBROUTINE LAND_WRITE_TAVE( myTime, myIter, myThid )
10 C !DESCRIPTION: \bv
11 C *==========================================================*
12 C | S/R LAND_WRITE_TAVE
13 C | o Write out Land time-average output
14 C *==========================================================*
15 C \ev
16
17 C !USES:
18 IMPLICIT NONE
19
20 C === Global variables ===
21 #include "LAND_SIZE.h"
22 #include "EEPARAMS.h"
23 #include "PARAMS.h"
24 #include "LAND_PARAMS.h"
25 #include "LAND_TAVE.h"
26 LOGICAL DIFFERENT_MULTIPLE
27 EXTERNAL DIFFERENT_MULTIPLE
28
29 C Common (shared with RD_WR_FLD routines in read_write_fld.F)
30 COMMON /RD_WR_FLD/ globalFile
31 LOGICAL globalFile
32
33 C !INPUT/OUTPUT PARAMETERS:
34 C == Routine arguments ==
35 C myTime - Current time of simulation ( s )
36 C myIter - Iteration number
37 C myThid - Number of this instance of the routine
38 _RL myTime
39 INTEGER myIter
40 INTEGER myThid
41 CEOP
42
43 #ifdef ALLOW_LAND
44
45 C == Local variables ==
46 INTEGER bi, bj, K
47 CHARACTER*(MAX_LEN_MBUF) msgBuf, suff, fn
48 LOGICAL gf
49 gf = globalFile
50
51 #ifdef ALLOW_LAND_TAVE
52
53 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
54
55 IF (land_taveFreq.LE.0.) RETURN
56
57 C Dump files and restart average computation if needed
58 IF ( myIter.NE.nIter0 .AND.
59 & DIFFERENT_MULTIPLE(land_taveFreq,myTime,
60 & myTime-land_deltaT)
61 & ) THEN
62
63 C Normalize by integrated time
64 DO bj = myByLo(myThid), myByHi(myThid)
65 DO bi = myBxLo(myThid), myBxHi(myThid)
66 CALL TIMEAVE_NORMALIZ(land_grTtave,land_timeAve,land_nLev,
67 & bi,bj,myThid)
68 CALL TIMEAVE_NORMALIZ(land_grWtave,land_timeAve,land_nLev,
69 & bi,bj,myThid)
70 CALL TIMEAVE_NORMALIZ(land_ROftave,land_timeAve,1,bi,bj,myThid)
71 ENDDO
72 ENDDO
73
74 _BARRIER
75 _BEGIN_MASTER( myThid )
76
77 WRITE(fn,'(A,I10.10)') 'landgTtave.',myIter
78 CALL MDSWRITEFIELD(fn,writeBinaryPrec,gf,
79 & 'RL',land_nLev,land_grTtave, 1,myIter,myThid)
80 WRITE(fn,'(A,I10.10)') 'landgWtave.',myIter
81 CALL MDSWRITEFIELD(fn,writeBinaryPrec,gf,
82 & 'RL',land_nLev,land_grWtave, 1,myIter,myThid)
83 WRITE(fn,'(A,I10.10)') 'landROtave.',myIter
84 CALL MDSWRITEFIELD(fn,writeBinaryPrec,gf,
85 & 'RL', 1,land_ROftave, 1,myIter,myThid)
86
87 WRITE(msgBuf,'(A,I10)')
88 & '// Land Time-average written, t-step', myIter
89 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
90 & SQUEEZE_RIGHT, myThid )
91 WRITE(msgBuf,'(A)') ' '
92 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
93 & SQUEEZE_RIGHT, myThid )
94
95 _END_MASTER( myThid )
96 _BARRIER
97
98 C Reset averages to zero
99 DO bj = myByLo(myThid), myByHi(myThid)
100 DO bi = myBxLo(myThid), myBxHi(myThid)
101 CALL TIMEAVE_RESET(land_grTtave,land_nLev, bi, bj, myThid)
102 CALL TIMEAVE_RESET(land_grWtave,land_nLev, bi, bj, myThid)
103 CALL TIMEAVE_RESET(land_ROftave, 1, bi, bj, myThid)
104 DO k=1,Nr
105 land_timeAve(k,bi,bj)=0.
106 ENDDO
107 ENDDO
108 ENDDO
109
110 ENDIF
111
112 #endif /* ALLOW_LAND_TAVE */
113
114 #endif /* ALLOW_LAND */
115
116 RETURN
117 END

  ViewVC Help
Powered by ViewVC 1.1.22