Back to home page

MITgcm

 
 

    


File indexing completed on 2018-03-02 18:41:39 UTC

view on githubraw file Latest commit add29e06 on 2018-01-31 20:35:05 UTC
e0a2f8aec4 Jean*0001 #include "LAND_OPTIONS.h"
                0002 
                0003 CBOP
d6ac66b199 Jean*0004 C     !ROUTINE: LAND_DO_DIAGS
e0a2f8aec4 Jean*0005 C     !INTERFACE:
439d922c37 Jean*0006       SUBROUTINE LAND_DO_DIAGS(
e0a2f8aec4 Jean*0007      I                land_frc, bi,bj, myTime, myIter, myThid )
                0008 
                0009 C     !DESCRIPTION: \bv
                0010 C     *==========================================================*
d6ac66b199 Jean*0011 C     | S/R LAND_DO_DIAGS
e0a2f8aec4 Jean*0012 C     | o Calculate Land diagnostics
                0013 C     *==========================================================*
439d922c37 Jean*0014 C     | note: snap-shot output have been moved to a better place
                0015 C     |       and are now written from LAND_OUTPUT
                0016 C     *==========================================================*
e0a2f8aec4 Jean*0017 C     \ev
439d922c37 Jean*0018 
e0a2f8aec4 Jean*0019 C     !USES:
                0020       IMPLICIT NONE
                0021 
                0022 C     == Global variables ===
                0023 C-- size for MITgcm & Land package :
                0024 #include "LAND_SIZE.h"
                0025 
                0026 #include "EEPARAMS.h"
                0027 #include "PARAMS.h"
                0028 #include "LAND_PARAMS.h"
                0029 #include "LAND_VARS.h"
                0030 #include "LAND_TAVE.h"
                0031 
                0032 C     !INPUT/OUTPUT PARAMETERS:
                0033 C     == Routine arguments ==
                0034 C     land_frc :: land fraction [0-1]
                0035 C     bi,bj    :: Tile index
                0036 C     myTime   :: Current time of simulation ( s )
                0037 C     myIter   :: Current iteration number in simulation
                0038 C     myThid   :: Number of this instance of the routine
                0039       _RS land_frc(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
                0040       INTEGER bi, bj, myIter, myThid
                0041       _RL     myTime
                0042 CEOP
                0043 
                0044 #ifdef ALLOW_LAND
                0045 
94a46dfe0d Jean*0046       LOGICAL  DIFFERENT_MULTIPLE
                0047       EXTERNAL DIFFERENT_MULTIPLE
89992793c5 Jean*0048 
439d922c37 Jean*0049 C     == Local Variables ==
e0a2f8aec4 Jean*0050 
                0051 #ifdef ALLOW_LAND_TAVE
                0052 
                0053       IF (land_taveFreq.GT.0.) THEN
                0054 
                0055 C--   Sum ground Temp, soil moisture and Run-Off:
0bff449f75 Jean*0056         CALL TIMEAVE_CUMULATE(land_grTtave,land_groundT,land_nLev,
                0057      &                        land_deltaT, bi, bj, myThid )
                0058         CALL TIMEAVE_CUMULATE(land_entave, land_enthalp,land_nLev,
                0059      &                        land_deltaT, bi, bj, myThid )
                0060         CALL TIMEAVE_CUMULATE(land_grWtave,land_groundW,land_nLev,
                0061      &                        land_deltaT, bi, bj, myThid )
                0062         CALL TIMEAVE_CUMULATE(land_sTtave, land_skinT ,1,
                0063      &                        land_deltaT, bi, bj, myThid )
                0064         CALL TIMEAVE_CUMULATE(land_hStave, land_hSnow ,1,
                0065      &                        land_deltaT, bi, bj, myThid )
                0066         CALL TIMEAVE_CUMULATE(land_sAtave, land_snowAge,1,
                0067      &                        land_deltaT, bi, bj, myThid )
                0068         CALL TIMEAVE_CUMULATE(land_ROftave,land_runOff,1,
                0069      &                        land_deltaT, bi, bj, myThid )
                0070         CALL TIMEAVE_CUMULATE(land_eROtave,land_enRnOf,1,
                0071      &                        land_deltaT, bi, bj, myThid )
e0a2f8aec4 Jean*0072 
                0073 C-    Keep record of how much time has been integrated over
0bff449f75 Jean*0074         land_timeAve(bi,bj) = land_timeAve(bi,bj)+land_deltaT
e0a2f8aec4 Jean*0075 
                0076       ENDIF
                0077 
                0078 #endif /* ALLOW_LAND_TAVE */
                0079 
d6ac66b199 Jean*0080 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
                0081 
                0082 #ifdef ALLOW_DIAGNOSTICS
                0083 
                0084       IF ( useDiagnostics ) THEN
                0085 
                0086         CALL DIAGNOSTICS_FILL(land_runOff, 'RUNOFF  ',0,1,
                0087      &                                                1,bi,bj,myThid)
                0088         CALL DIAGNOSTICS_FILL(land_enRnOf, 'EnRunOff',0,1,
                0089      &                                                1,bi,bj,myThid)
                0090         CALL DIAGNOSTICS_FILL(land_HeatFlx,'landHFlx',0,1,
                0091      &                                                1,bi,bj,myThid)
                0092         CALL DIAGNOSTICS_FILL(land_Pr_m_Ev,'landPmE ',0,1,
                0093      &                                                1,bi,bj,myThid)
                0094         CALL DIAGNOSTICS_FILL(land_EnWFlux,'ldEnFxPr',0,1,
                0095      &                                                1,bi,bj,myThid)
                0096 
                0097       ENDIF
                0098 
                0099 #endif /* ALLOW_DIAGNOSTICS */
                0100 
e0a2f8aec4 Jean*0101 #endif /* ALLOW_LAND */
                0102 
                0103       RETURN
                0104       END