/[MITgcm]/MITgcm_contrib/dgoldberg/streamice/streamice_advect_thickness.F
ViewVC logotype

Diff of /MITgcm_contrib/dgoldberg/streamice/streamice_advect_thickness.F

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

revision 1.2 by heimbach, Wed May 2 02:36:01 2012 UTC revision 1.6 by dgoldberg, Wed Jan 9 21:56:18 2013 UTC
# Line 36  C     === Global variables === Line 36  C     === Global variables ===
36        INTEGER i, j, bi, bj        INTEGER i, j, bi, bj
37        _RL thick_bd        _RL thick_bd
38        _RL SLOPE_LIMITER        _RL SLOPE_LIMITER
39        _RL sec_per_year, time_step_loc        _RL sec_per_year, time_step_loc, MR, SMB, TMB
40          CHARACTER*(MAX_LEN_MBUF) msgBuf
41        external SLOPE_LIMITER        external SLOPE_LIMITER
42    
43        sec_per_year = 365.*86400.        sec_per_year = 365.*86400.
# Line 51  CADJ STORE streamice_hmask  = comlev1, k Line 52  CADJ STORE streamice_hmask  = comlev1, k
52         DO bi=myBxLo(myThid),myBxHi(myThid)         DO bi=myBxLo(myThid),myBxHi(myThid)
53          DO j=1-OLy,sNy+OLy          DO j=1-OLy,sNy+OLy
54           DO i=1-OLx,sNx+OLx           DO i=1-OLx,sNx+OLx
55              H_streamice_prev(i,j,bi,bj) =
56         &     H_streamice(i,j,bi,bj)
57            hflux_x_SI (i,j,bi,bj) = 0. _d 0            hflux_x_SI (i,j,bi,bj) = 0. _d 0
58            hflux_y_SI (i,j,bi,bj) = 0. _d 0            hflux_y_SI (i,j,bi,bj) = 0. _d 0
59            hflux_x_SI2 (i,j,bi,bj) = 0. _d 0            hflux_x_SI2 (i,j,bi,bj) = 0. _d 0
# Line 69  CADJ STORE streamice_hmask  = comlev1, k Line 72  CADJ STORE streamice_hmask  = comlev1, k
72         ENDDO         ENDDO
73        ENDDO        ENDDO
74    
 !       PRINT *, "H in last row ", H_streamice(81,20,1,1)  
75    
76  #ifdef ALLOW_AUTODIFF_TAMC  #ifdef ALLOW_AUTODIFF_TAMC
77  CADJ STORE h_after_uflux_si = comlev1, key=ikey_dynamics  CADJ STORE h_after_uflux_si = comlev1, key=ikey_dynamics
# Line 81  CADJ STORE streamice_hmask  = comlev1, k Line 83  CADJ STORE streamice_hmask  = comlev1, k
83       O   h_after_uflux_SI,       O   h_after_uflux_SI,
84       I   time_step_loc )       I   time_step_loc )
85    
86  !       PRINT *, "H in last row ", H_streamice(81,20,1,1)  
87    
88        DO bj=myByLo(myThid),myByHi(myThid)        DO bj=myByLo(myThid),myByHi(myThid)
89         DO bi=myBxLo(myThid),myBxHi(myThid)         DO bi=myBxLo(myThid),myBxHi(myThid)
# Line 104  CADJ STORE streamice_hmask  = comlev1, k Line 106  CADJ STORE streamice_hmask  = comlev1, k
106       O   h_after_vflux_SI,       O   h_after_vflux_SI,
107       I   time_step_loc )       I   time_step_loc )
108    
109  !       PRINT *, "H in last row ", H_streamice(81,20,1,1)  
110    
111        DO bj=myByLo(myThid),myByHi(myThid)        DO bj=myByLo(myThid),myByHi(myThid)
112         DO bi=myBxLo(myThid),myBxHi(myThid)         DO bi=myBxLo(myThid),myBxHi(myThid)
# Line 119  CADJ STORE streamice_hmask  = comlev1, k Line 121  CADJ STORE streamice_hmask  = comlev1, k
121         ENDDO         ENDDO
122        ENDDO        ENDDO
123    
124  !       PRINT *, "H in last row ", H_streamice(81,20,1,1)  
125    
126        CALL STREAMICE_ADV_FRONT ( myThid, time_step_loc )        CALL STREAMICE_ADV_FRONT ( myThid, time_step_loc )
127    
 !       PRINT *, "H in last row ", H_streamice(81,20,1,1)  
128    
129        _EXCH_XY_RL( H_streamice, myThid )  ! NOW WE APPLY MELT RATES !!
130        _EXCH_XY_RL( area_shelf_streamice, myThid )  ! THIS MAY BE MOVED TO A SEPARATE SUBROUTINE
       _EXCH_XY_RL( STREAMICE_hmask, myThid )  
         
       PRINT *, "END STREAMICE_ADVECT_THICKNESS"  
131    
132          DO bj=myByLo(myThid),myByHi(myThid)
133           DO bi=myBxLo(myThid),myBxHi(myThid)
134            DO j=1-OLy,sNy+OLy
135             DO i=1-OLx,sNx+OLx
136               IF (STREAMICE_hmask(i,j,bi,bj).eq.1.0 .or.
137         &       STREAMICE_hmask(i,j,bi,bj).eq.2.0) THEN
138                 MR = (1.-float_frac_streamice(i,j,bi,bj)) *
139         &             BDOT_STREAMICE(i,j,bi,bj)
140                 SMB = ADOT_STREAMICE(i,j,bi,bj)
141                 TMB = SMB - MR
142                 IF ((TMB.lt.0.0) .and.
143         &         (MR * time_step_loc .gt.
144         &          H_streamice (i,j,bi,bj))) THEN
145                    H_streamice (i,j,bi,bj) = 0. _d 0
146                    STREAMICE_hmask(i,j,bi,bj) = 0.
147                 ELSE
148                   H_streamice (i,j,bi,bj) =
149         &          H_streamice (i,j,bi,bj) + TMB
150                 ENDIF
151               ENDIF
152             ENDDO
153            ENDDO
154           ENDDO
155          ENDDO    
156    
157          
158          WRITE(msgBuf,'(A)') 'END STREAMICE_ADVECT_THICKNESS'
159           CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
160         &                     SQUEEZE_RIGHT , 1)
161          
162  #endif  #endif
163        END        END
164    

Legend:
Removed from v.1.2  
changed lines
  Added in v.1.6

  ViewVC Help
Powered by ViewVC 1.1.22