- Timestamp:
- 2021-07-29T10:28:32+02:00 (3 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2021/dev_r14318_RK3_stage1/src/OCE/TRA/traqsr.F90
r15083 r15157 786 786 zcoef = zprec * rho0_rcp / ( rDt * zQmax * pfr) 787 787 ! 788 klev = jpkm1 ! Level of light extinction 789 DO jk = jpkm1, 1, -1 790 IF( SUM( tmask(:,:,jk) ) > 0 ) THEN ! ocean point at that level 791 zdw = MAXVAL( gdepw_0(:,:,jk+1) * wmask(:,:,jk) ) ! max w-depth at jk+1 level 792 ze3t = MINVAL( e3t_0(:,:,jk ) , mask=(wmask(:,:,jk+1)==1) ) ! minimum e3t at jk level 793 zhext = - pL * LOG( zcoef * ze3t ) ! extinction depth 794 IF( zdw >= zhext ) klev = jk ! last T-level reached by Qsr 795 ELSE ! only land point at level jk 796 klev = jk ! local domain sea-bed level 797 ENDIF 798 END DO 788 IF( ln_zco .OR. ln_zps ) THEN ! z- or zps coordinate (use 1D ref vertcial coordinate) 789 klev = jpkm1 ! Level of light extinction zco / zps 790 DO jk = jpkm1, 1, -1 791 zdw = gdepw_1d(jk+1) ! max w-depth at jk+1 level 792 ze3t = e3t_1d(jk ) ! minimum e3t at jk level 793 zhext = - pL * LOG( zcoef * ze3t ) ! extinction depth 794 IF( zdw >= zhext ) klev = jk ! last T-level reached by Qsr 795 END DO 796 ELSE ! s- or s-z- coordinate (use 3D vertical coordinate) 797 klev = jpkm1 ! Level of light extinction 798 DO jk = jpkm1, 1, -1 ! 799 IF( SUM( tmask(:,:,jk) ) > 0 ) THEN ! ocean point at that level 800 zdw = MAXVAL( gdepw_0(:,:,jk+1) * wmask(:,:,jk) ) ! max w-depth at jk+1 level 801 ze3t = MINVAL( e3t_0(:,:,jk ) , mask=(wmask(:,:,jk+1)==1) ) ! minimum e3t at jk level 802 zhext = - pL * LOG( zcoef * ze3t ) ! extinction depth 803 IF( zdw >= zhext ) klev = jk ! last T-level reached by Qsr 804 ELSE ! only land point at level jk 805 klev = jk ! local domain sea-bed level 806 ENDIF 807 END DO 808 CALL mpp_max('tra_qsr', klev) ! needed for reproducibility !!st may be modified to avoid this comm. 809 ! !!st use ssmask to remove the comm ? 810 ENDIF 799 811 ! 800 812 !!st IF(lwp) WRITE(numout,*) ' level of e3t light extinction = ', klev, ' ref depth = ', gdepw_1d(klev+1), ' m' 801 !!st !802 !!st klev = jpkm1 ! Level of light extinction803 !!st DO jk = jpkm1, 1, -1804 !!st IF( SUM( tmask(:,:,jk) ) > 0 ) THEN ! ocean point at that level805 !!st zdw = MAXVAL( gdepw_0(:,:,jk+1) * wmask(:,:,jk) ) ! max w-depth at jk+1 level806 !!st ze3t = MINVAL( e3t_0(:,:,jk ) ) ! minimum e3t at jk level807 !!st zhext = - pL * LOG( zcoef * pL ) ! extinction depth808 !!st IF( zdw >= zhext ) klev = jk ! last T-level reached by Qsr809 !!st ELSE ! only land point at level jk810 !!st klev = jk ! local domain sea-bed level811 !!st ENDIF812 !!st END DO813 !!st !814 !!st IF(lwp) WRITE(numout,*) ' level of pL light extinction = ', klev, ' ref depth = ', gdepw_1d(klev+1), ' m'815 !816 813 END FUNCTION qsr_ext_lev 817 814
Note: See TracChangeset
for help on using the changeset viewer.