/[MITgcm]/MITgcm/pkg/aim_v23/phy_suflux_sice.F
ViewVC logotype

Diff of /MITgcm/pkg/aim_v23/phy_suflux_sice.F

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

revision 1.4 by jmc, Thu Jun 24 23:43:11 2004 UTC revision 1.5 by jmc, Thu Jul 22 22:58:38 2004 UTC
# Line 91  CEOP Line 91  CEOP
91    
92  C-- Local variables:  C-- Local variables:
93  C    CDENVV :: surf. heat flux (sens.,lat.) coeff including stability effect  C    CDENVV :: surf. heat flux (sens.,lat.) coeff including stability effect
94    C    ALHevp :: Latent Heat of evaporation
95        _RL CDENVV(NGP), RDTH, FSSICE        _RL CDENVV(NGP), RDTH, FSSICE
96        _RL Fstb0, dTstb, dFstb        _RL ALHevp, Fstb0, dTstb, dFstb
97        _RL QSAT0(NGP,2)        _RL QSAT0(NGP,2)
98        _RL QDUMMY(1), RDUMMY(1), TS2        _RL QDUMMY(1), RDUMMY(1), TS2
99        INTEGER J        INTEGER J
100    
101  C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|  C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
102    
103          ALHevp = ALHC
104    C     Evap of snow/ice: account for Latent Heat of freezing :
105          IF ( aim_energPrecip ) ALHevp = ALHC + ALHF
106    
107  C     1.5 Define effective skin temperature to compensate for  C     1.5 Define effective skin temperature to compensate for
108  C         non-linearity of heat/moisture fluxes during the daily cycle  C         non-linearity of heat/moisture fluxes during the daily cycle
109    
# Line 109  c       TSFC(J)=273.16 _d 0 + dTskin(J) Line 114  c       TSFC(J)=273.16 _d 0 + dTskin(J)
114          TSFC(J)=273.16 _d 0          TSFC(J)=273.16 _d 0
115        ENDDO        ENDDO
116    
   
117  C--   2. Computation of fluxes over land and sea  C--   2. Computation of fluxes over land and sea
118    
119  C     2.1 Stability correction  C     2.1 Stability correction
# Line 127  C note: to avoid discontinuity in the de Line 131  C note: to avoid discontinuity in the de
131  C   the derivative using the discrete form: F(Ts+dTstab)-F(Ts-dTstab)/2.dTstab  C   the derivative using the discrete form: F(Ts+dTstab)-F(Ts-dTstab)/2.dTstab
132         DO J=1,NGP         DO J=1,NGP
133          Fstb0 = 1.+MIN(DTHETA,MAX(-DTHETA,TSFC(J) -T1(J)))*RDTH          Fstb0 = 1.+MIN(DTHETA,MAX(-DTHETA,TSFC(J) -T1(J)))*RDTH
134          Shf0(J) = CHL*DENVV(J)*Fstb0          Shf0(J) = CHS*DENVV(J)*Fstb0
135          dTstb = ( DTHETA+dTstab-ABS(TSKIN(J)-T1(J)) )/dTstab          dTstb = ( DTHETA+dTstab-ABS(TSKIN(J)-T1(J)) )/dTstab
136          dFstb = RDTH*MIN(1. _d 0, MAX(0. _d 0, dTstb*0.5 _d 0))          dFstb = RDTH*MIN(1. _d 0, MAX(0. _d 0, dTstb*0.5 _d 0))
137          dShf(J) = CHL*DENVV(J)*dFstb          dShf(J) = CHS*DENVV(J)*dFstb
138         ENDDO         ENDDO
139    C-    deBug part:
140    c      J = 6 + (17-1)*sNx
141    c      IF ( bi.EQ.3 .AND. J.LE.NGP )
142    c    &  WRITE(6,1020)'SUFLUX_SICE: Stab=',Shf0(J),CDENVV(J),dShf(J)
143        ENDIF        ENDIF
144    
145  C     2.2 Evaporation  C     2.2 Evaporation
# Line 166  C-    account for stability function der Line 174  C-    account for stability function der
174          Shf0(J) =   Shf0(J)*CP*(TSFC(J) -T0(J))          Shf0(J) =   Shf0(J)*CP*(TSFC(J) -T0(J))
175          dShf(J) = CDENVV(J)*CP          dShf(J) = CDENVV(J)*CP
176       &            + dShf(J)*CP*(TSKIN(J)-T0(J))       &            + dShf(J)*CP*(TSKIN(J)-T0(J))
177            dShf(J) = MAX( dShf(J), 0. _d 0 )
178    C--   do not allow negative derivative vs Ts of Sensible+Latent H.flux:
179    C     a) quiet unrealistic ;
180    C     b) garantee positive deriv. of total H.flux (needed for implicit solver)
181            dEvp(J) = MAX( dEvp(J), -dShf(J)/ALHevp )
182         ENDDO         ENDDO
183        ELSE        ELSE
184         DO J=1,NGP         DO J=1,NGP
185          SHF(J)  = CDENVV(J)*CP*(TSKIN(J)-T0(J))          SHF(J)  = CDENVV(J)*CP*(TSKIN(J)-T0(J))
186          Shf0(J) = CDENVV(J)*CP*(TSFC(J) -T0(J))          Shf0(J) = CDENVV(J)*CP*(TSFC(J) -T0(J))
187          dShf(J) = CDENVV(J)*CP          dShf(J) = CDENVV(J)*CP
         dShf(J) = MAX( dShf(J), 0. _d 0 )  
