Changeset 14072 for NEMO/trunk/src/ABL
- Timestamp:
- 2020-12-04T08:48:38+01:00 (3 years ago)
- Location:
- NEMO/trunk/src/ABL
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/trunk/src/ABL/ablmod.F90
r13295 r14072 18 18 USE dom_oce, ONLY : tmask 19 19 USE sbc_oce, ONLY : ght_abl, ghw_abl, e3t_abl, e3w_abl, jpka, jpkam1, rhoa 20 USE sbcblk ! use rn_efac , cdn_oce21 USE sbc blk_phy ! use some physical constants for flux computation20 USE sbcblk ! use rn_efac 21 USE sbc_phy ! Catalog of functions for physical/meteorological parameters in the marine boundary layer 22 22 ! 23 23 USE prtctl ! Print control (prt_ctl routine) … … 135 135 ustar2(ji,jj) = zzoce 136 136 #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 138 139 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 139 143 ! 140 144 ! !<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< … … 252 256 & + rDt_abl * fft_abl(ji, jj) * v_abl( ji, jj, jk, nt_n ) ) & 253 257 & / (1._wp + gamma_Cor*gamma_Cor*zcff) 254 258 255 259 v_abl( ji, jj, jk, nt_a ) = e3t_abl(jk) *( & 256 260 & (1._wp-gamma_Cor*(1._wp-gamma_Cor)*zcff) * v_abl( ji, jj, jk, nt_n ) & … … 590 594 591 595 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) ) 594 598 END_2D 595 599 ! … … 633 637 ! Wind stress relative to the moving ice ( U10m - U_ice ) ! 634 638 ! ------------------------------------------------------------ ! 635 DO_2D( 0, 0, 0, 0 ) 639 DO_2D( 0, 0, 0, 0 ) 636 640 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) ) & 637 641 & * ( 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 22 22 USE sbc_oce ! Surface boundary condition: ocean fields 23 23 USE sbcblk ! Surface boundary condition: bulk formulae 24 USE sbc blk_phy ! Surface boundary condition: bulk formulae24 USE sbc_phy ! Catalog of functions for physical/meteorological parameters in the marine boundary layer 25 25 USE dom_oce, ONLY : tmask 26 26 ! … … 175 175 IF(nn_amxl==0) WRITE(numout,*) 'Deardorff 80 length-scale ' 176 176 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 ' 179 179 WRITE(numout,*) ' Minimum value of atmospheric TKE = ',tke_min,' m^2 s^-2' 180 180 WRITE(numout,*) ' Minimum value of atmospheric mixing length = ',mxl_min,' m' … … 320 320 INTEGER , INTENT(in) :: kt ! ocean time step 321 321 !! 322 REAL(wp), DIMENSION(jpi,jpj) :: zssq, zcd_du, zsen, z evp322 REAL(wp), DIMENSION(jpi,jpj) :: zssq, zcd_du, zsen, zlat, zevp 323 323 #if defined key_si3 324 324 REAL(wp), DIMENSION(jpi,jpj) :: zssqi, zcd_dui, zseni, zevpi … … 344 344 & sf(jp_uoatm)%fnow(:,:,1), sf(jp_voatm)%fnow(:,:,1), & ! <<= in 345 345 & sf(jp_qsr )%fnow(:,:,1) , sf(jp_qlw )%fnow(:,:,1) , & ! <<= in 346 & tsk_m, zssq, zcd_du, zsen, z evp) ! =>> out346 & tsk_m, zssq, zcd_du, zsen, zlat, zevp ) ! =>> out 347 347 348 348 #if defined key_si3 … … 356 356 !! 3 - Advance ABL variables from now (n) to after (n+1) 357 357 !!------------------------------------------------------------------------------------------- 358 358 359 359 CALL abl_stp( kt, tsk_m, ssu_m, ssv_m, zssq, & ! <<= in 360 360 & sf(jp_wndi)%fnow(:,:,:), sf(jp_wndj)%fnow(:,:,:), & ! <<= in … … 375 375 !!------------------------------------------------------------------------------------------- 376 376 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), & 379 378 & sf(jp_prec)%fnow(:,:,1) , sf(jp_snow)%fnow(:,:,1), & 380 & tsk_m, zsen, z evp )381 379 & tsk_m, zsen, zlat, zevp ) 380 382 381 CALL abl_rst_opn( kt ) ! Open abl restart file (if necessary) 383 382 IF( lrst_abl ) CALL abl_rst_write( kt ) ! -- abl restart file
Note: See TracChangeset
for help on using the changeset viewer.