Changeset 10928 for NEMO/branches/2019/dev_r10721_KERNEL-02_Storkey_Coward_IMMERSE_first_steps/src/OCE/DYN/divhor.F90
- Timestamp:
- 2019-05-03T17:44:56+02:00 (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2019/dev_r10721_KERNEL-02_Storkey_Coward_IMMERSE_first_steps/src/OCE/DYN/divhor.F90
r10922 r10928 55 55 !! 56 56 !! ** Method : the now divergence is computed as : 57 !! hdiv n= 1/(e1e2t*e3t) ( di[e2u*e3u un] + dj[e1v*e3v vn] )57 !! hdiv = 1/(e1e2t*e3t) ( di[e2u*e3u un] + dj[e1v*e3v vn] ) 58 58 !! and correct with runoff inflow (div_rnf) and cross land flow (div_cla) 59 59 !! 60 !! ** Action : - update hdiv n, the now horizontal divergence60 !! ** Action : - update hdiv, the now horizontal divergence 61 61 !!---------------------------------------------------------------------- 62 62 INTEGER, INTENT(in) :: kt ! ocean time-step index 63 INTEGER, INTENT(in) :: Kmm ! ocean time -level index63 INTEGER, INTENT(in) :: Kmm ! ocean time level index 64 64 ! 65 65 INTEGER :: ji, jj, jk ! dummy loop indices … … 78 78 DO jj = 2, jpjm1 79 79 DO ji = fs_2, fs_jpim1 ! vector opt. 80 hdiv n(ji,jj,jk) = ( e2u(ji ,jj) * e3u_n(ji ,jj,jk) * un(ji ,jj,jk) &81 & - e2u(ji-1,jj) * e3u _n(ji-1,jj,jk) * un(ji-1,jj,jk) &82 & + e1v(ji,jj ) * e3v _n(ji,jj ,jk) * vn(ji,jj ,jk) &83 & - e1v(ji,jj-1) * e3v _n(ji,jj-1,jk) * vn(ji,jj-1,jk) ) &84 & * r1_e1e2t(ji,jj) / e3t _n(ji,jj,jk)80 hdiv(ji,jj,jk) = ( e2u(ji ,jj) * e3u(ji ,jj,jk,Kmm) * uu(ji ,jj,jk,Kmm) & 81 & - e2u(ji-1,jj) * e3u(ji-1,jj,jk,Kmm) * uu(ji-1,jj,jk,Kmm) & 82 & + e1v(ji,jj ) * e3v(ji,jj ,jk,Kmm) * vv(ji,jj ,jk,Kmm) & 83 & - e1v(ji,jj-1) * e3v(ji,jj-1,jk,Kmm) * vv(ji,jj-1,jk,Kmm) ) & 84 & * r1_e1e2t(ji,jj) / e3t(ji,jj,jk,Kmm) 85 85 END DO 86 86 END DO … … 88 88 #if defined key_agrif 89 89 IF( .NOT. Agrif_Root() ) THEN 90 IF( nbondi == -1 .OR. nbondi == 2 ) hdiv n( 2 , : ,:) = 0._wp ! west91 IF( nbondi == 1 .OR. nbondi == 2 ) hdiv n( nlci-1, : ,:) = 0._wp ! east92 IF( nbondj == -1 .OR. nbondj == 2 ) hdiv n( : , 2 ,:) = 0._wp ! south93 IF( nbondj == 1 .OR. nbondj == 2 ) hdiv n( : ,nlcj-1,:) = 0._wp ! north90 IF( nbondi == -1 .OR. nbondi == 2 ) hdiv( 2 , : ,:) = 0._wp ! west 91 IF( nbondi == 1 .OR. nbondi == 2 ) hdiv( nlci-1, : ,:) = 0._wp ! east 92 IF( nbondj == -1 .OR. nbondj == 2 ) hdiv( : , 2 ,:) = 0._wp ! south 93 IF( nbondj == 1 .OR. nbondj == 2 ) hdiv( : ,nlcj-1,:) = 0._wp ! north 94 94 ENDIF 95 95 #endif 96 96 ! 97 IF( ln_rnf ) CALL sbc_rnf_div( hdiv n, Kmm ) !== runoffs ==! (update hdivnfield)97 IF( ln_rnf ) CALL sbc_rnf_div( hdiv, Kmm ) !== runoffs ==! (update hdiv field) 98 98 ! 99 99 #if defined key_asminc 100 IF( ln_sshinc .AND. ln_asmiau ) CALL ssh_asm_div( kt, hdiv n ) !== SSH assimilation ==! (update hdivnfield)100 IF( ln_sshinc .AND. ln_asmiau ) CALL ssh_asm_div( kt, hdiv ) !== SSH assimilation ==! (update hdiv field) 101 101 ! 102 102 #endif 103 IF( ln_isf ) CALL sbc_isf_div( hdiv n, Kmm ) !== ice shelf ==! (update hdivnfield)103 IF( ln_isf ) CALL sbc_isf_div( hdiv, Kmm ) !== ice shelf ==! (update hdiv field) 104 104 ! 105 IF( ln_iscpl .AND. ln_hsb ) CALL iscpl_div( hdiv n ) !== ice sheet ==! (update hdivnfield)105 IF( ln_iscpl .AND. ln_hsb ) CALL iscpl_div( hdiv ) !== ice sheet ==! (update hdiv field) 106 106 ! 107 CALL lbc_lnk( 'divhor', hdiv n, 'T', 1. ) ! (no sign change)107 CALL lbc_lnk( 'divhor', hdiv, 'T', 1. ) ! (no sign change) 108 108 ! 109 109 IF( ln_timing ) CALL timing_stop('div_hor')
Note: See TracChangeset
for help on using the changeset viewer.