/[MITgcm]/MITgcm_contrib/torge/itd/code/seaice_advection.F
ViewVC logotype

Diff of /MITgcm_contrib/torge/itd/code/seaice_advection.F

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

revision 1.1 by torge, Wed Oct 24 21:48:53 2012 UTC revision 1.3 by torge, Wed Mar 27 18:59:52 2013 UTC
# Line 120  C  myTile        :: variables used to de Line 120  C  myTile        :: variables used to de
120  C  nCFace        :: owns a tile for cube grid runs using  C  nCFace        :: owns a tile for cube grid runs using
121  C                :: multi-dim advection.  C                :: multi-dim advection.
122  C [N,S,E,W]_edge :: true if N,S,E,W edge of myTile is an Edge of the cube  C [N,S,E,W]_edge :: true if N,S,E,W edge of myTile is an Edge of the cube
123    C     msgBuf     :: Informational/error message buffer
124        _RS maskLocW(1-OLx:sNx+OLx,1-OLy:sNy+OLy)        _RS maskLocW(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
125        _RS maskLocS(1-OLx:sNx+OLx,1-OLy:sNy+OLy)        _RS maskLocS(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
126        INTEGER iMin,iMax,jMin,jMax        INTEGER iMin,iMax,jMin,jMax
# Line 132  C [N,S,E,W]_edge :: true if N,S,E,W edge Line 133  C [N,S,E,W]_edge :: true if N,S,E,W edge
133        INTEGER nipass,ipass        INTEGER nipass,ipass
134        INTEGER nCFace        INTEGER nCFace
135        LOGICAL N_edge, S_edge, E_edge, W_edge        LOGICAL N_edge, S_edge, E_edge, W_edge
136          CHARACTER*(MAX_LEN_MBUF) msgBuf
137  #ifdef ALLOW_EXCH2  #ifdef ALLOW_EXCH2
138        INTEGER myTile        INTEGER myTile
139  #endif  #endif
 #ifdef ALLOW_AUTODIFF_TAMC  
 C     msgBuf     :: Informational/error message buffer  
       CHARACTER*(MAX_LEN_MBUF) msgBuf  
 #endif  
140  #ifdef ALLOW_DIAGNOSTICS  #ifdef ALLOW_DIAGNOSTICS
141        CHARACTER*8 diagName        CHARACTER*8 diagName
142        CHARACTER*4 SEAICE_DIAG_SUFX, diagSufx        CHARACTER*4 SEAICE_DIAG_SUFX, diagSufx
# Line 204  C--   Set tile-specific parameters for h Line 202  C--   Set tile-specific parameters for h
202        IF (useCubedSphereExchange) THEN        IF (useCubedSphereExchange) THEN
203         nipass=3         nipass=3
204  #ifdef ALLOW_AUTODIFF_TAMC  #ifdef ALLOW_AUTODIFF_TAMC
205         IF ( nipass.GT.maxcube ) STOP 'maxcube needs to be = 3'         IF ( nipass.GT.maxcube ) THEN
206               WRITE(msgBuf,'(A)')
207         &      'SEAICE_ADVECTION: maxcube needs to be =3; check tamc.h '
208               CALL PRINT_ERROR( msgBuf, myThid )
209               STOP 'ABNORMAL END: S/R SEAICE_ADVECTION'
210           ENDIF
211  #endif  #endif
212  #ifdef ALLOW_EXCH2  #ifdef ALLOW_EXCH2
213         myTile = W2_myTileList(bi,bj)         myTile = W2_myTileList(bi,bj)
# Line 282  C--   For cube need one pass for each of Line 285  C--   For cube need one pass for each of
285  #ifdef ALLOW_AUTODIFF_TAMC  #ifdef ALLOW_AUTODIFF_TAMC
286         passkey = ipass + (igadkey-1)*maxpass         passkey = ipass + (igadkey-1)*maxpass
287         IF (nipass .GT. maxpass) THEN         IF (nipass .GT. maxpass) THEN
288          STOP 'SEAICE_ADVECTION: nipass > maxcube. check tamc.h'             WRITE(msgBuf,'(A,2I3)')
289         &      'SEAICE_ADVECTION: nipass > max[ass. check tamc.h ',
290         &      nipass, maxpass
291               CALL PRINT_ERROR( msgBuf, myThid )
292               STOP 'ABNORMAL END: S/R SEAICE_ADVECTION'
293         ENDIF         ENDIF
294  #endif /* ALLOW_AUTODIFF_TAMC */  #endif /* ALLOW_AUTODIFF_TAMC */
295    
# Line 331  C   and b) the overlap of myTile are not Line 338  C   and b) the overlap of myTile are not
338          IF ( .NOT.overlapOnly .OR. N_edge .OR. S_edge ) THEN          IF ( .NOT.overlapOnly .OR. N_edge .OR. S_edge ) THEN
339    
340  C-     Advective flux in X  C-     Advective flux in X
341           DO j=1-Oly,sNy+Oly           DO j=1-OLy,sNy+OLy
342            DO i=1-Olx,sNx+Olx            DO i=1-OLx,sNx+OLx
343             af(i,j) = 0.             af(i,j) = 0.
344            ENDDO            ENDDO
345           ENDDO           ENDDO
# Line 383  CADJ &     comlev1_bibj_k_gadice_pass, k Line 390  CADJ &     comlev1_bibj_k_gadice_pass, k
390       O         af, myThid )       O         af, myThid )
391  #endif  #endif
392           ELSE           ELSE
393            STOP             WRITE(msgBuf,'(A,I3,A)')
394       & 'SEAICE_ADVECTION: adv. scheme incompatibale with multi-dim'       &      'SEAICE_ADVECTION: adv. scheme ', advectionScheme,
395         &      ' incompatibale with multi-dim. adv.'
396               CALL PRINT_ERROR( msgBuf, myThid )
397               STOP 'ABNORMAL END: S/R SEAICE_ADVECTION'
398           ENDIF           ENDIF
399    
400  C--   Advective flux in X : done  C--   Advective flux in X : done
# Line 582  CADJ &     comlev1_bibj_k_gadice_pass, k Line 592  CADJ &     comlev1_bibj_k_gadice_pass, k
592       O         af, myThid )       O         af, myThid )
593  #endif  #endif
594           ELSE           ELSE
595            STOP             WRITE(msgBuf,'(A,I3,A)')
596       &  'SEAICE_ADVECTION: adv. scheme incompatibale with mutli-dim'       &      'SEAICE_ADVECTION: adv. scheme ', advectionScheme,
597         &      ' incompatibale with multi-dim. adv.'
598               CALL PRINT_ERROR( msgBuf, myThid )
599               STOP 'ABNORMAL END: S/R SEAICE_ADVECTION'
600           ENDIF           ENDIF
601    
602  C-     Advective flux in Y : done  C-     Advective flux in Y : done

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.3

  ViewVC Help
Powered by ViewVC 1.1.22