Ignore:
Timestamp:
Jun 1, 2007 3:25:22 PM (14 years ago)
Author:
raasch
Message:

preliminary uncomplete changes for ocean version

File:
1 edited

Legend:

Unmodified
Added
Removed
  • palm/trunk/SOURCE/flow_statistics.f90

    r90 r94  
    44! Actual revisions:
    55! -----------------
    6 !
     6! Calculation of Deardorff velocity scale adjusted to be used with the ocean
     7! version (HAS STILL TO BE COMPLETED!!!)
    78!
    89! Former revisions:
     
    784785!
    785786!--    Determine the boundary layer height using two different schemes.
    786 !--    First scheme: Starting from the Earth's surface, look for the first
    787 !--    relative minimum of the total heat flux. The corresponding height is
    788 !--    accepted as the boundary layer height, if it is less than 1.5 times the
    789 !--    height where the heat flux becomes negative for the first time.
     787!--    First scheme: Starting from the Earth's (Ocean's) surface, look for the
     788!--    first relative minimum (maximum) of the total heat flux.
     789!--    The corresponding height is assumed as the boundary layer height, if it
     790!--    is less than 1.5 times the height where the heat flux becomes negative
     791!--    (positive) for the first time.
    790792!--    NOTE: This criterion is still capable of improving!
    791793       z_i(1) = 0.0
    792794       first = .TRUE.
    793        DO  k = nzb, nzt-1
    794           IF ( first .AND. hom(k,1,18,sr) < 0.0 )  THEN
    795              first = .FALSE.
    796              height = zw(k)
    797           ENDIF
    798           IF ( hom(k,1,18,sr) < 0.0  .AND. &
    799                hom(k+1,1,18,sr) > hom(k,1,18,sr) )  THEN
    800              IF ( zw(k) < 1.5 * height )  THEN
    801                 z_i(1) = zw(k)
    802              ELSE
    803                 z_i(1) = height
     795!       IF ( .NOT. ocean )  THEN
     796          DO  k = nzb, nzt-1
     797             IF ( first .AND. hom(k,1,18,sr) < 0.0 )  THEN
     798                first = .FALSE.
     799                height = zw(k)
    804800             ENDIF
    805              EXIT
    806           ENDIF
    807        ENDDO
     801             IF ( hom(k,1,18,sr) < 0.0  .AND. &
     802                  hom(k+1,1,18,sr) > hom(k,1,18,sr) )  THEN
     803                IF ( zw(k) < 1.5 * height )  THEN
     804                   z_i(1) = zw(k)
     805                ELSE
     806                   z_i(1) = height
     807                ENDIF
     808                EXIT
     809             ENDIF
     810          ENDDO
     811!       ELSE
     812!       ENDIF
    808813
    809814!
     
    829834       IF ( hom(nzb,1,18,sr) > 0.0  .AND.  z_i(1) /= 0.0 )  THEN
    830835          hom(nzb+8,1,pr_palm,sr)  = ( g / hom(nzb+1,1,4,sr) * &
    831                                        hom(nzb,1,18,sr) * z_i(1) )**0.333333333
     836                                       hom(nzb,1,18,sr) *      &
     837                                       ABS( z_i(1) ) )**0.333333333
    832838!--       so far this only works if Prandtl layer is used
    833839          hom(nzb+11,1,pr_palm,sr) = hom(nzb,1,16,sr) / hom(nzb+8,1,pr_palm,sr)
Note: See TracChangeset for help on using the changeset viewer.