- Timestamp:
- 2020-04-23T10:11:38+02:00 (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2020/dev_r12563_ASINTER-06_ABL_improvement/src/ABL/ablmod.F90
r12749 r12799 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_?fac 20 USE sbcblk ! use rn_?fac, cdn_oce 21 21 USE sbcblk_phy ! use some physical constants for flux computation 22 22 ! … … 102 102 #endif 103 103 ! 104 REAL(wp), DIMENSION(1:jpi,1:jpj ):: zwnd_i, zwnd_j105 REAL(wp), DIMENSION(1:jpi ,2:jpka ):: zCF106 ! 107 REAL(wp), DIMENSION(1:jpi ,1:jpka ):: z_elem_a108 REAL(wp), DIMENSION(1:jpi ,1:jpka ):: z_elem_b109 REAL(wp), DIMENSION(1:jpi ,1:jpka ):: z_elem_c104 REAL(wp), DIMENSION(1:jpi,1:jpj ) :: zwnd_i, zwnd_j 105 REAL(wp), DIMENSION(1:jpi ,2:jpka) :: zCF 106 ! 107 REAL(wp), DIMENSION(1:jpi ,1:jpka) :: z_elem_a 108 REAL(wp), DIMENSION(1:jpi ,1:jpka) :: z_elem_b 109 REAL(wp), DIMENSION(1:jpi ,1:jpka) :: z_elem_c 110 110 ! 111 111 INTEGER :: ji, jj, jk, jtra, jbak ! dummy loop indices … … 351 351 #if defined key_si3 352 352 zztmp1 = zztmp1 * pfrac_oce(ji,jj) + (1._wp - pfrac_oce(ji,jj)) * pcd_du_ice(ji, jj) 353 zzice = 0.5_wp * ( pssu_ice(ji-1, jj) + pssu_ice(ji, jj) ) * rn_vfac353 zzice = 0.5_wp * ( pssu_ice(ji-1, jj) + pssu_ice(ji, jj) ) * rn_vfac 354 354 zztmp2 = zztmp2 * pfrac_oce(ji,jj) + (1._wp - pfrac_oce(ji,jj)) * pcd_du_ice(ji, jj) * zzice 355 355 #endif … … 425 425 #if defined key_si3 426 426 zztmp1 = zztmp1 * pfrac_oce(ji,jj) + (1._wp - pfrac_oce(ji,jj)) * pcd_du_ice(ji, jj) 427 zzice = 0.5_wp * ( pssv_ice(ji, jj) + pssv_ice(ji, jj-1) ) * rn_vfac427 zzice = 0.5_wp * ( pssv_ice(ji, jj) + pssv_ice(ji, jj-1) ) * rn_vfac 428 428 zztmp2 = zztmp2 * pfrac_oce(ji,jj) + (1._wp - pfrac_oce(ji,jj)) * pcd_du_ice(ji, jj) * zzice 429 429 #endif … … 624 624 625 625 IF(sn_cfctl%l_prtctl) THEN 626 CALL prt_ctl( tab2d_1=p wndm , clinfo1=' abl_stp: wndm : ' )627 CALL prt_ctl( tab2d_1=ptaui , clinfo1=' abl_stp: utau : ')628 CALL prt_ctl( tab2d_ 2=ptauj , clinfo2= 'vtau: ' )626 CALL prt_ctl( tab2d_1=ptaui , clinfo1=' abl_stp: utau : ', mask1=umask, & 627 & tab2d_2=ptauj , clinfo2=' vtau : ', mask2=vmask ) 628 CALL prt_ctl( tab2d_1=pwndm , clinfo1=' abl_stp: wndm : ' ) 629 629 ENDIF 630 630 … … 647 647 CALL lbc_lnk_multi( 'ablmod', ptaui_ice, 'U', -1., ptauj_ice, 'V', -1. ) 648 648 ! 649 IF(sn_cfctl%l_prtctl) CALL prt_ctl( tab2d_1=ptaui_ice , clinfo1=' abl_stp: putaui : ' & 650 & , tab2d_2=ptauj_ice , clinfo2=' pvtaui : ' ) 649 IF(sn_cfctl%l_prtctl) THEN 650 CALL prt_ctl( tab2d_1=ptaui_ice , clinfo1=' abl_stp: utau_ice : ', mask1=umask, & 651 & tab2d_2=ptauj_ice , clinfo2=' vtau_ice : ', mask2=vmask ) 652 END IF 651 653 #endif 652 654 ! !<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< … … 722 724 ! Compute vertical shear 723 725 DO jk = 2, jpkam1 724 DO ji = 1, jpi726 DO ji = 1, jpi 725 727 zcff = 1.0_wp / e3w_abl( jk )**2 726 728 zdU = zcff* Avm_abl(ji,jj,jk) * (u_abl( ji, jj, jk+1, tind)-u_abl( ji, jj, jk , tind) )**2 … … 889 891 DO jk = 2, jpkam1 890 892 DO ji = 1, jpi 891 zbuoy 893 zbuoy = MAX( zbn2(ji, jj, jk), rsmall ) 892 894 mxlm_abl( ji, jj, jk ) = MAX( mxl_min, & 893 & SQRT( 2._wp * tke_abl( ji, jj, jk, nt_a ) / zbuoy ) 895 & SQRT( 2._wp * tke_abl( ji, jj, jk, nt_a ) / zbuoy ) ) 894 896 END DO 895 897 END DO
Note: See TracChangeset
for help on using the changeset viewer.