Changeset 14565


Ignore:
Timestamp:
2021-03-01T21:25:30+01:00 (7 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: transfer of changesets [14515,14519,14536] and completion of the transfer of changeset [14405] (ticket #2353)

File:
1 edited

Legend:

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

    r14564 r14565  
    14691469                ! OSBL is deepening, entrainment > restratification 
    14701470                IF ( zdb_bl(ji,jj) > 1e-15 ) THEN 
    1471                    zgamma_b_nd = MAX( zdbdz_bl_ext(ji,jj), 0.0_wp ) * zdh(ji,jj) / zdb_ml(ji,jj) 
     1471                   zgamma_b_nd = MAX( zdbdz_bl_ext(ji,jj), 0.0_wp ) * zdh(ji,jj) / ( zvel_max + MAX( zdb_bl(ji,jj), 1e-15 ) ) 
    14721472                   zpsi = ( 1.0_wp - 0.5_wp * zdh(ji,jj) / zhbl(ji,jj) ) *   & 
    14731473                      &   ( zwb0(ji,jj) - MIN( ( zwb_min(ji,jj) + 2.0_wp * zwb_fk_b(ji,jj) ), 0.0_wp ) ) * zdh(ji,jj) / zhbl(ji,jj) 
     
    14841484                        zari = MIN( 1.5 * zdb_bl(ji,jj) / ( zhbl(ji,jj) * ( MAX(zdbdz_bl_ext(ji,jj),0._wp) + zdb_bl(ji,jj)**2 / MAX(4.5 * zwstrc(ji,jj)**2 , 1.e-12 )) ), 0.2d0 ) 
    14851485                     ENDIF 
    1486 ! Relaxation to dh_ref = zari * hbl 
    1487                      zddhdt = -a_ddh_2 * ( 1.0 - zdh(ji,jj) / ( zari * zhbl(ji,jj) ) ) * zwb_ent(ji,jj) / zdb_bl(ji,jj) 
     1486                     ! Relaxation to dh_ref = zari * hbl 
     1487                     zddhdt = -1.0_wp * a_ddh_2 * ( 1.0 - zdh(ji,jj) / ( zari * zhbl(ji,jj) ) ) * zwb_ent(ji,jj) /   & 
     1488                        &     ( zvel_max + MAX( zdb_bl(ji,jj), 1e-15 ) ) 
    14881489 
    14891490                  ELSE IF ( j_ddh(ji,jj) == 0 ) THEN 
    1490 ! Growing shear layer 
    1491                      zddhdt = -1.0_wp * a_ddh * ( 1.0 - zdh(ji,jj) / zhbl(ji,jj) ) * zwb_ent(ji,jj) / zdb_bl(ji,jj) 
     1491                     ! Growing shear layer 
     1492                     zddhdt = -1.0_wp * a_ddh * ( 1.0 - 1.6_wp * zdh(ji,jj) / zhbl(ji,jj) ) * zwb_ent(ji,jj) /   & 
     1493                        &     ( zvel_max + MAX( zdb_bl(ji,jj), 1e-15 ) ) 
    14921494                     zddhdt = EXP( -4.0_wp * ABS( ff_t(ji,jj) ) * zhbl(ji,jj) / MAX(zustar(ji,jj), 1e-8_wp ) ) * zddhdt 
    14931495                  ELSE 
    14941496                     zddhdt = 0.0_wp 
    14951497                  ENDIF ! j_ddh 
    1496                   zdhdt(ji,jj) = zdhdt(ji,jj) + zalpha_b * ( 1.0_wp - 0.5_wp * zdh(ji,jj) / zhbl(ji,jj) ) * zddhdt / ( zvel_max + MAX( zdb_bl(ji,jj), 1e-15 ) ) 
     1498                  zdhdt(ji,jj) = zdhdt(ji,jj) + zalpha_b * ( 1.0_wp - 0.5_wp * zdh(ji,jj) / zhbl(ji,jj) ) *   & 
     1499                     &                          zdb_ml(ji,jj) * MAX( zddhdt, 0.0_wp ) / ( zvel_max + MAX( zdb_bl(ji,jj), 1e-15 ) ) 
    14971500                ELSE    ! zdb_bl >0 
    14981501                   zdhdt(ji,jj) = -( zwb_ent(ji,jj) + 2.0 * zwb_fk_b(ji,jj) ) /  MAX( zvel_max, 1.0e-15) 
     
    15001503             ELSE   ! zwb_min + 2*zwb_fk_b < 0 
    15011504                ! OSBL shoaling due to restratification flux. This is the velocity defined in Fox-Kemper et al (2008) 
    1502                 zdhdt(ji,jj) = - zvel_mle(ji,jj) 
     1505                zdhdt(ji,jj) = -1.0_wp * MIN( zvel_mle(ji,jj), hbl(ji,jj) / 10800.0_wp ) 
    15031506 
    15041507 
     
    15241527             ENDIF 
    15251528             zdhdt(ji,jj) = 2.0 * zdhdt(ji,jj) / MAX(zpert, epsln) 
     1529             zdhdt(ji,jj) = MAX( zdhdt(ji,jj), -1.0_wp * hbl(ji,jj) / 5400.0_wp ) 
    15261530         ENDIF  ! lconv 
    15271531    ELSE ! lshear 
     
    15471551             ELSE 
    15481552                ! OSBL shoaling due to restratification flux. This is the velocity defined in Fox-Kemper et al (2008) 
    1549                 zdhdt(ji,jj) = - zvel_mle(ji,jj) 
     1553                zdhdt(ji,jj) = -1.0_wp * MIN( zvel_mle(ji,jj), hbl(ji,jj) / 10800.0_wp ) 
    15501554 
    15511555 
     
    15711575             ENDIF 
    15721576             zdhdt(ji,jj) = 2.0 * zdhdt(ji,jj) / MAX(zpert, epsln) 
     1577             zdhdt(ji,jj) = MAX( zdhdt(ji,jj), -1.0_wp * hbl(ji,jj) / 5400.0_wp ) 
    15731578         ENDIF  ! lconv 
    15741579      ENDIF ! lshear 
Note: See TracChangeset for help on using the changeset viewer.