Back to home page

MITgcm

 
 

    


File indexing completed on 2018-03-02 18:44:27 UTC

view on githubraw file Latest commit add29e06 on 2018-01-31 20:35:05 UTC
ddc7b8ee22 Jean*0001 #include "THSICE_OPTIONS.h"
                0002 
                0003 CBOP
1a3cad8ca5 Jean*0004 C     !ROUTINE: THSICE_DIAGNOSTICS_STATE
ddc7b8ee22 Jean*0005 C     !INTERFACE:
1a3cad8ca5 Jean*0006       SUBROUTINE THSICE_DIAGNOSTICS_STATE(
963c903381 Jean*0007      I                              myTime, myIter, myThid )
ddc7b8ee22 Jean*0008 C     !DESCRIPTION: \bv
                0009 C     *==========================================================*
1a3cad8ca5 Jean*0010 C     | S/R  THSICE_DIAGNOSTICS_STATE
835f1f99f0 Jean*0011 C     | o fill-in diagnostics array for THSICE state variables
ddc7b8ee22 Jean*0012 C     *==========================================================*
                0013 C     \ev
                0014 
                0015 C     !USES:
                0016       IMPLICIT NONE
                0017 
                0018 C     == Global variables ==
                0019 #include "SIZE.h"
                0020 #include "EEPARAMS.h"
                0021 #include "PARAMS.h"
040c28a424 Jean*0022 c #include "FFIELDS.h"
ddc7b8ee22 Jean*0023 #include "THSICE_PARAMS.h"
                0024 #include "THSICE_VARS.h"
                0025 
                0026 C     !INPUT/OUTPUT PARAMETERS:
                0027 C     == Routine Arguments ==
                0028 C     myTime  :: time counter for this thread
                0029 C     myIter  :: iteration counter for this thread
                0030 C     myThid  :: thread number for this instance of the routine.
                0031       _RL  myTime
                0032       INTEGER myIter
                0033       INTEGER myThid
                0034 CEOP
                0035 
                0036 #ifdef ALLOW_DIAGNOSTICS
963c903381 Jean*0037 C     !FUNCTIONS:
                0038       LOGICAL  DIAGNOSTICS_IS_ON
                0039       EXTERNAL DIAGNOSTICS_IS_ON
                0040 
                0041 C     !LOCAL VARIABLES:
ddc7b8ee22 Jean*0042 C     == Local variables ==
963c903381 Jean*0043 C     bi,bj   :: tile indices
                0044       INTEGER bi,bj
                0045       INTEGER i,j
ddc7b8ee22 Jean*0046       _RL tmpFld(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
614f190d5e Jean*0047       _RL tmpFac
ddc7b8ee22 Jean*0048 
                0049       IF ( useDiagnostics ) THEN
                0050 
963c903381 Jean*0051         CALL DIAGNOSTICS_FILL( iceMask,'SI_Fract', 0,1, 0,1,1,myThid )
                0052         CALL DIAGNOSTICS_FILL( snowAge,'SIsnwAge', 0,1, 0,1,1,myThid )
ddc7b8ee22 Jean*0053 
614f190d5e Jean*0054 C-     Ice-fraction weighted quantities:
                0055         tmpFac = 1. _d 0
                0056         CALL DIAGNOSTICS_FRACT_FILL(
c06c141378 Jean*0057      I                   iceHeight, iceMask,tmpFac,1,'SI_Thick',
963c903381 Jean*0058      I                   0,1, 0,1,1,myThid )
614f190d5e Jean*0059         CALL DIAGNOSTICS_FRACT_FILL(
c06c141378 Jean*0060      I                   snowHeight,iceMask,tmpFac,1,'SI_SnowH',
963c903381 Jean*0061      I                   0,1, 0,1,1,myThid )
614f190d5e Jean*0062         CALL DIAGNOSTICS_FRACT_FILL(
60f40444d4 Jean*0063      I                   Tsrf,      iceMask,tmpFac,1,'SI_Tsrf ',
963c903381 Jean*0064      I                   0,1, 0,1,1,myThid )
614f190d5e Jean*0065         CALL DIAGNOSTICS_FRACT_FILL(
60f40444d4 Jean*0066      I                   Tice1,     iceMask,tmpFac,1,'SI_Tice1',
963c903381 Jean*0067      I                   0,1, 0,1,1,myThid )
614f190d5e Jean*0068         CALL DIAGNOSTICS_FRACT_FILL(
60f40444d4 Jean*0069      I                   Tice2,     iceMask,tmpFac,1,'SI_Tice2',
963c903381 Jean*0070      I                   0,1, 0,1,1,myThid )
614f190d5e Jean*0071 
                0072 C-     Ice-Volume weighted quantities:
                0073        IF ( DIAGNOSTICS_IS_ON('SI_Qice1',myThid) .OR.
                0074      &      DIAGNOSTICS_IS_ON('SI_Qice2',myThid) ) THEN
963c903381 Jean*0075         DO bj=myByLo(myThid),myByHi(myThid)
                0076          DO bi=myBxLo(myThid),myBxHi(myThid)
c156af44c2 Mart*0077 C     Initialise the entire tmpFld to avoid surprises in
963c903381 Jean*0078 C     S/R diagstats_calc with TARGET_NEC_SX defined
                0079           DO j=1-OLy,sNy+OLy
                0080            DO i=1-OLx,sNx+OLx
                0081 c         DO j=1,sNy
                0082 c          DO i=1,sNx
                0083             tmpFld(i,j) = iceMask(i,j,bi,bj)*iceHeight(i,j,bi,bj)
                0084            ENDDO
                0085           ENDDO
                0086           CALL DIAGNOSTICS_FRACT_FILL(
                0087      I                     Qice1(1-OLx,1-OLy,bi,bj),
                0088      I                     tmpFld, tmpFac, 1, 'SI_Qice1',
                0089      I                     0,1, 2,bi,bj, myThid )
                0090           CALL DIAGNOSTICS_FRACT_FILL(
                0091      I                     Qice2(1-OLx,1-OLy,bi,bj),
                0092      I                     tmpFld, tmpFac, 1, 'SI_Qice2',
                0093      I                     0,1, 2,bi,bj, myThid )
ddc7b8ee22 Jean*0094          ENDDO
                0095         ENDDO
                0096        ENDIF
                0097 
                0098 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
                0099 
                0100 C-- Ocean Mixed-Layer temp. & salinity
                0101        IF ( stepFwd_oceMxL ) THEN
963c903381 Jean*0102         CALL DIAGNOSTICS_FILL( tOceMxL,'SItOcMxL', 0,1, 0,1,1,myThid )
                0103         CALL DIAGNOSTICS_FILL( sOceMxL,'SIsOcMxL', 0,1, 0,1,1,myThid )
ddc7b8ee22 Jean*0104        ENDIF
                0105 
                0106       ENDIF
                0107 #endif /* ALLOW_DIAGNOSTICS */
                0108 
                0109       RETURN
                0110       END