Changeset 14557


Ignore:
Timestamp:
2021-03-01T13:20:08+01:00 (9 months ago)
Author:
smueller
Message:

Synchronisation of the OSMOSIS boundary layer scheme with the version developed in branch /NEMO/branches/NERC/dev_r11078_OSMOSIS_IMMERSE_Nurser_4.0: minor bugfix and partial reversal of changeset [14305] (ticket #2353)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2021/dev_r14122_HPC-08_Mueller_OSMOSIS_streamlining/src/OCE/ZDF/zdfosm.F90

    r14556 r14557  
    235235      REAL(wp) :: zt,zs,zu,zv,zrh               ! variables used in constructing averages 
    236236! Scales 
    237       REAL(wp)   :: zrad0                       ! Surface solar temperature flux (deg m/s) 
    238       REAL(wp)   :: zradh                       ! Radiative flux at bl base (Buoyancy units) 
     237      REAL(wp), DIMENSION(jpi,jpj) :: zrad0     ! Surface solar temperature flux (deg m/s) 
     238      REAL(wp), DIMENSION(jpi,jpj) :: zradh     ! Radiative flux at bl base (Buoyancy units) 
    239239      REAL(wp)   :: zradav                      ! Radiative flux, bl average (Buoyancy Units) 
    240240      REAL(wp), DIMENSION(jpi,jpj) :: zustar    ! friction velocity 
     
    333333      IF( ln_timing ) CALL timing_start('zdf_osm') 
    334334      ibld(:,:)   = 0     ; imld(:,:)  = 0 
    335       zustar(:,:) = 0.0_wp 
     335      zrad0(:,:)  = 0.0_wp ; zradh(:,:) = 0.0_wp ; zustar(:,:) = 0.0_wp 
    336336      zwstrl(:,:) = 0._wp ; zvstr(:,:) = 0._wp ; zwstrc(:,:)    = 0._wp 
    337337      zwth0(:,:)  = 0.0_wp ; zws0(:,:)  = 0.0_wp ; zwb0(:,:)      = 0.0_wp 
     
    379379      zz1 =  1.0_wp - rn_abs 
    380380      DO_2D( 0, 0, 0, 0 ) 
    381          zrad0         = qsr(ji,jj) * r1_rho0_rcp                          ! Surface downward irradiance (so always +ve) 
    382          zradh         = zrad0 *                                       &   ! Downwards irradiance at base of boundary layer 
     381         zrad0(ji,jj)  = qsr(ji,jj) * r1_rho0_rcp                          ! Surface downward irradiance (so always +ve) 
     382         zradh(ji,jj)  = zrad0(ji,jj) *                                &   ! Downwards irradiance at base of boundary layer 
    383383            &            ( zz0 * EXP( -1.0_wp * hbl(ji,jj) / rn_si0 ) + zz1 * EXP( -1.0_wp * hbl(ji,jj) / rn_si1 ) ) 
    384          zradav        = zrad0 *                                       &   ! Downwards irradiance averaged over depth of the OSBL 
     384         zradav        = zrad0(ji,jj) *                                &   ! Downwards irradiance averaged over depth of the OSBL 
    385385            &     ( zz0 * ( 1.0_wp - EXP( -hbl(ji,jj)/rn_si0 ) ) * rn_si0 +   & 
    386386            &       zz1 * ( 1.0_wp - EXP( -hbl(ji,jj)/rn_si1 ) ) * rn_si1 ) / hbl(ji,jj) 
    387387         zwth0(ji,jj)  = - qns(ji,jj) * r1_rho0_rcp * tmask(ji,jj,1)       ! Upwards surface Temperature flux for non-local term 
    388388         zwthav(ji,jj) = 0.5_wp * zwth0(ji,jj) -                       &   ! Turbulent heat flux averaged over depth of OSBL 
    389             &            ( 0.5_wp * ( zrad0 + zradh ) - zradav ) 
     389            &            ( 0.5_wp * ( zrad0(ji,jj) + zradh(ji,jj) ) - zradav ) 
    390390     END_2D 
    391391     DO_2D( 0, 0, 0, 0 ) 
     
    397397           &             grav * zbeta * zws0(ji,jj) 
    398398        zwb0tot(ji,jj) = zwb0(ji,jj) - grav * zthermal *               &   ! Total upwards surface buoyancy flux 
    399            &                           ( zrad0(ji,jj) - zradh(ji,j) ) 
     399           &                           ( zrad0(ji,jj) - zradh(ji,jj) ) 
    400400        zwsav(ji,jj)   = 0.5 * zws0(ji,jj)                                 ! Turbulent salinity flux averaged over depth of the OBSL 
    401401        zwbav(ji,jj)   = grav  * zthermal * zwthav(ji,jj) -            &   ! Turbulent buoyancy flux averaged over the depth of the 
Note: See TracChangeset for help on using the changeset viewer.