/[MITgcm]/MITgcm/pkg/thsice/thsice_ave.F
ViewVC logotype

Diff of /MITgcm/pkg/thsice/thsice_ave.F

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

revision 1.9 by jmc, Tue Feb 21 01:15:15 2006 UTC revision 1.10 by jmc, Thu May 25 18:03:24 2006 UTC
# Line 6  C $Name$ Line 6  C $Name$
6  CBOP  CBOP
7  C     !ROUTINE: THSICE_AVE  C     !ROUTINE: THSICE_AVE
8  C     !INTERFACE:  C     !INTERFACE:
9        SUBROUTINE THSICE_AVE(        SUBROUTINE THSICE_AVE(
      I                      frwAtm, flxAtm,  
10       I                      bi, bj, myTime, myIter, myThid )       I                      bi, bj, myTime, myIter, myThid )
11  C     !DESCRIPTION: \bv  C     !DESCRIPTION: \bv
12  C     *==========================================================*  C     *==========================================================*
13  C     | S/R  THSICE_AVE                                                C     | S/R  THSICE_AVE
14  C     | o save values for timeaveraging  C     | o save values for timeaveraging
15  C     *==========================================================*  C     *==========================================================*
16  C     \ev  C     \ev
# Line 36  C     myTime  :: time counter for this t Line 35  C     myTime  :: time counter for this t
35  C     bi,bj   :: tile indices  C     bi,bj   :: tile indices
36  C     myIter  :: iteration counter for this thread  C     myIter  :: iteration counter for this thread
37  C     myThid  :: thread number for this instance of the routine.  C     myThid  :: thread number for this instance of the routine.
38        _RL frwAtm(1-OLx:sNx+OLx,1-OLy:sNy+OLy)  c     _RL frwAtm(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
39        _RL flxAtm(1-OLx:sNx+OLx,1-OLy:sNy+OLy)  c     _RL flxAtm(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
40        INTEGER bi,bj        INTEGER bi,bj
41        _RL  myTime        _RL  myTime
42        INTEGER myIter        INTEGER myIter
# Line 48  CEOP Line 47  CEOP
47  C     == Local variables ==  C     == Local variables ==
48        LOGICAL  DIFFERENT_MULTIPLE        LOGICAL  DIFFERENT_MULTIPLE
49        EXTERNAL DIFFERENT_MULTIPLE        EXTERNAL DIFFERENT_MULTIPLE
50        INTEGER wrtIter  c     INTEGER wrtIter
51    
52  #ifdef ALLOW_TIMEAVE  #ifdef ALLOW_TIMEAVE
53    
54        IF ( thSIce_taveFreq .GT. 0. _d 0 ) THEN        IF ( thSIce_taveFreq .GT. 0. _d 0 ) THEN
55    
56  C--    Time-average  C--    Time-average
57         CALL TIMEAVE_CUMULATE(ice_fract_Ave, iceMask,         CALL TIMEAVE_CUMULATE(ice_fract_Ave, iceMask,
58       &                       1, thSIce_deltaT, bi, bj, myThid )       &                       1, thSIce_deltaT, bi, bj, myThid )
59  C-- area weighted average (with ice-fraction)  C-- area weighted average (with ice-fraction)
60         CALL TIMEAVE_CUMUL_2V( ice_iceH_Ave,  iceheight, iceMask,         CALL TIMEAVE_CUMUL_2V( ice_iceH_Ave,  iceheight, iceMask,
# Line 71  C-- area weighted average (with ice-frac Line 70  C-- area weighted average (with ice-frac
70         CALL TIMEAVE_CUMUL_2V( ice_snowPr_Ave,snowPrc, iceMask,         CALL TIMEAVE_CUMUL_2V( ice_snowPr_Ave,snowPrc, iceMask,
71       &                    1, 0, thSIce_deltaT, bi, bj, myThid )       &                    1, 0, thSIce_deltaT, bi, bj, myThid )
72  C--    notes: siceAlb is already multiplied by iceFraction  C--    notes: siceAlb is already multiplied by iceFraction
73         CALL TIMEAVE_CUMULATE(ice_albedo_Ave, siceAlb,         CALL TIMEAVE_CUMULATE(ice_albedo_Ave, siceAlb,
74       &                       1, thSIce_deltaT, bi, bj, myThid )       &                       1, thSIce_deltaT, bi, bj, myThid )
75  C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|  C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
76  C-- simple average (without ice-fraction)  C-- simple average (without ice-fraction)
# Line 88  c    &                       1, thSIce_d Line 87  c    &                       1, thSIce_d
87  c      CALL TIMEAVE_CUMULATE(ice_snowPr_Ave, snowPrc,  c      CALL TIMEAVE_CUMULATE(ice_snowPr_Ave, snowPrc,
88  c    &                       1, thSIce_deltaT, bi, bj, myThid )  c    &                       1, thSIce_deltaT, bi, bj, myThid )
89    
90  C-- average of atmospheric fluxes :  C-- average of atmospheric fluxes :
91        IF ( fluidIsWater ) THEN        IF ( fluidIsWater ) THEN
92         CALL TIMEAVE_CUMUL_1T(ice_flxAtm_Ave, flxAtm,         CALL TIMEAVE_CUMULATE(ice_flxAtm_Ave, icFlxAtm,
93       &                       1, thSIce_deltaT, bi, bj, myThid )       &                       1, thSIce_deltaT, bi, bj, myThid )
94         CALL TIMEAVE_CUMUL_1T(ice_frwAtm_Ave, frwAtm,         CALL TIMEAVE_CUMULATE(ice_frwAtm_Ave, icFrwAtm,
95       &                       1, thSIce_deltaT, bi, bj, myThid )       &                       1, thSIce_deltaT, bi, bj, myThid )
96        ENDIF        ENDIF
97    
98  C-- average of oceanic fluxes :  C-- average of oceanic fluxes :
99  #ifndef CHECK_ENERGY_CONSERV  #ifndef CHECK_ENERGY_CONSERV
100         CALL TIMEAVE_CUMULATE(ice_flx2oc_Ave, Qnet,         CALL TIMEAVE_CUMULATE(ice_flx2oc_Ave, Qnet,
101       &                       1, thSIce_deltaT, bi, bj, myThid )       &                       1, thSIce_deltaT, bi, bj, myThid )
# Line 119  C-- average of Ocean Mixed-Layer temp. & Line 118  C-- average of Ocean Mixed-Layer temp. &
118        ENDIF        ENDIF
119  #endif /* ALLOW_TIMEAVE */  #endif /* ALLOW_TIMEAVE */
120    
121        IF ( DIFFERENT_MULTIPLE(thSIce_diagFreq,  c     IF ( DIFFERENT_MULTIPLE(thSIce_diagFreq,
122       &                        myTime+deltaTClock,deltaTClock)  c    &                        myTime+deltaTClock,deltaTClock)
123       &     .AND. fluidIsWater ) THEN  c    &     .AND. fluidIsWater ) THEN
124          wrtIter = myIter+1  c       wrtIter = myIter+1
125          CALL WRITE_LOCAL_RL('ice_flxAtm','I10',1,flxAtm,  c       CALL WRITE_LOCAL_RL('ice_flxAtm','I10',1,flxAtm,
126       &                      bi,bj,1,wrtIter,myThid)  c    &                      bi,bj,1,wrtIter,myThid)
127          CALL WRITE_LOCAL_RL('ice_frwAtm','I10',1,frwAtm,  c       CALL WRITE_LOCAL_RL('ice_frwAtm','I10',1,frwAtm,
128       &                      bi,bj,1,wrtIter,myThid)  c    &                      bi,bj,1,wrtIter,myThid)
129        ENDIF  c     ENDIF
130    
131  C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|  C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
132    
# Line 136  C---+----1----+----2----+----3----+----4 Line 135  C---+----1----+----2----+----3----+----4
135    
136  C-- Atmospheric fluxes :  C-- Atmospheric fluxes :
137         IF ( fluidIsWater ) THEN         IF ( fluidIsWater ) THEN
138          CALL DIAGNOSTICS_FILL(flxAtm, 'SIflxAtm',0,1,2,bi,bj,myThid)          CALL DIAGNOSTICS_FILL(icFlxAtm,'SIflxAtm',0,1,1,bi,bj,myThid)
139          CALL DIAGNOSTICS_FILL(frwAtm, 'SIfrwAtm',0,1,2,bi,bj,myThid)          CALL DIAGNOSTICS_FILL(icFrwAtm,'SIfrwAtm',0,1,1,bi,bj,myThid)
140         ENDIF         ENDIF
141    
142  C-- Oceanic fluxes :  C-- Oceanic fluxes :

Legend:
Removed from v.1.9  
changed lines
  Added in v.1.10

  ViewVC Help
Powered by ViewVC 1.1.22