188         ENDDO         ENDDO
189        ENDIF        ENDIF
190    
# Line 189  C     2.4 Emission of lw radiation from Line 201  C     2.4 Emission of lw radiation from
201  C--   Compute net surface heat flux and its derivative ./. surf. temp.  C--   Compute net surface heat flux and its derivative ./. surf. temp.
202        DO J=1,NGP        DO J=1,NGP
203          sFlx(J,0)= ( SLRD(J) - EMISloc*Slr0(J) )          sFlx(J,0)= ( SLRD(J) - EMISloc*Slr0(J) )
204       &           - ( Shf0(J) + ALHC*Evp0(J) )       &           - ( Shf0(J) + ALHevp*Evp0(J) )
205          sFlx(J,1)= ( SLRD(J) - EMISloc*SLRU(J) )          sFlx(J,1)= ( SLRD(J) - EMISloc*SLRU(J) )
206       &           - ( SHF(J) + ALHC*EVAP(J) )       &           - ( SHF(J)  + ALHevp*EVAP(J) )
207          sFlx(J,2)=            -EMISloc*dSlr(J)          sFlx(J,2)=            -EMISloc*dSlr(J)
208       &           - ( dShf(J) + ALHC*dEvp(J) )       &           - ( dShf(J) + ALHevp*dEvp(J) )
209        ENDDO        ENDDO
210        IF ( aim_energPrecip ) THEN  
211  C-     Evap of snow/ice: substract Latent Heat of freezing from heatFlux  C-    deBug part:   -----------------
212         DO J=1,NGP  c1010 FORMAT(A,I3,2F10.3,F10.4)
213           sFlx(J,0) = sFlx(J,0) - ALHF*Evp0(J)  c1020 FORMAT(A,1P4E11.3)
214           sFlx(J,1) = sFlx(J,1) - ALHF*EVAP(J)  c     J = 6 + (17-1)*sNx
215           sFlx(J,2) = sFlx(J,2) - ALHF*dEvp(J)  c     IF ( bi.EQ.3 .AND. J.LE.NGP ) THEN
216         ENDDO  c       WRITE(6,1010) 'SUFLUX_SICE: 1,sFlx=', 1,
217        ENDIF  c    &                                    sFlx(J,0),sFlx(J,1),sFlx(J,2)
218    c       WRITE(6,1010) 'SUFLUX_SICE: 0,Evap=', 0,Evp0(J),EVAP(J),dEvp(J)
219    c       WRITE(6,1010) 'SUFLUX_SICE: -,LWup=',-1,Slr0(J),SLRU(J),dSlr(J)
220    c       WRITE(6,1010) 'SUFLUX_SICE: -, SHF=',-1,Shf0(J),SHF(J), dShf(J)
221    c       WRITE(6,1010) 'SUFLUX_SICE: -, LAT=',-1,
222    c    &                     ALHevp*Evp0(J),ALHevp*EVAP(J),ALHevp*dEvp(J)
223    c     ENDIF
224    
225  C--   3. Adjustment of skin temperature and fluxes over land  C--   3. Adjustment of skin temperature and fluxes over land
226  C--      based on energy balance (to be implemented)  C--      based on energy balance (to be implemented)

Legend:
Removed from v.1.4  
changed lines
  Added in v.1.5

  ViewVC Help
Powered by ViewVC 1.1.22