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

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

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


Revision 1.1 - (hide 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 jmc 1.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