/[MITgcm]/MITgcm/pkg/generic_advdiff/gad_som_advect.F
ViewVC logotype

Diff of /MITgcm/pkg/generic_advdiff/gad_som_advect.F

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

revision 1.9 by jmc, Mon Jun 6 15:44:00 2011 UTC revision 1.10 by jmc, Mon Mar 5 17:59:15 2012 UTC
# Line 81  C  afx           :: 2-D array for horizo Line 81  C  afx           :: 2-D array for horizo
81  C  afy           :: 2-D array for horizontal advective flux, y direction  C  afy           :: 2-D array for horizontal advective flux, y direction
82  C  afr           :: 2-D array for vertical advective flux  C  afr           :: 2-D array for vertical advective flux
83  C  fVerT         :: 2 1/2D arrays for vertical advective flux  C  fVerT         :: 2 1/2D arrays for vertical advective flux
 C  localTij      :: 2-D array, temporary local copy of tracer fld  
84  C  calc_fluxes_X :: logical to indicate to calculate fluxes in X dir  C  calc_fluxes_X :: logical to indicate to calculate fluxes in X dir
85  C  calc_fluxes_Y :: logical to indicate to calculate fluxes in Y dir  C  calc_fluxes_Y :: logical to indicate to calculate fluxes in Y dir
86  C  interiorOnly  :: only update the interior of myTile, but not the edges  C  interiorOnly  :: only update the interior of myTile, but not the edges
# Line 106  C  msgBuf        :: Informational/error Line 105  C  msgBuf        :: Informational/error
105        _RL afx     (1-OLx:sNx+OLx,1-OLy:sNy+OLy)        _RL afx     (1-OLx:sNx+OLx,1-OLy:sNy+OLy)
106        _RL afy     (1-OLx:sNx+OLx,1-OLy:sNy+OLy)        _RL afy     (1-OLx:sNx+OLx,1-OLy:sNy+OLy)
107        _RL afr     (1-OLx:sNx+OLx,1-OLy:sNy+OLy)        _RL afr     (1-OLx:sNx+OLx,1-OLy:sNy+OLy)
 ccc   _RL localTij(1-OLx:sNx+OLx,1-OLy:sNy+OLy)  
108        _RL  smVol  (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr)        _RL  smVol  (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr)
109        _RL  smTr0  (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr)        _RL  smTr0  (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr)
110        _RL  alp    (1-OLx:sNx+OLx,1-OLy:sNy+OLy,2)        _RL  alp    (1-OLx:sNx+OLx,1-OLy:sNy+OLy,2)
# Line 329  C-     Solve advection in X and update m Line 327  C-     Solve advection in X and update m
327       I                     overlapOnly, interiorOnly,       I                     overlapOnly, interiorOnly,
328       I                     N_edge, S_edge, E_edge, W_edge,       I                     N_edge, S_edge, E_edge, W_edge,
329       I                     deltaTLev(k), uTrans,       I                     deltaTLev(k), uTrans,
330         I                     maskInC(1-OLx,1-OLy,bi,bj),
331       U                     smVol(1-OLx,1-OLy,k),       U                     smVol(1-OLx,1-OLy,k),
332       U                     smTr0(1-OLx,1-OLy,k),       U                     smTr0(1-OLx,1-OLy,k),
333       U                     smTr(1-OLx,1-OLy,k,bi,bj,1),       U                     smTr(1-OLx,1-OLy,k,bi,bj,1),
# Line 345  C-     Solve advection in X and update m Line 344  C-     Solve advection in X and update m
344             STOP 'GAD_SOM_ADVECT: adv. scheme incompatibale with SOM'             STOP 'GAD_SOM_ADVECT: adv. scheme incompatibale with SOM'
345            ENDIF            ENDIF
346    
 #ifdef ALLOW_OBCS  
 C-     Apply open boundary conditions  
 c         IF ( useOBCS ) THEN  
 ccc        localTij(i,j) = smTr0(i,j)/smVol(i,j)  
 c          IF (tracerIdentity.EQ.GAD_TEMPERATURE) THEN  
 c           CALL OBCS_APPLY_TLOC( bi, bj, k, localTij, myThid )  
 c          ELSEIF (tracerIdentity.EQ.GAD_SALINITY) THEN  
 c           CALL OBCS_APPLY_SLOC( bi, bj, k, localTij, myThid )  
 #ifdef ALLOW_PTRACERS  
 c          ELSEIF (tracerIdentity.GE.GAD_TR1) THEN  
 c           CALL OBCS_APPLY_PTRACER( bi, bj, k,  
 c    &             tracerIdentity-GAD_TR1+1, localTij, myThid )  
 #endif /* ALLOW_PTRACERS */  
 c          ENDIF  
 ccc        smTr0(i,j) = localTij(i,j)*smVol(i,j)  
 c         ENDIF  
 #endif /* ALLOW_OBCS */  
   
