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

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

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

revision 1.5 by jmc, Fri May 21 17:43:04 2004 UTC revision 1.6 by jmc, Thu Jun 24 23:43:11 2004 UTC
# Line 54  C     Radiation scheme variables Line 54  C     Radiation scheme variables
54  C     Radiation constants  C     Radiation constants
55  #include "com_radcon.h"  #include "com_radcon.h"
56    
 c #include "com_sflcon.h"  
   
57  C     Logical flags  C     Logical flags
58  c_FM  include "com_lflags.h"  c_FM  include "com_lflags.h"
59    
# Line 69  C-- Local variables: Line 67  C-- Local variables:
67  C    kGrd   :: Ground level index              (2-dim)    C    kGrd   :: Ground level index              (2-dim)  
68  C    dpFac  :: cell delta_P fraction           (3-dim)  C    dpFac  :: cell delta_P fraction           (3-dim)
69  C    dTskin :: temp. correction for daily-cycle heating [K]  C    dTskin :: temp. correction for daily-cycle heating [K]
70  C    CDENVV :: sensible heat flux coefficient (1:land, 2:sea, 3:sea-ice)  C    T1s    :: near-surface air temperature (from Pot.Temp)
71    C    DENVV  :: surface flux (sens,lat.) coeff. (=Rho*|V|) [kg/m2/s]
72    C    Shf0   :: sensible heat flux over freezing surf.
73    C    dShf   :: sensible heat flux derivative relative to surf. temp
74  C    Evp0   :: evaporation computed over freezing surface (Ts=0.oC)  C    Evp0   :: evaporation computed over freezing surface (Ts=0.oC)
75  C    dEvp   :: evaporation derivative relative to surf. temp  C    dEvp   :: evaporation derivative relative to surf. temp
76  C    Slr0   :: upward long wave radiation over freezing surf.  C    Slr0   :: upward long wave radiation over freezing surf.
# Line 83  C              0: Flux(Ts=0.oC) ; 1: Flu Line 84  C              0: Flux(Ts=0.oC) ; 1: Flu
84  c_FM  REAL    RPS(NGP), ST4S(NGP)  c_FM  REAL    RPS(NGP), ST4S(NGP)
85        _RL ST4S(NGP)        _RL ST4S(NGP)
86        _RL PSG_1(NGP), RPS_1        _RL PSG_1(NGP), RPS_1
87        _RL dTskin(NGP), CDENVV(NGP,3)        _RL dTskin(NGP), T1s(NGP), DENVV(NGP)
88        _RL Evp0(NGP), dEvp(NGP), Slr0(NGP), dSlr(NGP), sFlx(NGP,0:2)        _RL Shf0(NGP), dShf(NGP), Evp0(NGP), dEvp(NGP)
89          _RL Slr0(NGP), dSlr(NGP), sFlx(NGP,0:2)
90    
91        INTEGER J, K        INTEGER J, K
92    
93    #ifdef ALLOW_CLR_SKY_DIAG
94          _RL dummyR(NGP)
95          INTEGER dummyI(NGP)
96    #endif
97  C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|  C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
98    
99  C--   1. Compute grid-point fields  C--   1. Compute grid-point fields
# Line 192  C     The sw radiation may be called at Line 198  C     The sw radiation may be called at
198    
199  c_FM    CALL RADSW (PSG,QG1,RH,ALB1,  c_FM    CALL RADSW (PSG,QG1,RH,ALB1,
200  c_FM &              ICLTOP,CLOUDC,TSR,SSR,TT_RSW)  c_FM &              ICLTOP,CLOUDC,TSR,SSR,TT_RSW)
201           ICLTOP(1) = 1
202         CALL RADSW (PSG,dpFac,QG1,RH(1,1,myThid),ALB1(1,0,myThid),         CALL RADSW (PSG,dpFac,QG1,RH(1,1,myThid),ALB1(1,0,myThid),
203       I             FSOL, OZONE, OZUPP, ZENIT, STRATZ,       I             FSOL, OZONE, OZUPP, ZENIT, STRATZ,
204       O             TAU2, STRATC,       O             TAU2, STRATC,
# Line 232  c_FM &             TS,TSKIN,U0,V0,T0,Q0) Line 239  c_FM &             TS,TSKIN,U0,V0,T0,Q0)
239       I             WVSurf(1,myThid),csLat(1,myThid),fOrogr(1,myThid),       I             WVSurf(1,myThid),csLat(1,myThid),fOrogr(1,myThid),
240       I             FMASK1(1,1,myThid),STL1(1,myThid),SST1(1,myThid),       I             FMASK1(1,1,myThid),STL1(1,myThid),SST1(1,myThid),
241       I             sti1(1,myThid), SSR(1,0,myThid),       I             sti1(1,myThid), SSR(1,0,myThid),
242       O             SPEED0(1,myThid),DRAG(1,0,myThid),CDENVV,       O             SPEED0(1,myThid),DRAG(1,0,myThid),DENVV,
243       O             dTskin,T0(1,myThid),Q0(1,myThid),       O             dTskin,T1s,T0(1,myThid),Q0(1,myThid),
244       I             kGround,bi,bj,myThid)       I             kGround,bi,bj,myThid)
245    
246        CALL SUFLUX_LAND (        CALL SUFLUX_LAND (
247       I             PSG, FMASK1(1,1,myThid), EMISFC,       I             PSG, FMASK1(1,1,myThid), EMISFC,
248       I             STL1(1,myThid), dTskin,       I             STL1(1,myThid), dTskin,
249       I             SOILW1(1,myThid), SSR(1,1,myThid), SLR(1,0,myThid),       I             SOILW1(1,myThid), SSR(1,1,myThid), SLR(1,0,myThid),
250       I             T0(1,myThid), Q0(1,myThid), CDENVV(1,1),       I             T1s, T0(1,myThid), Q0(1,myThid), DENVV,
251       O             SHF(1,1,myThid), EVAP(1,1,myThid), SLR(1,1,myThid),       O             SHF(1,1,myThid), EVAP(1,1,myThid), SLR(1,1,myThid),
252       O             Evp0, dEvp, Slr0, dSlr, sFlx,       O             Shf0, dShf, Evp0, dEvp, Slr0, dSlr, sFlx,
253       O             TS(1,myThid), TSKIN(1,myThid),       O             TS(1,myThid), TSKIN(1,myThid),
254       I             bi,bj,myThid)       I             bi,bj,myThid)
255  #ifdef ALLOW_LAND        #ifdef ALLOW_LAND      
256        CALL AIM_LAND_IMPL(        CALL AIM_LAND_IMPL(
257       I             FMASK1(1,1,myThid), dTskin,       I             FMASK1(1,1,myThid), dTskin,
258       I             Evp0, dEvp, Slr0, dSlr,       I             Shf0, dShf, Evp0, dEvp, Slr0, dSlr,
259       U             sFlx,       U             sFlx, STL1(1,myThid),
260       U             STL1(1,myThid), EVAP(1,1,myThid), SLR(1,1,myThid),       U             SHF(1,1,myThid), EVAP(1,1,myThid), SLR(1,1,myThid),
261         O             dTsurf(1,1,myThid),
262       I             bi, bj, myTime, myIter, myThid)       I             bi, bj, myTime, myIter, myThid)
263  #endif /* ALLOW_LAND */  #endif /* ALLOW_LAND */
264    
# Line 258  c_FM &             TS,TSKIN,U0,V0,T0,Q0) Line 266  c_FM &             TS,TSKIN,U0,V0,T0,Q0)
266       I             PSG, FMASK1(1,2,myThid),       I             PSG, FMASK1(1,2,myThid),
267       I             SST1(1,myThid),       I             SST1(1,myThid),
268       I             SSR(1,2,myThid), SLR(1,0,myThid),       I             SSR(1,2,myThid), SLR(1,0,myThid),
269       O             T0(1,myThid), Q0(1,myThid), CDENVV(1,2),       O             T1s, T0(1,myThid), Q0(1,myThid), DENVV,
270       O             SHF(1,2,myThid), EVAP(1,2,myThid), SLR(1,2,myThid),       O             SHF(1,2,myThid), EVAP(1,2,myThid), SLR(1,2,myThid),
271       I             bi,bj,myThid)       I             bi,bj,myThid)
272    
# Line 267  c_FM &             TS,TSKIN,U0,V0,T0,Q0) Line 275  c_FM &             TS,TSKIN,U0,V0,T0,Q0)
275       I             PSG, FMASK1(1,3,myThid), EMISFC,       I             PSG, FMASK1(1,3,myThid), EMISFC,
276       I             STI1(1,myThid), dTskin,       I             STI1(1,myThid), dTskin,
277       I             SSR(1,3,myThid), SLR(1,0,myThid),       I             SSR(1,3,myThid), SLR(1,0,myThid),
278       I             T0(1,myThid), Q0(1,myThid), CDENVV(1,3),       I             T1s, T0(1,myThid), Q0(1,myThid), DENVV,
279       O             SHF(1,3,myThid), EVAP(1,3,myThid), SLR(1,3,myThid),       O             SHF(1,3,myThid), EVAP(1,3,myThid), SLR(1,3,myThid),
280       O             Evp0, dEvp, Slr0, dSlr, sFlx,       O             Shf0, dShf, Evp0, dEvp, Slr0, dSlr, sFlx,
281       O             TS(1,myThid), TSKIN(1,myThid),       O             TS(1,myThid), TSKIN(1,myThid),
282       I             bi,bj,myThid)       I             bi,bj,myThid)
283  #ifdef ALLOW_THSICE        #ifdef ALLOW_THSICE      
284          CALL AIM_SICE_IMPL(          CALL AIM_SICE_IMPL(
285       I             FMASK1(1,3,myThid), SSR(1,3,myThid), sFlx,       I             FMASK1(1,3,myThid), SSR(1,3,myThid), sFlx,
286       I             Evp0, dEvp, Slr0, dSlr,       I             Shf0, dShf, Evp0, dEvp, Slr0, dSlr,
287       U             STI1(1,myThid), EVAP(1,3,myThid), SLR(1,3,myThid),       U             STI1(1,myThid),
288         U             SHF(1,3,myThid), EVAP(1,3,myThid), SLR(1,3,myThid),
289         O             dTsurf(1,3,myThid),
290       I             bi, bj, myTime, myIter, myThid)       I             bi, bj, myTime, myIter, myThid)
291  #endif /* ALLOW_THSICE */  #endif /* ALLOW_THSICE */
292        ELSE        ELSE
293          DO J=1,NGP          DO J=1,NGP
294              SHF (J,3,myThid) = 0. _d 0
295            EVAP(J,3,myThid) = 0. _d 0            EVAP(J,3,myThid) = 0. _d 0
296            SLR (J,3,myThid) = 0. _d 0            SLR (J,3,myThid) = 0. _d 0
297          ENDDO          ENDDO
# Line 290  c_FM &             TS,TSKIN,U0,V0,T0,Q0) Line 301  c_FM &             TS,TSKIN,U0,V0,T0,Q0)
301       I             FMASK1(1,1,myThid), EMISFC,       I             FMASK1(1,1,myThid), EMISFC,
302       I             STL1(1,myThid), SST1(1,myThid), sti1(1,myThid),       I             STL1(1,myThid), SST1(1,myThid), sti1(1,myThid),
303       I             dTskin, SLR(1,0,myThid),       I             dTskin, SLR(1,0,myThid),
304       I             T0(1,myThid), Q0(1,myThid), CDENVV,       I             T0(1,myThid), Q0(1,myThid), DENVV,
305       U             DRAG(1,0,myThid), SHF(1,0,myThid),       U             DRAG(1,0,myThid), SHF(1,0,myThid),
306       U             EVAP(1,0,myThid), SLR(1,1,myThid),       U             EVAP(1,0,myThid), SLR(1,1,myThid),
307       O             ST4S, TS(1,myThid), TSKIN(1,myThid),       O             ST4S, TS(1,myThid), TSKIN(1,myThid),
# Line 314  c_FM    TTEND (J,K)=TTEND(J,K)+TT_RSW(J, Line 325  c_FM    TTEND (J,K)=TTEND(J,K)+TT_RSW(J,
325         ENDDO         ENDDO
326        ENDDO        ENDDO
327    
328    #ifdef ALLOW_CLR_SKY_DIAG
329    C     3.5 Compute clear-sky radiation (for diagnostics only)
330          IF ( aim_clrSkyDiag ) THEN
331            
332    C      3.5.1 Compute shortwave tendencies
333           dummyI(1) = -1
334           CALL RADSW (PSG,dpFac,QG1,RH(1,1,myThid),ALB1(1,0,myThid),
335         I             FSOL, OZONE, OZUPP, ZENIT, STRATZ,
336         O             TAU2, STRATC,
337         O             dummyI, dummyR,
338         O      TSWclr(1,myThid), SSWclr(1,myThid), TT_SWclr(1,1,myThid),
339         I             kGround,bi,bj,myThid)
340    
341    C      3.5.2 Compute downward longwave fluxes
342    
343           CALL RADLW (-1,TG1,TS(1,myThid),ST4S,
344         &             OZUPP, STRATC, TAU2, FLUX, ST4A,
345         O      OLWclr(1,myThid), SLWclr(1,myThid), TT_LWclr(1,1,myThid),
346         I             kGround,bi,bj,myThid)
347    
348    C      3.5.3 Compute upward longwave fluxes, convert them to tendencies
349    
350           CALL RADLW (1,TG1,TS(1,myThid),ST4S,
351         &            OZUPP, STRATC, TAU2, FLUX, ST4A,
352         O      OLWclr(1,myThid), SLWclr(1,myThid), TT_LWclr(1,1,myThid),
353         I            kGround,bi,bj,myThid)
354    
355           DO K=1,NLEV
356            DO J=1,NGP
357              TT_SWclr(J,K,myThid)=TT_SWclr(J,K,myThid)*RPS_1*GRDSCP(K)
358              TT_LWclr(J,K,myThid)=TT_LWclr(J,K,myThid)*RPS_1*GRDSCP(K)
359            ENDDO
360           ENDDO
361    
362          ENDIF
363    #endif /* ALLOW_CLR_SKY_DIAG */
364    
365  C--   4. PBL interactions with lower troposphere  C--   4. PBL interactions with lower troposphere
366    
367  C     4.1 Vertical diffusion and shallow convection  C     4.1 Vertical diffusion and shallow convection

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

  ViewVC Help
Powered by ViewVC 1.1.22