- Timestamp:
- 2019-11-22T15:29:17+01:00 (5 years ago)
- Location:
- NEMO/branches/2019/dev_r11943_MERGE_2019/src
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2019/dev_r11943_MERGE_2019/src
- Property svn:mergeinfo deleted
-
NEMO/branches/2019/dev_r11943_MERGE_2019/src/OCE/DOM/iscplhsb.F90
r11536 r11949 40 40 CONTAINS 41 41 42 SUBROUTINE iscpl_cons( ptmask_b, psmask_b, pe3t_b, pts_flx, pvol_flx, prdt_iscpl)42 SUBROUTINE iscpl_cons( Kbb, Kmm, ptmask_b, psmask_b, pe3t_b, pts_flx, pvol_flx, prdt_iscpl ) 43 43 !!---------------------------------------------------------------------- 44 44 !! *** ROUTINE iscpl_cons *** … … 48 48 !! compute where the correction have to be applied 49 49 !! 50 !! ** Method : compute tsn*e3t-tsb*e3tb and e3t-e3t_b 51 !!---------------------------------------------------------------------- 50 !! ** Method : compute tsn*e3tn-tsb*e3tb and e3tn-e3tb 51 !!---------------------------------------------------------------------- 52 INTEGER , INTENT(in ) :: Kbb, Kmm !! time level indices 52 53 REAL(wp), DIMENSION(:,:,: ), INTENT(in ) :: ptmask_b !! mask before 53 54 REAL(wp), DIMENSION(:,:,: ), INTENT(in ) :: pe3t_b !! scale factor before … … 78 79 z1_rdtiscpl = 1._wp / prdt_iscpl 79 80 80 ! mask ts n and tsb81 ts b(:,:,:,jp_tem) = tsb(:,:,:,jp_tem) * ptmask_b(:,:,:)82 ts n(:,:,:,jp_tem) = tsn(:,:,:,jp_tem) * tmask (:,:,:)83 ts b(:,:,:,jp_sal) = tsb(:,:,:,jp_sal) * ptmask_b(:,:,:)84 ts n(:,:,:,jp_sal) = tsn(:,:,:,jp_sal) * tmask (:,:,:)81 ! mask ts(:,:,:,:,Kmm) and ts(:,:,:,:,Kbb) 82 ts(:,:,:,jp_tem,Kbb) = ts(:,:,:,jp_tem,Kbb) * ptmask_b(:,:,:) 83 ts(:,:,:,jp_tem,Kmm) = ts(:,:,:,jp_tem,Kmm) * tmask (:,:,:) 84 ts(:,:,:,jp_sal,Kbb) = ts(:,:,:,jp_sal,Kbb) * ptmask_b(:,:,:) 85 ts(:,:,:,jp_sal,Kmm) = ts(:,:,:,jp_sal,Kmm) * tmask (:,:,:) 85 86 86 87 !============================================================================== … … 89 90 90 91 ! 91 zdssh(:,:) = ssh n(:,:) * ssmask(:,:) - sshb(:,:) * psmask_b(:,:)92 zdssh(:,:) = ssh(:,:,Kmm) * ssmask(:,:) - ssh(:,:,Kbb) * psmask_b(:,:) 92 93 IF (.NOT. ln_linssh ) zdssh = 0.0_wp ! already included in the levels by definition 93 94 … … 98 99 99 100 ! volume differences 100 zde3t = e3t _n(ji,jj,jk) * tmask(ji,jj,jk) - pe3t_b(ji,jj,jk) * ptmask_b(ji,jj,jk)101 zde3t = e3t(ji,jj,jk,Kmm) * tmask(ji,jj,jk) - pe3t_b(ji,jj,jk) * ptmask_b(ji,jj,jk) 101 102 102 103 ! heat diff 103 zdtem = ts n(ji,jj,jk,jp_tem) * e3t_n(ji,jj,jk) * tmask (ji,jj,jk) &104 - ts b(ji,jj,jk,jp_tem) * pe3t_b (ji,jj,jk) * ptmask_b(ji,jj,jk)104 zdtem = ts(ji,jj,jk,jp_tem,Kmm) * e3t(ji,jj,jk,Kmm) * tmask (ji,jj,jk) & 105 - ts(ji,jj,jk,jp_tem,Kbb) * pe3t_b (ji,jj,jk) * ptmask_b(ji,jj,jk) 105 106 ! salt diff 106 zdsal = ts n(ji,jj,jk,jp_sal) * e3t_n(ji,jj,jk) * tmask (ji,jj,jk) &107 - ts b(ji,jj,jk,jp_sal) * pe3t_b (ji,jj,jk) * ptmask_b(ji,jj,jk)107 zdsal = ts(ji,jj,jk,jp_sal,Kmm) * e3t(ji,jj,jk,Kmm) * tmask (ji,jj,jk) & 108 - ts(ji,jj,jk,jp_sal,Kbb) * pe3t_b (ji,jj,jk) * ptmask_b(ji,jj,jk) 108 109 109 110 ! shh changes … … 296 297 297 298 298 SUBROUTINE iscpl_div( phdivn )299 SUBROUTINE iscpl_div( Kmm, phdivn ) 299 300 !!---------------------------------------------------------------------- 300 301 !! *** ROUTINE iscpl_div *** … … 307 308 !! ** Action : phdivn increase by the iscpl correction term 308 309 !!---------------------------------------------------------------------- 310 INTEGER , INTENT(in ) :: Kmm ! time level index 309 311 REAL(wp), DIMENSION(:,:,:), INTENT(inout) :: phdivn ! horizontal divergence 310 312 !! … … 315 317 DO jj = 1, jpj 316 318 DO ji = 1, jpi 317 phdivn(ji,jj,jk) = phdivn(ji,jj,jk) + hdiv_iscpl(ji,jj,jk) / e3t _n(ji,jj,jk)319 phdivn(ji,jj,jk) = phdivn(ji,jj,jk) + hdiv_iscpl(ji,jj,jk) / e3t(ji,jj,jk,Kmm) 318 320 END DO 319 321 END DO
Note: See TracChangeset
for help on using the changeset viewer.