347  C--   End of X direction  C--   End of X direction
348          ENDIF          ENDIF
349    
# Line 393  C-     Solve advection in Y and update m Line 374  C-     Solve advection in Y and update m
374       I                     overlapOnly, interiorOnly,       I                     overlapOnly, interiorOnly,
375       I                     N_edge, S_edge, E_edge, W_edge,       I                     N_edge, S_edge, E_edge, W_edge,
376       I                     deltaTLev(k), vTrans,       I                     deltaTLev(k), vTrans,
377         I                     maskInC(1-OLx,1-OLy,bi,bj),
378       U                     smVol(1-OLx,1-OLy,k),       U                     smVol(1-OLx,1-OLy,k),
379       U                     smTr0(1-OLx,1-OLy,k),       U                     smTr0(1-OLx,1-OLy,k),
380       U                     smTr(1-OLx,1-OLy,k,bi,bj,1),       U                     smTr(1-OLx,1-OLy,k,bi,bj,1),
# Line 409  C-     Solve advection in Y and update m Line 391  C-     Solve advection in Y and update m
391             STOP 'GAD_SOM_ADVECT: adv. scheme incompatibale with SOM'             STOP 'GAD_SOM_ADVECT: adv. scheme incompatibale with SOM'
392            ENDIF            ENDIF
393    
 #ifdef ALLOW_OBCS  
 C-     Apply open boundary conditions  
 c         IF (useOBCS) THEN  
 ccc        localTij(i,j) = smTr0(i,j)/smVol(i,j)  
 c          IF (tracerIdentity.EQ.GAD_TEMPERATURE) THEN  
 c           CALL OBCS_APPLY_TLOC( bi, bj, k, localTij, myThid )  
 c          ELSEIF (tracerIdentity.EQ.GAD_SALINITY) THEN  
 c           CALL OBCS_APPLY_SLOC( bi, bj, k, localTij, myThid )  
 #ifdef ALLOW_PTRACERS  
 c          ELSEIF (tracerIdentity.GE.GAD_TR1) THEN  
 c           CALL OBCS_APPLY_PTRACER( bi, bj, k,  
 c    &             tracerIdentity-GAD_TR1+1, localTij, myThid )  
 #endif /* ALLOW_PTRACERS */  
 c          ENDIF  
 ccc        smTr0(i,j) = localTij(i,j)*smVol(i,j)  
 c         ENDIF  
 #endif /* ALLOW_OBCS */  
   
394  C--   End of Y direction  C--   End of Y direction
395          ENDIF          ENDIF
396    
# Line 593  C-    Compute vertical advective flux in Line 557  C-    Compute vertical advective flux in
557             CALL GAD_SOM_ADV_R(             CALL GAD_SOM_ADV_R(
558       I                     bi,bj,k, kUp, kDown,       I                     bi,bj,k, kUp, kDown,
559       I                     deltaTLev(k), rTrans, maskUp,       I                     deltaTLev(k), rTrans, maskUp,
560         I                     maskInC(1-OLx,1-OLy,bi,bj),
561       U                     smVol,       U                     smVol,
562       U                     smTr0,       U                     smTr0,
563       U                     smTr(1-OLx,1-OLy,1,bi,bj,1),       U                     smTr(1-OLx,1-OLy,1,bi,bj,1),

Legend:
Removed from v.1.9  
changed lines
  Added in v.1.10

  ViewVC Help
Powered by ViewVC 1.1.22