/[MITgcm]/MITgcm/model/src/external_forcing.F
ViewVC logotype

Diff of /MITgcm/model/src/external_forcing.F

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

revision 1.42 by jmc, Thu May 3 21:41:35 2007 UTC revision 1.43 by dimitri, Sun Jul 22 23:51:16 2007 UTC
# Line 396  C     == Global data == Line 396  C     == Global data ==
396  #include "DYNVARS.h"  #include "DYNVARS.h"
397  #include "FFIELDS.h"  #include "FFIELDS.h"
398  #include "SURFACE.h"  #include "SURFACE.h"
399    #ifdef ALLOW_SALT_PLUME
400    #ifdef ALLOW_SEAICE
401    #include "SEAICE.h"
402    #endif /* ALLOW_SEAICE */
403    #endif /* ALLOW_SALT_PLUME */
404    
405  C     !INPUT/OUTPUT PARAMETERS:  C     !INPUT/OUTPUT PARAMETERS:
406  C     == Routine arguments ==  C     == Routine arguments ==
# Line 416  C     kSurface  :: index of surface laye Line 421  C     kSurface  :: index of surface laye
421        INTEGER i, j        INTEGER i, j
422        INTEGER kSurface        INTEGER kSurface
423  CEOP  CEOP
424    #ifdef ALLOW_SALT_PLUME
425         _RL saltPlume
426    #endif /* ALLOW_SALT_PLUME */
427    
428        IF ( fluidIsAir ) THEN        IF ( fluidIsAir ) THEN
429         kSurface = 0         kSurface = 0
# Line 475  C     Add fresh-water in top-layer Line 483  C     Add fresh-water in top-layer
483       I     myTime, myThid )       I     myTime, myThid )
484  #endif /* ALLOW_SHELFICE */  #endif /* ALLOW_SHELFICE */
485    
486    #ifdef ALLOW_SALT_PLUME
487    C saltPlume is the amount of salt rejected by ice while freezing;
488    C it is here redistributed to multiple vertical levels as per
489    C Duffy et al. (GRL 1999)
490           DO j=1,sNy
491            DO i=1,sNx
492              saltPlume = 0.
493    #ifdef ALLOW_SEAICE
494              IF ( saltFlux(i,j,bi,bj) .GT. 0. .AND.
495         &         salt(i,j,ks,bi,bj)  .GT. SEAICE_salinity ) THEN
496               saltPlume = (salt(i,j,ks,bi,bj)-SEAICE_salinity) *
497         &          saltFlux(i,j,bi,bj) / salt(i,j,ks,bi,bj)
498              ENDIF
499    #endif /* ALLOW_SEAICE */
500              IF ( SaltPlumeDepth(i,j,bi,bj) .GT. -rF(kLev) ) THEN
501               gS(i,j,kLev,bi,bj)=gS(i,j,kLev,bi,bj)
502         &          +saltPlume*horiVertRatio*recip_rhoConst
503         &          *recip_drF(kLev)*_recip_hFacC(i,j,kLev,bi,bj)
504         &          *max(drF(kLev),SaltPlumeDepth(i,j,bi,bj)+rF(kLev))
505         &          /SaltPlumeDepth(i,j,bi,bj)
506            ENDDO
507           ENDDO
508    #endif /* ALLOW_SALT_PLUME */
509    
510  #ifdef ALLOW_RBCS  #ifdef ALLOW_RBCS
511         if (useRBCS) then         if (useRBCS) then
512            call RBCS_ADD_TENDENCY(bi,bj,klev, 2,            call RBCS_ADD_TENDENCY(bi,bj,klev, 2,
513       &                            myTime, myThid )       &                            myTime, myThid )
514         endif         endif
515  #endif  #endif /* ALLOW_RBCS */
516    
517  #ifdef ALLOW_OBCS  #ifdef ALLOW_OBCS
518        IF (useOBCS) THEN        IF (useOBCS) THEN
# Line 488  C     Add fresh-water in top-layer Line 520  C     Add fresh-water in top-layer
520       I           iMin,iMax, jMin,jMax, bi,bj, kLev,       I           iMin,iMax, jMin,jMax, bi,bj, kLev,
521       I           myTime, myThid )       I           myTime, myThid )
522        ENDIF        ENDIF
523  #endif  #endif /* ALLOW_OBCS */
524    
525        RETURN        RETURN
526        END        END

Legend:
Removed from v.1.42  
changed lines
  Added in v.1.43

  ViewVC Help
Powered by ViewVC 1.1.22