New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
Changeset 14072 for NEMO/trunk/src/ABL – NEMO

Changeset 14072 for NEMO/trunk/src/ABL


Ignore:
Timestamp:
2020-12-04T08:48:38+01:00 (3 years ago)
Author:
laurent
Message:

Merging branch "2020/dev_r13648_ASINTER-04_laurent_bulk_ice", ticket #2369

Location:
NEMO/trunk/src/ABL
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • NEMO/trunk/src/ABL/ablmod.F90

    r13295 r14072  
    1818   USE dom_oce, ONLY  : tmask 
    1919   USE sbc_oce, ONLY  : ght_abl, ghw_abl, e3t_abl, e3w_abl, jpka, jpkam1, rhoa 
    20    USE sbcblk         ! use rn_efac, cdn_oce 
    21    USE sbcblk_phy     ! use some physical constants for flux computation 
     20   USE sbcblk         ! use rn_efac 
     21   USE sbc_phy        ! Catalog of functions for physical/meteorological parameters in the marine boundary layer 
    2222   ! 
    2323   USE prtctl         ! Print control                    (prt_ctl routine) 
     
    135135         ustar2(ji,jj) = zzoce 
    136136#endif 
    137          zrough(ji,jj) = ght_abl(2) * EXP( - vkarmn / SQRT( MAX( Cdn_oce(ji,jj), 1.e-4 ) ) ) !<-- recover the value of z0 from Cdn_oce 
     137         !#LB: sorry Cdn_oce is gone: 
     138         !zrough(ji,jj) = ght_abl(2) * EXP( - vkarmn / SQRT( MAX( Cdn_oce(ji,jj), 1.e-4 ) ) ) !<-- recover the value of z0 from Cdn_oce 
    138139      END_2D 
     140 
     141      zrough(:,:) = z0_from_Cd( ght_abl(2), pCd_du(:,:) / MAX( pwndm(:,:), 0.5_wp ) ) ! #LB: z0_from_Cd is define in sbc_phy.F90... 
     142 
    139143      ! 
    140144      !                            !<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 
     
    252256                  &                     + rDt_abl * fft_abl(ji, jj) * v_abl( ji, jj, jk, nt_n ) )  & 
    253257                  &                               / (1._wp + gamma_Cor*gamma_Cor*zcff) 
    254     
     258 
    255259               v_abl( ji, jj, jk, nt_a ) =  e3t_abl(jk) *(                                         & 
    256260                  &        (1._wp-gamma_Cor*(1._wp-gamma_Cor)*zcff) * v_abl( ji, jj, jk, nt_n )    & 
     
    590594 
    591595      DO_2D( 0, 1, 0, 1 ) 
    592          zwnd_i(ji,jj) = u_abl(ji  ,jj,2,nt_a) - 0.5_wp * ( pssu(ji  ,jj) + pssu(ji-1,jj) )   
    593          zwnd_j(ji,jj) = v_abl(ji,jj  ,2,nt_a) - 0.5_wp * ( pssv(ji,jj  ) + pssv(ji,jj-1) )  
     596         zwnd_i(ji,jj) = u_abl(ji  ,jj,2,nt_a) - 0.5_wp * ( pssu(ji  ,jj) + pssu(ji-1,jj) ) 
     597         zwnd_j(ji,jj) = v_abl(ji,jj  ,2,nt_a) - 0.5_wp * ( pssv(ji,jj  ) + pssv(ji,jj-1) ) 
    594598      END_2D 
    595599      ! 
     
    633637      !    Wind stress relative to the moving ice ( U10m - U_ice )   ! 
    634638      ! ------------------------------------------------------------ ! 
    635       DO_2D( 0, 0, 0, 0 )            
     639      DO_2D( 0, 0, 0, 0 ) 
    636640         ptaui_ice(ji,jj) = 0.5_wp * ( rhoa(ji+1,jj) * pCd_du_ice(ji+1,jj) + rhoa(ji,jj) * pCd_du_ice(ji,jj)      )   & 
    637641            &                      * ( 0.5_wp * ( u_abl(ji+1,jj,2,nt_a) + u_abl(ji,jj,2,nt_a) ) - pssu_ice(ji,jj) ) 
  • NEMO/trunk/src/ABL/sbcabl.F90

    r13214 r14072  
    2222   USE sbc_oce        ! Surface boundary condition: ocean fields 
    2323   USE sbcblk         ! Surface boundary condition: bulk formulae 
    24    USE sbcblk_phy     ! Surface boundary condition: bulk formulae 
     24   USE sbc_phy        ! Catalog of functions for physical/meteorological parameters in the marine boundary layer 
    2525   USE dom_oce, ONLY  : tmask 
    2626   ! 
     
    175175         IF(nn_amxl==0) WRITE(numout,*) 'Deardorff 80 length-scale ' 
    176176         IF(nn_amxl==1) WRITE(numout,*) 'Modified Deardorff 80 length-scale ' 
    177          IF(nn_amxl==2) WRITE(numout,*) 'Bougeault and Lacarrere length-scale '       
    178          IF(nn_amxl==3) WRITE(numout,*) 'Rodier et al. length-scale '    
     177         IF(nn_amxl==2) WRITE(numout,*) 'Bougeault and Lacarrere length-scale ' 
     178         IF(nn_amxl==3) WRITE(numout,*) 'Rodier et al. length-scale ' 
    179179         WRITE(numout,*) ' Minimum value of atmospheric TKE           = ',tke_min,' m^2 s^-2' 
    180180         WRITE(numout,*) ' Minimum value of atmospheric mixing length = ',mxl_min,' m' 
     
    320320      INTEGER ,         INTENT(in) ::   kt   ! ocean time step 
    321321      !! 
    322       REAL(wp), DIMENSION(jpi,jpj) ::   zssq, zcd_du, zsen, zevp 
     322      REAL(wp), DIMENSION(jpi,jpj) ::   zssq, zcd_du, zsen, zlat, zevp 
    323323#if defined key_si3 
    324324      REAL(wp), DIMENSION(jpi,jpj) ::   zssqi, zcd_dui, zseni, zevpi 
     
    344344            &                sf(jp_uoatm)%fnow(:,:,1), sf(jp_voatm)%fnow(:,:,1),   &   !   <<= in 
    345345            &                sf(jp_qsr )%fnow(:,:,1) , sf(jp_qlw )%fnow(:,:,1) ,   &   !   <<= in 
    346             &                tsk_m, zssq, zcd_du, zsen, zevp                       )   !   =>> out 
     346            &                tsk_m, zssq, zcd_du, zsen, zlat, zevp                 )   !   =>> out 
    347347 
    348348#if defined key_si3 
     
    356356         !! 3 - Advance ABL variables from now (n) to after (n+1) 
    357357         !!------------------------------------------------------------------------------------------- 
    358     
     358 
    359359         CALL abl_stp( kt, tsk_m, ssu_m, ssv_m, zssq,                          &   !   <<= in 
    360360            &              sf(jp_wndi)%fnow(:,:,:), sf(jp_wndj)%fnow(:,:,:),   &   !   <<= in 
     
    375375         !!------------------------------------------------------------------------------------------- 
    376376 
    377          CALL blk_oce_2( tq_abl(:,:,2,nt_n,jp_ta),                            & 
    378             &            sf(jp_qsr )%fnow(:,:,1) , sf(jp_qlw )%fnow(:,:,1),   & 
     377         CALL blk_oce_2( tq_abl(:,:,2,nt_n,jp_ta), sf(jp_qlw )%fnow(:,:,1),   & 
    379378            &            sf(jp_prec)%fnow(:,:,1) , sf(jp_snow)%fnow(:,:,1),   & 
    380             &            tsk_m, zsen, zevp                                ) 
    381     
     379            &            tsk_m, zsen, zlat, zevp                                ) 
     380 
    382381         CALL abl_rst_opn( kt )                       ! Open abl restart file (if necessary) 
    383382         IF( lrst_abl ) CALL abl_rst_write( kt )      ! -- abl restart file 
Note: See TracChangeset for help on using the changeset viewer.