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

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

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

revision 1.28 by jmc, Mon Jan 21 23:00:39 2013 UTC revision 1.29 by jmc, Sat Mar 30 18:38:50 2013 UTC
# Line 23  C     === Global variables === Line 23  C     === Global variables ===
23  #include "SIZE.h"  #include "SIZE.h"
24  #include "EEPARAMS.h"  #include "EEPARAMS.h"
25  #include "PARAMS.h"  #include "PARAMS.h"
 #include "GRID.h"  
 #include "SURFACE.h"  
 #include "DYNVARS.h"  
26  #include "FFIELDS.h"  #include "FFIELDS.h"
27  #include "THSICE_PARAMS.h"  #include "THSICE_PARAMS.h"
28  #include "THSICE_SIZE.h"  #include "THSICE_SIZE.h"
29  #include "THSICE_VARS.h"  #include "THSICE_VARS.h"
30  #ifdef ALLOW_AUTODIFF_TAMC  #ifdef ALLOW_AUTODIFF_TAMC
31    # include "DYNVARS.h"
32  # include "tamc.h"  # include "tamc.h"
33  # include "tamc_keys.h"  # include "tamc_keys.h"
34  #endif  #endif
# Line 113  CADJ STORE ocesflx(:,:,bi,bj) = comlev1_ Line 111  CADJ STORE ocesflx(:,:,bi,bj) = comlev1_
111  CADJ STORE qsw(:,:,bi,bj) = comlev1_bibj, key=ticekey, byte=isbyte  CADJ STORE qsw(:,:,bi,bj) = comlev1_bibj, key=ticekey, byte=isbyte
112  # endif  # endif
113  #endif  #endif
   
 C--     Mixed layer thickness: take the 1rst layer  
 #ifdef NONLIN_FRSURF  
         IF ( staggerTimeStep .AND. nonlinFreeSurf.GT.0 ) THEN  
          IF ( select_rStar.GT.0 ) THEN  
           DO j=1-OLy,sNy+OLy  
            DO i=1-OLx,sNx+OLx  
              hOceMxL(i,j,bi,bj) = drF(1)*h0FacC(i,j,1,bi,bj)  
      &                                  *rStarFacC(i,j,bi,bj)  
            ENDDO  
           ENDDO  
          ELSE  
           DO j=1-OLy,sNy+OLy  
            DO i=1-OLx,sNx+OLx  
             IF ( kSurfC(i,j,bi,bj).EQ.1 ) THEN  
              hOceMxL(i,j,bi,bj) = drF(1)*hFac_surfC(i,j,bi,bj)  
             ELSE  
              hOceMxL(i,j,bi,bj) = drF(1)*hFacC(i,j,1,bi,bj)  
             ENDIF  
            ENDDO  
           ENDDO  
          ENDIF  
         ELSE  
 #else /* ndef NONLIN_FRSURF */  
         IF (.TRUE.) THEN  
 #endif /* NONLIN_FRSURF */  
           DO j=1-OLy,sNy+OLy  
            DO i=1-OLx,sNx+OLx  
              hOceMxL(i,j,bi,bj) = drF(1)*hFacC(i,j,1,bi,bj)  
            ENDDO  
           ENDDO  
         ENDIF  
   
114  #ifdef ALLOW_AUTODIFF_TAMC  #ifdef ALLOW_AUTODIFF_TAMC
115  CADJ STORE uvel (:,:,1,bi,bj) = comlev1_bibj, key=ticekey, byte=isbyte  CADJ STORE uvel (:,:,1,bi,bj) = comlev1_bibj, key=ticekey, byte=isbyte
116  CADJ STORE vvel (:,:,1,bi,bj) = comlev1_bibj, key=ticekey, byte=isbyte  CADJ STORE vvel (:,:,1,bi,bj) = comlev1_bibj, key=ticekey, byte=isbyte
117  #endif  #endif
118    
119          DO j = jMin, jMax          DO j=1-OLy,sNy+OLy
120           DO i = iMin, iMax           DO i=1-OLx,sNx+OLx
           tOceMxL(i,j,bi,bj) = theta(i,j,1,bi,bj)  
           sOceMxL(i,j,bi,bj) = salt (i,j,1,bi,bj)  
           v2ocMxL(i,j,bi,bj) =  
      &              ( uvel(i,j,1,bi,bj)*uvel(i,j,1,bi,bj)  
      &              + uvel(i+1,j,1,bi,bj)*uvel(i+1,j,1,bi,bj)  
      &              + vvel(i,j+1,1,bi,bj)*vvel(i,j+1,1,bi,bj)  
      &              + vvel(i,j,1,bi,bj)*vvel(i,j,1,bi,bj)  
      &              )*0.5 _d 0  
121            prcAtm  (i,j,bi,bj) = 0. _d 0            prcAtm  (i,j,bi,bj) = 0. _d 0
           icFrwAtm(i,j,bi,bj) = 0. _d 0  
           icFlxAtm(i,j,bi,bj) = 0. _d 0  
           icFlxSW (i,j,bi,bj) = 0. _d 0  
           snowPrc (i,j,bi,bj) = 0. _d 0  
           siceAlb (i,j,bi,bj) = 0. _d 0  
122           ENDDO           ENDDO
123          ENDDO          ENDDO
124    
125            CALL THSICE_GET_OCEAN(
126         I                         bi, bj, myTime, myIter, myThid )
127    
128  #ifdef ALLOW_AUTODIFF_TAMC  #ifdef ALLOW_AUTODIFF_TAMC
129  CADJ STORE iceMask(:,:,bi,bj) = comlev1_bibj, key = ticekey  CADJ STORE iceMask(:,:,bi,bj) = comlev1_bibj, key = ticekey
130  CADJ STORE iceHeight(:,:,bi,bj)  = comlev1_bibj, key = ticekey  CADJ STORE iceHeight(:,:,bi,bj)  = comlev1_bibj, key = ticekey
# Line 237  CADJ STORE Qice1(:,:,bi,bj)   = comlev1_ Line 192  CADJ STORE Qice1(:,:,bi,bj)   = comlev1_
192  CADJ STORE Qice2(:,:,bi,bj)   = comlev1_bibj, key = ticekey  CADJ STORE Qice2(:,:,bi,bj)   = comlev1_bibj, key = ticekey
193  CADJ STORE snowAge(:,:,bi,bj) = comlev1_bibj, key = ticekey  CADJ STORE snowAge(:,:,bi,bj) = comlev1_bibj, key = ticekey
194  CADJ STORE sHeating(:,:,bi,bj) = comlev1_bibj, key = ticekey  CADJ STORE sHeating(:,:,bi,bj) = comlev1_bibj, key = ticekey
195    #else
196            ENDIF
197            IF ( .NOT.thSIce_skipThermo ) THEN
198  #endif  #endif
199            CALL THSICE_STEP_FWD(            CALL THSICE_STEP_FWD(
200       I                     bi, bj, iMin, iMax, jMin, jMax,       I                     bi, bj, iMin, iMax, jMin, jMax,

Legend:
Removed from v.1.28  
changed lines
  Added in v.1.29

  ViewVC Help
Powered by ViewVC 1.1.22