Ticket #105: bkpp.patch

File bkpp.patch, 2.9 KB (added by kate, 17 years ago)
  • lmd_bkpp.F

     
    7373     &                    OCEAN(ng) % u,                                &
    7474     &                    OCEAN(ng) % v,                                &
    7575     &                    OCEAN(ng) % pden,                             &
     76     &                    FORCES(ng) % srflx,                           &
    7677     &                    FORCES(ng) % btflx,                           &
    7778     &                    FORCES(ng) % bustr,                           &
    7879     &                    FORCES(ng) % bvstr,                           &
     
    9899# endif
    99100     &                          f, h, Hz, z_r, z_w,                     &
    100101     &                          u, v, pden,                             &
    101      &                          btflx,  bustr, bvstr,                   &
     102     &                          srflx, btflx,  bustr, bvstr,            &
    102103     &                          alpha,                                  &
    103104# ifdef SALINITY
    104105     &                          beta,                                   &
     
    136137      real(r8), intent(in) :: u(LBi:,LBj:,:,:)
    137138      real(r8), intent(in) :: v(LBi:,LBj:,:,:)
    138139      real(r8), intent(in) :: pden(LBi:,LBj:,:)
     140      real(r8), intent(in) :: srflx(LBi:,LBj:)
    139141      real(r8), intent(in) :: btflx(LBi:,LBj:,:)
    140142      real(r8), intent(in) :: bustr(LBi:,LBj:)
    141143      real(r8), intent(in) :: bvstr(LBi:,LBj:)
     
    161163      real(r8), intent(in) :: u(LBi:UBi,LBj:UBj,N(ng),3)
    162164      real(r8), intent(in) :: v(LBi:UBi,LBj:UBj,N(ng),3)
    163165      real(r8), intent(in) :: pden(LBi:UBi,LBj:UBj,N(ng))
     166      real(r8), intent(in) :: srflx(LBi:UBi,LBj:UBj)
    164167      real(r8), intent(in) :: btflx(LBi:UBi,LBj:UBj,NT(ng))
    165168      real(r8), intent(in) :: bustr(LBi:UBi,LBj:UBj)
    166169      real(r8), intent(in) :: bvstr(LBi:UBi,LBj:UBj)
     
    299302# else
    300303          Bo(i,j)=g*alpha(i,j)*btflx(i,j,itemp)
    301304# endif
    302           Bosol(i,j)=0.0_r8
     305          Bosol(i,j)=g*alpha(i,j)*srflx(i,j)
    303306        END DO
    304307      END DO
    305308!
     
    565568     &                    NghostPoints, EWperiodic, NSperiodic,         &
    566569     &                    hbbl)
    567570#  endif
     571!
     572!  Shapiro filter on boundary layer thickness
     573!
     574      DO j=Jstr,Jend
     575        DO i=Istr,Iend
     576          bl_dpth(i,j)=hbbl(i,j)-z_w(i,j,0)
     577        END DO
     578      END DO
    568579      CALL shapiro2d_tile (ng, iNLM, Istr, Iend, Jstr, Jend,            &
    569580     &                     LBi, UBi, LBj, UBj,                          &
    570581#  ifdef MASKING
    571582     &                     rmask,                                       &
    572583#  endif
    573      &                     hbbl)
     584     &                     bl_dpth)
     585      DO j=Jstr,Jend
     586        DO i=Istr,Iend
     587          hbbl(i,j)=bl_dpth(i,j)+z_w(i,j,0)
     588        END DO
     589      END DO
    574590# endif
    575591!
    576592!  Apply gradient or periodic boundary conditions.