/[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.60 by dimitri, Fri Mar 2 01:45:22 2012 UTC revision 1.61 by jmc, Fri Nov 9 22:49:17 2012 UTC
# Line 272  C     kSurface  :: index of surface laye Line 272  C     kSurface  :: index of surface laye
272        INTEGER i, j        INTEGER i, j
273        INTEGER kSurface        INTEGER kSurface
274  CEOP  CEOP
275    #ifdef ALLOW_FRICTION_HEATING
276          _RL tmpFac
277    #endif
278  #ifdef SHORTWAVE_HEATING  #ifdef SHORTWAVE_HEATING
279        integer two        integer two
280        _RL minusone        _RL minusone
# Line 330  C    &          *recip_deepFac2C(kLev)*r Line 333  C    &          *recip_deepFac2C(kLev)*r
333        ENDIF        ENDIF
334  #endif /* ALLOW_ADDFLUID */  #endif /* ALLOW_ADDFLUID */
335    
336    #ifdef ALLOW_FRICTION_HEATING
337          IF ( addFrictionHeating ) THEN
338            IF ( fluidIsAir ) THEN
339    C         conversion from in-situ Temp to Pot.Temp
340              tmpFac = (atm_Po/rC(kLev))**atm_kappa
341    C         conversion from W/m^2/r_unit to K/s
342              tmpFac = (tmpFac/atm_Cp) * mass2rUnit
343            ELSE
344    C         conversion from W/m^2/r_unit to K/s
345              tmpFac = recip_Cp * mass2rUnit
346            ENDIF
347            DO j=1,sNy
348              DO i=1,sNx
349                gT(i,j,kLev,bi,bj) = gT(i,j,kLev,bi,bj)
350         &         + frictionHeating(i,j,kLev,bi,bj)
351         &          *tmpFac*recip_rA(i,j,bi,bj)
352         &          *recip_drF(kLev)*_recip_hFacC(i,j,kLev,bi,bj)
353              ENDDO
354            ENDDO
355          ENDIF
356    #endif /* ALLOW_FRICTION_HEATING */
357    
358  C     Add heat in top-layer  C     Add heat in top-layer
359        IF ( kLev .EQ. kSurface ) THEN        IF ( kLev .EQ. kSurface ) THEN
360         DO j=1,sNy         DO j=1,sNy
# Line 344  C     Add heat in top-layer Line 369  C     Add heat in top-layer
369        IF (linFSConserveTr) THEN        IF (linFSConserveTr) THEN
370         DO j=1,sNy         DO j=1,sNy
371          DO i=1,sNx          DO i=1,sNx
372            IF (kLev .EQ. ksurfC(i,j,bi,bj)) THEN            IF (kLev .EQ. kSurfC(i,j,bi,bj)) THEN
373              gT(i,j,kLev,bi,bj)=gT(i,j,kLev,bi,bj)              gT(i,j,kLev,bi,bj)=gT(i,j,kLev,bi,bj)
374       &        +TsurfCor*recip_drF(kLev)*_recip_hFacC(i,j,kLev,bi,bj)       &        +TsurfCor*recip_drF(kLev)*_recip_hFacC(i,j,kLev,bi,bj)
375            ENDIF            ENDIF
# Line 541  C     Add fresh-water in top-layer Line 566  C     Add fresh-water in top-layer
566        IF (linFSConserveTr) THEN        IF (linFSConserveTr) THEN
567         DO j=1,sNy         DO j=1,sNy
568          DO i=1,sNx          DO i=1,sNx
569            IF (kLev .EQ. ksurfC(i,j,bi,bj)) THEN            IF (kLev .EQ. kSurfC(i,j,bi,bj)) THEN
570              gS(i,j,kLev,bi,bj)=gS(i,j,kLev,bi,bj)              gS(i,j,kLev,bi,bj)=gS(i,j,kLev,bi,bj)
571       &        +SsurfCor*recip_drF(kLev)*_recip_hFacC(i,j,kLev,bi,bj)       &        +SsurfCor*recip_drF(kLev)*_recip_hFacC(i,j,kLev,bi,bj)
572            ENDIF            ENDIF

Legend:
Removed from v.1.60  
changed lines
  Added in v.1.61

  ViewVC Help
Powered by ViewVC 1.1.22